c语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。下面小编在这里为大家精心整理了大学c语言期末考试试题及答案最新,希望对同学们有所帮助,仅供参考。

大学c语言期末考试试题及答案最新

1.

下列定义变量的语句中错误的是______。

A、int _int B、double int_

C、char For D、float US$

答案:D

知识点:常量、变量和标识符

2.

以下不合法的用户标识符是______。

A、j2_KEY B、Double

C、4d D、_8_

答案:C

知识点:常量、变量和标识符

3.

以下4组用户定义标识符中,全部合法的一组是______。

A、_main enclude sin

B、If -max turbo

C、txt REAL 3COM

D、int k_2 _001 ???

答案:A

知识点:常量、变量和标识符

4.

以下定义语句中正确的是______。

A、char a='A&39;b='B';

内容导航

if(x++ > 5)C、 2 4 0 D、 2 4 2A、a:=b+1 B、a=b=c+3A、10 10 B、99 C、9 10 D、10 4C、有语法错误,无输出结果 D、-5A、1 5 9 B、1 47 C、3 5 7 D、3 6 6D、输出值为7C、102,10 D、02,8C、(char)(65+3) D、x+1=x+9A、7和5 B、6和3 C、7和4 D、6和10A、1 B、2 C、2.000000 D、2.11C、2.000000 D、3.12A、1,5,9 B、1,4,7 C、3,5,7 D、3.6.13A、8,17 B、8,16 C、8,20 D、8,14A、6 B、7 C、5 D、15if(x++ > 5)C、fioat f=f+1.1; D、double x=12.3E2.17D、18A、2 B、4 C、6 D、19A、3 B、4 C、11 D、20A、函数调用出错 B、8 C、9 D、21A、1,2,3 B、3,1,2 C、1,3,2 D、2,3,22A、200 B、100 C、100 23A、7 B、6 C、5 D、2425A、10 10 B、99 C、9 10 D、10 26C、变量c1被赋予字符a, c2中仍是原有字符27A、1,5,9 B、1,4,7 C、3,5,7 D、3.6.28A、45 B、50 C、60 D、29A、65 B、20 C、15 D、30A、错误信息 B、666 C、888 D、666,31A、a=%2,b=%5 B、a=2,b=32A、720 B、120 C、24 D、33C、256 400 D、400 34A、7和5 B、6和3 C、7和4 D、6和35A、不确定的值 B、2 C、1 D、36C、8,8,10 D、8,10,37C、256 400 D、400 38A、7 B、6 C、5 D、39A、3 B、4 C、11 D、40A、1,2,3 B、3,1,2 C、1,3,2 D、2,3,41D、4,3,42A、12 B、13 C、14 D、43B、definen 44A、11,10 B、9,10 C、010,9 D、10,45A、3 B、3.2 C、0 D、3.46C、a=-32768 D、a=-47A、753 B、357 C、369 D、48A、2,3,3 B、2,3,2 C、2,3,1 D、2,2,49k=-50D、2 65 1.5 6.51A、11,10 B、9,10 C、010,9 D、10,52C、1.234e+4 D、1.234e53B、x=(x*100+0.5)/100.54B、definen 55C、fioat f=f+1.1; D、double x=12.3E2.56D、x=(x/100+0.5)*100.57A、不定值 B、33 C、30 D、58A、4 5 6 B、2 58 C、3 6 9 D、7 8 59A、函数调用出错 B、8 C、9 D、60A、5.21 B、5 C、5.0 D、0.61A、5,5 B、5,11 C、11,11 D、11,62A、1.4 B、1 C、2.0 D、63D、x=(x/100+0.5)*100.64C、.5E-3 D、E65A、4 5 6 B、2 58 C、3 6 9 D、7 8 66C、a=-32768 D、a=-67A、9 B、11 C、19 D、68C、变量c1被赋予字符a, c2中仍是原有字符69A、3 B、4 C、6 D、70A、1 B、2 C、2.000000 D、2.71B、72defined 73A、2,3,3 B、2,3,2 C、2,3,1 D、2,2,74B、75A、y=0 B、y=-1 C、y=76D、77A、1 B、6.0 C、2.0 D、1.78B、x=(x*100+0.5)/100.79A、defineN 80C、17,0x11,021 D、17,21,81A、3 B、2 C、1 D、82C、 2 4 0 D、 2 4 83A、4.3 B、4.8 C、3.3 D、3.84A、1 B、0 C、4 D、85C、102,10 D、02,86A、12 B、13 C、14 D、87D、输出值为88A、不定值 B、33 C、30 D、89A、0 B、0.5 C、1 D、90A、6 B、7 C、5 D、91C、1.234e+4 D、1.234e92A、1 B、0 C、4 D、93A、18 B、19 C、20 D、94A、720 B、120 C、24 D、95A、2 B、4 C、6 D、96A、a=%2,b=%5 B、a=2,b=97A、a=%2,b=%5 B、a=2,b=98A、258 B、741 C、852 D、99A、a:=b+1 B、a=b=c+100D、4,3,101A、1 5 9 B、1 47 C、3 5 7 D、3 6 102C、17,0x11,021 D、17,21,103A、1.4 B、1 C、2.0 D、104A、3 B、3.2 C、0 D、3.105A、defineN 106A、552 B、264 C、144 D、-107A、753 B、357 C、369 D、108A、3 B、4 C、6 D、109k=-110A、不确定的值 B、2 C、1 D、111B、float a=b=10.0;(正解a=10.0 b=10.0)A、8,17 B、8,16 C、8,20 D、8,113A、45 B、50 C、60 D、114B、float a=b=10.0;(正解a=10.0 b=10.0)A、15 B、14 C、不确定 D、116A、5.21 B、5 C、5.0 D、0.117A、6,1 B、2,1 C、6,0 D、2,118A、0L B、119A、258 B、741 C、852 D、120A、3 B、2 C、1 D、121A、1 B、6.0 C、2.0 D、1.122A、错误信息 B、666 C、888 D、666,123C、12345ABC6 D、ABC124A、65 B、20 C、15 D、125A、9 B、11 C、19 D、126A、5,5 B、5,11 C、11,11 D、11,127C、12345ABC6 D、ABC128A、18 B、19 C、20 D、129A、6,1 B、2,1 C、6,0 D、2,130131C、2.000000 D、3.132C、8,8,10 D、8,10,133C、有语法错误,无输出结果 D、-134D、2 65 1.5 6.135A、4.3 B、4.8 C、3.3 D、3.136A、200 B、100 C、100 137A、y=0 B、y=-1 C、y=138A、0L B、139A、552 B、264 C、144 D、-140A、a=%2,b=%5 B、a=2,b=141defined 142A、0 B、0.5 C、1 D、143C、(char)(65+3) D、x+1=x+144C、.5E-3 D、E145A、15 B、14 C、不确定 D、146

if(x++ > 5)

printf("%d",x);

else

printf("%d",x--);

}

C、 2 4 0 D、 2 4 2

答案:B

知识点:二维数组的定义和二维数组元素的引用

114.

以下程序的输出结果是______。

main()

{

charw[][10]={"ABCD","EFGH","IJLK","MNOP"},k;

for(k=1;k<3;k++)printf("%s",w[k]);

D、EFGH

IJLK

C、EFG

JK

O

B、ABCD

EFG

IJ

M

}

A、ABCD

FGH

KL

答案:D

知识点:二维数组的定义和二维数组元素的引用

130.

当调用函数时,实参是一个数组名,则向函数传送的是______。

A、数组的长度

B、数组的首地址

C、数组每一个元素的地址

D、数组每个元素中的值

答案:B

知识点:函数之间对一维数组和数组元素的引用

132.

有以下程序

void sum(int a[])

{ a[0]=a[-1]+a[1]; }

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,10};

sum (&a[2]);

printf("%d",a[2]);

}

程序运行后输出结果是______。

A、a:=b+1 B、a=b=c+3

C、int 18.5%3 D、a=a+7=c+b

答案:B

知识点:赋值表达式

20.

设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是______。

A、10 10 B、99 C、9 10 D、10 4

答案:D

知识点:自加、自减运算符和逗号运算符

57.

若x和y都是int型变量,x=100、y=200,且有下面的程序片段

