大学计算机二级C语言考试 福建省计算机二级c语言模拟卷试题汇总(共83页).docx

上传人:太** 文档编号:35969887 上传时间:2022-08-24 格式:DOCX 页数:78 大小:240.60KB
返回 下载 相关 举报
大学计算机二级C语言考试 福建省计算机二级c语言模拟卷试题汇总(共83页).docx_第1页
第1页 / 共78页
大学计算机二级C语言考试 福建省计算机二级c语言模拟卷试题汇总(共83页).docx_第2页
第2页 / 共78页
点击查看更多>>
资源描述

《大学计算机二级C语言考试 福建省计算机二级c语言模拟卷试题汇总(共83页).docx》由会员分享,可在线阅读,更多相关《大学计算机二级C语言考试 福建省计算机二级c语言模拟卷试题汇总(共83页).docx(78页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第12福建省C语言等级笔试模拟试卷12.1要点导读 C语言二级等级考试的笔试时间为120分钟,题型有选择题与填空题两种。选择题每 题1.5分,共40题,总分值60分;填空题每空2分,共20空,总分值40分。 C语言笔试的选择题每题提供A、B、C、D四个答案供考生选择,四个答案中只有 一个是正确的,考生需用铅笔在答题卡上对应位置涂黑所选答案的字母。 C语言笔试的填空题答案,考生须清楚地写在答题纸上,每空可能有多种写法,人工 判卷时会正确处理。 考生在完成选择题时,可采用排除法,先否认干扰性小的答案,对相似而又把握不 定的答案,即干扰性强的答案,务必仔细分辨。 对填空题,考生首先要看请题意,在题意

2、的指导下,读懂程序,联系上、下语句, 然后再着手填写。12.2 试卷(1)12.2.1 选择题(本大题共40个选项,1】40每个选择项1.5分,共60分)1 .以下属于C语言的是1L11 A) printf(%dn,a)B) #include C) a=b;b=c;c=a;D) /* This is a program */2 .设有语句intx=2,y=3;,贝1J表达式x=(y=3)的值是2】。2 A) 0B) 1C) 2D) 33. C语言的以下运算符中,优先级最高的运算符是【3】。3 A) +B) +=C) |D)!二4 .A的ASCII码的十进制值为65, O的ASCII码的十进制值

3、为48,那么以下程序运 行结果是4Lmain() char chl,ch2;chl=A+5-3;-228 -)5 .以下程序的功能是将用户运行程序时键入的参数作为字符串连接起来。#include main(int argc,char *argv) inti;for(i= 1 ;iargc-1 ;i+)strcat (argvl, 6);printf(%sn,argvl);)6 .以下程序的运行结果是17】。#define PR(ar) printf(%d,ar)main()(intj, a= 1,3,5,7,9,11,15, *p=a;for(j=3,j;j-)switch(j)(1 ase

4、1 :case 2:PR(*p+);break;case 3:PR(*p);)6 .以下程序实现从10个数中找出最大值和最小值。int max,min;find_max_min(int *p,int n)(int *q;max二min=*p;for(q=p;q*q) min=*q;)main()C语言程序设计与应用学习指导printf(HInput 10 numbers:);for(i=0;i10;i+) scanf(n%dn,&numi);find_max_min( 10 ,10);printf(Hmax=%d,num=%dnn,max,min);7 .以下程序是将1到9这9个数字分成三个3

