习题四 基本输入输出
一、填空题
1. C语句分为五种:_______、函数调用语句、_______、空语句和_______ 。
2. 一条基本语句的最后一个字符是_______ 。
3. 复合语句又称分程序,是用_______括起来的语句。
4. 使用标准输入输出库函数时,程序的开头要有如下预处理命令:_______。
5. getchar函数的作用是从终端输入_______个字符。
6. printf函数的作用是向终端_______若干个任意类型的数据。
7. printf函数中的“格式控制”,包括_______ 和 _______ 两种信息。
8. scanf函数中的“格式控制”后面应当是变量_______,而不是变量名。
9. 在用scanf函数中输入数据时,如果在“格式控制”字符串中除了格式说明以外还有其他字符,则应在对应位置输入与这些字符相同的_______ 。
10. 在用”%c”格式输入字符时,空格字符和“转义字符”都作为有效字符_______。
11. 在输入数据时,遇以下情况时该数据认为结束:遇 _______ 、或按_______ 或 _______ ;按指定的宽度结束;遇非法输入。
12. 输入数据时不能规定_______ 。
二、选择题
1. 以下不属于流程控制语句的是( )。
A)表达式语句 B)选择语句 C)循环语句 D)转移语句
2. putchar函数可以向终端输出一个( )。
A)整型变量表达式值 B)实型变量值
C)字符串 D)字符或字符型变量值
3. getchar函数的参数个数是( )。
A)1 B)0 C)2 D)任意
4. 以下程序的输出结果是( )。
main()
{
printf(“\n*s1=%15s*”, “chinabeijing”);
printf(“\n*s2=%-5s*”, “chi”);
}
A)*s1=chinabeijing * B)*s1=chinabeijing *
*s2=**chi* *s2=chi *
C)*s1=*chinabeijing* D)*s1= chinabeijing*
*s2=chi* *s2=chi *
5. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式( );如果字符串长度小于5,则输出按方式( )。
A)从左起输出该字串,右补空格 B)按原字符长从左向右全部输出
C)右对齐输出该字串,左补空格 D)输出错误信息
6. 已有定义int a=-2;和输出语句:printf(“%8x”,a); 以下正确的叙述是( )。
A)整型变量的输出格式符只有%d一种
B)%x是格式符的一种,它可以适用于任何一种类型的数据
C)%x是格式符的一种,其变量的值按十六进制输出,但%8x是错误的
D)%8x不是错误的格式符,其中数字8规定了输出字段的宽度
7. 若int a,b; scanf(“%d%d”,&a,&b); 不可以用( )作为输入的分隔符。
A), B) 空格 C) 回车 D)TAB键
8. 已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( )。
int a1,a2; char c1,c2;
scanf(“%d%d”,&a1,&a2);
scanf(“%c%c”,&c1,&c2);
A)1020AB<CR> B)10 20<CR>
AB<CR>
C)10 20 AB<CR> D)10 20AB<CR>
9. 阅读以下程序,当输入数据的形式为 25,13,10<CR> 正确的输出结果为( )。
main()
{
int x,y,z;
scanf(“%d%d%d”, &x, &y, &z);
printf(“x+y+z=%d\n”,x+y+z);
}
A)x+y+z=48 B)x+y+z=35 C)x+z=35 D)不确定值
10.已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为( )。
main()
{
int a; float f;
printf(“\nInput number:”);
输入语句
printf(“\nf=%f,a=%d\n”,f,a);
}
Input number:4.5 2<CR>
A)scanf(“%d,%f ”,&a,&f); B)scanf(“%f,%d”,&f,&a);
C)scanf(“%d%f ”,&a,&f); D)scanf(“%f%d”,&f,&a);
11.根据定义和数据的输入方式,输入语句的正确形式为( )。
已有定义:float f1,f2;
数据的输入方式:4.52
3.5
A)scanf(“%f,%f ”,&f1,&f2); B)scanf(“%f %f ”,&f1,&f2);
C)scanf(“%3.2f %2.1f ”,&f1,&f2); D)scanf(“%3.2f %2.1f ”,&f1,&f2);
12.阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是( )。
main()
{
int x; float y;
printf(“enter x,y:”);
输入语句
输出语句
}
输入形式 enter x,y: 2 3.4
输出形式 x+y=5.40
A)scanf(“%d,%f ”,&x,&y); printf(“\nx+y=%4.2f ”,x+y);
B)scanf(“%d%f ”,&x,&y); printf(“\nx+y=%4.2f ”,x+y);
C)scanf(“%d%f ”,&x,&y); printf(“\nx+y=%6.1f ”,x+y);
D)scanf(“%d%3.1f ”,&x,&y); printf(“\nx+y=%4.2f ”,x+y);
13.以下说法正确的是( )。
A)输入项可以为一实型常量,如scanf(“%f ”,3.5);
B)只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);
C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f ”, &f);
D)当输入数据时,必须指明变量的地址,如scanf(“%f ”,&f);
14.有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); 为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是( )。
A)132<回车> B)1,3,2<回车>
C)a=1 b=3 c=2<回车> D)a=1,b=3,c=2<回车>
15.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( )。
int a1,a2; char c1,c2;
scanf(“%d%c%d%c”, &a1, &c1, &a2, &c2);
A)10A 20B<CR> B)10 A 20 B<CR>
C)10A20B<CR> D)10A20 B<CR>
三、阅读程序,写出运行结果
1. main()
{ short i;
i=-4;
printf("\ni:dec=%d, oct=%o, hex=%x, unsigned=%u\n", i, i, i, i );
}
2.main()
{ int d=-2;
printf(" * d(1)=%d * d(2)=%3d * d(3)=%-3d * \n", d, d, d);
printf(" * d(4)=%o * d(5)=%7o * d(6)=%-7o * \n", d, d, d);
}
3.main()
{ int x=1,y=2;
printf("x=%d y=%d *sum*=%d\n",x,y,x+y);
printf("10 Squared is:%d\n",10*10);
} printf函数和scanf函数的格式说明都使用
4. main()
{ float a=123.456; double b=8765.4567;
printf("(1)%f\n",a);
printf("(2)%14.3f\n",a);
printf("(3)%6.4f\n",a);
printf("(4)%lf\n",b);
printf("(5)%14.3lf\n",b);
printf("(6)%8.4lf\n",b);
printf("(7)%.4f\n",b);
}
四、编程题
1. 编写程序,从键盘上输入三个数分别给变量a,b,c,求它们的平均值。并按如下形式输出:average of **,** and** is**.**。其中,三个**依次表示a,b,c的值,**.**表示a,b,c的平均值。
2. 1.31英里=1.609公里,地球与月球之间的距离大约是238857英里,请编写C程序,在屏幕上显示出地球与月球之间大约是多少公里?
3. 设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果(保留小数点后两位数字)。请编程序。
4. 输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9,取小数点后两位数字。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论