重庆市计算机等级考试C语言二级考试试题及答案.docx
《重庆市计算机等级考试C语言二级考试试题及答案.docx》由会员分享,可在线阅读,更多相关《重庆市计算机等级考试C语言二级考试试题及答案.docx(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目 录二级C语言笔试试卷2007年4月2二级C语言笔试试卷参考答案2007年4月8二级C语言笔试试卷2007年11月9二级C语言笔试试卷参考答案(2007年11月)17二级C语言笔试试卷(2021年4月)19二级C语言笔试试卷参考答案(2021年4月)25二级C语言笔试试卷(2021年11月)27二级C语言笔试试卷参考答案(2021年11月)33二级C语言笔试试卷(A)2007年4月 考前须知:1.一, 二题为客观题,请将答案涂在机读答题卡上 2. 三, 四, 五, 六题为主观题,请将答案做在答题纸上一, 单项选择题。每题分,共20分1在C程序的函数调用时,主调函数中的实参和被调函数中的形参
2、。(A) 个数, 次序必需一样,但数据类型可以不考虑(B) 个数, 次序和对应参数的数据类型都应当一样(C) 个数, 次序和数据类型均可以不一样(D) 对应参数数据类型应一样,但个数和次序可以不考虑2如a为int型,那么及表达式a等价的C语言关系表达式是 (A) a0 (B) a!=0 (C) a=0 (D) a03循环语句for(a=0,b=0;(b!=45)|(a5);a+);的循环次数是 (A) 4 (B) 3 (C) 5 (D) 多数屡次4设有字符数组a,那么正确的输入语句是 。(A) gets(a); (B) scanf(%c,a);(C) scanf(%s,a); (D) gets
3、(a);5. enum colorred,green,yellow=5,white,black;定义了一枚举类型。编译程序为值表中各标识符支配的枚举值依次为 。(A1, 2, 3, 4, 5 (B0, 1, 5, 2, 3 (C0, 1, 5, 6, 7 (D3, 4, 5, 6, 76运行完以下程序后,在屏幕上的内容是 。void main () int a=0; a+=(a=12); printf (%dn,a);(A0 (B6 (C12 (D247假设x,y为实数类型的变量,要推断x,y相等,最好运用以下关系表达式 。(Ax=y (Bx-y=0(C) fabs(x-y)1e-8 (Dla
4、bs(x-y)b (B) p-a (C) +(p-a) (D) (p+)-a9以下程序的输出结果是 。int x=3,y=4;void main( ) int x,y=5; x=y+; printf(%d,x);(A3 (B) 4 (C) 5 (D) 610在C语言中,函数默认的存储类型为 。(A) auto(B) register(C)static (D) extern11有定义:float y,*p=&y;,假定变量y在内存中所占地址为100103。那么p的值为 。(A) 100(B) 101(C) 102(D) 10312. 有定义:int a10, n, *p1=a,*p2=&a9;,
5、那么正确的赋值语句为 。(A) n=p2-p1;(B) n=p2*p1;(C) n=p2+p1; (D) n=p1/p2;13调用strlen(abcd0efng0)的结果为( )。 (A) 4 (B) 5 (C) 8 (D) 1014执行下面程序中输出语句后,a的值是( )。#includemain( )int a;printf(%dn,(a=3*5,a*4,a); (A)65 (B)20 (C)15 (D)1015假设有定义int a,b,x;且变量都已正确赋值,下面选项中合法的if语句是 。(A)if(a=b) x+; (B)if(a=b) x+;(C)if(ab) x+; (D)if(
6、a=b) x+;16执行下面的程序后,变量a的值是 。 #include#define SQR(X) X*Xvoid main() int a=10,k=2,m=3; a/=SQR(m)/SQR(k);printf(%d n,a); (A)10 (B)1 (C)5 (D)017假设变量t为double类型,表达式(t=1,t+5,t)的值是( )。 (A)1 (B)6.0 (C)1.0 (D)618在C语言中,下面关于数组的描述中正确的选项是( )。(A)数组的大小是固定的,但可以有不同类型的数组元素(B)数组的大小是可变的,但全部数组元素的类型必需一样(C)数组的大小是固定的,全部数组元素的
7、类型必需一样(D)数组的大小是可变的,可以有不同的类型的数组元素19下述程序的输出结果是 。#include void main()int a,b,c=241; a=c/100%9; b=-1&-1; printf(%d,%dn,a,b);(A)2,0 (B)2,1 (C)6,1 (D)0,-120.假设有以下说明和语句,那么以下引用方式中不正确的选项是 。 struct worker int no;char *name;work,*p=&work;(A)work.no (B)(*p).no (C)p-no (D)work-no二, 根本概念选择填空题本大题后面有假设干备选项,请选择适宜的备选
8、项并将其号码填入各小题的空白处。每空2分,共10分1在C语言中,函数一般由两个局部组成,它们是函数首部和 。2任何程序都可调用标准函数exit(),当它被调用时就 程序的执行。3一个C语言程序在可以被执行之前,须要经过的4个处理程序是:编辑程序, 预处理程序, 编译程序和 。4在C语言中无固有的输入和输出语句,但是用C语言编写的程序可以用函数调用的形式来实现输入, 输出,这些函数由 供应。5C标准库函数rewind的作用是 。备选项:(A) 主函数(B) 函数体(C) 函数首部(D) 用户自定义函数(E) 终止(F) 使读写指针指向文件的开头(G) 标准I/O库/系统(H) 连接程序(J) 推
9、断文件指针是否指向文件末尾三, 程序填空题。每空2分,共20分。1. 下面程序的功能是从键盘上输入一行字符,将其中的小写字母转换为大写字母后输出。请填空完善程序。#include void main()char c; while(c= )!=n) if(c=a&c=z) printf(%c,c-32);“中读取前10个字符,依次显示在屏幕上;假如文本文件中缺乏10个字符,那么读完为止;请填空完善程序。#include void main()FILE *fp;int i;char c;if( =NULL) printf(Cant open this file!n);return;for(i=0;
10、i10;i+)if(feof(fp)break;c=fgetc(fp);putchar(c);fclose(fp);3. 下面程序的功能是输出数组中的各字符串,请填空完成程序。 #include void main() char *a=abcd,12345,efghijk,67890;char ; int j=0;p=a;for(;j4;j+) ; 4. 下面函数mfc用于求取两个正整数的最大公因子,请填空完善函数。int mcf(int a,int b)int temp;while(b)temp= ; a=b;b=temp;return a;5. 下面程序的功能是将字符串str的内容颠倒过来
11、并输出,请填空完善程序。#include void main()char str=abcdefg,*p1,*p2,ch; p1=p2=str;while(*p2!=0)p2+; ; while(p1p2)ch=*p1,*p1=*p2,*p2=ch; ; p2-;puts(str);6. 下面函数yh的功能是构成一个杨辉三角形,请填空完成该函数。#include #define N 11void yh(int aN)int j,k;for(j=1;jN;j+)aj1=1;ajj= ; for( ;jN;j+)for(k=2;kj;k+)ajk= +aj-1k; 四, 阅读程序题每题5分,共30分
12、1下面程序的输出结果是 。#include void main()void fun(int *k);int w=5;fun(&w);void fun(int *k) (*k)+;printf(%dn,*k+);2下面程序的输出结果是 。#include void main()char ch25=1234,5678,*p2; int j,k,s=0;for(k=0;k2;k+)pk=chk;for(k=0;k0&pkj=9;j+=2)s=10*s+pkj-0;printf(s=%dn,s); 3下面程序的输出结果是 。#includeint func(int,int);void main()in
13、t k=4,m=1,p; p=func(k,m); printf(%d,p); p=func(k,m); printf(%dn,p);int func(int a,int b)static int m=1,n=2; n+=m+1; m=n+a+b; return m;4下面程序的输出结果是 。#include void main()int a10=1,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!=0)ave=s/k;printf(%d,%fn,k,ave);5在以下程
14、序中,假设输入为:today is Monday!,那么输出结果是 。#includevoid main()char s40,c,*str=s;int num=0,word=0; gets(str); while(c=*str+)!=0) if(c= )word=0;else if(word=0)word=1; num+;printf(%d wordsn,num);6. 以下程序的输出结果是 。#includeunsigned f(unsigned num)unsigned k=1; do k*=num%10;num/=10;while(num); return k;void main()in
15、t x=35,y=550;printf(%d,%dn,f(x),f(y);五, 编程序。每题10分,共20分1函数delspace的功能是删除一个字符串中全部的空格。例如,输入字符串为This is a string,那么输出结果为Thisisastring。测试用主函数如下所示,请编制函数delspace。 #include #include void main()char *delspace(char *str);char s81,*ds;gets(s);ds=delspace(s);printf(nResult: %sn, ds);2. 两个3位数abc和cba之和为1333即abc+c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 重庆市 计算机等级考试 语言 二级 考试 试题 答案
限制150内