5、位数,要求第一个3位数正好是第二个3 位数的二倍,是第三个3位数的三倍(重复的数应剔除)。根据题意,只要确定第一个3位数后,再计算另外两个数,而第一个3位数可设置在 (111-333)范围内。int a9;main()(int m;for(m= lll;m=333;m+)if(ok(m,a)&ok(2*m,a+3)&ok(3*m, 11)printf(d,%d,%dn”,m,2*m,3*m);)ok(int t,int *z) /*分解t,存入z指向的三个数组元素,假设满足,要求返回1 */(int *pl,*p2;for(p l=z;pl z+3 ;p 1 +)(*pl=t%10;/* 分解

6、整数 m */t= 12;for(p2=a;p2pl;p2+)/*查询分解出的数字是否重复*/if(*pl=0| 13)return 0;141 ;)8 .以下程序的运行结果是如下矩阵。矩阵中的每个元素的形成规律是:正对角线和其对角线以上的元素其值为1,其他元素值为:行下标-列下标+1。111112 111132111432 1 1 543 2 1-238 -main()int i,j,a55;for(i=0;i=4;i+)for(j=0;j5;j+)if( 151 )aij=l;else 16;for(i=0;i5;i+)(for(j=0;j str的地址),直到n/10为0 (即4/10=

7、0),此时就执行*a=n%10+。由于调用了 convert函数3次,就对应要执行3次, 也即等价于 str2=4%10+0,strl=48%10+0,str0=483%10+0,实际上是 str2=,strl=8, str0=3oC分析:通过main()函数对fun3函数调用两次,第一次调用传递函数的k参数,在fiin3 函数中,a变量定义为静态型的,初值为3,经计算得到5,保持到下次使用;第二次调用fun3 函数时,传递的是m参数,a经计算得到6。28 A分析:调用函数ast时,c、d用地址传递,所以c、d的值可以在被调函数中改变。29 B分析:在三目运算符“?:”中,xy不成立,取+y的

8、值,而+x不需要计算,所以x 为原值1, y为3, z也为3oA分析:求位运算时,要化为二进制形式。x (=3)的二进制数为00000011, y (=2)的二 进制数为00000010,移位运算符“”的优先级高于异或运算符“A”,所以先进行y2 运算,得到00001000,再与x按位异或,得到00001011 (高8位全为0,略去)。【33】D分析:在main函数中屡次调用pic函数,pic函数根据不同的数据,输出不同个数的C 35 D-242-分析:此题是函数指针变量f的应用。假设=口,那么f就指向fl函数的入口地址,而(*。3, b, &c)等价于fl (a, b, &c)函数的调用。假

9、设f=f2,那么f指向f2函数的入口地址,此时(*f)(a, b, &c) 又等价于f2(a, b, &c)函数的调用。36 C分析:在for循环中表达式iNUM进行宏展开为i(M+l)*M/2-(N+l+l)*N+l/2- (2+l+l)*2+l/2-8。37 D分析:C语言规定。38 B分析:M字母在class结构数组的class2.name0中,注意结构成员的表示方法。【39】B分析:枚举中,每个枚举常量可由系统给定,也可由用户设置,但遵守后一枚举常量为 前一枚举常量加1的原那么。bb由用户设定为2, cc为3, dd为4, ee为5。40 C分析:fseek函数是源文件指针移动的函数,

10、fseek(fp, 0, SEEK_END)表示源文件指针从 文件尾移动。个字节,因而文件指针当前是指向文件尾。ftell函数是用来测定该文件指针当 前的位置,也即文件尾位置,所以它表示了文件wj.txt的文件长度。2.填空题:(每题2分,所有答案均区分大小写)a=365.72,b=12,c=377分析:a是实型变量,经(int)a强制转换为整型与b整型变量相加,赋给c整型变量,a 本身仍为实型变量。1 a+N分析:用p指针变量指向a数组,通过p的移动,将数据依次压入数组各元素的地址中, a0的数据先得到,然后依次得到al、a2元素的值,p指针变量一直下移指向最后一 个元素即a9为止。【3】*

11、(-p)分析:p指针指向最后一个元素,利用while循环与输出函数,经-p操作,先输出a9, 然后依次输出a网,a0otemp分析:在程序中有temp变量在使用,因而必须先定义。4 strlen(str)分析:此题是排序题,必须对其所有元素遍历,因此,就需要知道所给字符串的长度。5 argvi+l分析:此题考查带参数的main函数,其参数由命令行输入的字符串决定,argc是输入字 符串的个数(其中第一个字符串必须是该文件名),argv是指针数组,每个元素都是一个输 入的字符串。C语言程序设计与应用学习指导6 103分析:for循环的初值是从3开始的,所以首先执行case3,输出p指针变量指向的

12、首元 素1,但随后该元素值要减1。当j为2时,p指向的仍是首元素,只是其值已变为0;随后 P下移指向al元素。当j为1时,输出al的值3, p指针又要下移指向a,但此时j已为 0,循环结束,所以此题的输出为103。7 p+n分析:max、min变量为全局变量,初值都具有num数组的nun0值(p指针变量指向 num数组),而q指针变量与p都指向num数组,在for循环中,p指针指向不变,而q指针 变量移动,直到后一个数组元素为止,所以,p+n是q的判断条件。8 max*q得到提示。9 num分析:因为形参是p指针变量,所对应的实参必然是数组名或指针变量,而主函数中并 无指针变量,所以就一定是数

13、组名了。10 a+6分析:根据题目要求,每一个数是由3位组成,在第二个数中已看到是a+3,第三个数 必然是a+6。11 t/10分析:因为p指针变量指向a数组,需要将整数m右边的一位数存放在a数组的对应元 素中,所以,t在不断变化,取t/10才能用t%10不断取出右边的一位数。12 *p2=*pl分析:为排出重复出现的数字。13 return 1分析:与13相反,当不是重复数字,那么是所需的数,返回值为真。14 inext分析:让p不断指向下一个结点,它是本结点的结构指针变量next,其成员用-next表Z o12.3 试卷(2)选择题(本大题共40个选项,1】40每个选择项1.5分,共60分

14、)1 .在C语言中,用户能使用的合法标识符是lloA)姓名B) -xyzC) 5iD) For2.执行语句 printf(dn”,strlen(”abcx41n”);的输出结果是【2】。1 A) 5B) 7D) abcx41B) HAnD) 41B)整型、实型、逻辑型D)整型、实型、逻辑型、字符型B) -.123D) -123e-3.0D) abcx41B) HAnD) 41B)整型、实型、逻辑型D)整型、实型、逻辑型、字符型B) -.123D) -123e-3.0C) abcA3.在C语言中,合法的字符常量是3LA)字C) nABCn4. C语言中简单数据类型包括【4】。2 A)整型、实型、

