《C语言程序设计》试题库及答案 下载本文

{ char m;

m='B'+32; printf(\}

3. 设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为_ __。 4. 以下程序的输出结果是 。

main()

{ int a=1, b=2;

a=a+b; b=a-b; a=a-b; printf(\ } 5. 若有语句

int i=-19,j=i%4; printf(\

则输出结果是 。

6. 已知字符A的ACSII码值为65,以下语句的输出结果是 。

char ch=’B’;

printf(“%c %d\\n”,ch,ch);

7. 设x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是 。

printf(\

2.3编程题

1.假如我国国民生产总值的年增长率为10%,计算10年后我国国民生产总值与现在相比增长多少百分比?计算公式为:

其中r为年增长率;n为年数;P为与现在相比的百分比。

2. 在一个笼子里同时养着一些鸡和兔子,你想了解有多少只鸡和多少只兔,主人对你说:我只告诉你鸡和兔的总头数是16和总脚数是40,你能不能自己计算有多少只鸡和多少只兔?

7

第3章 最简单的程序设计-顺序程序设计

3.1选择题

1. 在下列选项中,不正确的赋值语句是( )。

(A)++t; (B)n1=(n2=(n3=0)); (C)k=i==j; (D)a=b+c=1; 2. 以下叙述中正确的是( )。

(A)用C程序实现的算法必须要有输入和输出操作 (B)用C程序实现的算法可以没有输出但必须要输入 (C)用C程序实现的算法可以没有输入但必须要有输出 (D)用C程序实现的算法可以既没有输入也没有输出

3. 若变量已正确定义并赋值,下面符合C语言语法的表达式是( )。

(A) a:=b+1 (B) a=b=c+2 (C) int 18.5%3 (D) a=a+7=c+b

4. 若变量a、i已正确定义,且i已正确赋值,合法的语句是( )。

(A) a==1

(B) ++i; (C) a=a++=5; (D) a=int(i);

5. 设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是((A)6.500000 (B)6 (C) 5.500000 (D) 6.000000

6. C语言中用于结构化程序设计的三种基本结构是 ( )。

(A)顺序结构、选择结构、循环结构 (B)if、switch、break (C)for、while、do-while (D)if、for、continue 7. 以下选项中非法的表达式是( )。

(A)0<=x<100 (B)i=j==0

(C)(char)(65+3) (D)x+1=x+1

8. 有以下定义语句

double a,b; int w; long c;

若各变量已正确赋值,则下列选项中正确的表达式是( )。 (A)a=a+b=b++ (B)w%((int)a+b) (C)(c+w)%(int)a (D)w=a==b;

9. 以下选项中,与k=n++完全等价的表达式是( )。

(A) k=n,n=n+1 (B) n=n+1,k=n (C) k=++n (D) k+=n+1 10. 以下叙述中错误的是( )。

(A)C语句必须以分号结束

(B)复合语句在语法上被看作一条语句 (C)空语句出现在任何位置都不会影响程序运行 (D)赋值表达式末尾加分号就构成赋值语句 11. 以下叙述中错误的是( )。

(A)算法正确的程序最终一定会结束 (B)算法正确的程序可以有零个输出 (C)算法正确的程序可以有零个输入

(D)算法正确的程序对于相同的输入一定有相同的结果 12. 设有如下的变量定义:

8

)int i=8, k, a, b;

unsigned long w=5; double x=1. 42, y=5.2;

则以下符合C语言语法的表达式是( )。 (A) a+=a-=(b=4)*(a=3) (B) x%(-3); (C) a=a*3=2 (D) y=float(i)

13. 以下程序的输出结果是 ( )。

main( )

{ int i=010,j=10,k=0x10; printf(\ }

(A)8,10,16 (B)8,10,10 (C)10,10,10 (D)10,10,16

14. 已知字母A的ASCII码为十进制的65,下面程序的输出是( )。

main()

{ char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3';

printf(\

(A) 67,D (B) B,C (C) C,D (D) 不确定的值 15. 若有以下定义和语句:

int u=010,v=0x10,w=10; printf(\

则输出结果是( ) 。

(A)8,16,10 (B)10,10,10 (C)010,16,10 (D)16,16,16 16. 若有以下定义和语句

char c1='b',c2='e';

printf(\则输出结果是( )。 (A)2,M (B)3,E

(C)2,E (D)输出项与对应的格式控制不一致,输出结果不确定 17. 下列可作为C语言赋值语句的是( )。

(A) x=3

(B) a=b=6

(C) i--; (D) y=int(x);

18. 设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:

scanf(\

为了把100和765.12分别赋给i和f,则正确的输入为( )。 (A) 100 765.12 (B) i=100,f=765.12

(C) 100765.12 (D) x=100y=765.12

19. 以下叙述中正确的是( )。

(A) 输入项可以是一个实型常量,如:scanf(\

(B) 只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf(\(C) 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf(\(D) 当输入数据时,必须指明变量地址,例如:scanf(\20. 以下程序的输出结果是( )。

main( )

9

{ int k=17;

printf(\,%o,%x \\n\,k,k,k); }

(A) 17,021,0x11 (B) 17,0x11,021

(B) 17,17,17 (D) 17,21,11

21. 下列程序的输出结果是 ( )。

main()

{ double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(\ } (A) 3 (B) 3.2 (C) 0 22. 下列程序执行后的输出结果是 ( )。

main()

{ int x='f'; printf(\(A) G (B) H (C) I 23. 下列程序的运行结果是( ) 。 #include main()

{ int a=2,c=5;

printf(\(A) a=%2,b=%5 (B) a=2,b=5 (C) a=d, b=d (D) a=%d,b=%d

24. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是 ( )。

(A) input x、y、z; 25. 若有以下程序段,

int c1=1,c2=2,c3; c3=1.0/c2*c1;

则执行后,c3中的值是( )。 (A) 0

(B) 0.5

(C) 1

(D) 2

26. 若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为( )。

(A) 1.4 (B) 1 (C) 2.0 (D) 2 27. 以下程序段的输出结果是( )。

int a=1234;

printf(\

(A) 12 (B) 34 (C) 1234 (D) 提示出错、无结果 28. 以下非法的赋值语句是( )。

(A) n=(i=2,++i); (B)j++; (C) ++(i+1); (D)x=j>0;

29. 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1,j的值为2,k的值

为3,以下选项中正确的输入语句是( )。

(A) scanf(“---”,&i,&j,&k); (B) scanf(“%d %d %d”,&i,&j,&k);

(C) scanf(“%d,%d,%d”,&i,&j,&k); (D) scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);

10

(D) 3.07

(D) J

(B) scanf(\

(C) scanf(\ (D) read(\