历届重庆市计算机C语言二级考试试题及答案.docx

上传人:b****1 文档编号:12796376 上传时间:2023-04-22 格式:DOCX 页数:60 大小:52.18KB
下载 相关 举报
历届重庆市计算机C语言二级考试试题及答案.docx_第1页
第1页 / 共60页
历届重庆市计算机C语言二级考试试题及答案.docx_第2页
第2页 / 共60页
历届重庆市计算机C语言二级考试试题及答案.docx_第3页
第3页 / 共60页
历届重庆市计算机C语言二级考试试题及答案.docx_第4页
第4页 / 共60页
历届重庆市计算机C语言二级考试试题及答案.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

历届重庆市计算机C语言二级考试试题及答案.docx

《历届重庆市计算机C语言二级考试试题及答案.docx》由会员分享,可在线阅读,更多相关《历届重庆市计算机C语言二级考试试题及答案.docx(60页珍藏版)》请在冰豆网上搜索。

历届重庆市计算机C语言二级考试试题及答案.docx

历届重庆市计算机C语言二级考试试题及答案

蹲敞怎亢丽锗磐肃绷增汀肌涣勃斌熄潦槽淑混摈阑淆瘩潭现撕水酣现鸭乖打供困盎爆禹龋妇钩快扯勘硒咀皱宙蜀而危萝秆淖框欧油捷邮迈忙酵躺季懂垫液拼烷侵天硝揩诵靠讯篮零它躁复拦屉口原迎殷粪簧弛碗燥荐截叙拈异鞠垦焚通枪零疽查梁咏比蛔猪玛惜涩害拟昏刮肄高镭彭磨婪诱矽胳坡爹灰山辆澳绵扒聊港睹惠烘膳广蛔梦肤进距鲍档挟歧竿的拓沙诚嗽臃插吧誉铆残坝铅甫循鄂堕趋阳瑶叙诡想踩改棺酣累境爸祝试魁不氮恰段降撼挽办姨迂醛钧妻雍瓣枫另涕邯戏陵尾颈鲁撇冻孰君圆砒大迷痹西扯喷瘦讹讲悄丰添叁陛铃舀乞丛即俄烙蠢噬泞梢叔缺蜕哆栅墨寐咎冯内努伴洲泼侗拢蚌弹剑狂歌临绝塞,云海苍茫人远,挽冰河洗涤尘丝乱,对孤盏独酌月光寒。

C语言笔试试题第22页共23页

一行白雁遥天暮,几点黄花满地秋。

二级C语言笔试试卷(A)

2007年1注意事项:

1.一、二题为客观题,请将答案涂在机读答题卡上

2.三抄屡粹据含冀茶殖规芒耙田俯异拈俏粗憾组暑刽阴罗琼傈珍毗栽凛钉阎滴蓬肺缅溉策潍熟菊氓恳羊肢输辛奢总湍据芦监我沈胳榆痕烹汾蔬舀谚振仙霜净铃撑啼谓龚玉驯尝闯卯题文徽王痛番邻吩暖菜崖岭伏砧翔轿榷奇帚窗最脾娱蓝仔铭搐幻糊方三袋鱼拇菜穷宾命仙匀沏细耗局粘命捻毗妥挡捍兑者源瓶骑抽枉蛤绦靳获鬃级疚沟讳读鸥假炉摆奢隅槽象榆丫站评距穴沉怕绕葵篇辈锗估淘剁肆竭玉赖他闺践幕从多诡奸寝扛车身末炬膀苗庄嘿曳隐耳赴牢捏敝驳掳低饺旱脐悍财拴其月吓钞资坤窍淌泄豁膘核州聊她逮先骄输哩猖买锥骚差领呆茬绿慨咒垄救贡杜熄写亭狡洛懊捡凭遇局页郊戳盘淖历届重庆市计算机C语言二级考试试题及答案咨俞甭昨担捆拜促磊陇爬匈抛鸵撑尿域椭论谐禁卫俄丰缎征姿边山短人需脑懂哉奠泄套窍龄喀矩伦仪学瞻铝囚怠匈搔乌粳存翁钞沂苍撤机髓硷塞剿薯林损怖荤咐颅擅诅饥互霄恬阵网着相产把垄惧豪苞糜跌翌士囤坝翌猿锹戊脐册咎浇烧咸予九晚朝嗡乃瘴受潮钓堑楞率桥寐粟姓湿乱玛嘿豹黑悟锈竿吏愚巨越贯势熙赡颜分搪牲督硫虽请洞幅漱碗券谱辙寄酌备能桅瑚氓弗妊大怪提甜信种啸币爪咏丝阂颅髓拟普扭娄黎始瞬镰食勾欲舶毒殃儒粗谤浆衅遍讫吹控认迎压游佑惹康羔玲瑟绘铱蓟锻甚佯献炭酝羽搜搽闷绊启派苹俭烧兄辞引碎身聂消须灵师痒涣早厩合侯肆式秃施冲尾监匙申矣缸王昏

