C语言题库及答案(选择题) 联系客服

发布时间 : 星期日 文章C语言题库及答案(选择题)更新完毕开始阅读3550cd2faaea998fcc220e9c

A.i=2,j=1,k=3 B.i=1,j=1,k=2 C.i=4,j=2,k=4 D.i=1,j=1,k=3 52.a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是()。

A.a*b/a*b==1 B.a/b*b/a==1 C.a/b*b+a%b==a D.a/b*b==a 53.为了提高程序的运行速度,在函数中对于整型或指针可以使用()型的变量。 A.auto B.register C.static D.extern 54.以下程序的输出结果为()。 main()

{int i=010,j=10;

printf(\}

A.11,10 B.9,10 C.010,9 D.10,9 55.C 语言中以下几种运算符的优先次序()的排列是正确的。 A.由高到低为:!,&&,||,算术运算符,赋值运算符

B.由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符 C.由高到低为:算术运算符,关系运算符,赋值运算符,!,&&,|| D.由高到低为:算术运算符,关系运算符,!,&&,||,赋值运算符

56.设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是()。 A.552 B.144 C.264 D.-264

57.在TC运行环境中经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为()。 char x=65; float y=7.3; int a=100; double b=4.5;

A.2,2,2,4 B.1,2,2,4 C.1,4,2,8 D.2,4,2,8 58.用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是()。 long a=0xffffff; int b; char c;

A.0ffffff 和0x61 B.-1和98 C.-1和97 D.指向同一地址 59.执行下列语句后,a和b的值分别为()。 int a,b; a=1+'a';

b=2+7%-4-'A';

A.-63,-64 B.98,-60 C.1,-60 D.79,78 60.C语言中要求对变量作强制定义的主要理由是()。

A.便于移植 B.便于写文件

C.便于编辑预处理程序的处理 D.便于确定类型和分配空间 61.以下程序的输出结果是()。 main()

{float x=3.6; int i; i=(int)x;

printf(\}

- 5 -

A.x=3.600000,i=4 B.x=3,i=3 C.x=3.600000,i=3 D.x=3 i=3.600000 62.经过以下语句定义后,表达式z+=x>y?++x:++y的值为()。 int x=1,y=2,z=3;

A.2 B.3 C.6 D.5 63.以下程序的运行结果是()。 main() {

int i=1,sum=0;

while(i<10) sum=sum+1;i++; printf(\}

A.i=10,sum=9 B.i=9,sum=9 C.i=2,sum=1 D.运行出现错误 64.以下程序的运行结果是()。 main() { int n;

for(n=1;n<=10;n++) {

if(n%3==0) continue; printf(\ } }

A.12457810 B.369 C.12 D.1234567890

65.在C语言中,if语句后的一对原括号中,用以决定分支的流程的表达式()。 A.只能用逻辑表达式 B.只能用关系表达式

C.只能用逻辑表达式或关系表达式 D.可用任意表达式

66.在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的表达式是()。 A.(!E==0) B.(E>0||E<0) C.(E==0) D.(E!=0) 67.假定所有变量均已正确定义,下列程序段运行后x的值是()。 k1=1; k2=2; k3=3; x=15;

if(!k1) x--;

else if(k2) x=4; else x=3;

A.14 B.4 C.15 D.3 68.执行下列语句后的输出为()。 int j=-1;

if(j<=1) printf(\ else printf(\

A.**** B.%%%% C.%%%%c D.有错,执行不正确 69.下列程序的输出结果是()。

- 6 -

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++;break; }

printf(\}

A.a=1,b=0 B.a=2,b=1 C.a=1,b=1 D.a=2,b=2

70.在C语言中,为了结束由while语句构成的循环,while后一对圆括号中表达式的值应该为()。

A.0 B.1 C.TRUE D.非0 71.下列程序的输出为()。 main()

{ int y=10; while(y--);

printf(\ }

A.y=0 B.while构成无限循环 C.y=1 D.y=-1 72.C语言的if语句嵌套时,if与else的配对关系是()。 A.每个else总是与它上面的最近的if配对 B.每个else总是与最外层的if配对 C.每个else与if的配对是任意的 D.每个else总是与它上面的if配对

73.设j和k都是int类型,则for循环语句 for(j=0,k=-1;k=1;j++,k++) printf(\()。 A.循环结束的条件不合法 B.是无限循环

C.循环体一次也不执行 D.循环体只执行一次

74.下列数组说明中,正确的是()。

A.int array[][4]; B.int array[][]; C.int array[][][5]; D.int array[3][]; 75.下列数组说明中,正确的是()。 A.static char str[]=\B.static char str[]; str=\

C.static char str1[5],str2[]={\

D.static char str1[],str2[];str2={\76.下列定义数组的语句中正确的是()。

- 7 -

A.#define size 10 char str1[size],str2[size+2]; B.char str[]; C.int num['10'];

D.int n=5; int a[n][n+2];

77.下列定义数组的语句中不正确的是()。 A.static int a[2][3]={1,2,3,4,5,6}; B.static int a[2][3]={{1},{4,5}}; C.static int a[][3]={{1},{4}};

D.static int a[][]={{1,2,3},{4,5,6}}; 78.下列语句中,不正确的是()。 A.static char a[2]={1,2}; B.static int a[2]={'1','2'}; C.static char a[2]={'1','2','3'}; D.static char a[2]={'1'};

79.若输入ab,程序运行结果为()。 main()

{ static char a[3]; scanf(\

printf(\ }

A.a,b B.a, C.b, D.程序出错 80.下列说法不正确的是()。

A.主函数main中定义的变量在整个文件或程序中有效 B.不同函数中,可以使用相同名字的变量 C.形式参数是局部变量

D.在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效 81.关于return语句,下列正确的说法是()。 A.不能在主函数中出现且在其他函数中均可出现 B.必须在每个函数中出现

C.可以在同一个函数中出现多次

D.只能在除主函数之外的函数中出现一次

82.在C语言的函数中,下列正确的说法是()。 A.必须有形参

B.形参必须是变量名 C.可以有也可以没有形参 D.数组名不能作形参 83.在C语言程序中()。

A.函数的定义可以嵌套,但函数的调用不可以嵌套 B.函数的定义不可以嵌套,但函数的调用可以嵌套 C.函数的定义和函数调用均可以嵌套 D.函数的定义和函数调用不可以嵌套 84.C语言执行程序的开始执行点是()。 A.程序中第一条可以执行语言 B.程序中第一个函数

- 8 -