历届重庆市计算机C语言二级考试试题及答案.pdf
《历届重庆市计算机C语言二级考试试题及答案.pdf》由会员分享,可在线阅读,更多相关《历届重庆市计算机C语言二级考试试题及答案.pdf(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、二级c语言笔试试卷(A)2 0 0 7 年 1注意事项:1.一、二题为客观题,请将答案涂在机读答题卡上2.三、四、五、六题为主观题,请将答案做在答题纸上一、单项选择题。(每小题1分,共20分)1 .在 C 程序的函数调用时,主调函数中的实参和被调函数中的形参()o(A)个数、次序必须相同,但数据类型可以不考虑(B)个数、次序和对应参数的数据类型都应该相同(C)个数、次序和数据类型均可以不相同(D)对应参数数据类型应相同,但个数和次序可以不考虑2 .如 a为 i nt型,则与表达式a 等价的C 语言关系表达式是()(A)a 0 (B)a!=0 (C)a=0 (D)a 03.循环语句f o r(a
2、=0,b=0;(b!二 45)|(a 5);a+);的循环次数是()(A)4(B)3(C)5(D)无数多次4.设有字符数组a,则正确的输入语句是()o(A)g e ts(,a );(B)sc a nf (%c ,a);(C)sc a nf (%s,a);(D)g e ts(a);5.e numc o lo r(re d,g re e n,ye llo w=5,wh i te,b la c k;定义了一枚举类型。编译程序为值表中各标识符分配的枚举值依次为()。(A)1、2、3、4、5(B)0、1、5、2、3(C)0、1、5、6、7(D)3、4、5、6、76 .运行完下列程序后,在屏幕上的内容是(
3、)ovo i d ma i n()i nt a=0;a+=(a=1 2);p ri ntf(%d n”,a);(A)0 (B)6 (C)1 2 (D)2 47.若x,y为实数类型的变量,要判断x,y相等,最好使用下列关系表达 式()o(A)x二 二y(B)x-y=0(C)f a b s(x-y)le-8(D)la b s(x-y)bp-a+(p-a)(p+)-a9.以下程序的输出结果是()oi nt x=3,y=4;vo i d ma i n()i nt x,y=5;x=y+;p ri ntf(%d,x);(A)3(B)4(C)5(D)61 0.在C语言中,函数默认的存储类 型 为()o(A)
4、a uto (B)re g i ste r(C)sta ti c(D)e xte rn1 1.有定义:f lo a ty,*p=&y;,假定变量y在内存中所占地址为1 0 0 1 0 3o 那么P的值为()o(A)1 0 0(B)1 0 1(C)1 0 2(D)1 0 31 2.有定义:i nta 1 0,n,*p l=a,*p 2=&a 9;,则正确的赋值语句为()o(A)n=p 2-p l;(B)n=p 2*p l;(C)n=p 2+p l;(D)n=p l/p 2;1 3.调用strle n(a b c d 0 ef ng 0z/)的结果为()。(A)4(B)5(C)8(D)1 01 4
5、.执行下面程序中输出语句后,a的值是()o#i nc lud e ma i n()i nt a;p ri ntf(%d n,(a=3*5,a*4,a);(A)6 5(B)2 0(C)1 5(D)1 01 5.若有定义i nta,b,x;且变量都已正确赋值,下面选项中合法的i f语句是()o(A)i f (a=b)x+;(B)i f (a=b)x+;(C)i f (a O b)x+;(D)i f (a二 b)x+;1 6 .执行下面的程序后,变量a的值是()。#i nc lud e d e f i ne S Q R (X)X*Xvo i d ma i n()i nta=1 0,k=2,m=3;a
6、/=S Q R(m)/S QR(k);p ri ntf(%dn,a);(A)1 0(B)l(C)5(D)01 7 .若变量t为d o ub le类型,表达式(t=l,t+5,t)的值是()o(A)l(B)6.0(C)l.O(D)61 8 .在C语言中,下面关于数组的描述中正确的是()o(A)数组的大小是固定的,但可以有不同类型的数组元素(B)数组的大小是可变的,但所有数组元素的类型必须相同(C)数组的大小是固定的,所有数组元素的类型必须相同(D)数组的大小是可变的,可以有不同的类型的数组元素1 9.下述程序的输出结果是()oi nc lud evo i d ma i n()i nta,b,c=
7、2 41;a=c/1 0 0%9;b=-l&-l;p ri ntf (d,%d n,a,b);)(A)2,0(B)2,1(C)6,1(D)0,-l2 0.若有以下说明和语句,则下列引用方式中不正确的 是()ostruc two rke r i nt no;c h a r*na me;wo rk,*p=&wo rk(A)wo rk,no(B)(*p).no(C)p-no(D)wo rk-no二、基本概念选择填空题(本大题后面有若干备选项,请选择合适的备选项并将其号码填入各小题的空白处。每空2分,共1 0分)1.在C语言中,函数一般由两个部分组成,它们是函数首部和_O2.任何程序都可调用标准函数e
8、x i t(),当它被调用时就 程序的执行。3.一个C语言程序在可以被执行之前,需要经过的4个处理程序是:编辑程序、预处理程序、编译程序和4.在C语言中无固有的输入和输出语句,但是用C语言编写的程序可以用函数调用的形式来实现输入、输出,这些函数由_ _ _ _ _ 提供。5.C标准库函数rew i nd的作用是O备选项:(A)(B (C)主 函)函数数 函 首 部数体(D)(E (F)用 户)使读自 定 终 写 指义 函 止 针 指数 向文(G)(H标 准)I/O 连库/系接统 程序的头断件针否向件尾件开(J判文指是指文末三、程序填空题。(每空2分 共20分)。1 .下面程序的功能是从键盘上输
9、入一行字符,将其中的小写字母转换为大写字母后输出。请填空完善程序。tti ncl u d ev oi d m a i n()cha r c;_)!二,n)i f(c=,a&c二z )p ri ntf(%c,c-32);)2 .下面程序的功能是从当前目录下的文本文件“fl.tx t”中读取前1 0个字符,依次显示在屏幕上;如果文本文件中不足1 0个字符,则读完为止;请填空完善程序。tti ncl u d ev oi d m a i n()F I L E *fp;i nt i;cha r c;i f(_ _ _ _ _ _ _ _ 二 二N U L L)(p ri ntf(C a nt op en
10、 thi sfi l e!n);retu rn;for(i=0;i 1 0;i+)i f(feof(fp)b rea k;c=fgetc(fp);p u tcha r(c);fcl ose(fp);)3.下面程序的功能是输出数组中的各字符串,请填空完成程序。tti ncl u d ev oi d m a i n()cha r*a口=a b cd,1 2 345,efghi jk ,6789 0 ;cha r;i nt j=0;P=a;for(;j 4;j+4.下面函数m fc用于求取两个正整数的最大公因子,请填空完善函数。i nt m cf(i nta,i nt b)i nt tem p;w
11、hi l e(b)tem p=a二 b;b=tem p;retu rn a;5.下面程序的功能是将字符串str的内容颠倒过来并输出,请填空完善程序。i ncl u d ev oi d m a i n()cha rstr =z za b cd efg,*p l,*p 2,chp l=p 2=str;w hi l e(*p 2!=0 )p 2+;_ _ _ _ _ _;w hi l e(p l p 2)(ch=*p l,*p l=*p 2,*p 2=ch;_ _ _ _ _;p 2 ;p u ts(str);6.下面函数y h的功能是构成一个杨辉三角形,请填空完成该函数。tti ncl u d e
12、#d efi ne N 1 1v oi d y h(i nta N )i nt j,k;for(j=l;j N;j+)a j 1 =1;a j j二一_;)for(_ _ _ _ _ _ _;j N;j+)for(k=2;k j;k+)a j k =_ _ _ _ _ _+a j-l k ;)四、阅读程序题(每小题5分,共30分1.下面程序的输出结果是()otti ncl u d ev oi d m a i n()v oi d fu n(i nt*k);i nt w=5;fu n(&w);v oi d fu n(i nt*k)(*k)+;p ri ntf(%d n”,*k+);2.下面程序的输
13、出结果是()otti ncl u d evoid main()charch25=1234”,“5678”,*p2;int j,k,s=O;for(k=0;k2;k+)pk=chk;for(k=0;k,0,&pkj=,9;j+=2)s=10*s+pkj-O;printf(s=%dnn,s);)3.下面程序的输出结果是()o#includeint func(int,int);void main()int k=4,m=l,p;p=func(k,m);printf(n%d;p);p=func(k,m);printf(n%dnn,p);)int func(int a,intb)static intm=l
14、,n=2;n+=m+1;m=n+a+b;return m;)4.下面程序的输出结果是()o#includevoid main()inta10=l,2,3,4,5,6,7,8,9,10,k,s,i;double ave;for(k=s=i=0;i10;i+)if(ai%2)continue;s+=ai;k+;)if(k!=O)ave=s/k;printf(n%d,%fn,k,ave);)5.在下列程序中,若输入为:tod a yi sM o n d a y!,则输出结果是()o#includevoid main()chars40,c,*str=s;intnum=0,word=0;gets(str
15、);while(c=*str+)!=,0,)if(c=)word=0;elseif(word=0)word=1;num+;printf(%dwordsn,num);)6.下列程序的输出结果是()o#includeunsignedf(unsigned num)unsigned k=l;do(k*=num%10;num/=10;while(num);return k;)void main()intx=35,y=550;printf(n%d,%dn,f(x),f(y);五、编程序。(每小 题10分,共20分)1.函数 d e lsp a c e的功能是删除一个字符串中所有的空格。例如,输入字符串为
16、Th i si s a st r i n g”,则输出结果为“Th i si sa st r ing测试用主函数如下所示,请编制函数 d e lsp a c eot t i n c lu d et t i n c lu d ev o i d m a i n ()c h a r*d e lsp a c e(ch a r *st r);c h a rs8 1 ,*d s;g e t s(s);d s=d e lsp a c e(s);p r i n t f(n Re su lt:%sn,d s);2.已知两个3 位数abc和cba之和为1333(即abc+cba=1333),编程序求出3个数字a、
17、b 和Co二级C语言笔试试卷(A)2 0 0 7 年 2注意事项:1.一 题为客观题,请将答案涂在机读答题卡上2.请将二、三、四、五题的答案做在答题纸上单项选择题。(每小题1分,共20分)1.-个 C 程序的执行是从()。(A)本程序的main函数开始(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束2.设有C语句:intx=3,y=4,z=5;,则下面表达式中值为0的 是()o(A)x&y(B)x=y(C)x|y+z&y-z(D)!(xy)&!z|11)3.以
18、下有关宏替换的叙述不正确的 是()o(A)宏替换不占用 运 行 时 间(B)宏名无类型(C)宏替换只是字 符 串 替 换;(D)宏替换是在运行时进行的4.在标准库函数的 调 用 形 式“fread(buffer,size,count,fp);”中,参数buffer代表的是()o(A)一个整型变量,代表要读入的数据总数(B)一个文件指针,指向要读的文件(C)一个指针,指向读入数据存放的首地址(D)一个存储区,存放要读的数据项5.位运算中,操作数每左移一位,在没有溢出的情况下其结果相当于()O(A)操作数乘以2(B)操作数除以2(C)操作数除以4(D)操作数乘以46.下面程序运行后 变 量 m 的
19、值为()o#i n c lu d e v o i d m a i n()i n t m,n,k;m=(n=4)+(k=1 0-7)*p r i n t f(m=%d n,m);)(A )4(B)3(C)7(D)1 47.下面程序运行结果(或出现的情况)是()o#i n c lu d e v o i d m a i n()i n tx=3,y=0,z=0;i f (x=y+z)p r i n t f(*);e lsep r i n t f();)(A)有语法错误不能通过编译(B)输出:*(C)可以通过编译,但不能通过连接,因而不能运行(D)输出:#8.已 有 定 义 intk=2;int*ptr
20、l,*ptr2,且 p trl和 ptr2均已指向变量k,下面不能正确执行的 赋 值 语 句 是()o(A)k=*ptrl+*ptr2;(B)ptr2=k;(C)ptrl=ptr2;(D)k 二*p t r l*(*p t r 2);9.若有已经建好的链表结构如下,指针平P、q 分别指向图示节点(b 节点为插入c 节点前 的 链 表 末尾;abAcPq不能实现将q所指节点插入到链表末尾的一组语句是()。(A)qnext=NULL;p=p next;p next=q;(B)p=p next;q next=p next;p next=q;(C)p=p next;qnext=p;p next=q;(
21、D)p=(*p).next;(*q).next=(*p).next;(*p).next=q;1 0.有 定 义inta=3,b=4,c=5;执行 完 表 达 式a+-b&b+c&+C后,a,b,c的值分别为()(A)345(B)4 3 5(C)4 4 4(D)4 4 51 1.下列程序的执行结果是()o#includeunion ss short int1;charc2;);void main()union ss x;x.c0=10;x.cl=l;printf(v%d,x.i);)(A )11(B)266(C)265(D)13812.若有C语言inti=1 0;,则执行下面程序段后变量i的值是
22、()oswitch(i)case9:i+=l;case10:case11:i-=l;default:i+=l;)(A)10(B)11(C)12(D)91 3.在下列选项中,不正确的赋值语句是()o(A)t/=5;(B)nl=(n2=(n3=0);(C)k=i=j;(D)a=b+c=1 ;1 4.下面C程序运行后变量x的值是()o#i nc lu d e vo i d mai n()inta,b,c,x;a=b=c=O;x=35;if(!a)x-;else if(b)if(c)x=3;elsex=4;printfC%dn,x);)(A)34(B)4(C)35(D)31 5.设有以下宏定义:#de
23、fine N 3#define Y(n)(N+l*n)则 执 行 语 句:z=2*(N*Y(5+1);后,z的值为()o(A )3 0(B)7 2(C)4 8(D)5 41 6.在以下的四个运算符中,优先级最低的运算符是()o(A )=(B)/(C)!=(D)&1 7.已 知 E 的AS CII码是6 9,则执行下面C语句的结果是()op ri ntf(%c ;D 8 +5 );(A )6 6(B)A(C)B(D)E1 8 .设有以下语句:i nt a=3,b=6,c;c=aAb2;执行后c的低8位二进制值 是()o(A)0 0 0 1 1 0 1 1(B)0 0 0 1 0 1 0 0(C)
24、0 0 0 1 1 1 0 0(D)0 0 0 1 1 0 0 01 9 .在C语言中,以下叙述错误的是()。(A)函数被调用时,系统才为形参分配内存(B)实参和对应形参的数据类型必须一致(C)实参可以是变量、常量或表达式(D)形参可以是变量、常量或表达式2 0.字符串常量abcnt012xal*2 在内存中所占的存储空间节数是()o(A)11(B)13(C)15(D)18二.基本概念选择填空题(本大题后面有若干备选项,请选择合适的备选项,并讲其号码填入各小题的空白处。每空2 分,共 10分)1.函 数 首 部 intmain(int argc,char*argv)中 argc 表示 的 是。
25、2.C语言能处理的文件类型可以是文 本 文 件 和。3.下面语句定义了共用体(联合体)变 量a,则a占用 个字节。union data shortint i;char c;double d;a;4.为了避免嵌套的 if-else 语句的二义性,C语言规定else一与 组 成 配 对 关系。5.宏定义中前宏名 不 能 包 含。备选项:(A)空格(B)二 进制 文件(C)数字(D)在其N刖(E)参 数字 符(F)命令行参未配 申数的对的个i f数(G)(H)(J)81 1在 其N刖最 近的 未配 对的i f(K)(L)(M)在下 划程序定线文件义该函数时所指定的数据类型三.程 序 填 空 题(每
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历届 重庆市 计算机 语言 二级 考试 试题 答案
限制150内