第八讲 字符、字符串的输入与输出
一:字符的输入与输出函数:
1:字符输入函数getche ( ):
它有两个变体getchar( )和getch( ),而第二个变体用得最多。它们用于等待从键盘上输入一个‘字符’。
2:字符输出函数putchar(n):
其功能是用于输出单个‘字符’。
3:程序举例:
<1>单个‘字符’的输入和输出:
#include”conio.h” /*字符函数须此头文件*/
main()
{char ch; /*定义ch为字符型变量*/
ch=getche() /*等待键入一个‘字符’*/
putchar(ch); /*输出键入的‘字符’*/
putchar(‘\n’); /*注意用单引号加\n换行*/
} 运行:输入笛子入门基础教程曲谱a,屏幕显示:
aa
注:使用该函数要用头文件。运行结果中第一个a
是键盘上输入系统回显的,第二个a是putchar(ch) 函数输出的。
<2>多个‘字符’的输入和输出:
#include<conio.h> /*字符函数须此头文件*/
main()
{char a,b,c; /*定义a,b,c为字符变量*/
a=getch();b=getch();c=getch(); /*输入*/
putchar(a);putchar(b);putchar(c); /*输出*/
getch();
} 运行:在键盘上输入boy↙后显示:
boy
注:
①最后一行的getch()函数在程序中的作用是显示
boy后,将停留到有一键按下,这有利于观察运
行结果,无须再按“Alt + F5”来查看运行果。
②用getch函数编程,键盘输入系统无回显。
二:“字符串”的输入与输出函数:
1:“字符串“的输入函数 gets():
其功能是用于从键盘上输入“字符串”。
2:“字符串”的输出函数puts():
其功能是用于输出“字符串”。
3:程序举例:
<1>“字符串”的输入与输出:
#include"string.h"/*字符数组用此头文件*/
main(){char p[20];/*定义一维数组p为字符型*/
clrscr();
gets(p); /*在键盘上键入“字符串”*/
puts(p); /*输出数组中的“字符串”*/
puts("\n"); /*注意用双引号加\n换行*/
puts("hello ");/*输出“hello” 字符串*/
} 运行:如输入This is a book.↙则显示:
This is a book.
(空一行)
hello
注:①在键盘上输入“字符串”后,必须用回车作为输入结束,在字符串后面用“\0”代替回车符。其中“\0”不属于字符串中的内容。
②puts函数既可输出数组中的“字符串”,也可以象printf函数一样,直接在圆括号中加双引号原样输出“字符串”,如程序中的puts(“hello”);的语句行。
③输入字符串的长度一定要小于数组的长度。
三:对字符与字符串函数的小结:
1 字符型数组与变量,也要先定义后使用。
2 字符变量存放1个‘字符’。字符数组存放“字符串”。(“字符串”是以单个‘字符’按序存放在数组以p[0]开始的各元素中的)。字符串以’\0’为结束,我们输入字符回车后,系统会自动加一个’\0’。(一个字符串是由有效字符加上’\0’组成)
3 多个‘字符’的输入不能用空格等隔开,(因空格等也是‘字符’),最后以回车结束输入。
4 状态null啥意思建议:输入‘字符’时,使用无回显的getchar与getch函数。
5 在使用字符函数编程时,必须要写上conio.h与stdio.h头文件。蓝 大气 网页模板
6 如果用scanf()与printf()函数代替getch()和putchar()函数进行输入输出时,则格式说明用“%c 。
四:上机练习与思考题:
<1>输入一个小写字母,打印相对应的大写字母。
#include"string.h"/*字符数组用此头文件*/
main()
{char ch;
ch=getche(); /*用getche函数有回显*/
putchar(ch-32);
} 运行:如输入字母b,则显示:
bB
注:每个小写字母与对应的大写字母的ASCII码
相差32。
<2>输入任意一个大写字母,打印对应的小写字母。
#include"string.h"/*字符数组用此头文件*/
main()
{char ch;
clrscr();
ch=getch(); /*用getch函数无回显*/
putchar(ch+32);
} 运行:加输入A则显示:
a
<3>字符数组的初始化。
#include"stdio.h"
main() /*定义h为字符数组*/
{char h[10]={'a','b','c'}; /*并初始化*/
puts(h);/*输出数组中的“字符串”*/
puts("\n");
} 运行:则显示:
abc
<4>用getch函数输入字符,printf函数打印该字符。
#include"stdio.h"
main()
{char ca; /*定义ca为字符变量*/
clrscr();
ca=getch(); /*输入任意一个字符*/
printf("ca=%c",ca); /*输出字符*/
getch();
} 运行:如输入f,则显示:
ca=f
<5>用scanf函数输入字符,printf函数输出字符。
#include"stdio.h"
main()
{char a,b,c; /*定义a,b,c为字符娈量*/
clrscr();
scanf("%c%c%c",&a,&b,&c);/*输入三个字符py汇率换算*/
printf("abc=%c%c%c",a,b,c);/*输出3个字符
putchar('\n');
getch();
putchar函数} 运行:如输入boy↙,则显示:
abc=boy
注:键盘输入三个字符时,不能用空格来隔开,因空格也是‘字符’。对照上面程序说说为什么?
<6>编程打印所有的ASCII字符。
main()
{int i;
clrscr();
for(i=1;i<=255;i++)
{printf("%d %c \n",i,i);
sleep(1);
}
getch();
}
<7>输入任意1到255中的一个数字,编程打印相的ASCII字符所组成的奇数行三角形(大小自定)。
main()
{int i,j,k,a;
clrscr();
scanf("%d",&a);
for(i=1;i<=5;i++)
{gotoxy(40-i,i);
for(j=1;j<=2*i-1;j++)
printf("%c",a);
}
getch();
} 运行:输入12 ↙则显示:
♀
♀♀♀
♀♀♀♀♀
♀♀♀♀♀♀♀
♀♀♀♀♀♀♀♀♀
<8>从键盘上输入任意一个字符,编程打印由该字符组成的自然数行三角形。
main()
{int i,j, a;
clrscr();
scanf("%c",&a);
for(i=1;i<=5;i++)
{gotoxy(40-i,i);
for(j=1;j<=i;j++)
printf("%c ",a);
}
getch();
} 运行:输入大写字母A ↙显示:
A
A A
A A A
A A A A
介绍其他几个字符串处理函数
一:字符串比较函数:strcmp
<1>调用形式:strcmp(字符串1,字符串2)
<2>函数作用:将两个字符串从左到右逐个(按ASCII码值的大小)进行比较,直到出现不同的字符或遇到’\0’为止,比较的结果由函数值带回。
<3>比较函数带回的值有3种情况:
函数值=0 --->字符串1=字符串2
函数值>0 --->字符串1>字符串2
函数值<0 --->字符串1<字符串2
<4>程序举例:
①任意输入两个字符串,比较它们的大小。
#include”string.h” /*字符数组用此头文件*/
main()
{char a[10],b[10],c;
java游戏app gets(a); /*输入字符串用两种方式.*/
scanf("%s",b);
c=strcmp(a,b); /*用比较函数比较个字符串*/
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论