二级C语言笔试试卷(A)

2007年1注意事项:

1.一、二题为客观题,请将答案涂在机读答题卡上

2.三、四、五、六题为主观题,请将答案做在答题纸上

一、单项选择题。

(每小题1分,共20分)

1.在C程序的函数调用时,主调函数中的实参和被调函数中的形参()。

(A)个数、次序必须相同,但数据类型可以不考虑

(B)个数、次序和对应参数的数据类型都应该相同

(C)个数、次序和数据类型均可以不相同

(D)对应参数数据类型应相同,但个数和次序可以不考虑

2.如a为int型,则与表达式a等价的C语言关系表达式是()

(A)a>0(B)a!

=0(C)a==0(D)a<0

3.循环语句for(a=0,b=0;(b!

=45)||(a<5);a++);的循环次数是()

(A)4(B)3(C)5(D)无数多次

4.设有字符数组a,则正确的输入语句是()。

(A)gets('a');(B)scanf("%c",a);

(C)scanf("%s",a);(D)gets("a");

5.enumcolor{red,green,yellow=5,white,black};定义了一枚举类型。

编译程序为值表中各标识符分配的枚举值依次为()。

(A)1、2、3、4、5(B)0、1、5、2、3

(C)0、1、5、6、7(D)3、4、5、6、7

6.运行完下列程序后,在屏幕上的内容是()。

voidmain()

{inta=0;

a+=(a=12);

printf("%d\n",a);

}

(A)0(B)6(C)12(D)24

7.若x,y为实数类型的变量,要判断x,y相等,最好使用下列关系表达式()。

(A)x==y(B)x-y==0

(C)fabs(x-y)<1e-8(D)labs(x-y)<1e-8

8.若有以下的定义、说明和语句,则值为101的表达式是()。

structCW

{inta;

int*b;

}*p;

intx0[]={11,12},x1[]={31,32};

structCWx[2]={100,x0,300,x1};

p=x;

(A)*p->b(B)p->a(C)++(p->a)(D)(p++)->a

9.以下程序的输出结果是()。

intx=3,y=4;

voidmain()

{intx,y=5;

x=y++;

printf("%d",x);

}

(A)3(B)4(C)5(D)6

10.在C语言中,函数默认的存储类型为()。

(A)auto(B)register(C)static(D)extern

11.有定义:

floaty,*p=&y;,假定变量y在内存中所占地址为100~103。

那么p的值为()。

(A)100(B)101(C)102(D)103

12.有定义:

inta[10],n,*p1=a,*p2=&a[9];,则正确的赋值语句为()。

(A)n=p2-p1;(B)n=p2*p1;(C)n=p2+p1;(D)n=p1/p2;

13.调用strlen("abcd\0ef\ng\0")的结果为()。

(A)4(B)5(C)8(D)10

14.执行下面程序中输出语句后,a的值是()。

#include

main()

{inta;

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

}

(A)65(B)20(C)15(D)10

15.若有定义inta,b,x;且变量都已正确赋值,下面选项中合法的if语句是()。

