二级C语言05年4月至08年4月笔试真题及答案(最新修订版)(8)

2019-02-15 22:36

A)ACBDFEG B)ACBDFGE C)ABDCGEF D)FCADBEG 答案:A

11) 下列叙述中错误的是

A)一个C语言程序只能实现一种算法 B)C程序可以由多个程序文件组成

C)C程序可以由一个或多个函数组成 D)一个C函数可以单独作为一个C程序文件存在 答案:A

12) 下列叙述中正确的是

A)每个C程序文件中都必须要有一个main()函数 B)在C程序中main()函数的位置是固定的

C)C程序中所有函数之间都可以相互调用,与函数所在位置无关 D)在C程序的函数中不能定义另一个函数 答案:D

13) 下列定义变量的语句中错误的是

A)int _int; B)double int_; C)char For; D)float US$; 答案:D

14) 若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是 A)++x,y=x- B)x+1=y C)x=x+10=x+y D)double(x)/10 答案:A

15) 以下关于逻辑运算符两侧运算对象的叙述中正确的是 A)只能是整数0或1 B)只能是整数0或非0整数

C)可以是结构体类型的数据 D)可以是任意合法的表达式 答案:D

16) 若有定义int x,y; 并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y++)中的条件表达式(x-y) 等价的是

A)(x-y>0) B)(x-y<0) C)(x-y<0||x-y>0) D)(x-y==0) 答案:C

17) 有以下程序 main()

{ int x, y, z; x=y=1;

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

printf(\ }

程序运行后的输出结果是

A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,1 答案:C

18) 设有定义:int a; float b; 执行 scanf(\语句时,若从键盘输入876 543.0<回车>,a和b的值分别是

A)876和543.000000 B)87和6.000000 C)87和543.000000 D)76和543.000000 答案:B

19) 有以下程序 main()

{ int a=0, b=0;

a=10; /* 给a赋值

b=20; 给b赋值 */ printf(\输出计算结果 */ }

程序运行后的输出结果是

A)a+b=10 B)a+b=30 C)30 D)出错 答案:A

20) 在嵌套使用if语句时,C语言规定else总是

A)和之前与其具有相同缩进位置的if配对 B)和之前与其最近的if配对 C)和之前与其最近的且不带else的if配对 D)和之前的第一个if配对 答案:C

21) 下列叙述中正确的是

A)break语句只能用于switch语句\\TAB B)在switch语句中必须使用default

C)break语句必须与switch语句中的case配对使用 D)在switch语句中,不一定使用break语句 答案:D

22) 有以下程序 main()

{ int k=5;

while(--k) printf(\ printf(\ }

执行后的输出结果是

A)1 B)2 C)4 D)死循环 答案:A

23) 有以下程序 main() { int i;

for(i=1; i<=40; i++) { if(i++%5==0)

if(++i%8==0) printf(\ }

printf(\ }

执行后的输出结果是

A)5 B)24 C)32 D)40 答案:C

24) 以下选项中,值为1的表达式是

A)1 –'0' B)1 - '\\0' C)'1' -0 D)'\\0' - '0' 答案:B

25) 有以下程序

fun(int x, int y){ return (x+y); } main()

{ int a=1, b=2, c=3, sum; sum=fun((a++,b++,a+b),c++); printf(\ }

执行后的输出结果是 A)6 B)7 C)8 D)9 答案:C

26) 有以下程序 main()

{ char s[]=\ s+=2;

printf(\ }

执行后的结果是

A)输出字符a的ASCII码 B)输出字符c的ASCII码 C)输出字符c D)程序出错 答案:D

27) 有以下程序

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(\ k=fun(j,m); printf(\ }

执行后的输出结果是

A)5, 5 B)5, 11 C)11, 11 D)11, 5 答案:B

28) 有以下程序 fun(int x) { int p;

if(x==0||x==1) return(3); p=x-fun(x-2); return p; }

main()

{ printf(\执行后的输出结果是 A)7 B)3 C)2 D)0 答案:C

29) 在16位编译系统上,若有定义int a[]={10,20,30}, *p=&a;,当执行p++;后,下列说法错误的是 A)p向高地址移了一个字节 B)p向高地址移了一个存储单元 C)p向高地址移了两个字节 D)p与a+1等价 答案:A

30) 有以下程序 main()

{ int a=1, b=3, c=5;

int *p1=&a, *p2=&b, *p=&c; *p =*p1*(*p2); printf(\ }

执行后的输出结果是 A)1 B)2 C)3 D)4 答案:C

31) 若有定义:int w[3][5]; ,则以下不能正确表示该数组元素的表达式是 A)*(*w+3) B)*(w+1)[4] C)*(*(w+1)) D)*(&w[0][0]+1) 答案:B

32) 若有以下函数首部

int fun(double x[10], int *n)

则下面针对此函数的函数声明语句中正确的是

A)int fun(double x, int *n); B)int fun(double , int ); C)int fun(double *x, int n); D)int fun(double *, int *); 答案:D

33) 若有定义语句:int k[2][3],*pk[3];,则以下语句中正确的是 A)pk=k; B)pk[0]=&k[1][2]; C)pk=k[0]; D)pk[1]=k; 答案:B

34) 有以下程序

void change(int k[ ]){ k[0]=k[5]; } main()

{ int x[10]={1,2,3,4,5,6,7,8,9,10},n=0; while( n<=4 ) { change( &x[n]) ; n++; } for(n=0; n<5; n++) printf(\ printf(\ }

程序运行后输出的结果是

A)6 7 8 9 10 B)1 3 5 7 9 C)1 2 3 4 5 D)6 2 3 4 5 答案:A

35) 若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是 A)#define N 10 int a[N]; B)#define n 5 int a [2*n]; C)int a[5+5]; D)int n=10,a[n]; 答案:D

36) 有以下程序 main()

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

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

printf(\ }

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

A)2 0 0 B)2 0 4 C)2 4 0 D)2 4 6 答案:B

37) 有以下程序 main()

{ char s[]={ \ ps=s; printf(\ }

程序运行后的输出结果是

A)a B)e C)u D)元素s[4]的地址 答案:B

38) 以下语句中存在语法错误的是

A)char ss[6][20]; ss[1]= \ C)char *ss[6]; ss[1]= \ 答案:A

39) 若有定义:char *x=\,以下选项中正确运用了strcpy函数的是 A)char y[10]; strcpy(y,x[4]); B)char y[10]; strcpy(++y,&x[1]);

C)char y[10],*s; strcpy(s=y+5,x); D)char y[10],*s; strcpy(s=y+1,x+1); 答案:D

40) 有以下程序

int add( int a,int b){ return (a+b); } main()

{ int k, (*f)(), a=5,b=10; f=add; ? }

则以下函数调用语句错误的是

A)k=(*f)(a,b); B)k=add(a,b); C)k= *f(a,b); D)k=f(a,b); 答案:C

41) 有以下程序

#include

main( int argc, char *argv[ ]) { int i=1,n=0;

while (i

该程序生成的可执行文件名为:proc.exe。若运行时输入命令行: proc 123 45 67 则程序的输出结果是 A)3 B)5 C)7 D)11 答案:C

42) 有以下程序

void fun2(char a, char b) { printf(\ char a='A', b='B';

void fun1( ){ a='C'\\TAB ; b='D' ; } main( ) { fun1( );


二级C语言05年4月至08年4月笔试真题及答案(最新修订版)(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:四年级数学思维训练题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: