全国计算机等级考试二级c语言笔试试题含参考答案Word文档格式.docx

上传人:b****5 文档编号:21427086 上传时间:2023-01-30 格式:DOCX 页数:13 大小:21.03KB
下载 相关 举报
全国计算机等级考试二级c语言笔试试题含参考答案Word文档格式.docx_第1页
第1页 / 共13页
全国计算机等级考试二级c语言笔试试题含参考答案Word文档格式.docx_第2页
第2页 / 共13页
全国计算机等级考试二级c语言笔试试题含参考答案Word文档格式.docx_第3页
第3页 / 共13页
全国计算机等级考试二级c语言笔试试题含参考答案Word文档格式.docx_第4页
第4页 / 共13页
全国计算机等级考试二级c语言笔试试题含参考答案Word文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

全国计算机等级考试二级c语言笔试试题含参考答案Word文档格式.docx

《全国计算机等级考试二级c语言笔试试题含参考答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级c语言笔试试题含参考答案Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

全国计算机等级考试二级c语言笔试试题含参考答案Word文档格式.docx

C)C程序书写格式自由,一个语句可以写在多行上

D)用C语言编写的程序只能放在一个程序文件中

(12)以下选项中不合法的标识符是

A)printB)FORC)&

aD)_00

(13)以下选项中不属于字符常量的是

A)'

C'

B)"

C"

C)'

\xCC0'

D)'

\072'

(14)设变量已正确定义并赋值,以下正确的表达式是

A)x=y*5=x+zB)int(15.8%5)

C)x=y+z+5,++yD)x=25%5.0

(15)以下定义语句中正确的是

A)inta=b=0;

B)charA=65+1,b='

b'

;

C)floata=1,*b=&

a,*c=&

b;

D)doublea=0.0;

b=1.1;

(16)有以下程序段

charch;

intk;

ch='

a'

k=12;

printf("

%c,%d,"

ch,ch,k);

printf("

k=%d\n"

k);

已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是

A)因变量类型与格式描述符的类型不匹配输出无定值

B)输出项与格式描述符个数不符,输出为零值或不定值

C)a,97,12k=12

D)a,97,k=12

(17)已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是

A)kk>

='

A'

&

kk<

Z'

B)!

(kk>

‖kk<

C)(kk+32)>

(kk+32)<

z'

D)isalpha(kk)&

(kk<

91)

(18)当变量c的值不为2、4、6时,值也为“真”的表达式是

A)(c==2)‖(c==4)‖(c==6)B)(c>

=2&

c<

=6)‖(c!

=3)‖(c!

=5)

C)(c>

=6)&

!

(c%2)D)(c>

(c%2!

=1)

(19)若变量已正确定义,有以下程序段

inta=3,b=5,c=7;

if(a>

b)a=b;

c=a;

if(c!

=a)c=b;

%d,%d,%d\n"

a,b,c);

其输出结果是

A)程序段有语法错B)3,5,3C)3,5,5D)3,5,7

(20)有以下程序

#include<

stdio.h>

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;

break;

case1:

b++;

}

case2:

case3:

printf(“a=%d,b=%d\n”,a,b);

程序的运行结果是

A)a=1,b=0B)a=2,b=2

C)a=1,b=1D)a=2,b=1

(21)有以下程序

{intx=8;

for(;

x>

0;

x--)

{if(x%3){printf(“%d,”,x--);

continue;

printf(“%d,”,--x);

A)7,4,2B)8,7,5,2

C)9,7,6,4D)8,5,4,2

(22)以下不构成无限循环的语句或者语句组是

A)n=0;

B)n=0;

do{++n;

}while(n<

=0);

while

(1){n++;

C)n=10;

D)for(n=0,i=1;

;

i++)n+=i;

while(n);

{n--;

(23)有以下程序

{inta[]={1,2,3,4},y,*p=&

a[3];

--p;

y=*p;

printf(“y=%d\n”,y);

A)y=0B)y=1C)y=2D)y=3