15、字符型C)整型、字符型、逻辑型5.在C语言中,不合法的实型常量是51A) -0.123C) -1.23e-l6.以下关于C语言变量的表达,错误的选项是【6】。6 A)变量名必须由字母或下划线开头B)变量按所定义的类型存放数据C)不同基本类型的变量之间不能混合运算D)变量的类型确定了变量的取值范围7 以下整数值中,不正确的八进制或十六进制数是70A) 0x9aB) 012C) -0x3AD) 0908.以下i、j、k均为整型变量,选项中不正确的C语言赋值语句是L8LA) i+1 = k;B) i = j = k = 1;C) i = j += +k;D) j = i+1 = i+;9.以下程序的

16、运行结果是9Lmain()C语言程序设计与应用学习指导 int a=l, b=2, c;c = a=b?a:b;printf(H%dnn, c);)9 A) 0B) 1C) 2D) 310 设E为表达式,以下与dowhile(E);不等价的语句是【10】。B) do while(E0|Eunsigned-long-char B) char-int-long-unsignedC) char-int-unsigned-long D) char-unsigned-long-int6.假设a、b均为整数且aWb, bWO,那么表达式a/b*b+a%b的值是【7】。5 A) aB) bC) a被b除的余

17、数局部D) a被b除商的整数局部7 列语句中,符合C语言语法的赋值语句是【7】。8 A) a=7+b+c=a+7;B) a=7+b+=a+7;C)回车D)TabC)103D)112C)23D)023B) 一个双精度表达式C)a=7+b,b+,a+7;D)a=7=b,c=a+7;8 表示x、yz,须用的C语言表达式为【9】。9 A)(x=y)&(y=z)B)(x=y)AND(y=x)C)x=y=zD)(x=y)&(y=z)9.设int a,b;,用语句scanf(%d%d,&b);输入a、b值时,不能作为输入数据分隔符的是 【10】。10 A)空格B),10.以下程序的运行结果是【11】。mai

