2022年重庆市计算机等级考试年年C语言二级考试试题及答案 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年重庆市计算机等级考试年年C语言二级考试试题及答案 .pdf》由会员分享,可在线阅读,更多相关《2022年重庆市计算机等级考试年年C语言二级考试试题及答案 .pdf(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录二级 C 语言笔试试卷( 2007 年 4 月) . 1 二级 C 语言笔试试卷参考答案(2007 年 4 月) . 7 二级 C 语言笔试试卷( 2007 年 11月) . 8 二级 C 语言笔试试卷参考答案 (2007 年 11月) . 16 二级 C 语言笔试试卷 (2008 年 4 月) . 18 二级 C 语言笔试试卷参考答案 (2008 年 4 月) . 24 二级 C 语言笔试试卷 (2008 年 11月) . 26 二级 C 语言笔试试卷参考答案 (2008 年 11月) . 32 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
2、 - - - - - 名师精心整理 - - - - - - - 第 1 页,共 34 页 - - - - - - - - - 1 二级 C 语言笔试试卷 (A) 2007 年 4 月注意事项: 1. 一、二题为客观题,请将答案涂在机读答题卡上 2. 三、四、五、六题为主观题,请将答案做在答题纸上一、单项选择题。 (每小题分,共20 分)1在 C程序的函数调用时,主调函数中的实参和被调函数中的形参() 。(A) 个数、次序必须相同,但数据类型可以不考虑(B) 个数、次序和对应参数的数据类型都应该相同(C) 个数、次序和数据类型均可以不相同(D) 对应参数数据类型应相同,但个数和次序可以不考虑2如
3、 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(a);5. enum colorred,green,yellow=5,white,black;定义了一枚举类型。编译程序为值表中各标识符分配的枚举值依次为() 。(A)1、2、3、4、
4、5 (B) 0、1、5、2、3 (C)0、1、5、6、7 (D) 3、4、5、6、76运行完下列程序后,在屏幕上的内容是() 。void main () int a=0; a+=(a=12); printf (%dn,a); (A)0 (B)6 (C)12 (D)247若 x,y 为实数类型的变量,要判断x,y 相等,最好使用下列关系表达式() 。(A)x=y (B) x-y=0 (C) fabs(x-y)1e-8 (D) labs(x-y)b (B) p-a (C) +(p-a) (D) (p+)-a9以下程序的输出结果是() 。int x=3,y=4; void main( ) int x
5、,y=5; x=y+; printf(%d,x); (A)3 (B) 4 (C) 5 (D) 610在 C语言中,函数默认的存储类型为() 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 34 页 - - - - - - - - - 2 (A) auto (B) register (C)static (D) extern 11有定义: float y,*p=&y;,假定变量y 在内存中所占地址为100103。那么 p 的值为() 。(A) 100 (B) 101 (C)
6、 102 (D) 10312. 有定义: int a10, n, *p1=a,*p2=&a9;,则正确的赋值语句为() 。(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 的值是 ( )。#include main( ) int a; printf(%dn,(a=3*5,a*4,a); (A)65 (B)20 (C)15 (D)1015若有定义int a,b,x;且变量都已正确赋值,下面选项中合法的
7、if语句是() 。(A)if(a=b) x+; (B)if(a=b) x+; (C)if(ab) x+; (D)if(a=b) x+;16执行下面的程序后,变量a 的值是() 。#include #define SQR(X) X*X void 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) 数组
8、的大小是固定的,但可以有不同类型的数组元素(B) 数组的大小是可变的,但所有数组元素的类型必须相同(C) 数组的大小是固定的,所有数组元素的类型必须相同(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=&wor
9、k; (A)work.no (B)(*p).no (C)p-no (D)work-no 二、基本概念选择填空题(本大题后面有若干备选项,请选择合适的备选项并将其号码填入各小题的空白处。每空2 分,共 10 分)1在 C语言中,函数一般由两个部分组成,它们是函数首部和。2任何程序都可调用标准函数exit(),当它被调用时就程序的执行。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 34 页 - - - - - - - - - 3 3一个 C语言程序在可以被执行之前,需要经过
10、的4 个处理程序是:编辑程序、预处理程序、编译程序和。4在 C语言中无固有的输入和输出语句,但是用C语言编写的程序可以用函数调用的形式来实现输入、输出,这些函数由提供。5C标准库函数rewind 的作用是。备选项:(A) 主函数(B) 函数体(C) 函数首部(D) 用户自定义函数(E) 终止(F) 使读写指针指向文件的开头(G) 标准 I/O 库/ 系统(H) 连接程序(J) 判断文件指针是否指向文件末尾三、程序填空题。 (每空 2 分,共 20 分) 。1. 下面程序的功能是从键盘上输入一行字符,将其中的小写字母转换为大写字母后输出。请填空完善程序。#include void main()
11、char c; while(c= )!=n) if(c=a&c=z) printf(%c,c-32); 2. 下面程序的功能是从当前目录下的文本文件“f1.txt”中读取前10 个字符,依次显示在屏幕上;如果文本文件中不足10 个字符,则读完为止;请填空完善程序。#include void main() FILE *fp; int i; char c; if( =NULL) printf(Cant open this file!n); return; for(i=0;i10;i+) if(feof(fp) break; c=fgetc(fp); putchar(c); fclose(fp);
12、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) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 34 页 - - - - - - -
13、 - - 4 temp= ; a=b; b=temp; return a; 5. 下面程序的功能是将字符串str的内容颠倒过来并输出,请填空完善程序。#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 11 void yh(int aN) int j,k; for(j=1;jN
14、;j+) aj1=1; ajj= ; for( ;jN;j+) for(k=2;kj;k+) ajk= +aj-1k; 四、阅读程序题(每小题5 分,共 30 分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; 名师资料总结 -
15、- -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 34 页 - - - - - - - - - 5 for(k=0;k0&pkj=9;j+=2) s=10*s+pkj-0; printf(s=%dn,s); 3下面程序的输出结果是() 。#include int func(int,int); void main() int k=4,m=1,p; p=func(k,m); printf(%d,p); p=func(k,m); printf(%dn,p); int func(int a,int
16、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在下列程序中,若输入为:today is Monday!,则输出结果是() 。#include void main() char s40,c,*str
17、=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. 下列程序的输出结果是() 。#include unsigned f(unsigned num) unsigned k=1; do k*=num%10; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 34 页 - - - - -
18、 - - - - 6 num/=10; while(num); return k; void main() int 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
19、); ds=delspace(s); printf(nResult: %sn, ds); 2.已知两个3 位数 abc和 cba 之和为 1333(即 abc+cba=1333) ,编程序求出3 个数字 a、b 和 c。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 34 页 - - - - - - - - - 7 二级 C 语言笔试试卷 (A)参考答案(2007 年 4 月)一、单项选择题。 (每小题分,共20 分)BBDCC DCCCD AAACA BCCBD 二、基
20、本概念选择填空题(每空2 分,共 10 分) B E H G F 三、程序填空题。 (每空 2 分,共 20 分) 。 getchar() (fp=fopen(f1.txt,r) *p puts(pj)或 puts(*(p+j) a%b p2- p1+ 1 j=3 aj-1k-1 四、阅读程序题(每小题5 分,共 30 分)1. 6 2. s=1357 3 9,19 4 5,6.000000 5 3 words 6 15 ,0 五、编程序。 (每小题 10 分,共 20 分)1参考程序及评分标准char *delspace(char *str) char *p=str; /2 分while(*
21、p) if(*p= ) strcpy(p,p+1); else p+; /6 分return str; /2 分2. 参考程序及评分标准/参考程序一#include void main() int n,a,b,c; /2 分for(n=100;n1000;n+) a=n/100; b=n/10%10; c=n%10; if(a*100+b*10+c+c*100+b*10+a=1333) printf(abc is: %d%d%dn,a,b,c); /8 分/参考程序二#include void main() int n,m,a,b,c; /2 分for(a=1;a10;a+) for(b=0;
22、b10;b+) for(c=0;c10;c+) n=a*100+b*10+c; m=c*100+b*10+a; if(n+m=1333) printf(abc is: %d%d%dn,a,b,c); /8 分名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 34 页 - - - - - - - - - 8 二级 C 语言笔试试卷 (A) 2007 年 11 月注意事项: 1. 一题为客观题,请将答案涂在机读答题卡上 2.请将二、三、四、五题的答案做在答题纸上一. 单项选择题
23、。 (每小题 1 分,共 20 分)1. 一个 C 程序的执行是从() 。( A)本程序的main 函数开始( B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束( C)本程序的main 函数开始,到本程序文件的最后一个函数结束( D)本程序文件的第一个函数开始,到本程序main 函数结束2. 设有 C 语句: int x=3, y=4,z=5;, 则下面表达式中值为0 的是() 。( A)x&y (B)x=y (C) x|y+z&y-z (D)!(xy )& !z|1) 3. 以下有关宏替换的叙述不正确的是() 。(A)宏替换不占用运行时间( B )宏名无类型(C)宏替换只是字符
24、串替换;( D )宏替换是在运行时进行的4. 在标准库函数的调用形式“fread(buffer,size,count,fp);”中,参数buffer代表的是() 。( A)一个整型变量,代表要读入的数据总数( B)一个文件指针,指向要读的文件( C)一个指针,指向读入数据存放的首地址( D)一个存储区,存放要读的数据项5. 位运算中,操作数每左移一位,在没有溢出的情况下其结果相当于() 。( A)操作数乘以2 (B) 操作数除以2 (C) 操作数除以4 (D) 操作数乘以4 6. 下面程序运行后,变量m 的值为() 。 #include void main() int m, n, k; m=(
25、n=4)+(k=10-7); printf( m=%dn” ,m); (A)4 (B) 3 (C) 7 (D)14 7. 下面程序运行结果(或出现的情况)是() 。 #include void main() int x=3,y=0,z=0; if (x=y+z) printf( * );else printf( #n); ( A)有语法错误不能通过编译( B)输出: * ( C)可以通过编译,但不能通过连接,因而不能运行名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 34
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年重庆市计算机等级考试年年C语言二级考试试题及答案 2022 重庆市 计算机等级考试 年年 语言 二级 考试 试题 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内