printf("%d",(x,y));

上面程序片段的输出结果是______。

C、有语法错误,无输出结果 D、-5

答案:B

知识点:整型数据

41.

若有以下定义和语句:

int u=010,v=0x10,w=10;

printf("%d,%d,%d",u,v,w);

则输出结果是: ______。

A、1 5 9 B、1 47 C、3 5 7 D、3 6 6

答案:C

知识点:二维数组的定义和二维数组元素的引用

113.

有以下程序

main()

{

int x[3][2]={0},i;

for(i=0;i<3;i++)scanf("%d",x[i]);

printf("%3d%3d%3d",x[0][0],x[0][1],x[1][0]);

}

若运行时输入:2 4 6<回车>,则输出结果为______。

D、输出值为7

答案:D

知识点:自加、自减运算符和逗号运算符

54.

有以下程序

main()

{

int x,y,z;

x=y=1;

z=x++,y++,++y;

printf("%d,%d,%d",x,y,z);

}

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

C、102,10 D、02,8

答案:C

知识点:数据输出

179.

有以下程序

main()

{ int a=666,b=888;

printf("%d",a,b);

}

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

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

答案:D

知识点:赋值表达式

13.

以下程序的输出结果是______。

include<stdio.h>

main()

{

int a,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

printf("%d,%d",a,b);???

}

A、7和5 B、6和3 C、7和4 D、6和10

答案:A

知识点:自加、自减运算符和逗号运算符

60.

若t为double类型,表达式t=1,t+5,t++的值是______。

A、1 B、2 C、2.000000 D、2.11

答案:C

知识点:算术表达式

37.

若有以下程序段

int c1=1,c2=2,c3;

c3=1.0/c2*c1;

则执行后,c3中的值是______。

C、2.000000 D、3.12

答案:D

知识点:算术表达式

36.

若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是______。

A、1,5,9 B、1,4,7 C、3,5,7 D、3.6.13

答案:C

知识点:二维数组的定义和二维数组元素的引用

105.

有以下程序

main()

{

int i,t[][3]={9,8,7,6,5,4,3,2,1};

for(i=0;i<3;i++)

printf("%d",t[2-i][i]);

}

判序执行后的输出结果是______。

A、8,17 B、8,16 C、8,20 D、8,14

答案:A

知识点:局部变量及其作用域和生存期

69.

设有以下函数:

f(int a)

{

int b=0;

static int c=3;

b++;

c++;

return (a+b+c);

}

如果在下面的程序中调用该函数,则输出结果是______。

main()

{

int a=2,i;

for(i=0;i<3;i++)printf("%d",f(a));

A、6 B、7 C、5 D、15

答案:A

知识点:函数之间对一维数组和数组元素的引用

138.

有以下程序

main()

{ char s[]="abcde";

s+=2;

printf("%d",s[0]);

}

执行后的结果是______。

A、输出字符a的ASCII码

B、输出字符c的ASCII码

C、输出字符c

D、程序出错

答案:D

知识点:函数之间对一维数组和数组元素的引用

139.

请读程序:

include<stdio.h>

f(int b[],int n)

{ int i,r;

r=1;

for(i=0;i<=n;i++) r=r*b[i];

return r;

}

main()

{ int x,a[]={2,3,4,5,6,7,8,9};

x=f(a,3);

printf("%d",x);

}

上面程序的输出结果是______。

if(x++ > 5)

printf("%d",x);

else

printf("%d",x--);

}

C、fioat f=f+1.1; D、double x=12.3E2.17

答案:B

知识点:赋值语句

171.

以下合法的赋值语句是______。

A、x=y=100 B、d--;

C、x+y; D、c=int(a+b);

答案:B

知识点:赋值语句

172.

下列语句中符合C语言语法的赋值语句是______。

A、a=7+b+c=a+7; B、a=7+b++=a+7;

C、a=7+b,b++,a+7 D、a=7+b,c=a+7;

答案:D

知识点:赋值语句

173.

请选出合法的C语言赋值语句______。

A、a=b=58 B、i++;

C、a=58,b=58 D、k=int(a+b);

答案:B

知识点:赋值语句

174.

下面程序的输出是______。

main()

{ int x=10,y=3;

printf("%d",y=x/y);

}

A、0 B、1 C、3 D、不确定的值

答案:C

知识点:数据输出

175.

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

main()

{

char ch1,ch2;

ch1='A'+'5'-'3';

ch2='A'+'6'-'3';

printf("%d,%c",ch1,ch2);

}

A、67,D B、B,C C、C,D D、不确定的值

答案:A

知识点:数据输出

176.

下列程序的运行结果是______。

include<stdio.h>

main()

{ int a=2,c=5;

printf("a=%d,b=%d ",a,c);

}

D、18

答案:B

知识点:全局变量及其作用域和生存期

72.

有如下程序

int func(int a,int b)

{ return(a+b); }

main()

{

int x=2,y=5,z=8,r;

r=func(func(x,y),z);

printf("%d",r);

}

该程序的输出结果是______。

A、2 B、4 C、6 D、19

答案:B

知识点:函数的调用

83.

设函数fun的定义形式为

void fun(char ch,float x) {……}

则以下对函数fun的调用语句中,正确的是______。

A、fun("abc",3.0); B、t=fun('D',16.5);

C、fun ('65',2.8); D、fun(32,32);

答案:D

知识点:函数的调用

84.

有以下程序

char fun(char x,char y)

{

if(x<y) return x;

return y;

}

main()

{

int a='9',b='8',c='7';

printf("%c",fun(fun(a,b),fun(b,c)));

}

程序的执行结果是______。

A、3 B、4 C、11 D、20

答案:A

知识点:算术表达式

39.

下列程序的输出结果是______。

main()

{

double d=3.2; int x,y;

x=1.2;y=(x+3.8)/5.0;

printf("%d ",d*y);

}

A、函数调用出错 B、8 C、9 D、21

答案:D

知识点:函数的调用

85.

若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是______。

A、函数调用可以作为独立的语句存在

B、函数调用可以作为一个函数的实参

C、函数调用可以出现在表达式中

D、函数调用可以作为一个函数的形参

答案:D

知识点:函数的调用

86.

有如下函数调用语句

func(rec1,rec2+rec3,(rec4,rec5));

该函数调用语句中,含有的实参个数是______。

A、3 B、4 C、5 D、有语法错

答案:A

知识点:函数的调用

92.

以下函数值的类型是______。

fun(float x)

{

float y;

y=3*x-4;

return y;

}

A、int B、不确定 C、void D、float

答案:A

知识点:函数的定义和返回值

93.

在C语言中,形参的缺省存储类是______。

A、auto B、register C、static D、extern

答案:A

知识点:函数的定义和返回值

94.

有以下程序

int f(int a)

{ return a%2; }

main()

{

int s[8]={1,3,5,2,4,6},i,d=0;

for(i=0;f(s[i]);i++) d+=s[i];

printf("%d",d);

}

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

A、1,2,3 B、3,1,2 C、1,3,2 D、2,3,22

答案:C

知识点:调用函数和被调用函数之间的数据传递

74.

有以下程序

void f(int x,int y)

{

int t;

if(x<y) {t=x; x=y; y=t;}

}

main()

{

int a=4,b=3,c=5;

f(a,b); f(a,c); f(b,c);

printf("%d,%d,%d",a,b,c);

}

执行后输出结果是______。

A、200 B、100 C、100 23

D、输则格式符不够, 输出不确定的值

答案:A

知识点:自加、自减运算符和逗号运算符

58.

设有如下定义:

int x=10,y=3,z;

则语句

printf("%d",z=(x%y,x/y));

的输出结果是______。

A、7 B、6 C、5 D、24

答案:B

知识点:自加、自减运算符和逗号运算符

50.

有以下程序

main ()

{

char a1='M&39;,a2='m';

printf("%c", (a1,a2));

}

以下叙述中正确的是______。

A、程序输出大写字母M

B、程序输出小写字母m

C、格式说明符不足,编译出错

D、程序运行时产生出错信息

答案:B

知识点:自加、自减运算符和逗号运算符

51.

以下程序的输出结果是 ______。

main()

