用十进制整数指定输入的宽度(即字符数),例:
scanf(“%5d”,&i); 输入:
i的值被赋为12345,其余的被截去。
又如:scanf(“%5d%d”,&a,&b);
printf(“%d,%d”,a,b); 输入:
运行后,a的值宽度为5,所以a的值为12345,其余剩下的数被赋给了b,b值为6789。
4.长度。长度格式符为l和h,l表示输入长整型数据(如%ld)和双精度实型数(如%lf)。h则表示输入短整型数据。
注:scanf函数中没有精度控制,如:
scanf(“%5.4f”,&a);
是错误的语句,非法的。
使用scanf函数还必须注意以下几点:
函数中要求地址表列为变量的地址或表示地址的变量,不能为常量或变量名。
2.在输入多个数值数据时,若格式控制串中没有非格式字符作为输入数据的间隔,则可用空格、回车、tab键作为间隔。
3.在输入字符数据时,若格式字符串中无非格式字符串,则认为所有输入的字符均为有效字符。例如:
scanf(”%c%c%c”,&a,&b,&c
运行时,要求输入数据,若输入。
d e f
则把‘d’赋给了a变量,空格赋给了b变量,‘e’赋给了c变量。
只有输入:def
才能把‘d’赋给a,‘e’赋给b,‘f’赋给c。
如果输入语句改变一下:
scanf(“%c %c %c”,&a,&b,&c
则输入时各数据之间可以加空格。
4. 若scanf函数中的格式控制字符串中除了格式字符外还有其他字符,则在输入时应输入与这些字符相同的字符。
例3.4 main()
int a,b,c;
printf("input a,b,c");
scanf("%d,%d,%d",&a,&b,&c);
printf("%d,%d,%d",a,b,c);
例3.5 main()
char c1,c2;
int n1,n2;
float f1,f2;
scanf("%c,%c",&c1,&c2);
scanf("%d,%d",&n1,&n2);
scanf("%f,%f",&f1,&f2);
printf("c1=%c,c2=%c",c1,c2);
printf("n1=%d,n2=%d",n1,n2);
printf("f1=%7.2f,f2=%7.2f",f1,f2);
5.程序运行到scanf语句时,转入用户屏幕等待用户输入,如果用户输入的数据少于输入项时,程序等待用户输入,直到满足要求为止。如果输入的数据多于输入项时,多余的数据并不消失,而是留作下一次输入操作时,要求输入的数据使用。
例3.6:main()
int a,b,c,d;
scanf("%d%d ",a,&b);
printf("a=%d,b=%d",a,b);
sacnf("%d%d ",c,&d);
printf("c=%d,d=%d",c,d
函数的返回值是本次调用输入的数据个数。
1.c语言中提供的库函数的使用。
2.格式输入输出函数printf和scanf,按指定的格式输入或输出数据。特别掌握格式符的使用。
1.用printf()、scanf()输入输出时,使用的格式符与实际输入、输出的数据的数据类型不一致。
2.scanf()的格式串中不能使用精度。即scanf(”%5.2f”, a);是错误的用法。
3.scanf()的输入项中,未使用地址。
4.使用scanf()输入数据时,数据的实际输入格式与要求不符。
例:scanf(“%d%d”,&a,&b);语句要求以空格、tab、回车作为分隔符,但输入时以“,”分隔。
C语言知识第4章2 王厚财
复习 1 关系运算符与逻辑运算符。2 关系表达式与逻辑表达式的求值。3 if else语句构成的选择结构。4 if else语句的嵌套构成的多分支的选择结构。讲授新课。在例4.6中,程序用if else语句实现了多分支选择,但是,这样的程序结构易读性差,又不易跟踪。为此,c语言为某些多分支情况 并非...
C语言第2章实验
2009 2010学年第 2 学期。实验报告。实验课程名称 c语言程序设计基础实验 专业班级信息0908 学生姓号 30902268 学生姓名沃凌雁。实验指导老师罗国明。浙江大学城市学院实验报告。实验项目名称实验2 用c语言编写简单程序。实验成绩指导老师 签名日期。一。实验目的和要求。1 使用if语...
C语言答案第2章
第2章。2.1略。2.2合法常量分别是 20 0.5 012 8e4 5.0x6a ok a 012 a b 2.3合法的变量名有 abc123 abc a b c abc int i,j错误,数据类型错误。float a,b 正确。int a,b float a,b 错误,变量重复定义。float...