历年二级C语言笔试真题及答案(16)

2021-02-21 12:23

历年二级C语言笔试真题及答案

A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,1(18)设有定义:int a; float b;执行

scanf("%2d%f",&a,&b);语句时,若从键盘输入876 543.0<回车>,a和b的值分别是________。A)876和543.000000 B)87和6.000000 C)87和543.000000 D)76和543.000000

(19)有以下程序

main()

{int a=0,b=0;

a=10; /*给a赋值b=20; 给b赋值*/ printf("a+b=%d\n",a+b); /* 输出计算结果*/ }程序运行后输出结果是________。A)a+b=0 B)a+b=30 C)30 D)出错(20)在嵌套使用if语句时,C语言规定else总是________。A)和之前与其具有相同缩进位置的if配对

B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对

(21)下列叙述中正确的是________。A)break语句只能用于switch语句

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

22)有以下程序

m ain()

{int k=5; while(-k) printf("%d",k-=3); printf("\n") } 执行后的输出结果是

________。A)1 B)2 C)4 D)死循环

(23)有以下程序

main()

{int i;

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

{if(i++%5=0)

if (++i%8=0) printf("%d",i) }

printf("\n") } 执行后的输出结果是

________。A)5 B)24 C)32 D)40 (24)以下选项中,值为1的表达式

________。A)1-"0" B)1-"\0" C)"1"-0 D)"\0"-"0"

(25)有以下程序

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

main()

{int a=1,b=2,c=3,sum;

sum=fun((a++,b++b,a+b),c++);

printf("%d\n",sum); }执行后的输出结果是________。

A)6 B)7 C)8 D)9

(26)有以下程序

main()

{ char s[ ]= "abcde"; s+=2;

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

执行后的结果是________。A)输出字符a的ASCII码B)输出字符c的ASCII 码C)输出字符c 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=I,k;

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

printf("%d\n",k } 执行后的输出结果是

________。

A)5,5 B)5,11 C)11,11 D)11,5

(28)有以下程序fun(int x)

{int p;

if(x==0║x= =1) return(3);

p=x-fun(x=2); retum p; }main()

{ prinf("%d\n",fun(7));} 执行后的输出结

果是________。A)7 B)3 C)3 D)0

(29)在16位编译系统上,右有定义int

a[ ]={10,20,30},*p=&a;,当执行p++;后,

下列说法错误的是________。

A)p向高地址移了一个字节B)p抽高

地址移了一个存储单元C)p向高地址移

了两个字节D)p与a+1等价

(30)有以下程序

main()

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

int *p1=&a,*p2=&b,*p=&c;

*p=*p1*(*p2); printf("%d\n",c); }执行后

的输出结果是A)1 B)2 C)3 D)4

(31)若有定义:int w[3][5];,则以下不

能正确表示该数组元素的表达式是

________。

A)*(*w+3)B)*(w+1)[4] C)*(*(w+1))

D)*(&w[0][0]+1)

(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*);

(33)若有定义语句:int k[2][3],*pk[3];,

则以下语句中正确的是________。

A)pk=k; B)pk[0]=&k[1][2]; C)pk=k[0];

D)pk[1]=k;

(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("%d",x[n]);printf("\n"); }

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

678910 B)13579 C)12345 D)62345

(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]

(36)有以下程序

main() {int x[3][2]={0},I;

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

printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1

][0]);} 若运行时输入:246<回车>,则输

出结果为________。A)2 0 0 B)2 0 4

C)2 4 0 D)2 4 6

(37)有以下程序

main()

{char s[ ]={ "aeiou"},*ps;

ps=s; printf("%c\n",*ps+4);}程序运行后

的输出结果是________。A)a B)e

C)u D)元素s[4]的地址

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

________。A)char ss[6][20];ss[1]=

"right? ";

B)char ss[][20]={ "right? "}; C)char

*ss[6];ss[1]= "right? "; D)char

*ss[]={"right? "};

(39)若有定义:char *x= “abcdefghi”;,

以下选项中正确运用了strepy函数的是

________。

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);

(40)有以下程序

int add(int a,int b){return+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);

(41)有以下程序#include <string.h>

main(int argc,char *argv[])

{int i=1,n=0;

while(i<arge){n=n+strlen(argv[i]);i++;}

printf(“%d\n”,n); }该程序生成的可执行

文件名为:proc.exe。若运行时输入命令

行:proc 123 45 67

则程序的输出结果是________。A)3 B)

5 C)7 D)11

(42)有以下程序

void fun2(char a, char

b){printi(“%b%c”,a,b);}

char a= …A?,b= …B?;

void fun1( ){ a= …C?l b= …D?; }

main( )

{ fun1( )

printf( “%c%c”,a,b);fun2(…E?, …F?); } 程

序的运行结果是________。A)CDEF B)

ABEF C)ABCD D)CDAB

(43)有以下程序

#include <stdio.h>

#define N 5

#define M N+1

#define f(x) (x*M)

main()

{int i1,i2; i1=f(2); i2=f(1+1);

printf(“%d %d\n”,i1,i2); }程序的运行

结果是________。

A)12 12 B)11 7 C)11 11 D)12 7

(44)设有以下语句typedef struct

TT{char c; int a[4];}CIN; 则下面叙述中正

确的是________。A)可以用TT定义

结构体变量B)TT是struct类型的变量

C)可以用CIN定义结构体变量D)CIN

是struct TT类型的变量

(45)有以下结构体说明、变量定义和赋

值语句

struct STD {char name[10];

int age; char sex;

}s[5],*ps; ps=&s[0];} 则以下scanf函数

调用语句中错误引用结构体变量成员的

是________。

16


历年二级C语言笔试真题及答案(16).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:零食与健康

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

马上注册会员

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