{

int a;

printf("%d",(a=3*5,a*4,a+5));

}

25

答案:A

知识点:局部变量及其作用域和生存期

70.

有以下程序

fun(int x, int y)

{

static int m=0,i=2;

i+=m+1;

m=i+x+y;

return m;

}

main()

{

int j=1,m=1,k;

k=fun(j,m); printf("%d,",k);

k=fun(j,m);printf("%d",k);

}

执行后的输出结果是______。

A、10 10 B、99 C、9 10 D、10 26

答案:D

知识点:自加、自减运算符和逗号运算符

57.

若x和y都是int型变量,x=100、y=200,且有下面的程序片段

printf("%d",(x,y));

上面程序片段的输出结果是______。

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

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

答案:A

知识点:数据输入

1.

下列定义变量的语句中错误的是______。

A、int _int B、double int_

C、char For D、float US$

答案:D

知识点:常量、变量和标识符

2.

以下不合法的用户标识符是______。

A、j2_KEY B、Double

C、4d D、_8_

答案:C

知识点:常量、变量和标识符

3.

以下4组用户定义标识符中,全部合法的一组是______。

A、_main enclude sin

B、If -max turbo

C、txt REAL 3COM

D、int k_2 _001 ???

答案:A

知识点:常量、变量和标识符

4.

以下定义语句中正确的是______。

A、char a='A&39;b='B';

A、1,5,9 B、1,4,7 C、3,5,7 D、3.6.28

答案:C

知识点:二维数组的定义和二维数组元素的引用

105.

有以下程序

main()

{

int i,t[][3]={9,8,7,6,5,4,3,2,1};

for(i=0;i<3;i++)

printf("%d",t[2-i][i]);

}

判序执行后的输出结果是______。

A、45 B、50 C、60 D、29

答案:C

知识点:局部变量及其作用域和生存期

67.

以下程序执行后sum的值是______。

main()

{

int i,sum;

for(i=1;i<6;i++) sum+=i;

printf("%d",sum);

}

A、65 B、20 C、15 D、30

答案:B

知识点:自加、自减运算符和逗号运算符

53.

设有如下程序段

int x=2002,y=2003;

printf("%d",(x,y));

则以下叙述中正确的是______。

A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出

B、运行时产生错误信息

A、错误信息 B、666 C、888 D、666,31

答案:B

知识点:数据输出

180.

有以下程序

include<stdio.h>

main()

{ char c1='1',c2='2';

c1=getchar();

c2=getchar();

putchar(c1);

putchar(c2);

}

当运行时输入:a <回车> 后,以下叙述正确的是______。

A、变量C1 被赋予字符a,c2被赋予回车符

B、程序将等待用户输入第2个字符

A、a=%2,b=%5 B、a=2,b=32

C、a=%%d,b=%%d D、a=%d,b=%d

答案:D

知识点:数据输出

178.

有以下程序

main( )

{ int x=102,y=012;

printf("%2d,%2d",x,y);

}

执行后输出结果是______。

A、720 B、120 C、24 D、33

答案:B

知识点:一维数组的定义和一维数组元素的引用

140.

若要求定义具有10个int形元素的一维数组a,则以下的定义语句中错误的是______。

C、256 400 D、400 34

答案:C

知识点:整型数据

49.

若执下面程序时从键盘上输入5,

main()

{

int x;

scanf("%d",&x);

if(x++>5)printf("%d",x);

else printf("%d",x--);

}

则输出是______。

A、7和5 B、6和3 C、7和4 D、6和35

答案:A

知识点:自加、自减运算符和逗号运算符

60.

若t为double类型,表达式t=1,t+5,t++的值是______。

A、不确定的值 B、2 C、1 D、36

答案:D

知识点:一维数组的定义和一维数组元素的引用

146.

以下程序的输出结果是______。

main()

{ int i,a[10];

for(i=9;i>=0;i--) a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

}

C、8,8,10 D、8,10,37

答案:A

知识点:整型数据

42.

在C语言中,不正确的int类型的常数是______。

A、32768 B、0 C、037 D、0xAF

答案:A

知识点:整型数据

43.

以下程序的输出结果是______。

main( )

{

int k=17;

printf("%d,%o,%x ",k,k,k);

}

C、256 400 D、400 38

答案:C

知识点:整型数据

49.

若执下面程序时从键盘上输入5,

main()

{

int x;

scanf("%d",&x);

if(x++>5)printf("%d",x);

else printf("%d",x--);

}

则输出是______。

A、7 B、6 C、5 D、39

答案:B

知识点:自加、自减运算符和逗号运算符

50.

有以下程序

main ()

{

char a1='M&39;,a2='m';

printf("%c", (a1,a2));

}

以下叙述中正确的是______。

A、程序输出大写字母M

B、程序输出小写字母m

C、格式说明符不足,编译出错

D、程序运行时产生出错信息

答案:B

知识点:自加、自减运算符和逗号运算符

51.

以下程序的输出结果是 ______。

main()

{

int a;

printf("%d",(a=3*5,a*4,a+5));

}

A、3 B、4 C、11 D、40

答案:A

知识点:算术表达式

39.

下列程序的输出结果是______。

main()

{

double d=3.2; int x,y;

x=1.2;y=(x+3.8)/5.0;

printf("%d ",d*y);

}

A、1,2,3 B、3,1,2 C、1,3,2 D、2,3,41

答案:C

知识点:调用函数和被调用函数之间的数据传递

74.

有以下程序

void f(int x,int y)

{

int t;

if(x<y) {t=x; x=y; y=t;}

}

main()

{

int a=4,b=3,c=5;

f(a,b); f(a,c); f(b,c);

printf("%d,%d,%d",a,b,c);

}

执行后输出结果是______。

D、4,3,42

答案:D

知识点:调用函数和被调用函数之间的数据传递

75.有以下程序

int fun1(double a) { return a*=a; }

int fun2(double x,double y)

{

double a=0,b=0;

a=fun1(x);

b=fun1(y);

return (int)(a+b);

}

main()

{

double w;

w=fun2(1.1,2.0);

}

程序执行后变量w中的值是______。

A、12 B、13 C、14 D、43

答案:D

知识点:调用函数和被调用函数之间的数据传递

73.

有以下程序

void f(int v,int w)

{

int t;

t=v;v=w;w=t;

}

main()

{

int x=1,y=3,z=2;

if(x>y) f(x,y);

else if(y>z) f(y,z);

else f(x,z);

printf("%d,%d,%d",x,y,z);

}

执行后输出结果是______。

B、definen 44

int a[2*n];

C、int a[5+5];

D、int n=10,a[n];

答案:D

知识点:一维数组的定义和一维数组元素的引用

141.合法的数组定义是______。

A、int a[]="string";

B、int a[5]={0,1,2,3,4,5};

C、char s="string";

D、char a[]={0,1,2,3,4,5};

答案:D

知识点:一维数组的定义和一维数组元素的引用

144.

以下能正确定义一维数组的选项是______。

A、int a[5]={0,1,2,3,4,5};

B、char a[]={0,1,2,3,4,5};

C、char a={'A','B','C'};

D、int a[5]="0123";

答案:B

知识点:一维数组的定义和一维数组元素的引用

145.

有如下程序

main()

{ int n[5]={0,0,0},i,k=2;

for(i=0;i<k;i++)

n[i]=n[i]+1;

printf("%d",n[k]);

}

该程序的输出结果是______。

A、11,10 B、9,10 C、010,9 D、10,45

答案:A

知识点:自加、自减运算符和逗号运算符

62.

有以下程序

main()

{

int y=10;

while(y--);

printf("y=%d",y);

}

程序执行后的输出结果是______。

A、3 B、3.2 C、0 D、3.46

答案:C

知识点:算术表达式

40.

请读程序片段:

int i=65536;

printf("%d",i);

上面程序片段的输出结果是______。

C、a=-32768 D、a=-47

答案:C

知识点:整型数据

45.

在C语言中,合法的长整型常数是______。

A、753 B、357 C、369 D、48

答案:B

知识点:二维数组的定义和二维数组元素的引用

106.

以下数组定义中错误的是______。

A、int x[][3]={0};

B、int x[2][3]={{1,2},{3,4},{5,6}};