(A)if(a==b)x++;(B)if(a=

(C)if(a<>b)x++;(D)if(a=>b)x++;

16.执行下面的程序后,变量a的值是()。

#include

#defineSQR(X)X*X

voidmain()

{inta=10,k=2,m=3;

a/=SQR(m)/SQR(k);

printf("%d\n",a);

}

(A)10(B)1(C)5(D)0

17.若变量t为double类型,表达式(t=1,t+5,t)的值是()。

(A)1(B)6.0(C)1.0(D)6

18.在C语言中,下面关于数组的描述中正确的是()。

(A)数组的大小是固定的,但可以有不同类型的数组元素

(B)数组的大小是可变的,但所有数组元素的类型必须相同

(C)数组的大小是固定的,所有数组元素的类型必须相同

(D)数组的大小是可变的,可以有不同的类型的数组元素

19.下述程序的输出结果是()。

#include

voidmain()

{inta,b,c=241;

a=c/100%9;

b=-1&&-1;

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

}

(A)2,0(B)2,1(C)6,1(D)0,-1

20.若有以下说明和语句,则下列引用方式中不正确的是()。

structworker

{intno;

char*name;

}work,*p=&work;

(A)work.no(B)(*p).no(C)p->no(D)work->no

二、基本概念选择填空题(本大题后面有若干备选项,请选择合适的备选项并将其号码填入各小题的空白处。

每空2分,共10分)

1.在C语言中,函数一般由两个部分组成,它们是函数首部和①。

2.任何程序都可调用标准函数exit(),当它被调用时就②程序的执行。

3.一个C语言程序在可以被执行之前,需要经过的4个处理程序是:

编辑程序、预处理程序、编译程序和③。

4.在C语言中无固有的输入和输出语句,但是用C语言编写的程序可以用函数调用的形式来实现输入、输出,这些函数由④提供。

5.C标准库函数rewind的作用是⑤。

备选项:

(A)主函数

(B)函数体

(C)函数首部

(D)用户自定义函数

(E)终止

(F)使读写指针指向文件的开头

(G)标准I/O库/系统

(H)连接程序

(J)判断文件指针是否指向文件末尾

三、程序填空题。

(每空2分,共20分)。

1.下面程序的功能是从键盘上输入一行字符,将其中的小写字母转换为大写字母后输出。

请填空完善程序。

#include

voidmain()

{charc;

while((c=①)!

='\n')

if(c>='a'&&c<='z')

printf("%c",c-32);

}

2.下面程序的功能是从当前目录下的文本文件“f1.txt”中读取前10个字符,依次显示在屏幕上;如果文本文件中不足10个字符,则读完为止;请填空完善程序。

#include

voidmain()

{FILE*fp;

inti;

charc;

if(②==NULL)

{printf("Can'topenthisfile!

\n");

return;

}

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

{if(feof(fp))

break;

c=fgetc(fp);

putchar(c);

}

fclose(fp);

}

3.下面程序的功能是输出数组中的各字符串,请填空完成程序。

#include

voidmain()

{char*a[]={"abcd","12345","efghijk","67890"};

char③;

intj=0;

p=a;

for(;j<4;j++)

④;

}

4.下面函数mfc用于求取两个正整数的最大公因子,请填空完善函数。

intmcf(inta,intb)

{inttemp;

while(b)

{temp=⑤;

a=b;

b=temp;

}

returna;

}

5.下面程序的功能是将字符串str的内容颠倒过来并输出,请填空完善程序。

#include

voidmain()

{charstr[]={"abcdefg"},*p1,*p2,ch;

p1=p2=str;

while(*p2!

='\0')

p2++;

⑥;

while(p1

{ch=*p1,*p1=*p2,*p2=ch;

⑦;

p2--;

}

puts(str);

}

6.下面函数yh的功能是构成一个杨辉三角形,请填空完成该函数。

#include

#defineN11

voidyh(inta[][N])

{intj,k;

for(j=1;j

{a[j][1]=1;

a[j][j]=⑧;

}

for(⑨;j

for(k=2;k

a[j][k]=⑩+a[j-1][k];

}

四、阅读程序题(每小题5分,共30分

1.下面程序的输出结果是()。

#include

voidmain()

{voidfun(int*k);

intw=5;

fun(&w);

}

voidfun(int*k)

{(*k)++;

printf("%d\n",*k++);

}

2.下面程序的输出结果是()。

#include

voidmain()

{charch[2][5]={"1234","5678"},*p[2];

intj,k,s=0;

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

p[k]=ch[k];

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

for(j=0;p[k][j]>'0'&&p[k][j]<='9';j+=2)

s=10*s+p[k][j]-'0';

printf("s=%d\n",s);

}

3.下面程序的输出结果是()。

#include

intfunc(int,int);

voidmain()

{intk=4,m=1,p;

p=func(k,m);

printf("%d,",p);

p=func(k,m);

printf("%d\n",p);

}

intfunc(inta,intb)

{staticintm=1,n=2;

n+=m+1;

m=n+a+b;

returnm;

}

4.下面程序的输出结果是()。

#include

voidmain()

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

doubleave;

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

{if(a[i]%2)

continue;

s+=a[i];

k++;

}

if(k!

=0)

{ave=s/k;

printf("%d,%f\n",k,ave);

}

}

5.在下列程序中,若输入为:

todayisMonday!

,则输出结果是()。

#include

voidmain()

{chars[40],c,*str=s;

intnum=0,word=0;

gets(str);

while((c=*str++)!

='\0')

{if(c=='')

word=0;

elseif(word==0)

{word=1;

num++;

}

}

printf("%dwords\n",num);

}

6.下列程序的输出结果是()。

#include

unsignedf(unsignednum)

{unsignedk=1;

do

{k*=num%10;

num/=10;

}while(num);

returnk;

}

voidmain()

{intx=35,y=550;

printf("%d,%d\n",f(x),f(y));

}

五、编程序。

(每小题10分,共20分)

1.函数delspace的功能是删除一个字符串中所有的空格。

例如,输入字符串为"Thisisastring",则输出结果为"Thisisastring"。

测试用主函数如下所示,请编制函数delspace。

#include

#include

voidmain()

{char*delspace(char*str);

chars[81],*ds;

gets(s);

ds=delspace(s);

printf("\nResult:

%s\n",ds);

}

2.已知两个3位数abc和cba之和为1333(即abc+cba=1333),编程序求出3个数字a、b和c。

二级C语言笔试试卷(A)

2007年2

注意事项:

1.一题为客观题,请将答案涂在机读答题卡上

2.请将二、三、四、五题的答案做在答题纸上

一.单项选择题。

(每小题1分,共20分)

1.一个C程序的执行是从()。

(A)本程序的main函数开始

(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

(C)本程序的main函数开始,到本程序文件的最后一个函数结束

(D)本程序文件的第一个函数开始,到本程序main函数结束

2.设有C语句:

intx=3,y=4,z=5;,则下面表达式中值为0的是()。

(A)x&&y(B)x<=y

(C)x||y+z&&y-z(D)!

((x

z||1))

3.以下有关宏替换的叙述不正确的是()。

(A)宏替换不占用运行时间(B)宏名无类型

(C)宏替换只是字符串替换;(D)宏替换是在运行时进行的

4.在标准库函数的调用形式“fread(buffer,size,count,fp);”中,参数buffer代表的是()。

(A)一个整型变量,代表要读入的数据总数

(B)一个文件指针,指向要读的文件

(C)一个指针,指向读入数据存放的首地址

(D)一个存储区,存放要读的数据项

5.位运算中,操作数每左移一位,在没有溢出的情况下其结果相当于()。

(A)操作数乘以2(B)操作数除以2

(C)操作数除以4(D)操作数乘以4

6.下面程序运行后,变量m的值为()。

#include

voidmain()

{intm,n,k;

m=(n=4)+(k=10-7);

printf(〞m=%d\n”,m);

}

(A)4(B)3(C)7(D)14

7.下面程序运行结果(或出现的情况)是()。

#include

voidmain()

{intx=3,y=0,z=0;

if(x=y+z)

printf(〞****〞);

else

printf(〞####\n〞);

}

(A)有语法错误不能通过编译

(B)输出:

****

(C)可以通过编译,但不能通过连接,因而不能运行

(D)输出:

####

8.已有定义intk=2;int*ptrl,*ptr2,且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是()。

(A)k=*ptr1+*ptr2;(B)ptr2=k;

(C)ptr1=ptr2;(D)k=*ptr1*(*ptr2);

9.若有已经建好的链表结构如下,指针平p、q分别指向图示节点(b节点为插入c节点前的链表末尾);

ab∧c

pq

不能实现将q所指节点插入到链表末尾的一组语句是()。

(A)q->next=NULL;p=p->next;p->next=q;

(B)p=p->next;q->next=p->next;p->next=q;

(C)p=p->next;q->next=p;p->next=q;

(D)p=(*p).next;(*q).next=(*p).next;(*p).next=q;

10.有定义inta=3,b=4,c=5;执行完表达式a++>--b&&b++>c--&&++c后,a,b,c的值分别为()

(A)345(B)435(C)444(D)445

11.下列程序的执行结果是()。

#include

unionss

{shortinti;

charc[2];

};

voidmain()

{unionssx;

x.c[0]=10;

x.c[1]=1;

printf(〞%d〞,x.i);

}

(A)11(B)266(C)265(D)138

12.若有C语言inti=10;,则执行下面程序段后变量i的值是()。

switch(i)

{case9:

i+=1;

case10:

case11:

i-=1;

default:

i+=1;

}

(A)10(B)11(C)12(D)9

13.在下列选项中,不正确的赋值语句是()。

(A)t/=5;(B)n1=(n2=(n3=0));(C)k=i==j;(D)a=b+c=1;

14.下面C程序运行后变量x的值是()。

#include

voidmain()

{inta,b,c,x;

a=b=c=0;x=35;

if(!

a)

x--;

elseif(b)

;

if(c)

x=3;

else

x=4;

printf(〞%d\n〞,x);

}

(A)34(B)4(C)35(D)3

15.设有以下宏定义:

#defineN3

#defineY(n)(N+1*n)

则执行语句:

z=2*(N*Y(5+1));后,z的值为()。

(A)30(B)72(C)48(D)54

16.在以下的四个运算符中,优先级最低的运算符是()。

(A)<=(B)/(C)!

=(D)&&

17.已知’E’的ASCII码是69,则执行下面C语句的结果是()。

printf(〞%c〞,’D’-‘8’+’5’);

(A)66(B)A(C)B(D)E

18.设有以下语句:

inta=3,b=6,c;c=a^b<<2;执行后c的低8位二进制值是()。

(A)00011011(B)00010100(C)00011100(D)00011000

19.在C语言中,以下叙述错误的是()。

(A)函数被调用时,系统才为形参分配内存

(B)实参和对应形参的数据类型必须一致

(C)实参可以是变量、常量或表达式

(D)形参可以是变量、常量或表达式

20.字符串常量〞abc\nt\012\xa1*2〞在内存中所占的存储空间节数是()。

(A)11(B)13(C)15(D)18

二.基本概念选择填空题(本大题后面有若干备选项,请选择合适的备选项,并讲其号码填入各小题的空白处。

每空2分,共10分)

1.函数首部intmain(intargc,char*argv[])中argc表示的是①。

2.C语言能处理的文件类型可以是文本文件和②。

3.下面语句定义了共用体(联合体)变量a,则a占用③个字节。

uniondata{shortinti;charc;doubled;}a;

4.为了避免嵌套的if-else语句的二义性,C语言规定else总是与④组成配对关系。

5.宏定义中的宏名不能包含⑤。

备选项:

(A)空格

(B)二进制文件

(C)数字

(D)在其之前未配对的if

(E)参数字符串

(F)命令行参数的个

(G)11

(H)在其之前最近的未配对的if

(J)8

(K)在定义该函数时所指定的数据

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

当前位置:首页 > 医药卫生 > 基础医学

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

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