C语言书面作业1(有答案版)
书面作业1(数据类型、变量、输入/输出、运算符与表达式、选择结构、循环结构)
一、判断题:在正确的说法前面填写T,在错误的说法前面填写F(每题1分)[得分: ] ( F )1. C语言程序中,注释越多越好。
( F )2. C语言程序中的注释,不会影响程序的执行速度。
( F )3. C语言规定,在一个源程序中,main函数的位置必须在最开始。
( F )4. 标识符中可以出现下划线,但它不可以放在标识符的开头。
( F )5. C语言规定标识符只能由字母、数字和小数点三种字符组成。
(T )6. unsigned 和void 在C语言中都是保留字。
( F )7. 在C语言中,变量名越短越好。
( F )8. 在C语言中,使用短的变量名可以节省程序执行时的内存消耗。
( F )9.字符型变量用来存放字符常量,且只能存放2个字符。
(T )10. printf函数是一个标准库函数,它的函数原型在头文件stdio.h中。
( F )11. scanf函数是一个标准库函数,它的函数原型在头文件string.h中。
( F )12. printf 是 C 语言的输出语句。
(T )13. 在printf 函数中,输出项可以是任意合法的表达式。
(T )14. C 语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。
(T )15. C语言中,整型数运算速度快,没有误差,应该优先使用。
(T )16. C语言中,浮点数运算存在误差。不宜使用浮点数做相等运算。
( F )17. C语言中,不允许将一个浮点数赋值给一个整型变量。
( F )18. C语言中,不能将整数值赋值给一个字符型变量。
( F )19. C语言中,不能将一个字符常数赋值给一个整型变量。
( F )20. C语言中,不同类型的数据对象不能出现在一个表达式中。
( F )21. C语言中可以把一个字符串赋给一个字符变量。
(T )22. 在C语言中,模运算(相除后取余数,运算符%)要求参加运算的数必须是整型。( F )23. 逻辑运算符的优先级别高于算术运算符。
( F )24. 把k1、k2定义成整型变量并赋初值0的定义语句是:int k1 = k2 = 0;
(T )25. C语言中,可以在定义变量的同时使变量初始化。
(T )26. C语言中,算术、关系、逻辑及赋值表达式都有一个值。
( F )27. 或(||)运算参与运算的两个量都为1时,结果才为1。
( F )28. 若变量已正确定义,则x1=26.8%3是一个正确的赋值表达式。
(T )29. 在执行了赋值表达式a = b 后,b中的值将存入a中,且b的值不变。
(T )30. x *= y + 8 等价于x = x * (y + 8)。
( F )31. 在进行赋值转换时,变量的类型被自动转换为赋值号右边的表达式值的类型。( F )32. 在标准C中,运算符"="的作用是判断两个运算数是否相等。
( F )33. C语言中,goto语句是常用的重要语句。
(T )34. 嵌套的if语句所实现的功能,也可以用嵌套的switch语句实现。
( F )35. C语言if语句只能根据关系或逻辑表达式的结果进行选择。
(T )36. C语言switch语句不能根据浮点型数值进行分支转移。
(T )37. 用switch语句实现的分支转移,一定可以用嵌套的if语句实现。
(T )38. for(表达式1;;表达式3)可理解为for(表达式1;1;表达式3)。
( F )39. 循环语句嵌套的层数越多,说明程序设计技巧和水平越高。
( F )40. 程序中无限循环会引起死机,C语言程序不应有无限循环。
二、选择题: 在四个选项中选择最合适的一个选项填写在上(每题1.5分)[得分: ]
1.一个C程序的执行是从 A 。
A)本程序的main函数开始的。
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
2.以下叙述正确的是 C 。
A)在C程序中,main函数必须位于程序的最前面
B)C程序的每行中只能写一条语句
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误
3.以下叙述不正确的是 D 。
A)一个C源程序可由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
4.下列叙述中正确的是 C 。
A) C语言程序将从源程序中第一个函数开始执行
B) 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C) C语言规定必须用main作为主函数名,程序将从此开始执行。
D) 以上说法都不正确。
5. 使用scanf函数时,在源程序开头 B 。
A)书写#include ‘stdio.h’ B)书写#include
C)书写#include
6.C语言中的表达式语句需要 B 符号作为结尾。
A) : B) ; C)。 D) //
7.C 语言程序中多行注释用符号_ C_ _。
A)‘{‘ 和’}’ B)‘[‘和’]’
C)“/*”和”*/” D)“*/”和”/*”
8.C语言中注释的位置 C 。
A) 必须在程序的最开始 B) 必须在程序的结尾
C) 可以在程序的任何位置 D) 不可以写到main函数里面
9.C语言程序能够在不同的操作系统下面运行,这说明c语言具有很好的 B 。
A) 灵活性 B)可移植性 C)兼容性 D) 操作性
10.C语言经过编译连接后生成的可执行文件的扩展名为 C 。
A).c B) .cpp C) .exe D) .obj
11.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 C 。
A)必须为字母 B)必须为下划线
C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符
12.以下C语言用户标识符中,不合法的是 D 。
A) _1 B) Double C) a_b D) a-b
13. C语言提供的合法数据关键字是 A 。
A) float B) sagned C) Int D) Char
14. 下列标识符组中,合法的用户标识符为 B 。
A) PAd与p#d B) Scanf 与a10
C) void与max D) A*与temp
15.以下选项中,能用作标识符的是 C 。
A) void B) 8_8 C) _0 D) unsigned
16.以下选项中,不合法的用户标识符是 C 。
A) print B) FOR C) &a D) _00
17. 下面不正确的字符串常量是 A 。
A)'abc' B)"12'12" C)"0" D)" "
18. 若以下选项中的变量已正确定义,则正确的赋值语句是 C 。
A) x1 = 26.8 % 3; B) 1 + 2 = x2; C) x3 = 0x12; D) x4 = 1 + 2 = 3;
19. 下列C语言中运算对象必须是整型的运算符是 A 。
A) %= B) / C) = D) *=
20. 若有以下程序段:int c1 = 1, c2 = 2, c3; c3 = 1.0 / c2 * c1;则执行后,c3中的
值是 A 。
A) 0 B) 0.5 C) 1 D) 2
21. 如果要定义两个整型变量a和b,则下列写法中正确的是 C 。
A)int a; b; B)int a = b = 5;
C)int a = 5, b = 5; D)inta,b;
22. 以下定义变量的语句中,正确的是 B 。
A)int a = b = 0; B)char A = 65 + 1;
C)float a = 1, b = 1++; D)double a = 0.0; b = 1.1;
23. 有整型变量x,单精度变量y = 5.5,表达式x = y * 3 + (int)y % 4执行后,x的值
为( A )。
A)17 B)17.500000 C)17.5 D)16
24. 已知int x = 1, y;则表达式y = ++x;的值是 B 。
A)1 B)2 C)3 D)表达式错误
25. 下列关于单目运算符++、--的叙述中正确的是 D 。
A)它们的运算对象可以是任何变量和常量
B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D)它们的运算对象可以是char型变量、int型变量和float型变量
26. 已定义ch为字符型变量,下列赋值语句中错误的是 A 。
A)ch='\'; B)ch=62+3; C)ch='\n'; D)ch='\x41';
27. 假定有以下变量定义,则能使值为3的表达式是 D 。
int k=7,x=12;
A)x%=(k%=5) B)x%=(k-k%5)
C)x%=k-k%5 D)(x%=k)-(k%=5)
28. 已定义c为字符型变量,则下列赋值表达式中正确的是 C 。
A)c=’97’ B)c=“97” C)c=97 D)c=“a”
29. 若变量a是int类型,并执行了语句:a=‘A’+1.6;,则正确的叙述是 D 。
A)a的值是字符C B)a的值是浮点型
C)不允许字符型和浮点型相加 D)a的值是字符’A’的ASCII值加1
30. 设a和b均为double型变量,且a的值为5.5,b的值为2.5,则表达式
(int)a + b / b的值是 D 。
A)6.500000 B)6 C)5.500000 D)6.000000
31. 在下列选项中,不正确的赋值语句是 D 。
A)t += 1; B)n1 = n2 = n3 = 0; C)k=i==j; D)b+c=1;
32.已知char a; int b; float c; double d; 则表达式a + b * c - d的结果为_ D__型。
A)char B)int C)float D)double
33. 若x 为int型变量,则执行语句x=10; x += x;后,x的值为___C____。
A)0 B)10 C)20 D)30
34.假设变量a是int型,b是float型,c是double型,则表达式30 + a + c * b的值的数据类型是 C 。
A) int B) float C) double D)不确定
35.执行下列程序片段时输出结果是 C 。
int x = 13,y = 5;
printf(“%d”,x %= (y /= 2));
A)3 B)2 C)1 D)0
36. 执行语句scanf (“%c%c%c”,&c1,&c2,&c3),输入abc时,变量c1、c2、c3的值分别为 A 。
A)'a', 'b', 'c' B)'a','b', '' C)'a', '', 'b' D)'a','','c'37.有以下程序段:
int m = 0, n = 0; char c = 'a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:10A10<回车键>,则输出结果是 A 。
A)10,A,10 B)10,a,10 C)10,a,0 D)10,A,0
38.若有以下变量说明和数据的输入方式,则正确的输入语句为 B 。
变量说明:float x1,x2;
输入方式:4.52<回车>
3.5<回车>
A)scanf(“%f,%f”,&x1,&x2); B)scanf(“%f%f”,&x1,&x2);
C)scanf(“%3.2f %2.1f”,&x1,&x2); D)scanf(“%3.2f%2.1f”,&x1,&x2);
39.若a为整型变量,则以下语句 B 。
a = -2L; printf(“%d\n”, a);
A)赋值不合法 B)输出值为-2 C)输出为不确定值 D)输出值为2
40.有以下程序
#include
int main( )
{ int x = 102, y = 012;
printf(“%2d,%2d\n”, x, y);
return 0;
}
执行后输出结果是 C 。
A)10,01 B)02,12 C)102,10 D)02,10
41.设有如下程序段
int x = 2002, y = 2003;
printf("%d\n", x, y);
则以下叙述中正确的是___C_____。
A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B)运行时产生出错信息
C)输出值为2002
D)输出值为2003
42. 若有下列语句
char c=’A’;
printf(“%d”,c);
则输出的结果是 C 。
A) A B) c C) 65 D)语句错误
43. 下列程序输入’a’字母后,执行程序后输出的结果是 B 。
#include
int main( )
{
char c;
c = getchar();
c = c - 32;
printf("%c\n", c);
return 0;
}
A)65 B) A C) 97 D) a
44.执行下列程序片段时输出结果是 B 。
float x = -1023.012;
printf(“\n%8.3f,”, x);
printf(“%10.3f”, x);
A)1023.012, -1023.012 B)-1023.012, -1023.012
C)1023.012,-1023.012 D)-1023.012, 1023.012
45.对于下述语句,若将10赋给变量k1和k3,将20赋给变量k2和k4,则应按 D 方式输入数据。
int k1,k2,k3,k4;
scanf(“%d%d”,&k1,&k2);
scanf(“%d,%d”,&k3,&k4);
A)1020↙ B)10 20↙ C)10,20 ↙ D)10 20↙
1020↙ 10 20↙ 10,20↙ 10,20↙
46.阅读以下程序,若运行结果为如下形式 ,输入输出语句的正确内容是 B 。
int 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.lf",x+y);
D)scanf("%d%3.1f",&x,&y );printf("\nx+y=%4.2f",x+y);
47.根据定义和数据的输入方式,输入语句的正确形式为 B 。
已有定义: float fl,f2;
数据的输入方式:4.52
3.5
A) scanf("%f,%f",&f1,&f2); B) scanf("%f%f",&f1,&f2 );
C) scanf("%3.2f%2.1f",&f2,&f1); D) scanf("%3.2f%2.1f",&f1,&f2);
48.逻辑运算符两侧运算对象的数据类型 D 。
A)只能是0或1 B)只能是0或非0正数
C)只能是整型或字符型数据 D)可以是任何类型的数据
49. 下列运算符中优先级最高的是 B 。
A) < B) + C) && D) !=
50.能正确表示"当x 的取值在[1,10]或[200,210]范围内为真,否则为假"的表达式是
C 。
A) (x>=1) &&(x<=10) &&(x> = 200) &&(x<=210)
B) (x>=1) || (x<=10) ||(x>=200) ||(x<=210)
c) (x>=1) &&(x<=10)||(x>= 200) &&(x<=210)
D) (x > =1)||(x< =10) && (x> = 200)||(x<=210)
51.判断char型变量ch是否为大写字母的正确表达式是 C 。
A) 'A'<=ch<='Z ' B) (ch>='A')&(ch<='Z ')
C) (ch>='A')&&(ch<='Z') D) ('A'<=ch)AND('Z'>=ch)
52.设x,y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是 D 。
A) 'y'&&'y' B) x<=y C) x||y+z&&y-z D) !((x 53.已知x=43,ch='A',y=0则表达式(x>=y && ch<'B'&&!Y) 的值是 C 。 A) 0 B) 语法错 C) 1 D) "假" 54. 定义:int x=7,y=8,z=9;后,则下面表达式为0的是 D 。 A)' x ' && ' y ' B)x<=y C)x||y+z&&y-z D)!((x 55.若希望当A的值为奇数时,表达式的值为"真",A的值为偶数表达式的值为"假"。则以下不能满足要求的表达式是 C 。 A) A%2==1 B) !(A%2==0) C) !(A%2) D) A%2 56.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是___D___。 A)k%2 B)k%2==1 C)(k%2)!=0 D)!k%2==1 57. 对switch语句的控制表达式的值类型,叙述正确的是C 。 A)只能是数字 B)可以是浮点数 C)只能是整型或字符型 D)以上叙述都不对 58.下列关于switch和break语句的说法中正确的是 B 。 A)break语句只能用在switch语句中 B)在switch语句中,可以根据需要决定是否使用break语句 C)在switch语句中必须使用break语句 D)以上选项都不正确 59.下面程序运行结果是 A 。 #include int main() { int a,b,c,d,x; a=c=0; b=1;d=20; if(a) d=d-10; else if(!b) if(!c)x=15; else x=25; printf("%d\n",d); return 0; } A)20 B)25 C)15 D)10 60. 以下程序输出结果是 B 。 int main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch (y) { case 0 : a++ ; break ; case 1 : b++ ; break ; } case 2: a++; b++; break; case 3: a++; b++; } printf("a=%d,b=%d",a,b); return 0; } A)a=1,b=0 B)a=2,b=1 C)a=1,b=1 D)a=2,b=2 61. 以下程序输出结果是 B 。 int main() { int a=2, b=7, c=5; switch (a>0) { case 1: switch (b<0) { case 1: printf("@"); break ; case 2: printf("!"); break ; } case 0: switch (c==5) { case 1: printf("*") ; break ; case 2: printf("#") ; break ; default : printf("#") ; break ; } default: printf("&"); } printf("\n"); return 0; } A)@ B)*& C)@& D)& 62. 已知x、a、b、c、d均为int型变量,则执行如下程序段后,x的值是___D____。 a=1; b=2; c=3; d=4; x=(a x=(a x=(a A)4 B)3 C)2 D)1 63. 运行下列程序段后x的值是___A____。 int a,b,c,x; a=0; b=0; c=0; x=7; if(!a) x--; else if(b); if(c) x=3; else x=4; A)4 B)6 C)7 D)3 64. 如下程序的输出结果是___C____。 #include int main() { int a,b,c,d; a=2; b=-6; c=5; if(a if(b<0) c=0; else c++; printf (" %d \n", c); return 0; } A)0 B)1 C)5 D)6 65. 关于以下三条语句的描述中,正确的是___A____。 ① if(a) a=1;else a=2; ② if(a==0) a=2;else a=1; ③ if(a!=0) a=1;else a=2; A)三条语句相互等效 B)三条语句中②与③等效,但与①不等效C)三条语句中①与②等效,但与③不等效 D)三条语句各不等效 66.设j为int型变量,则下面for 循环语句的执行结果是 B 。 for (j=10;j>3;j--) { if (j%3)j--; --j;--j; printf ("%d",j); } A)6 3 B)7 4 C)6 2 D)7 3 67. 以下程序的输出结果是 A 。 #include int main() { int n=4; while(n--) printf("%d",--n); return 0; } A)2 0 B)31 C)321 D)210 68. 定义如下变量int n=10;则下列循环的输出结果是__B____。 while(n>=7) { n--; printf(“%d\n”,n); } A)10 B)9 C)10 D)9 9 8 9 8 8 7 8 7 7 6 69. 以下程序执行后,输出结果是___A____。 #include int main() { int n=0; while(n<=2) { n++; printf("%d\n",n); } return 0; } A)1 B)1 C)2 D)2 2 2 3 3 70. 以下程序段 C 。 int main() { int x=-1; do { x=x*x; }while (!x); printf("It is the %dth day.",x); return 0; } A)是死循环B)循环执行2次C)循环执行1次D)有语法错误 71. 以下描述中正确的是 C 。 A) 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复 合语句 B) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C) do-while循环至少要执行一次循环体中的语句 D) do-while循环中,根据情况可以省略while 72. 以下程序段的循环次数是 B 。 for(i = 2; i == 0; ) printf(“%d” , i--) ; A)无限次B)0次C)1次D)2次 73. 下面for循环语句 B 。 int i, k; for (i=0, k=-1; k=1; i++, k++) printf(“***”); A)判断循环结束的条件非法B)是无限循环 C)只循环一次D)一次也不循环 74. 下面程序的输出结果是 B 。 int main ( ) { int k = 0, m = 0, i, j; for (i=0; i<2; i++) { for (j=0; j<3; j++) k++ ; k-=j ; } m = i+j ; printf("k=%d,m=%d",k,m) ; return 0; } A)k=0,m=3 B)k=0,m=5 C)k=1,m=3 D)k=1,m=5 75. 下面程序的输出结果是 B 。 int main ( ) { int i, s, n = 0; for (i=0; i<=5; i++) { s=i%3; while(s>0) s--, n++; } printf("%d,%d",n,s) ; return 0; } A)5,0 B)6,0 C)5,-1 D)6,-1 76. 以下正确的描述是 B 。 A)continue语句的作用是结束整个循环的执行 B)只能在循环体内和switch语句体内使用break语句 C)在循环体内使用break语句或continue语句的作用相同 D)从多层循环嵌套中退出时, 只能使用goto语句 三、填空题 1.计算机程序设计语言的发展经历了从机器语言、汇编语言到 高级语言的历程。 2.C语言中的标识符只能由三种字符组成,它们是字母、数字和下划线。 3.转义字符'\n'表示_ 换行 _,使光标移到屏幕上下一行开头。 4.语句print f("a\b Re\'CH\'y\\\bou\n");的输出结果是 Re’CH’you 。 5.一个表达式的最后加上一个_ 分号(;) _就成了一个语句。 6. C语言提供了6种关系运算符_ > __、_ < __、_ >= __、_ <= __、_ == __、_ !=__。 7. C语言中,关系表达式的值是一个_ 逻辑值 __即真或假,一般以_ 非0 __代表真,以_ 0 __代表假。 8. C语言提供三种逻辑运算符,包括_ && __、_ || __、_ ! __,这三种逻辑运算符 中_ !__的优先级最高。 9.若a=3, b=2, c=1 则关系表达式"(a>b)= =c" 的值为 1 。 10.若a是int型变量,则执行表达式a=25/3%3后a的值为 2 。 11. printf("%.2f\n",3.5 + 1/2 + 56%10);的输出结果是9.50 。 12.若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++ x的值为 10 ,n的值为 6 。 13. 表达式1/4+2.75的值是 2.75 。 14.若有int i=10, j=2;则执行完i*=j+8;后i的值为100 。 15. 在if-else结构中,else子句不能作为语句单独使用,必须与_ if __配对使用,且若if和else后面有多条语句,则需用_ 大括号 __将其成为一个复合语句。 16. C语言中唯一的一个三目运算符是_条件运算符,其一般形式为_表达式1?表达式2:表达式3_。 17. while循环结构中,当表达式为_ 非0 __时执行其中的内嵌语句;循环体如果包含一个以上的语句,应该用_ 大括号 __括起来。 18.以下printf语句中%3d的作用是屏幕输出的宽度为3 ,输出结果是 ## 3 。 #include int main() { int i=3; printf(“##%3d\n”,i,i); return 0; } 19.下面程序的输出结果是 G 。 #include int main() { int x='f'; printf("%c\n", 'A'+(x-'a'+1)); return 0; } 20.以下程序的输出结果为*3.140000,3.142* 。 int main() { printf(“*%f,%4.3f*\n”,3.14,3.1415); return 0; } 21.写出以下程序运行的结果 9,11,9,10 。 #include int main ( ) { int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); return 0; } 22.写出以下程序运行的结果 a=9,b=7 。 #include int main() { int a = 7, b = 9; a = a + b; b = a - b; a = a - b; printf ("a=%d, b=%d \n", a,b); return 0; } 23. 写出以下程序运行的结果 a=75,b=15,c=3 。 #include int main() { int a, b, c; a = ( b = ( c = 3) * 5)*5; printf ("a=%d, b=%d, c=%d \n", a, b, c); return 0; } 24. 已知字母A的ASCII码为65。以下程序运行后的输出结果是_67 G_____。#include int main() { char a, b; a='A'+'5'-'3'; b=a+'6'-'2'; printf("%d %c\n", a, b); return 0; } 25.写出以下程序的输出结果:3 3 #include int main ( ) { int y=3,x=3,z=1; printf(“%d %d\n”,(++x,y++),z+2); return 0 ; } 26.下列程序的输出结果是14.00,请填空使程序完整。 int main ( ) { int a=9,b=2; float x= 5.5 , y=1.1 , z; z=a/2+b*x/y+1/2; printf(“%5.2f\n”,z); return 0; } 27. 阅读以下面程序,填写输出结果。 #include int main( ) { int x=5,a=0,b=0; if(x!=(a+b)) printf("x=5\n"); else printf("a=b=0\n"); return 0; } 输出结果为: x=5 28. 执行了以下程序片断后,若原来x=9,则输出结果为_ 10 _;若原来x=6,则输出结果为_ 7 _。 if(x++>8) printf("%d",x); else printf("%d",x--); 29. 执行下面程序 #include int main( ) { int x; scanf("%d",&x); if(x++>5) printf("%d\n", x); else printf("%d\n", x--); return 0; } 若输入5,其输出结果是 6 。 30. 以下程序运行后的输出结果是 yes 。 #include int main( ) { int a=1,b=3,c=5; if (c=a+b) printf ("yes\n"); else printf ("no\n"); return 0; } 31. 以下程序将两个数从小到大输出。 #include int main( ) { float a,b, t ; scanf( “%f %f” ,&a,&b); if (a>b) { t=a; a=b ;b=t;} printf ("%5.2f,%5.2f\n",a,b); return 0; } 32. 若有以下程序: #include int main( ) { int a=4,b=3,c=5,t=0; if(a if(a printf("%d%d%d\n",a,b,c); return 0; } 执行后输出结果是 503 。 33.写出程序段的输出结果 1 。 int a=100; if (a>100) printf ("%d\n ",a>100); else printf ("%d\n ",a<=100); 34. 有以下程序 #include int main( ) { int a=5,b=4,c=3,d=2; if(a>b>c) printf("%d \n",d); else if((c-1>=d)==1) printf("%d\n",d+1); else printf("%d\n",d+2); return 0; } 执行后输出结果是 3 。 35. 执行程序之后,输入2↙6↙3↙,以下程序运行后的输出结果是__6____。(↙表示回车) #include int main() { int a,b,c,d; printf("请输入三个整数:\n"); scanf("%d%d%d",&a,&b,&c); if(a>b) d=a; else d=b; if(c>d) d=c; printf("%d\n",d); return 0; } 36. 以下程序运行后的输出结果是___10,4,3____________ #include int main() { int a=10,b=4,c=3; if(a if(a printf("%d,%d,%d\n",a,b,c); return 0; } 37.写出下面程序运行的结果。 int main() { int x=1,y=0; switch(x) { case 1: switch(y) { case 0:printf("**1**\n");break; case 1:printf("**2**\n");break; } case 2:printf("**3**\n"); } return 0; } **1** **2** 38. 根据以下函数关系,对输入的每个整数x值,计算出相应的y值,请填空使程序完整。 ?????? ?<<=+-<<=<<=<=4020205.0201010 10000 x x x x x x y int main() { int x,c; float y; scanf("%d",&x); if ( x<0 ) c= -1; else c=x/10 switch (c) { case -1 : y=0 ; break ; case 0 : y=x ; break ; case 1 : y=10 ; break ; case 2 : case 3 : y=-0.5*x+20 ; break ; default : y=-2 ; } if ( y!=-2 ) printf ("y=%f",y); else printf("error!"); return 0; } 39. 以下程序的输出结果是 1 0 。 #include int main( ) { int a=-1,b=1,k; if((++a<0)&&!(b--<=0)) printf("%d %d\n",a,b); else printf("%d %d\n", b, a); return 0; } 40.下面程序的功能是在屏幕上显示如下图形: 1 2 1 3 2 1 4 3 2 1 5 4 3 2 1 填空: #include int main( ) { int i=1,j; while(i<=5) { printf("\n"); j=i; while( j>=1 ) { printf(”%2d”,j); j--;} i++; } return 0; } 41. 程序功能:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空,将程序补充完整。 #include int main() { float x,xmax,xmin; printf("输入成绩:\n"); scanf("%f",&x); xmax=x; xmin=x ; while( x>0 ) { if(x>xmax) xmax=x; if( x scanf( “%f”,&X ); } printf("max=%f,min=%f",xmax,xmin); return 0; } 42. 以下程序运行后的输出结果是__n=5____。 #include int main( ) {