C、int x[][3]={{1,2,3},{4,5,6}};

D、int x[2][3]={1,2,3,4,5,6};

答案:B

知识点:二维数组的定义和二维数组元素的引用

107.

以下数组定义中不正确的是______。

A、int a[2][3];

B、int b[][3]={0,1,2,3};

C、int c[100][100]={0};

D、int d[3][]={{1,2},{1,2,3},{1,2,3,4}};

答案:D

知识点:二维数组的定义和二维数组元素的引用

108.

有以下程序

main()

{

int m[][3]={1,4,7,2,5,8,3,6,9};

int i,j,k=2;

for(i=0;i<3;i++)

{ printf("%d ",m[k][i]); }

}

执行后输出结果是______。

A、2,3,3 B、2,3,2 C、2,3,1 D、2,2,49

答案:C

知识点:自加、自减运算符和逗号运算符

55.

设有以下定义

int a=0;

double b=1.25;

char c='A';

k=-50

if(k<=0) printf("####")

elseprintf("&&&&");

上面程序片段的输出结果是______。

A、#### B、&&&& C、####&&&&

D、有语法错误,无输出结果

答案:D

知识点:简单C语言程序的构成和格式

25.

以下4个选项中,不能看作一条语句的是______。

A、{;} B、a=0,b=0,c=0;

C、if(a>0); D、if(b==0) m=1;n=2;???

答案:D

知识点:简单C语言程序的构成和格式

26.

有以下程序

main()

{

int a=0,b=0;

a=10; /* 给a赋值 */

b=20; /* 给b赋值 */

printf("a+b=%d",a+b);

}

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

A、a+b=10 B、a+b=30 C、30 D、出错

答案:B

知识点:简单C语言程序的构成和格式

27.

以下选项中,不能作为合法常量的是______。

D、2 65 1.5 6.51

答案:B

知识点:赋值表达式

17.

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

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

答案:B

知识点:赋值表达式

18.

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

A、11,10 B、9,10 C、010,9 D、10,52

答案:A

知识点:自加、自减运算符和逗号运算符

62.

有以下程序

main()

{

int y=10;

while(y--);

printf("y=%d",y);

}

程序执行后的输出结果是______。

C、1.234e+4 D、1.234e53

答案:B

知识点:实型数据

28.

以下符合C语言语法的实型常量是______。

A、1.2E0.5 B、3.14159E

B、x=(x*100+0.5)/100.54

C、x=(int)(x*100+0.5)/100.0???

B、definen 55

int a[2*n];

C、int a[5+5];

D、int n=10,a[n];

答案:D

知识点:一维数组的定义和一维数组元素的引用

141.合法的数组定义是______。

A、int a[]="string";

B、int a[5]={0,1,2,3,4,5};

C、char s="string";

D、char a[]={0,1,2,3,4,5};

答案:D

知识点:一维数组的定义和一维数组元素的引用

144.

以下能正确定义一维数组的选项是______。

A、int a[5]={0,1,2,3,4,5};

B、char a[]={0,1,2,3,4,5};

C、char a={'A','B','C'};

D、int a[5]="0123";

答案:B

知识点:一维数组的定义和一维数组元素的引用

145.

有如下程序

main()

{ int n[5]={0,0,0},i,k=2;

for(i=0;i<k;i++)

n[i]=n[i]+1;

printf("%d",n[k]);

}

该程序的输出结果是______。

C、fioat f=f+1.1; D、double x=12.3E2.56

答案:B

知识点:赋值语句

171.

以下合法的赋值语句是______。

A、x=y=100 B、d--;

C、x+y; D、c=int(a+b);

答案:B

知识点:赋值语句

172.

下列语句中符合C语言语法的赋值语句是______。

A、a=7+b+c=a+7; B、a=7+b++=a+7;

C、a=7+b,b++,a+7 D、a=7+b,c=a+7;

答案:D

知识点:赋值语句

173.

请选出合法的C语言赋值语句______。

A、a=b=58 B、i++;

C、a=58,b=58 D、k=int(a+b);

答案:B

知识点:赋值语句

174.

下面程序的输出是______。

main()

{ int x=10,y=3;

printf("%d",y=x/y);

}

A、0 B、1 C、3 D、不确定的值

答案:C

知识点:数据输出

175.

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

main()

{

char ch1,ch2;

ch1='A'+'5'-'3';

ch2='A'+'6'-'3';

printf("%d,%c",ch1,ch2);

}

A、67,D B、B,C C、C,D D、不确定的值

答案:A

知识点:数据输出

176.

下列程序的运行结果是______。

include<stdio.h>

main()

{ int a=2,c=5;

printf("a=%d,b=%d ",a,c);

}

D、x=(x/100+0.5)*100.57

答案:C

知识点:赋值表达式

22.

在一个C程序中______。

A、main函数必须出现在所有函数之前

B、main函数可以在任何地方出现

C、main函数必须出现在所有函数之后

D、main函数必须出现在固定位置

答案:B

知识点:简单C语言程序的构成和格式

23.

以下说法中正确的是______。

A、#define和printf都是C语句

B、#define是C语句,而printf不是

C、printf是C语句,但#define不是

D、#define和printf都不是C语句

答案:D

知识点:简单C语言程序的构成和格式

24.若k是int型变量,且有下面的程序片段

A、不定值 B、33 C、30 D、58

答案:A

知识点:一维数组的定义和一维数组元素的引用

170.

以下能正确计算定义且赋初值的语句是______。

A、int n1=n2=10; B、char c=32;

A、4 5 6 B、2 58 C、3 6 9 D、7 8 59

答案:C

知识点:二维数组的定义和二维数组元素的引用

109.

以下能正确定义数组并正确赋初值的语句是______。

A、int N=5,b[N][N];

B、int a[1][2]={{1},{3}};

C、int c[2][]={{1,2},{3,4}};

D、int d[3][2]={{1,2},{34}};

答案:D

知识点:二维数组的定义和二维数组元素的引用

111.

以下程序的输出结果是______。

main()

{

int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

printf("%d%d%d%d",a[0][3],a[1][2],a[2][1],a[3][0]);

}

A、0650 B、1470 C、5430D、输出值不定

答案:A

知识点:二维数组的定义和二维数组元素的引用

112.

定义如下变量和数组:

int i;

