3.scanf/扫描键盘
(1)scanf函数的一般形式
Scanf(格式控制,地址表列):“格式控制”的含义同printf函数,“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址
(2)scanf函数中的格式声明:与printf函数中的格式声明相似,以%开始,以一个格式字符结束,中间可以插入附加的字符
(3)需要注意的问题
1scanf函数中的“格式控制”后面应当是变量地址,而不是变量名,例如:如果写成scanf(”%f%f%f”,a,b,c);是不对的,应将”a,b,c”改为”&a,&b,&c”,许多初学者常犯此错误
2如果在“格式控制字符串”中除了格式声明以外还有其他字符,则在输入数据时在对应的位置上应输入与这些字符相同的字符,例如:scanf(“a=%f,b=%f,c=%f”,&a,&b,&c),则在需要用键盘输入数据时,需要按照函数的格式输入a=x,b=x,c=x,而不是直接输入数字;若为scanf(“%f”,&a),用键盘输入数字时则可以直接输入数据(建议有多个数据需要输入时,可以使用多个scanf;在scanf中增加其他字符时需谨慎,增加其他字符后,用键盘输入数据时很麻烦)。
③在用”%c”格式声明输入字符时,空格字符和转义字符中的字符都会作为有效字符输入,例如:
scanf(“%c%c%c”,&c1,&c2,&c3);
在执行此函数时应该连续输入三个字符,中间不要有空格或者回车
④输入数值数据时,如输入空格、回车、Tab键或遇到非法字符(不属于数值的字符),认为该数据结束,如:scanf(“%d%c%f”,&a,&b,&c); 输入数据为:1234a123o.26
第1个数据对应%d格式,在输入1234之后遇到字符‘a’,因此系统认为数值1234后已没有数字了,第1个数据输入到此结束,就把1234赋给变量a,把之后的字符‘a’赋给变量b,由于%c只要求输入一个字符,系统判定该字符已输入结束,因此字符a之后不需要加空格。字符‘a’后边的数值应该赋给变量c,如果由于疏忽把1230.26错打成123o.26,由于123后面出现字母o,则认为该数值数据到此结束,将123赋给变量c,后边其余字符没有被读入。
4.其他输入输出方式
5.输入输出的案例
编写程序,使可以从键盘输入一个小写字母时,在显示屏上显示对应的大写字母,并适用于任何小写字母
6.输入输出的案例作业
(1)简易的计算器
(2)编写程序将“China”译成密码,密码的规律是:分别用每个字母后面的第4个字母代替原来的字母,如:字母A后边第4个字母是E,按此方法,“China”应译为“Glmre”。编写程序,用赋初值的方法使c1,c2,c3,c4,c5这5个变量的值分别对应“China”的五个字母,经过运算,变为“Glmre”,分别用putchar函数和printf函数输出这5个字符。