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 D)书写#include "scanf.h"

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( )

{

相关文档
最新文档