int x[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是______。

for(i=0;i<3;i++) printf("%d",x[i][2-i]);

A、函数调用出错 B、8 C、9 D、60

答案:D

知识点:函数的调用

85.

若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是______。

A、函数调用可以作为独立的语句存在

B、函数调用可以作为一个函数的实参

C、函数调用可以出现在表达式中

D、函数调用可以作为一个函数的形参

答案:D

知识点:函数的调用

86.

有如下函数调用语句

func(rec1,rec2+rec3,(rec4,rec5));

该函数调用语句中,含有的实参个数是______。

A、3 B、4 C、5 D、有语法错

答案:A

知识点:函数的调用

92.

以下函数值的类型是______。

fun(float x)

{

float y;

y=3*x-4;

return y;

}

A、int B、不确定 C、void D、float

答案:A

知识点:函数的定义和返回值

93.

在C语言中,形参的缺省存储类是______。

A、auto B、register C、static D、extern

答案:A

知识点:函数的定义和返回值

94.

有以下程序

int f(int a)

{ return a%2; }

main()

{

int s[8]={1,3,5,2,4,6},i,d=0;

for(i=0;f(s[i]);i++) d+=s[i];

printf("%d",d);

}

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

A、5.21 B、5 C、5.0 D、0.61

答案:C

知识点:调用函数和被调用函数之间的数据传递

80.

在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。

A、地址传递

B、单向值传递

C、由实参传给形参

D、再由形参传回实参

答案:B

知识点:函数的调用

81.

当执行下面的程序时,如果输入ABC,则输出结果是______。

include"stdio.h"

include"string.h"

main()

{

char ss[10]="12345";

gets(ss);

strcat(ss,"6789");

printf("%s",ss);

}

A、5,5 B、5,11 C、11,11 D、11,62

答案:B

知识点:局部变量及其作用域和生存期

71.

以下程序的输出结果是______。

int a,b;

void fun()

{

a=100;

b=200;

}

main()

{

int a=5,b=7;

fun();

printf("%d%d",a,b);

}

A、1.4 B、1 C、2.0 D、63

答案:B

知识点:算术表达式

34.

设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式 1/2((a+b)h) 计算结果不相符的是______。

A、(a+b)*h/2 B、(1/2)*(a+b)*h

C、(a+b)*h*1/2 D、h/2*(a+b)

答案:B

知识点:算术表达式

35.

假定x和y为double型,表达式x=2,y=x+3/2的值是______。

D、x=(x/100+0.5)*100.64

答案:C

知识点:赋值表达式

22.

在一个C程序中______。

A、main函数必须出现在所有函数之前

B、main函数可以在任何地方出现

C、main函数必须出现在所有函数之后

D、main函数必须出现在固定位置

答案:B

知识点:简单C语言程序的构成和格式

23.

以下说法中正确的是______。

A、#define和printf都是C语句

B、#define是C语句,而printf不是

C、printf是C语句,但#define不是

D、#define和printf都不是C语句

答案:D

知识点:简单C语言程序的构成和格式

24.若k是int型变量,且有下面的程序片段

C、.5E-3 D、E65

答案:C

知识点:实型数据

30.

表达式3.6-5/2+1.2+5%2的值是______。

A、4 5 6 B、2 58 C、3 6 9 D、7 8 66

答案:C

知识点:二维数组的定义和二维数组元素的引用

109.

以下能正确定义数组并正确赋初值的语句是______。

A、int N=5,b[N][N];

B、int a[1][2]={{1},{3}};

C、int c[2][]={{1,2},{3,4}};

D、int d[3][2]={{1,2},{34}};

答案:D

知识点:二维数组的定义和二维数组元素的引用

111.

以下程序的输出结果是______。

main()

{

int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

printf("%d%d%d%d",a[0][3],a[1][2],a[2][1],a[3][0]);

}

A、0650 B、1470 C、5430D、输出值不定

答案:A

知识点:二维数组的定义和二维数组元素的引用

112.

定义如下变量和数组:

int i;

int x[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是______。

for(i=0;i<3;i++) printf("%d",x[i][2-i]);

C、a=-32768 D、a=-67

答案:C

知识点:整型数据

45.

在C语言中,合法的长整型常数是______。

A、9 B、11 C、19 D、68

答案:A

知识点:函数的定义和返回值

95.

在C语言中,函数的隐含存储类别是______。

A、auto B、static

C、extern D、无存储类别

答案:C

知识点:函数的定义和返回值

97.

若程序中定义了以下函数

double myadd(double a,double b)

{ return (a+b); }

并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是______。

A、double myadd(double a,b);

B、double myadd(double,double);

C、double myadd(double b,double a);

D、double myadd(double x,double y);

答案:A

知识点:函数的定义和返回值

98.

若有以下程序

include<stdio.h>

void f(int n)

main()

{

void f(int n);

f(5);

}

void f(int n);

{ printf("%d",n); }

则以下叙述不正确的是______。

A、若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

B、若在主函数前对函数f进行说明,则在主函数和其它函数中都可以正确调用函数f

C、对于以上程序,编译时系统会出提示出错信息:提示对f函数重复说明

D、函数f无返回值,所以可用void将其类型定义为无值型

答案:C

知识点:函数的说明

99.

下列叙述中正确的是______。

A、C语言编译时不检查语法

B、C语言的子程序有过程和函数两种

C、C语言的函数可以嵌套定义

D、C语言所有函数都是外部函数

答案:D

知识点:库函数

101.

以下不能正确定义二维数组的选项是______。

A、int a[2][2]={{1},{2}};

B、int a[][2]={1,2,3,4};

C、int a[2][2]={{1},2,3};

D、int a[2][]={{1,2},{3,4}};

答案:D

知识点:二维数组的定义和二维数组元素的引用

102.

以下能正确定义二维数组的是______。

A、int a[][3];

B、int a[][3]={2*3};

C、int a[][3]={};

D、int a[2][3]={{1},{2},{3,4}};

答案:B

知识点:二维数组的定义和二维数组元素的引用

103.

以下程序的输出结果是______。

main()

{

inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

for (i=1;i<3;i++)

for(j=0;j<=i;j++) s+=a[i][j];

printf("%d",s);

}

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

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

答案:A

最新大学职业规划800字(14篇)

最新个人自荐信大学(14篇)

最新大学三年规划(三篇)

2022年《语言的魅力》课文(5篇)

最新大学编辑部工作计划(十三篇)

A、3 B、4 C、6 D、70

答案:C

知识点:局部变量及其作用域和生存期

65.以下叙述中正确的是______。

A、局部变量说明为static 存储类,其生存期将得到延长

B、全局变量说明为static 存储类,其作用域将被扩大

C、任何存储类的变量在未赋初值时,其值都是不确定的

D、形参可以使用的存储类说明符与局部变量完全相同

答案:A

知识点:局部变量及其作用域和生存期

66.

有以下程序

int fun(int x[],int n)

{

static int sum=0,i;

for(i=0;i<n;i++) sum+=x[i];

return sum;

}

main()

{

inta[]={1,2,3,4,5},b[]={6,7,8,9,},s=0;

s=fun(a,5)+fun(b,4);

printf("%d",s);

}

程序执行后的输出结果是______。

A、1 B、2 C、2.000000 D、2.71

答案:C

知识点:算术表达式

37.

若有以下程序段

int c1=1,c2=2,c3;

c3=1.0/c2*c1;

则执行后,c3中的值是______。

B、72

}

defined 73

则下面语句中错误的是______。

A、a++; B、b++; C、c++; D、d++;

答案:D

知识点:自加、自减运算符和逗号运算符

56.

以下程序的输出结果是______。

main()

{

int x=10,y=10;

printf("%d %d",x--,--y);

}

A、2,3,3 B、2,3,2 C、2,3,1 D、2,2,74

答案:C

知识点:自加、自减运算符和逗号运算符

55.

设有以下定义

int a=0;

double b=1.25;

char c='A';

B、75

}

A、y=0 B、y=-1 C、y=76

D、while构成无限循环

答案:B

知识点:自加、自减运算符和逗号运算符

63.

以下叙述中正确的是______。

A、全局变量的作用域一定比局部变量的作用域范围大

B、静态(static)类别变量的生存期贯穿于整个程序的运行期间

C、函数的形参都属于全局变量

D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值

答案:B

知识点:局部变量及其作用域和生存期

64.

下面程序的输出是______。

fun3(int x)

{

static int a=3;

a+=x;

return(a);

}

main()

{

int k=2, m=1, n;

n=fun3(k);

n=fun3(m);

printf("%d",n);

}

D、77

答案:B

知识点:全局变量及其作用域和生存期

72.

有如下程序

int func(int a,int b)

{ return(a+b); }

main()

{

int x=2,y=5,z=8,r;

r=func(func(x,y),z);

printf("%d",r);

}

该程序的输出结果是______。

A、1 B、6.0 C、2.0 D、1.78

答案:D

知识点:自加、自减运算符和逗号运算符

61.

以下程序的输出结果是______。

#include<stdio.h>

main()

{

int i=10,j=10;

printf("%d,%d",++i,j--);

}

B、x=(x*100+0.5)/100.79

C、x=(int)(x*100+0.5)/100.0???

A、defineN 80

int a[N];

C、17,0x11,021 D、17,21,81

答案:D

知识点:整型数据

44.

下面程序的输出是______。

main()

{

unsigned a=32768;

printf("a=%d",a);

}

A、3 B、2 C、1 D、82

答案:C

知识点:赋值表达式

15.

有以下定义语句

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;

答案:C

知识点:赋值表达式

16.

有如下程序

main()

{

int a; char c=10;

float f=100.0; double x;

a=f/=c*=(x=6.5);

printf("%d %d%3.1f%3.1f",a,c,f,x);

}

程序运行后输出结果是______。

C、 2 4 0 D、 2 4 83

答案:B

知识点:二维数组的定义和二维数组元素的引用

114.

以下程序的输出结果是______。

main()