(24)以下错误的定义语句是

A)intx[][3]={{0},{1},{1,2,3}};

B)intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

C)intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

D)intx[][3]={1,2,3,4};

(25)设有如下程序段

chars[20]=“Bejing”,*p;

p=s;

则执行p=s;

语句后,以下叙述正确的是

A)可以用*p表示s[0]

B)s数组中元素的个数和p所指字符串长度相等

C)s和p都是指针变量

D)数组s中的内容和指针变量p中的内容相等

(26)若有定义:

inta[2][3];

,以下选项中对a数组元素正确引用的是

A)a[2][!

1]B)a[2][3]C)a[0][3]D)a[1>

2][!

1]

(27)有定义语句:

chars[10];

,若要从终端给s输入5个字符,错误的输入语句是

A)gets(&

s[0]);

B)scanf(“%s”,s+1);

C)gets(s);

D)scanf(“%s”,s[1]);

(28)以下叙述中错误的是

A)在程序中凡是以“#”开始的语句行都是预处理命令行

B)预处理命令行的最后不能以分号表示结束

C)#defineMAX是合法的宏定义命令行

D)C程序对预处理命令行的处理是在程序执行的过程中进行的

(29)以下结构体类型说明和变量定义中正确的是

A)typedefstructB)structREC;

{intn;

charc;

}REC;

{intn;

};

RECt1,t2;

RECt1,t2;

C)typedefstructREC;

D)struct

{intn=0;

charc=’A’;

}t1,t2;

charc;

(30)以下叙述中错误的是

A)gets函数用于从终端读入字符串

B)getchar函数用于从磁盘文件读入字符

C)fputs函数用于把字符串输出到文件

D)fwrite函数用于以二进制形式输出数据到文件

(31)有以下程序

{ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;

for(i=0;

i<

12;

i++)c[s[i]]++;

for(i=1;

5;

i++)printf(“%d”,c[i]);

printf(“\n”);

A)1234B)2344C)4332D)1123

(32)有以下程序

voidfun(int*s,intnl,intn2)

{inti,j,t;

i=nl;

j=n2;

while(i<

j){t=s[i];

s[i]=s[j];

s[j]=t;

i++;

j--;

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

fun(a,0,3);

fun(a,4,9);

fun(a,0,9);

for(k=0;

k<

10;

k++)printf(“%d”,a[k]);

printf(“\n”);

程序运行的结果是

A)0987654321B)4321098765

C)5678901234D)0987651234

(33)有以下程序

string.h>

voidfun(char*s[],intn)

{char*t;

inti,j;

n-1;

i++)

for(j=i+1;

j<

n;

j++)

if(strlen(s[i])>

strlen(s[j])){t=s[i];

{char*ss[]={“bcc”,”bbcc”,”xy”,”aaaacc”,”aabcc”};

fun(ss,5);

printf(“%s,%s\n”,ss[0],ss[4]);

A)xy,aaaaccB)aaaacc,xyC)bcc,aabccD)aabcc,bcc

(34)有以下程序

intf(intx)

{inty;

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

y=x*x-f(x-2);

returny;

{intz;

z=f(3);

printf(“%d\n”,z);

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

(35)有以下程序

voidfun(char*a,char*b)

{while(*a==’*’)a++;

while(*b=*a){b++;

a++;

{char*s=”****a*b****”,t[80];

fun(s,t);

puts(t);

A)*****a*bB)a*bC)a*b****D)ab

(36)有以程序

typedefstruct{charname[9];

charsex;

floatscore[2];

}STU;

voidf(STUa)

{STUb={“Zhao”,’m’,85.0,90.0};

inti;

strcpy(a.name,b.name);

a.sex=b.sex;

2;

i++)a.score[i]=b.score[i];

{STUc={“Qian”,’f’,95.0,92.0};

f(c);

printf(“%s,%c,%2.0f,%2.0f\n”,c.name,c.sex,c.score[0],c.score[1]);

A)Qian,f,95,92B)Qian,m,85,90

