C语言复习题 下载本文

x=10; x+=x-=x-x;

A.10 B. 20 C. 40 D. 30 14. 下列可作为C语言赋值语句的是( )。 A. x=3,y=5 B. a=b=6 C. i--; D. y=int(x);

15. 设x,y,z,t均为int型变量,则执行以下语句后,t的值为( )。 x=y=z=1;

t=++x||++y&&++z;

A. 不定值 B. 2 C. 1 D. 0

16. 若以下选项中的变量已正确定义,则正确的赋值语句是( )。 A. x1=26.8%3 B. 1+2=x2 C. x3=0x12; D. x4=1+2=3; 17. 设有以下定义

int a=0;

double b=1.25; char c='A'; #define d 2

则下面语句中错误的是( )。 A. a++; B. b++; C. c++; 18. 有以下程序

main() {

int x=102,y=012;

printf(\ }

执行后输出的结果是( )。

D. d++;

A. 10,01 B. 02,12 C. 102,10 D. 02,10 19. 有以下程序 main()

{ int m=3, n=4,x; x=-m++; x=x+8/++n;

printf(\ }

程序运行后的输出结果是( )。

A. 3 B. 5 C. -1 D. -2 20. 有以下程序 main()

{ char a='a', b;

printf(\ printf(\ }

程序运行后的输出结果是( )。

A. b,b B. b,c C. a,b D. a,c 21. 有以下程序 main()

{ int m=0256, n=256;

printf(\ }

程序运行后的输出结果是( )。

A.0256 0400 B. 0256 256 C. 256 400 D. 400 400 22. 有以下程序 main()

{ char a,b,c,d;

scanf(\

printf(\}

若运行时从键盘上输入:6,5,65,66。则输出结果是( )。 A. 6,5,A,B B. 6,5,65,66 C. 6,5,6,5 D. 6,5,6,6 23. 数字字符0的ASCII值为48,若有以下程序

main()

{ char a='1',b='2'; printf(\

printf(\}

程序运行后的输出结果是( )。

A. 3,2 B. 50,2 C. 2,2 D. 2,50 24. 有以下程序

main()

{ int m=12,n=34;

printf(\ printf(\

}

程序运行后的输出结果是( )。

A. 12353514 B. 12353513 C. 12343514 D. 12343513 25. 有以下程序

main()

{ int m,n,p;

scanf(\ ??

}

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是( )。

A. m=123n=456p=789 B. m=123 n=456 p=789 C. m=123,n=456,p=789 D. 123 456 789 26. 有以下程序

main()

{ int a,b,d=25; a=d/10%9; b=a-1;

printf(\

}

程序运行后的输出结果是( )。 A. 6,1 B. 2,1 C. 6,0 D. 2,0 27. 以下叙述中错误的是( )。 A. C语句必须以分号结束

B. 复合语句在语法上被看作一条语句 C. 空语句出现在任何位置都不会影响程序运行

D. 赋值表达式末尾加分号就构成赋值语句 28. 以下叙述中正确的是( )。 A. 调用printf函数时,必须要有输出项 B. 使用putchar函数时,必须在之前包含头文件stdio.h C. 在C语言中,整数可以以十二进制、八进制或十六进制的形式输出 D. 调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码 29. 有以下程序

 #include “stdio.h”  main()

 { char c1=?1?,c2=?2?;  c1=getchar(); c2=getchar(); putchar(c1); putchar(c2);  }

 当运行时输入:a<回车> 后,以下叙述正确的是( )。  A. 变量c1被赋予字符a,c2被赋予回车符 B. 程序将等待用户输入第2个字符

C. 变量c1被赋予字符a,c2中仍是原有字符2

D. 变量c1被赋予字符a,c2中将无确定值

3.2 填空题 1.若有定义:

int a=10,b=9,c=8;

接着顺序执行下列语句后: c=(a?=(b?5)); c=(a%11)+(b=3);

则变量b中的值是__________。 2.以下程序的输出结果是__________。

main( )

{ int a=177;

printf(\%#o\\n\}

3.以下程序的输出结果是__________。

main( ) { int a=0; a+=(a=8);

printf(\%#x\\n\}

4.以下程序的输出结果是__________,程序的功能是__________。

main( )

{ int a=1, b=2;

a=a+b; b=a?b; a=a?b;

printf(\%?3d,%?3d\\n\}

5.下列程序的输出结果是16.00,请在程序中填空。

main( )

{ int a=9, b=2;

float x=________ , y=1.1,z; z=a/2+b*x/y+1/2; printf(\%5.2f\\n\} 6.若有语句:

int i=?19,j=i%4; printf(\%.3d\\n\

则输出结果是__________。

7.若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是__________。

int b,c; float a;

scanf(\%f,%d,c=%d\8.若有程序:

main( ) { int i,j;

scanf(\%d,j=%d\ printf(\%d,j=%d\\n\}

要求给i赋10,给j赋20,则应该从键盘输入__________。 9.以下程序的输出结果是__________。

#include \main( ) { int x=65;

float pi=3.1416,a=123.456; double b=8765.4321; printf(\%d\\n\

printf(\%6d,%c\\n\ printf(\%f,%f\\n\ printf(\%14f\\n\ printf(\%14.3lf\\n\ printf(\%e\\n\ printf(\%14e\\n\ printf(\%g\\n\ printf(\%8.4g\\n\