{

charw[][10]={"ABCD","EFGH","IJLK","MNOP"},k;

for(k=1;k<3;k++)printf("%s",w[k]);

D、EFGH

IJLK

C、EFG

JK

O

B、ABCD

EFG

IJ

M

}

A、ABCD

FGH

KL

答案:D

知识点:二维数组的定义和二维数组元素的引用

130.

当调用函数时,实参是一个数组名,则向函数传送的是______。

A、数组的长度

B、数组的首地址

C、数组每一个元素的地址

D、数组每个元素中的值

答案:B

知识点:函数之间对一维数组和数组元素的引用

132.

有以下程序

void sum(int a[])

{ a[0]=a[-1]+a[1]; }

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,10};

sum (&a[2]);

printf("%d",a[2]);

}

程序运行后输出结果是______。

A、4.3 B、4.8 C、3.3 D、3.84

答案:D

知识点:算术表达式

31.

设int a=12,则执行完语句a+=a-=a*a后,a的值是______。

A、1 B、0 C、4 D、85

答案:D

知识点:自加、自减运算符和逗号运算符

59.

两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是______。

main( )

{

int x;

scanf("%d",&x);

C、102,10 D、02,86

答案:C

知识点:数据输出

179.

有以下程序

main()

{ int a=666,b=888;

printf("%d",a,b);

}

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

A、12 B、13 C、14 D、87

答案:D

知识点:调用函数和被调用函数之间的数据传递

73.

有以下程序

void f(int v,int w)

{

int t;

t=v;v=w;w=t;

}

main()

{

int x=1,y=3,z=2;

if(x>y) f(x,y);

else if(y>z) f(y,z);

else f(x,z);

printf("%d,%d,%d",x,y,z);

}

执行后输出结果是______。

D、输出值为88

答案:D

知识点:自加、自减运算符和逗号运算符

54.

有以下程序

main()

{

int x,y,z;

x=y=1;

z=x++,y++,++y;

printf("%d,%d,%d",x,y,z);

}

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

A、不定值 B、33 C、30 D、89

答案:A

知识点:一维数组的定义和一维数组元素的引用

170.

以下能正确计算定义且赋初值的语句是______。

A、int n1=n2=10; B、char c=32;

A、0 B、0.5 C、1 D、90

答案:A

知识点:算术表达式

38.

设有int x=11;则表达式(x++ * 1/3)的值是______。??

A、6 B、7 C、5 D、91

答案:A

知识点:函数之间对一维数组和数组元素的引用

138.

有以下程序

main()

{ char s[]="abcde";

s+=2;

printf("%d",s[0]);

}

执行后的结果是______。

A、输出字符a的ASCII码

B、输出字符c的ASCII码

C、输出字符c

D、程序出错

答案:D

知识点:函数之间对一维数组和数组元素的引用

139.

请读程序:

include<stdio.h>

f(int b[],int n)

{ int i,r;

r=1;

for(i=0;i<=n;i++) r=r*b[i];

return r;

}

main()

{ int x,a[]={2,3,4,5,6,7,8,9};

x=f(a,3);

printf("%d",x);

}

上面程序的输出结果是______。

C、1.234e+4 D、1.234e92

答案:B

知识点:实型数据

28.

以下符合C语言语法的实型常量是______。

A、1.2E0.5 B、3.14159E

A、1 B、0 C、4 D、93

答案:D

知识点:自加、自减运算符和逗号运算符

59.

两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是______。

main( )

{

int x;

scanf("%d",&x);

A、18 B、19 C、20 D、94

答案:A

知识点:二维数组的定义和二维数组元素的引用

104.

以下程序的输出结果是______。

main()

{ int i,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)

printf("%d,",x[i][2-i]);

}

A、720 B、120 C、24 D、95

答案:B

知识点:一维数组的定义和一维数组元素的引用

140.

若要求定义具有10个int形元素的一维数组a,则以下的定义语句中错误的是______。

A、2 B、4 C、6 D、96

答案:B

知识点:函数的调用

83.

设函数fun的定义形式为

void fun(char ch,float x) {……}

则以下对函数fun的调用语句中,正确的是______。

A、fun("abc",3.0); B、t=fun('D',16.5);

C、fun ('65',2.8); D、fun(32,32);

答案:D

知识点:函数的调用

84.

有以下程序

char fun(char x,char y)

{

if(x<y) return x;

return y;

}

main()

{

int a='9',b='8',c='7';

printf("%c",fun(fun(a,b),fun(b,c)));

}

程序的执行结果是______。

A、a=%2,b=%5 B、a=2,b=97

C、a=d,b=d D、a=%d,b=5d

答案:B

知识点:数据输出

177.

以下程序的输出结果是______。

include<stdio.h>

main()

{ int a=2,c=5;

printf("a=%%d,b=%%d",a,c);

}

A、a=%2,b=%5 B、a=2,b=98

C、a=d,b=d D、a=%d,b=5d

答案:B

知识点:数据输出

177.

以下程序的输出结果是______。

include<stdio.h>

main()

{ int a=2,c=5;

printf("a=%%d,b=%%d",a,c);

}

A、258 B、741 C、852 D、99

答案:C

知识点:一维数组的定义和一维数组元素的引用

147.

执行下面的程序段后,变量k中的值为______。

int k=3,s[2];

s[0]=k; k=s[1]*10;

A、a:=b+1 B、a=b=c+100

C、int 18.5%3 D、a=a+7=c+b

答案:B

知识点:赋值表达式

20.

设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是______。

D、4,3,101

答案:D

知识点:调用函数和被调用函数之间的数据传递

75.有以下程序

int fun1(double a) { return a*=a; }

int fun2(double x,double y)

{

double a=0,b=0;

a=fun1(x);

b=fun1(y);

return (int)(a+b);

}

main()

{

double w;

w=fun2(1.1,2.0);

}

程序执行后变量w中的值是______。

A、1 5 9 B、1 47 C、3 5 7 D、3 6 102

答案:C

知识点:二维数组的定义和二维数组元素的引用

113.

有以下程序

main()

{

int x[3][2]={0},i;

for(i=0;i<3;i++)scanf("%d",x[i]);

printf("%3d%3d%3d",x[0][0],x[0][1],x[1][0]);

}

若运行时输入:2 4 6<回车>,则输出结果为______。

C、17,0x11,021 D、17,21,103

答案:D

知识点:整型数据

44.

下面程序的输出是______。

main()

{

unsigned a=32768;

printf("a=%d",a);

}

A、1.4 B、1 C、2.0 D、104

答案:B

知识点:算术表达式

34.

设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式 1/2((a+b)h) 计算结果不相符的是______。

A、(a+b)*h/2 B、(1/2)*(a+b)*h

C、(a+b)*h*1/2 D、h/2*(a+b)

答案:B

知识点:算术表达式

35.

假定x和y为double型,表达式x=2,y=x+3/2的值是______。

A、3 B、3.2 C、0 D、3.105

答案:C

知识点:算术表达式

40.

请读程序片段:

int i=65536;

printf("%d",i);

上面程序片段的输出结果是______。

A、defineN 106

int a[N];

A、552 B、264 C、144 D、-107

答案:D

知识点:算术表达式

32.

以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是______。

A、x/y*z B、x*(1/(y*z))

C、x/y*1/z D、x/y/z

答案:A

知识点:算术表达式

33.

若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是______。

A、753 B、357 C、369 D、108

答案:B

知识点:二维数组的定义和二维数组元素的引用

106.

以下数组定义中错误的是______。

A、int x[][3]={0};

B、int x[2][3]={{1,2},{3,4},{5,6}};

C、int x[][3]={{1,2,3},{4,5,6}};

D、int x[2][3]={1,2,3,4,5,6};

答案:B

知识点:二维数组的定义和二维数组元素的引用

107.

以下数组定义中不正确的是______。

A、int a[2][3];

B、int b[][3]={0,1,2,3};

C、int c[100][100]={0};

D、int d[3][]={{1,2},{1,2,3},{1,2,3,4}};

答案:D

知识点:二维数组的定义和二维数组元素的引用

108.

有以下程序

main()

{

int m[][3]={1,4,7,2,5,8,3,6,9};

int i,j,k=2;

for(i=0;i<3;i++)

{ printf("%d ",m[k][i]); }

}

执行后输出结果是______。

A、3 B、4 C、6 D、109

答案:C

知识点:局部变量及其作用域和生存期

65.以下叙述中正确的是______。

A、局部变量说明为static 存储类,其生存期将得到延长

B、全局变量说明为static 存储类,其作用域将被扩大

C、任何存储类的变量在未赋初值时,其值都是不确定的

D、形参可以使用的存储类说明符与局部变量完全相同

答案:A

知识点:局部变量及其作用域和生存期

66.

有以下程序

int fun(int x[],int n)

{

static int sum=0,i;

for(i=0;i<n;i++) sum+=x[i];

return sum;

}

main()

{

inta[]={1,2,3,4,5},b[]={6,7,8,9,},s=0;

s=fun(a,5)+fun(b,4);

printf("%d",s);

}

程序执行后的输出结果是______。

k=-110

if(k<=0) printf("####")

elseprintf("&&&&");

上面程序片段的输出结果是______。

A、#### B、&&&& C、####&&&&

D、有语法错误,无输出结果

答案:D

知识点:简单C语言程序的构成和格式

25.

以下4个选项中,不能看作一条语句的是______。

A、{;} B、a=0,b=0,c=0;

C、if(a>0); D、if(b==0) m=1;n=2;???

答案:D

知识点:简单C语言程序的构成和格式

26.

有以下程序

main()

{

int a=0,b=0;

a=10; /* 给a赋值 */

b=20; /* 给b赋值 */

printf("a+b=%d",a+b);

}

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

A、a+b=10 B、a+b=30 C、30 D、出错

答案:B

知识点:简单C语言程序的构成和格式

27.

以下选项中,不能作为合法常量的是______。

A、不确定的值 B、2 C、1 D、111

答案:D

知识点:一维数组的定义和一维数组元素的引用

146.

以下程序的输出结果是______。

main()

{ int i,a[10];

for(i=9;i>=0;i--) a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

}

B、float a=b=10.0;(正解a=10.0 b=10.0)

C、int a=10,*b=&a;

D、float *a,b=&a;???

答案:C

知识点:常量、变量和标识符

5.

以下不能定义为用户标识符的是______。

A、scanf B、Void

C、_3com_ D、int

答案:D

知识点:常量、变量和标识符

6.

以下有4组用户标识符,其中合法的一组是______。

A、For -sub Case

B、4d DO Size

C、f2_G3 IF abc

D、WORD Void define

答案:C

知识点:常量、变量和标识符

7.

C语言中最简单的数据类型包括______。

A、整型、实型、逻辑型

B、整型、实型、字符型

C、整型、字符型、逻辑型

D、整型、实型、逻辑型、字符型

答案:B

知识点:常量、变量和标识符

8.

下列选项中,合法的C语言关键字是______。

A、VAR B、cher C、integer D、default

答案:D

知识点:常量、变量和标识符

9.

以下不能定义为用户标识符的是______。

A、Main B、_0 C、_int D、sizeof

答案:D

知识点:常量、变量和标识符

10.

下列叙述中正确的是______。

A、C语言中既有逻辑类型也有集合类型

B、C语言中没有逻辑类型但有集合类型

C、C语言中有逻辑类型但没有集合类型

D、C语言中既没有逻辑类型也没有集合类型

答案:D

知识点:常量、变量和标识符

11.

当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是______。

A、c=b=a; B、(a=c)‖(b=c);

C、(a=c)&&(b=c); D、a=c=b;

答案:C

知识点:赋值表达式

12.

以下选项中非法的表达式是______。

A、8,17 B、8,16 C、8,20 D、8,113

答案:A

知识点:局部变量及其作用域和生存期

69.

设有以下函数:

f(int a)

{

int b=0;

static int c=3;

b++;

c++;

return (a+b+c);

}

如果在下面的程序中调用该函数,则输出结果是______。

main()

{

int a=2,i;

for(i=0;i<3;i++)printf("%d",f(a));

A、45 B、50 C、60 D、114

答案:C

知识点:局部变量及其作用域和生存期

67.

以下程序执行后sum的值是______。

main()

{

int i,sum;

for(i=1;i<6;i++) sum+=i;

printf("%d",sum);

}

B、float a=b=10.0;(正解a=10.0 b=10.0)

C、int a=10,*b=&a;

D、float *a,b=&a;???

答案:C

知识点:常量、变量和标识符

5.

以下不能定义为用户标识符的是______。

A、scanf B、Void

C、_3com_ D、int

答案:D

知识点:常量、变量和标识符

6.

以下有4组用户标识符,其中合法的一组是______。

A、For -sub Case

B、4d DO Size

C、f2_G3 IF abc

D、WORD Void define

答案:C

知识点:常量、变量和标识符

7.

C语言中最简单的数据类型包括______。

A、整型、实型、逻辑型

B、整型、实型、字符型

C、整型、字符型、逻辑型

D、整型、实型、逻辑型、字符型

答案:B

知识点:常量、变量和标识符

8.

下列选项中,合法的C语言关键字是______。

A、VAR B、cher C、integer D、default

答案:D

知识点:常量、变量和标识符

9.

以下不能定义为用户标识符的是______。

A、Main B、_0 C、_int D、sizeof

答案:D

知识点:常量、变量和标识符

10.

下列叙述中正确的是______。

A、C语言中既有逻辑类型也有集合类型

B、C语言中没有逻辑类型但有集合类型

C、C语言中有逻辑类型但没有集合类型

D、C语言中既没有逻辑类型也没有集合类型

答案:D

知识点:常量、变量和标识符

11.

当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是______。

A、c=b=a; B、(a=c)‖(b=c);

C、(a=c)&&(b=c); D、a=c=b;

答案:C

知识点:赋值表达式

12.

以下选项中非法的表达式是______。

A、15 B、14 C、不确定 D、116

答案:C

知识点:局部变量及其作用域和生存期

68.

以下程序的输出结果是______。

main()

{

int k=4,m=1,p;

p=func(k,m);printf("%d,",p);

p=func(k,m);printf("%d",p);

}

func(int a,int b)

{

static int m=0,i=2;

i+=m+1; m=i+a+b;

return(m);

}

A、5.21 B、5 C、5.0 D、0.117

答案:C

知识点:调用函数和被调用函数之间的数据传递

80.

在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。

A、地址传递

B、单向值传递

C、由实参传给形参

D、再由形参传回实参

答案:B

知识点:函数的调用

81.

当执行下面的程序时,如果输入ABC,则输出结果是______。

include"stdio.h"

include"string.h"

main()

{

char ss[10]="12345";

gets(ss);

strcat(ss,"6789");

printf("%s",ss);

}

A、6,1 B、2,1 C、6,0 D、2,118

答案:B

知识点:赋值表达式

14.

以下循环体的执行次数是______。

main()

{

int i,j;

for (i=0,j=1; i<=j+1;i+=2,j--)

printf("%d ",i);

}

A、0L B、119

C、324562& D、216D

答案:A

知识点:整型数据

46.

C语言中运算对象必须是整型的运算符是______。

A、%= B、/ C、= D、<=

答案:A

知识点:整型数据

47.

以下选项中不属于C语言的类型名称是______。

A、signed short int

B、unsigned long int

C、unsigned int

D、long short

答案:D

知识点:整型数据

48.

有以下程序

main()

{

int m=0256,n=256;

printf("%o %o",m,n);

}

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

A、258 B、741 C、852 D、120

答案:C

知识点:一维数组的定义和一维数组元素的引用

147.

执行下面的程序段后,变量k中的值为______。

int k=3,s[2];

s[0]=k; k=s[1]*10;

A、3 B、2 C、1 D、121

答案:C

知识点:赋值表达式

15.

有以下定义语句

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;

答案:C

知识点:赋值表达式

16.

有如下程序

main()

{

int a; char c=10;

float f=100.0; double x;

a=f/=c*=(x=6.5);

printf("%d %d%3.1f%3.1f",a,c,f,x);

}

程序运行后输出结果是______。

A、1 B、6.0 C、2.0 D、1.122

答案:D

知识点:自加、自减运算符和逗号运算符

61.

以下程序的输出结果是______。

#include<stdio.h>

main()

{

int i=10,j=10;

printf("%d,%d",++i,j--);

}

A、错误信息 B、666 C、888 D、666,123

答案:B

知识点:数据输出

180.

有以下程序

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、12345ABC6 D、ABC124

答案:A

知识点:函数的调用

82.

有如下程序

long fib(int n)

{

if(n>2) return(fib(n-1)+fib(n-2));

else return(2);

}

main()

{ printf("%ld",fib(3)); }

该程序的输出结果是______。

A、65 B、20 C、15 D、125

答案:B

知识点:自加、自减运算符和逗号运算符

53.

设有如下程序段

int x=2002,y=2003;

printf("%d",(x,y));

则以下叙述中正确的是______。

A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出

B、运行时产生错误信息

A、9 B、11 C、19 D、126

答案:A

知识点:函数的定义和返回值

95.

在C语言中,函数的隐含存储类别是______。

A、auto B、static

C、extern D、无存储类别

答案:C

知识点:函数的定义和返回值

97.

若程序中定义了以下函数

double myadd(double a,double b)

{ return (a+b); }

并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是______。

A、double myadd(double a,b);

B、double myadd(double,double);

C、double myadd(double b,double a);

D、double myadd(double x,double y);

答案:A

知识点:函数的定义和返回值

98.

若有以下程序

include<stdio.h>

void f(int n)

main()

{

void f(int n);

f(5);

}

void f(int n);

{ printf("%d",n); }

则以下叙述不正确的是______。

A、若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

B、若在主函数前对函数f进行说明,则在主函数和其它函数中都可以正确调用函数f

C、对于以上程序,编译时系统会出提示出错信息:提示对f函数重复说明

D、函数f无返回值,所以可用void将其类型定义为无值型

答案:C

知识点:函数的说明

99.

下列叙述中正确的是______。

A、C语言编译时不检查语法

B、C语言的子程序有过程和函数两种

C、C语言的函数可以嵌套定义

D、C语言所有函数都是外部函数

答案:D

知识点:库函数

101.

以下不能正确定义二维数组的选项是______。

A、int a[2][2]={{1},{2}};

B、int a[][2]={1,2,3,4};

C、int a[2][2]={{1},2,3};

D、int a[2][]={{1,2},{3,4}};

答案:D

知识点:二维数组的定义和二维数组元素的引用

102.

以下能正确定义二维数组的是______。

A、int a[][3];

B、int a[][3]={2*3};

C、int a[][3]={};

D、int a[2][3]={{1},{2},{3,4}};

答案:B

知识点:二维数组的定义和二维数组元素的引用

103.

以下程序的输出结果是______。

main()

{

inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

for (i=1;i<3;i++)

for(j=0;j<=i;j++) s+=a[i][j];

printf("%d",s);

}

A、5,5 B、5,11 C、11,11 D、11,127

答案:B

知识点:局部变量及其作用域和生存期

71.

以下程序的输出结果是______。

int a,b;

void fun()

{

a=100;

b=200;

}

main()

{

int a=5,b=7;

fun();

printf("%d%d",a,b);

}

C、12345ABC6 D、ABC128

答案:A

知识点:函数的调用

82.

有如下程序

long fib(int n)

{

if(n>2) return(fib(n-1)+fib(n-2));

else return(2);

}

main()

{ printf("%ld",fib(3)); }

该程序的输出结果是______。

A、18 B、19 C、20 D、129

答案:A

知识点:二维数组的定义和二维数组元素的引用

104.

以下程序的输出结果是______。

main()

{ int i,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)

printf("%d,",x[i][2-i]);

}

A、6,1 B、2,1 C、6,0 D、2,130

答案:B

知识点:赋值表达式

14.

以下循环体的执行次数是______。

main()

{

int i,j;

for (i=0,j=1; i<=j+1;i+=2,j--)

printf("%d ",i);

}

131

答案:A

知识点:局部变量及其作用域和生存期

70.

有以下程序

fun(int x, int y)

{

static int m=0,i=2;

i+=m+1;

m=i+x+y;

return m;

}

main()

{

int j=1,m=1,k;

k=fun(j,m); printf("%d,",k);

k=fun(j,m);printf("%d",k);

}

执行后的输出结果是______。

C、2.000000 D、3.132

答案:D

知识点:算术表达式

36.

若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是______。

C、8,8,10 D、8,10,133

答案:A

知识点:整型数据

42.

在C语言中,不正确的int类型的常数是______。

A、32768 B、0 C、037 D、0xAF

答案:A

知识点:整型数据

43.

以下程序的输出结果是______。

main( )

{

int k=17;

printf("%d,%o,%x ",k,k,k);

}

C、有语法错误,无输出结果 D、-134

答案:B

知识点:整型数据

41.

若有以下定义和语句:

int u=010,v=0x10,w=10;

printf("%d,%d,%d",u,v,w);

则输出结果是: ______。

D、2 65 1.5 6.135

答案:B

知识点:赋值表达式

17.

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

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

答案:B

知识点:赋值表达式

18.

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

A、4.3 B、4.8 C、3.3 D、3.136

答案:D

知识点:算术表达式

31.

设int a=12,则执行完语句a+=a-=a*a后,a的值是______。

A、200 B、100 C、100 137

D、输则格式符不够, 输出不确定的值

答案:A

知识点:自加、自减运算符和逗号运算符

58.

设有如下定义:

int x=10,y=3,z;

则语句

printf("%d",z=(x%y,x/y));

的输出结果是______。

A、y=0 B、y=-1 C、y=138

D、while构成无限循环

答案:B

知识点:自加、自减运算符和逗号运算符

63.

以下叙述中正确的是______。

A、全局变量的作用域一定比局部变量的作用域范围大

B、静态(static)类别变量的生存期贯穿于整个程序的运行期间

C、函数的形参都属于全局变量

D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值

答案:B

知识点:局部变量及其作用域和生存期

64.

下面程序的输出是______。

fun3(int x)

{

static int a=3;

a+=x;

return(a);

}

main()

{

int k=2, m=1, n;

n=fun3(k);

n=fun3(m);

printf("%d",n);

}

A、0L B、139

C、324562& D、216D

答案:A

知识点:整型数据

46.

C语言中运算对象必须是整型的运算符是______。

A、%= B、/ C、= D、<=

答案:A

知识点:整型数据

47.

以下选项中不属于C语言的类型名称是______。

A、signed short int

B、unsigned long int

C、unsigned int

D、long short

答案:D

知识点:整型数据

48.

有以下程序

main()

{

int m=0256,n=256;

printf("%o %o",m,n);

}

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

A、552 B、264 C、144 D、-140

答案:D

知识点:算术表达式

32.

以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是______。

A、x/y*z B、x*(1/(y*z))

C、x/y*1/z D、x/y/z

答案:A

知识点:算术表达式

33.

若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是______。

A、a=%2,b=%5 B、a=2,b=141

C、a=%%d,b=%%d D、a=%d,b=%d

答案:D

知识点:数据输出

178.

有以下程序

main( )

{ int x=102,y=012;

printf("%2d,%2d",x,y);

}

执行后输出结果是______。

defined 142

则下面语句中错误的是______。

A、a++; B、b++; C、c++; D、d++;

答案:D

知识点:自加、自减运算符和逗号运算符

56.

以下程序的输出结果是______。

main()

{

int x=10,y=10;

printf("%d %d",x--,--y);

}

A、0 B、0.5 C、1 D、143

答案:A

知识点:算术表达式

38.

设有int x=11;则表达式(x++ * 1/3)的值是______。??

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

答案:D

知识点:赋值表达式

13.

以下程序的输出结果是______。

include<stdio.h>

main()

{

int a,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

printf("%d,%d",a,b);???

}

C、.5E-3 D、E145

答案:C

知识点:实型数据

30.

表达式3.6-5/2+1.2+5%2的值是______。

A、15 B、14 C、不确定 D、146

答案:C

知识点:局部变量及其作用域和生存期

68.

以下程序的输出结果是______。

main()

{

int k=4,m=1,p;

p=func(k,m);printf("%d,",p);

p=func(k,m);printf("%d",p);

}

func(int a,int b)

{

static int m=0,i=2;

i+=m+1; m=i+a+b;

return(m);

}