C)Zhao,f,95,92D)Zhao,m,85,90

(37)有以下程序

{FILE*fp;

inta[10]={1,2,3},i,n;

fp=fopen(“dl.dat”,”w”);

3;

i++)fprintf(fp,”%d”,a[i]);

fprintf(fp,”\n”);

fclose(fp);

fp=fopen(“dl.dat”,”r”);

fscanf(fp,”%d”,&

n);

printf(“%d\n”,n);

A)12300B)123C)1D)321

(38)变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。

若要求将a的高4位取反,低4位不变,所要执行的运算是

A)a^bB)a|bC)a&

bD)a<

<

4

(39)在C语言中,只有在使用时才占用内存单元的变量,其存储类型是

A)auto和registerB)extern和register

C)auto和staticD)static和register

(40)设有定义语句int(*f)(int);

则以下叙述正确的是

A)f是基类型为int的指针变量

B)f是指向函数的指针变量,该函数具有一个int类型的形参

C)f是指向int类型一维数组的指针变量

D)f是函数名,该函数的返回值是基类型为int类型的地址

二、填空题(每空2分,共30分)

请将每一个空的正确答案些在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

(1)测试用例包括输入值集和【1】值集。

(2)深度为5的满二叉树有【2】个叶子结点。

(3)设某循环队列的容量为50,头指针front=5(指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有【3】个元素。

(4)在关系数据库中,用来表示实体之间联系的是【4】。

(5)在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,【5】负责数据的模式定义与数据的物理存取构建。

(6)已有定义:

charc=’‘;

inta=1,b;

(此处c的初值为空格字符),执行b=!

c&

a;

后b的值为【6】。

(7)设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为【7】。

(8)若有定义:

intk;

,以下程序段的输出结果是【8】。

for(k=2;

6;

k++,k++)printf(“##%d”,k);

(9)以下程序段的定义语句中,x[1]的初值是【9】,程序运行后输出的内容是【10】。

#include<

{intx[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;

4;

{p[i]=&

x[2*i+1];

printf(“%d”,p[i][0]);

(10)以下程序的输出结果是【11】。

voidswap(int*a,int*b)

{int*t;

t=a;

a=b;

b=t;

{inti=3,j=5,*p=&

i,*q=&

j;

swap(p,q);

printf(“%d%d\n”,*p,*q);

(11)以下程序的输出结果是【12】。

{inta[5]={2,4,6,8,10},*p;

p=a;

p++;

printf(“%d”,*p);

(12)以下程序的输出结果是【13】。

voidfun(intx)

{if(x/2>

0)fun(x/2);

printf(“%d”,x);

{fun(3);

(13)以下程序中函数fun的功能是:

统计person所指结构体数组中所有性别(sex)为M的记录的个数,存入变量n中,并做为函数值返回。

请填空:

#defineN3

typedefstruct

{intnum;

charnam[10];

}SS;

intfun(SSperson[])

{inti,n=0;

N;

if(【14】==’M’)n++;

returnn;

{SSW[N]={{1,”AA”,’F’},{2,”BB”,’M’},{3,”CC”,’M’}};

intn;

n=fun(W);

printf(“n=%d\n”,n);

(14)以下程序从名为filea.dat的文本文件中逐个读入字符并显示在屏幕上。

charch;

fp=fopen(【15】);

ch=fgetc(fp);

whlie(!

feof(fp)){putchar(ch);

ch=fgetc(fp);

putchar(‘\n’);

fclose(fp);

}

参考答案:

一、选择题

1-10:

CABBADBCDC

11-20:

CCBCBDBBBD

21-30:

DADCADDDAB

31-40:

CCACCABAAB

二、填空题:

1、输出2、16

3、244、关系

5、数据定义语言6、0

7、38、##2##4

9、210、2468

11、3512、4

13、1314、person[i].sex

15、”filea.dat”,”r”

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1