2022年重庆市计算机C语言二级考试试题及答案 .pdf
《2022年重庆市计算机C语言二级考试试题及答案 .pdf》由会员分享,可在线阅读,更多相关《2022年重庆市计算机C语言二级考试试题及答案 .pdf(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、我不怕死,也不求死。C 语言笔试试题第 1 页 共 22 页二级 C语言笔试试卷 (A)2007 年一月一、单项选择题。(每小题分, 共 20 分)1在 C程序的函数调用时,主调函数中的实参和被调函数中的形参() 。(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+)
2、;的循环次数是()(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、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
3、); 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,y=5; x=y+; printf(%d,x); (A)3 (B) 4 (C) 5 (D) 610在 C语言中,函数默认的存储类型为() 。(A) auto (B) register(C)st
4、atic (D) extern 11有定义: float y,*p=&y;,假定变量y 在内存中所占地址为100103。 那么p 的值为() 。(A) 100 (B) 101 (C) 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( ) i
5、nt a; printf(%dn,(a=3*5,a*4,a); (A)65 (B)20 (C)15 (D)1015若有定义int a,b,x;且变量都已正确赋值,下面选项中合法的if语句是() 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 22 页 - - - - - - - - - 我不怕死,也不求死。C 语言笔试试题第 2 页 共 22 页(A)if(a=b) x+; (B)if(a=b) x+; (C)if(ab) x+; (D)if(a=b) x+;16执行下
6、面的程序后,变量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) 数组的大小是固定的,但可以有不同类型的数组元素(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语言编写的程序可以用函数调用的形式来实现输入、输出,这些函数由提供。5 C标准库函数rewind 的作用是。备选项:(A) 主函数(B) 函数体(C) 函数首部(D) 用户自定义函数(E) 终止(F) 使读写指针指向文件的开头(G) 标准 I/O库/ 系统(H)
9、 连接程序(J) 判断文件指针是否指向文件末尾三、程序填空题。 (每空 2 分,共 20 分) 。1. 下面程序的功能是从键盘上输入一行字符,将其中的小写字母转换为大写字母后输出。请填空完善程序。#include void main() 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;
10、if( =NULL) printf(Cant open this file!n); return; for(i=0;i10;i+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 22 页 - - - - - - - - - 我不怕死,也不求死。C 语言笔试试题第 3 页 共 22 页 if(feof(fp) break; c=fgetc(fp); putchar(c); fclose(fp); 3. 下面程序的功能是输出数组中的各字符串,请填空完成程序。 #includ
11、e 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的内容颠倒过来并输出,请填空完善程序。#include void main() char str=abcdefg,*p1,*p2,ch; p1=p2=str; while(*p2!=0)
12、 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;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(&
13、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下面程序的输出结果是() 。#include int func(int,int); void main() int k=4,m=1,p; p=func(k,m); printf(%d,p); p=func(
14、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下面程序的输出结果是() 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 22 页 - - - - - - - - - 我不怕死,也不求死。C 语言笔试试题第 4 页 共 22 页#include void main() int a10=1,2,3,4,5,6,7,8,9,10,k,s,i;
15、 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=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);
16、 6. 下列程序的输出结果是() 。#include unsigned f(unsigned num) unsigned k=1; do k*=num%10; 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
17、 #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+cba=1333) ,编程序求出3 个数字 a、b 和 c。二级 C语言笔试试卷 (A) 2007 年 2 注意事项: 1. 一题为客观题,请将答案涂在机读答题卡上 2.请将二、三、四、五题的答案做在答题纸上一. 单项选择题。 (每小题 1 分,共 20 分)1. 一个 C 程序的执行是从() 。(A
18、)本程序的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) 宏 替 换 只 是 字 符 串 替 换 ;(D)宏替换是在运行时进行的4. 在 标
19、 准 库 函 数 的 调 用 形 式“ fread(buffer,size,count,fp);”中,参数 buffer代表的是() 。(A)一个整型变量,代表要读入的数据总数(B)一个文件指针,指向要读的文件(C)一个指针,指向读入数据存放的首地址名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 22 页 - - - - - - - - - 我不怕死,也不求死。C 语言笔试试题第 5 页 共 22 页( D)一个存储区,存放要读的数据项5. 位运算中,操作数每左移一位,在
20、没有溢出的情况下其结果相当于() 。(A)操作数乘以2 (B) 操作数除以2 (C) 操作数除以4 (D) 操作数乘以4 6. 下面程序运行后, 变量 m 的值为 () 。 #include void main() int m, n, k; m=(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)有语法错误不能
21、通过编译( B)输出: * ( C)可以通过编译, 但不能通过连接,因而不能运行( D)输出: # 8. 已有定义int k=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 节点前的链表末尾) ;a b c p q 不能实现将q 所指节点插入到链表末尾的一组语句是() 。(A) qnext = NUL
22、L; p= pnext; pnext=q;(B)p=pnext;q next=p next; p next=q;( C ) p= p next;q next=p; pnext=q;( D ) p= (*p).next; (*q).next = (*p).next; (*p).next = q; 10. 有定义int a=3,b=4,c=5;执行完表达式a+-b&b+c-&+c后,a,b,c 的值分别为()(A)3 4 5 (B) 4 3 5 (C) 4 4 4 (D) 4 4 5 11. 下列程序的执行结果是() 。 #include union ss short int i; char c2
23、; ; void main () union ss x ; x.c0=10; x.c1=1; printf( %d,x.i); ( A ) 11 (B) 266 (C) 265 (D) 138 12. 若有 C 语言 int i = 10; ,则执行下面程序段后变量i 的值是() 。switch (i) case 9: i+=1; case 10: case 11: 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= =
24、 j; (D) a=b+c=1;14. 下面C 程序运行后变量x 的值是() 。 #include void main() int a,b,c,x; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 22 页 - - - - - - - - - 我不怕死,也不求死。C 语言笔试试题第 6 页 共 22 页a=b=c=0; x=35; if(!a) x-; else if(b) ; if (c) x=3; else x=4; printf ( %dn ,x); ( A ) 3
25、4 (B) 4 (C) 35 (D) 3 15. 设有以下宏定义:#define N 3 #define Y(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,则执行下面语句的结果是() 。printf( %c , D - );( A ) 66 (B) A (C) B (D) E 18. 设 有 以 下 语 句 : int a=3, b=6,c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年重庆市计算机C语言二级考试试题及答案 2022 重庆市 计算机 语言 二级 考试 试题 答案
限制150内