18、n() int a=-l,b=4,k;k=(a+=0)&(!b-=0);printf(n%d%d%dn9k,a,b); )A) 003B) 01211.以下程序的运行结果是【12】。 main() int x=023; printf(n%dx);)A) 35B) 1912. sizeof(double)是【13】。11 A) 一种函数调用14 A) 2, 1,2C) 2,2,2B) 1,2, 1D) 2,2, 115.以下在定义一维数组a的同时,给a数组所有元素赋初值0,正确的语句是【15】。15 A) inta8= 0;C) inta8= ;B) int a8= 0, 0, 0, 0, 0,

19、 0, 0, 0;D) inta8= 0;16.以下对C语言字符数组描述:【16,是正确的。16 A)可以用length函数计算字符数组中字符串的长度B)使用printf函数整体输出字符数组中的字符串时,遇到字符V)结束输出C)可以在赋值语句中通过赋值运算符“二”对字符数组整体赋值D)字符数组只能存放字符串,不能存放字符17 有以下程序:main() int c;while (c=getchar() != n) switch(c-,2,) case 0:case 1 : putchar(c+4);: putchar(c+4); break;case 2 : putchar(c+3);: put

20、char(c+2); break;printf(nnn);)当输入:247回车,程序的输出结果是【17】。17 A) 689C) 66778B) 6689D) 6688718.以下程序的输出结果是【18】。#define SUM(y) 1+ymain() int x=2;printf(H%dnH, SUM(5)*x );18 A) 10B) 11C) 12D) 15B) &D) /B) 20,20D) 20,10C语言程序设计与应用学习指导19.以下程序的输出结果是【19】。main() int i=l, j=3;printf(n%d/ i+); int i=0;i += j*2;) prin

21、tf(n%d,%dn, ij);19 A) 1,6,3,1,3B) 1,6,323C) 1,6,3,6,3D) 1,7,32320.以下运算符中,优先级最高的运算符是【20】。20 A) =C)二21.以下程序的输出结果是【21】。 main() int a=10,b=20;swap(&a, &b);printf(n%d,%dnn9 a, b);)swap(int *p, int *q) int t;t=*p; *p=*q; *q=t;)A) 10,10C) 10,2022.以下程序的输出结果是【22】。main() int a,b;for(a= 1 ,b=l ;a=20) break;if

22、(b%3-l) b+=3;continue; b-=5;printf(n%dnn,a);-248-21 A) 7B) 8C) 9D) 1023.以下不能对二维数组a进行正确初始化的语句是:【23】。23 A) inta32= 0 ;inta2=l,2, 3, 4,5);B) inta32= 1, 2, 3,4, 5, 6 ;inta32= 1, 3,4,5 );24.假设a4= 1, 2, 3, 4, 5, 6, 7, 8, 9 那么a数组第一维的大小是【24】。24 A) 1B) 2C) 3D)无确定值25.以下程序的运行结果是:【25】。main() union u_type int i;

23、double x;float f;);struct str_type char str100;union u_type u2;);printf(n%dnH, sizeof(struct str_type);)25 A) 100B) 116C) 120D) 20026 下对枚举类型进行定义,不正确的选项是【26】。26 A) enum b 1, 2, 3;C) enum c D=3, E, F;27.假设有以下定义和语句,且0WiV4, inti, (*p)3,a3= 1,2, 3, 4,5,6, p = a;27 A) *(*( a+i )+j) c)(*(p+i)U28 下程序的输出结果是【

24、28】。main()B) enum a A, B, C;D) enum d X=0, Y=5, Z=9; 0Wj3,那么不能访问a数组中的元素的是【27】。 7, 8, 9,10,11,12;B) piUlD) pi+jC语言程序设计与应用学习指导 printf( n%dn fac(5);)fac(int n) int s;if(n- 1) return 1;else return n*fac(n-l);)28 A) 120B) 60C) 6D) 129.循环语句循环体中执行continue语句,其作用是【29】。29 A)立即终止程序运行B)继续执行continue语句之后的循环体各语句C)

