当前位置:首页 > 实验3-标准输入输出函数(答案)
第2章 C语言的语法基础
2.1 要点导读
● printf函数是格式化输出函数,用于向标准输出设备(通常指定为屏幕)按规定格式输出数据。printf函数的调用格式为:printf(格式化字符串, 输出表列);。
格式化字符串中,格式说明与运行项从左到右数据类型必须一一匹配。格式化字符串包括两部分内容:普通字符与转义字符将按原样运行到屏幕;另一部分是“输出格式说明”,以\开始,后跟一个或几个格式字符,用来指定输出数据的格式。在\与字符之间根据需要可以插入“宽度说明”、左对齐符号“-”、长度修饰符“l”或“L”等。
● scanf是格式化输入函数,可以从标准输入设备(通常指定为键盘)上以各种不同的格式读入数据到变量。scanf函数的格式为:scanf(格式化字符串, 地址表列);。格式化字符串包括三类不同的字符:“输入格式说明”、“空白字符”、“非空白字符”。
格式化字符串中,格式说明的类型及项数必须与地址表列中输入项的类型及项数由左至右一一匹配。输入的各数据之间用空白字符(空格键、回车键Enter或制表键Tab)隔开。如果在格式化字符串中插入某个非空白字符,输入数据时应输入一个与该非空白字符相同的字符,形成一一对应。输入格式说明都必须用 \开头,以一个格式字符作为结束,在此之间根据需要可以插入“宽度说明”、长度修饰符“l”或“L”等。
● C语言中的非格式化输入、输出函数主要用于字符和字符串的输入和输出。常见的非格式化输入、输出函数有putchar、getchar、getch、getche、puts、gets等函数。
3.1 选择题
(每题只有一个正确答案)
3.1 以下程序段的运行结果为【1】。
int k=11, k1=-11;
printf(\ printf(\
【1】 A) k=11, k=13, k=b
B) k=11, k=11, k=b
k1=-11, k1=177765, k1=fff5 k1=-11, k1=-13, k1=-b
C) k=11, k=11, k=11
D) k=11, k=13, k=b
k1=-11, k1=fff5, k1=b k1=-11, k1=-13, k1=b
3.2 若w、x、y、z均为int型变量,要使下列语句的运行结果为1234+123+12+1,正确输入形式应当是【2】。
scanf(\ printf(\
【2】 A)123412312<回车>
C)1234+1234+1234+1234<回车>
B)1234123412341234<回车> D)1234+123+12+1<回车>
3.3 运行以下程序段时编译出错,其原因是【3】。 char c1 = 'a', c2 = '123'; printf( \
【3】 A)字符串要用\表示
B)'123'只能赋值给字符数组
C)c2是字符变量,不能用%d格式输出
D)c2是字符变量,只能赋以字符常量,不能赋以字符串常量
3.4 若定义 float a;,现要从键盘输入a数据,其整数位为3位,小数位为2位,则选用【4】。
【4】 A)scanf( \
C)scanf( \
B)scanf( \ D)scanf( \
3.2填空题:
3.5 运行以下程序段时,由键盘输入:12345#6.789123回车,则运行结果是【5】。 float f1, f2; int i, j; char ch;
scanf(\ printf(\
3.6有如下定义和语句,若要使变量a1、a2、c1、c2的值分别为10、20、'A'、'B',则由键盘正确输入数据的格式是【6】。 int a1, a2; char c1, c2;
scanf(\ scanf(\
3.7 以下程序输入1.2345.6789
printf(\ }
答案:
3.1 答案:A
分析:十进制数11,分别用十进制、八进制、十六进制表示为:11、13、b。十进制数-11,分别用十进制、无符号十进制数、无符号十六进制表示为:-11、177767、fff5。
3.2 答案:D
分析:scanf函数格式化字符串中,输入的各数据之间默认用空白字符(空格键、回车键Enter或制表键Tab)隔开。如果在格式化字符串中插入某个非空白字符如“+”,输入数据时应输入一个该非空白字符“+”,形成一一对应关系。
3.3 答案:D
分析:字符变量只能赋以字符常量值,而'123'是非法的字符常量。 3.4 答案:A
分析:在scanf函数中,不能指定实型数据小数位的宽度。这一点与printf函数不同,应特别注意不要混淆。
3.5 答案:【5】123, 45, #, 6.789000, 123.000000
分析:scanf函数输入数据的实际宽度是由输入数据的结束标志决定的,在读入某数据项时,遇到结束标志就完成该数据项读入。结束标志有三种:① 空白字符,空格键、回车键或制表键(Tab)。② 宽度m,格式字符前可用一个整数m指定输入数据所占宽度,此时输入数据的宽度不能大于m。③ 非法字符,由于非法字符的存在,构成了不正确的C常量。
3.6 答案:【6】10AB20回车 分析:输入格式规定。
3.7 答案:【7】\
分析:在scanf函数中,可以指定输入的实型数据总宽度,但不能指定实型数据小数位的宽度。应特别注意,对于double类型的变量,scanf函数输入格式说明中的长度修饰符“l”不能省略,否则将接收到错误的数据。但使用printf函数输出double类型的数据时,输出格式说明中的长度修饰符“l”可以省略。
共分享92篇相关文档