25、结束本次循环D)结束本次循环,跳出循环30.运行以下程序,输出结果是a=5,b=4,那么输入数据的形式应该是【30】。main() int a, b;scanf(”d,b=%d”,&a, &b);printf(na=%d,b=%dnn,a,b);30 A) 54C) 5b=431.以下程序的输出结果是【31】。main() union example struct int x;int y; in;int a2;e=0,0;e.a0=l; e.al=2;printf(n%d,%dnH,e.in.x,e.in.y);31 A) 2,1C) 1,2B) 5,4D) 5,b=4B) 0,0D) 0,1

26、-250-32.以下程序运行后,输出的结果是【32】。func( int a) static int m=0;m += a;return(m);)main() int k=4, p;p=func(k); printf(%d, p);p=func(k); printf(%dn, p);)32 A) 4,4B) 0,4C) 4,8D) 8,833 .标准函数fgets(s, n, f)的功能是【33】。【33】 A)从文件f中读取长度为n的字符串存入指针s所指的内存B)从文件f中读取长度不超过n-l的字符串存入指针s所指的内存C)从文件f中读取n个字符串存入指针s所指的内存D)从文件f中读取长度为

27、n-l的字符串存入指针s所指的内存34 .以下关于指针概念的表达中,错误的选项是【34】。【34】 A) 一个指针变量只能指向同一类型的变量B)一个变量的地址称为该变量的指针C)两个同类型的指针变量可以作加减运算D)任何指针变量都可以与空指针NULL进行比拟35 .执行以下语句组后,*a、*p、*p的值分别为【35】。int i, a = 0, 1,2, 3,4,*p5;for(i=0; i=0 & chi=l);for0=i-l;j=O;j-) printf(%d,aj); printf(nnn);37 A) 10010C) 0011038 设有以下程序:main() char al80,

28、a280, *sl=al, *s2=a2;gets(sl);gets(s2);if( !strcmp(sl, s2) printf。*);else printf(n#n);printf(H%dnH, strlen(strcat(sl, s2);B)D)0100110100如果从键盘上输入:aver回车,aver空格 v回车 那么输出的结果是【38】。38 A) *8C) #8B)D)#9*939.以下程序运行后,输出的结果是【39】。fun(char *w) char t, *sl, *s2;for(sl=w, s2=w+strlen(sl)-l; slnext) printf(n%7d/ (

29、*p).data);D) while(p !=NULL) printf(”7dj, p-data); p+;40 A) for(; p! =NULL; p+) printf(H%7d/p-data);C) while( p ) printf(n%7d;(*p).data);p 二 p-next;填空题(本大题共20个空,每个空2分,共40分。请将答案写在答题卡对应栏中,答在试 卷上不得分).以下程序从读入的整数数据中统计大于零和小于零整数的个数,用零结束输入。 main() intn, i, j;i=j = 0;scanf(n%d &n);C语言程序设计与应用学习指导while( 1) if(

30、 n 0 ) i+;else 2;scanfC%d &n);)printf(正数的个数为:%d,负数的个数为:%dn, i,j); )1 .以下程序可以把从键盘上输入的十进制数(long型)以二到十六进制的形式输出,请 填空。main() charb16=0,2, 3,4,7,8, 9, A, B, C, D,E, F;int c64, i=0, base;long n;printf(Henter a number:nn);scanf(n%ldn,&n);printf(Henter new base:nM);scanf(n%dn,&base);do ci= 3;i+;n=n/base; while(n!=0);printf( Htransmit new base:nH);for(i; i=0; i) printf(n%cb 4);)2 .以下函数delete(s,i,n)从字

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