大学计算机二级C语言考试福建省计算机二级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)
《大学计算机二级C语言考试福建省计算机二级c语言模拟卷试题汇总.pdf》由会员分享,可在线阅读,更多相关《大学计算机二级C语言考试福建省计算机二级c语言模拟卷试题汇总.pdf(84页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1 2章福 建 省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 选择题(本大题共4 0 个选项,1】【40】每个选择项1.5分,共 60分)1.下列属于C 语言的 是 lo 1 A)printf(%dn,a)B)#includeC)a=b;b=c;c=a;D)/*This is a program*/2.设有语句intx=2,y=3;,则表达式x=(y=3)的值是22 A)0 B)1 C)2 D)33.C 语言的下列运算符中,优先级最高的运算符是3L3 A)+B)+=C)|D)!=4.已知A 的 ASCH码的十进制值为65,O 的 ASCII码的十
3、进制值为4 8,则以下程序运行结果是4 1main()char chl,ch2;chl=A+5-3;-228-ch2=A+6-3;printf(,%d,%cn,ch 1 ,ch2);)4 A)67,D B)C,D C)C,68 D)67,685.在 C 程序中,设一表达式含有ini、long、unsigned和 char类型的常数和变量,则表达式的最后运算结果是 5 ,这四种类型的转换规律是6 15 A)int B)char C)unsigned D)long6 A)int-unsigned-long-char B)char-int-long-unsignedC)char-int-unsign
4、ed-long D)char-unsigned-long-int6.若 a、b 均为整数且a#b,b#0,则表达式a/b*b+a%b的值是【7】。7 A)a B)bC)a 被 b 除的余数部分 D)a 被 b 除商的整数部分7.下列语句中,符合C 语言语法的赋值语句是【7】。8 A)a=7+b+c=a+7;B)a=7+b+=a+7;C)a=7+b,b+,a+7;D)a=7=b,c=a+7;8.为表示x 2 y 2 z,须用的C 语言表达式为【9】。9 A)(x=y)&(y=z)B)(x=y)AND(y=x)C)x=y=z D)(x=y)&(y=z)9.设 int a,b;,用语句scanf(,
5、d%d”,&b);输入a、b 值时,不能作为输入数据分隔符的是10L10 A)空格 B),1 0.以下程序的运行结果是【11】。main()inta=-l,b=4,k;k=(a+=0)&(!b 5)printf(H%dn,a);else printf(n%dnn,a-);)14 A)7 B)4C)5D)61 4.以下程序运行后,a 的值是【15】。main()int a,b;for(a=1 ,b=2;a=20)break;if(b%3=l)b+=3;continue;b+=5;)15 A)10 B)9C)8D)71 5.以下程序段的运行结果是【16】。int x=3;doprintf(n%3d
6、,x-=2);while(!(x);16 A)1 B)30C)死循环D)1 -21 6.下列程序段中,非死循环的是【17】。17 A)int i=100;B)int k=0;while(l)do i=i%100+1;+k;C)int s=10;while(+s%2+s%2)s+;D)for(;)if(i=100)break;while(k=0);printf(dn,k);1 7.设已定义chars=NameAddress023n;,则字符串所占的字节数是【18】。18 A)19 B)15 C)18 D)141 8.以下程序段的运行结果是【19】。-230-main()int a=2,4,6,8
7、,10,y=l,x;for(x=0;x3;x+)y+=ax+l;printf(n%dnn,y);)19 A)17 B)18 C)19 D)201 9.已定义charc=Fujian”;in ti;,则下列函数调用中错误的是【20】。20 A)printf(n%su,c);B)for(i=0;i8;i+)printf(c”,ci);C)puts(c);D)for(i=0;i8;i+)puts(ci);2 0.已定义charx8;in ti;,为了给该数组赋值,下列语句正确的是【21】。21 A)xL8J=Turbo C;B)x=Turbo C;C)x=Turbo C;D)for(i=0;i AB
8、CD,1234,abed,5678,EFGH;int i;for(i=0;i3;i+)printf(%s,ai);)22 A)Ala B)ABCD1234abcdC)ABC D)ABCD1234abcd5678EFGH2 2.设 inta4=0,0;,则下列描述错误的是:【23】。23 A)数组a 的每个元素都可得到初值0B)二维数组a 的第一维大小为1C)数组a 的行数为1D)只有元素a 和 a 1可得到初值0,其余元素均得不到初值02 3.设有下列语句,则【24】是对a 数组元素的不正确引用,其中0Wi10。int all 0J=0,123,4,5,6,7,8,9,*p=a;24 A)ap
9、-a B)*(&ai)C)pi D)*(*(a+i)2 4.若有以下程序:main char ch=I am student!,*p;p=ch;printf(%xn,p);printf(%xn,p+9);其中有两个printf(),如果第一个printf()运行结果是ffd 6,则第二个printf()运行结果是【25】。C语言程序设计与应用学习指导25 A)ffdf B)ffe8 C)ffd6 D)ffcf2 5.以下程序的运行结果是【26】。main()int i;char aa3=aW/c/d.e/f;char(*p)3=aa;for(i=0;iy?+x:+y;printf(n%d,%d
10、,%dn,x,y,z);|31 A)1,2,3 B)1,3,3 C)2,3,3 D)2,2,33 1.若有以下程序段,则 z 的二进制值是【32】。int x=3,y=2,z;z=xAy2;32 A)0000000000001011 B)0000000000000100C)0000000011110100 D)00000000000000013 2.以下程序段的运行结果是【331main()int i=4,j;j=i;pic(i+2*j-2;*);C语言程序设计与应用学习指导putchar(n);for(j-=2;j=0;j-)pic(3-j,);pic(i+2*j,putcharCVn1);
11、)pic(int len,char c)(int k;for(k=l;k=len;k+)putchar(c);i33 A)*B)*c)*D)*3 3.指出以下程序所指处的运行结果。void fl(int x,int y,int*sum)*sum=x+y;+x;+y;)void f2(int a,int b,int*product)*product=a*b;a+=b;b-=a;)main()int a=10,b=20,c=100,(*f)();仁fl;(*f)(a,b,&c);printf(%d,%d,%dn,a,b,c);/*运行结果是【3 4*/f=f2;(*f)(a,b,&c);print
12、f(%d,%d,%dn,a,b,c);/*运行结果是35*/-234-34 A)11,21,100 B)11,21,30 C)10,20,30 D)11,21,3335 A)30,-10,300 B)30,-10,200 C)33,-12,231 D)10,20,2003 4.以下程序中的循环执行了【36】次。#define N 2#define M N+l#define NUM(M+l)*M/2main()int i,n=0;for(i=0;iNUM;i+)n+;printf(n%dnn,n);36 A)5 B)6 C)8 D)93 5.编译预处理命令以 3 7 结尾。37 A);B),C)
13、0 D)回车键3 6.若定义如下结构,则能打印出字母M 的语句是【38】。struct person char name9;int age;struct person class10=,Wujun,20,Liudan,23,Maling,21,zhangming,22;38 A)printf(%cn,class3.name);B)printf(%cnu,class2.name0);C)printf(u%cn,class2.namel);D)printf(n%cn,class3.name 1 );3 7.以下程序段的运行结果是【39】。enum weekday aa,bb=2,cc,dd,ee
14、week=ee;printf(%dnH,week);39 A)ee B)5 C)2 D)43 8.以下程序的功能是【40】。#include main()FILE*fp;long int n;fp=fopen(wj.txt,rbM);fseek(fp,O,SEEK_END);n=ftell(fp);C语言程序设计与应用学习指导fclose(fp);printf(n%ld;n);)40 A)计算文件wj.txt的起始地址 B)计算文件wj.txt的终止地址C)计算文件wj.txt的长度 D)将文件指针定位到文件末尾12.2.2填空题(本大题共20个空,每个空2 分,共 40分。请将答案写在答题卡
15、对应栏中,答在试卷上不得分)1.以下程序的运行结果是1Lmain()(float a=365.7189;int b=12,c;c=(int)a+b;printf(a=%.2f,b=%d,c=%dn,a,b,c);)2.堆栈是一种先进后出的数据结构。以下程序模拟堆栈。#define N 10main()(int aN;int i,*p=a;while(pa)printf(M%d;3 );/*出栈*/)3.将指定的字符串用冒泡排序法从大到小排序。main。char*str=Visual Foxpro1,4 ;int n,i;n=5 ;while(n 1)for(i=0;in;i+)if(stris
16、tri+l)temp=stri;stri=stri+l;stri+l=temp;printf(%snn,str);-236-4.以下程序的功能是将用户运行程序时键入的参数作为字符串连接起来。#include main(int argc,char*argv)int i;for(i=1 ;iargc-l;i+)strcat(argvfl,6);printf(H%sn,argv 1 );)5.以下程序的运行结果是7 1#define PR(ar)printf(%dM,ar)main()(intj,a=1,3,5,7,9,11,15),*p=a;fbr(j=3,j;j-)(switch(j)(case
17、 1 :case 2:PR(*p+);break;case 3:PR(*p);6.以下程序实现从10个数中找出最大值和最小值。int max,min;find_max_min(int*p,inl n)(int*q;max=min=*p;for(q=p;q*q)min=*q;)main()int i,num10;C语言程序设计与应用学习指导printf(Input 10 numbers:);for(i=0;i 10;i+)scanf(H%dM,&numi);find_max_min(10,10);printf(,max=%d,num=%dn,max,min);)7.以下程序是将1 到 9 这 9
18、 个数字分成三个3 位数,要求第一个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,1 1)printf(%d,%d,%dn,m,2*m,3*m);)ok(int t,int*z)/*分解t,存入z 指向的三个数组元素,若满足,要求返回1*/(int*p,*p2;for(p 1 =z;p 1 z+3;p 1+)(*pl=t%10
19、;/*分解整数 m*/t=1 2;for(p2=a;p2pl;p2+)/*查询分解出的数字是否重复*/if(*pl=0|1 3 )return 0;1 4;)8.以下程序的运行结果是如下矩阵。矩阵中的每个元素的形成规律是:正对角线和其对角线以上的元素其值为1,其他元素值为:行下标-列下标+1。111112 111132111432 115 4 3 2 1-238-main()int i,j,a55;for(i=0;i=4;i+)for(j=0;j5;j+)if(15)aij=l;else 16;for(i=0;i5;i+)(for(j=0;j5;j+)printfC%2d,;aiJj);pri
20、ntf(un);I9.以下程序通过指针连接两个字符串。char scat(char*strl,char*str2)/*函数返回指向 strl 指针*/(char*p=strl;while(*p!=17)p+;while(*p+=18);/*将 str2 连接到 strl 的后面*/return strl;)main()(char a50,b30;printf(uEnter string I:1);scanf(%s,a);printf(Enter string 2:);scanf(%s,b);printf(ua+b=%snu,scat(a,b);)10.以下程序用来统计已建好的单向链表中结点的个
21、数。其 中 head指向链表首结点,count用来统计结点个数。struct node(char data;struct node*next;main()C语言程序设计与应用学习指导struct node*p,*head;int count=0;p=head;while(p!=1 9)(count+;p=2 0;)printf(%dn,count);)12.2.3参考答案与分析1.选 择题:(每 题 1.5分)11 C分析:C 语 言 的 语 句 以 结 束,所以只有答案C 是对的。2 B分析:y=3是关系运算符,其值或1或 0,此题为1。3 A分析:参 见 C 语言程序设计与应用教程附录E。
22、4 A分析:C 语言中的字符是以ASCII码值存放在内存中的。5 D分析:C 语言的规定,参 见 C 语言程序设计与应用教程图 2.6。6 C分析:C 语言的规定,同5。7 A分析:设 c=a/b,则 a%b为 a v*b,代入原式c*b+a-c*b,结果为a。8 C分析:赋值语句的左端应为变量,因此答案A、B 都是错误的。答案C、D 是逗号表达式,其计算原则是从左至右,而 D 中是将b 赋给常量7,是错误的。答案C 是正确的。9 A分析:C 语言语法规定。10 B分析:C 语言语法规定,按其输入格式从键盘输入数据时,只能以空格、回车及Tab间隔各数据项。11 C-240-分析:在逻辑“与”表
23、达式中,a 经 a+运算后为0,而 a+的值仍为-1,b 经 b-运算后为 3,致使与逻辑表达式的两端均为非零值,所以k为 1。1 2 B分析:x 的初值为八进制数,其二进制为0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1,计算各位1 对应的十进制数,相加即得。1 3 C分析:si z e o f是一个运算符,它用来计算括号内的数据类型在内存中所占据的字节数。1 4 D分析:见第3章参考答案3.2。1 5 D分析:本题与第3章的3.1 1 相似,但在本题中,循环一开始,b+=5 语句被执行,b的初值从2开始,b 值的变化为2、7、1 0、1 3、1 6、1 9、2 2,所以a的
24、值为7。1 6 D分析:所用的是d o-wh i l e 循环,第一次输出x 的值为1,而-x 表达式值为0,经非运算后 为 1;第二次输出x 的值为-2,再经-x,其表达式为非0值,再非运算为0,退出循环。1 7 A分析:答案D中无循环条件与循环变量增量,明显是死循环,答案B、C中循环变量一直使循环条件成立,也属无限循环情况。而答案A中虽循环条件是永真值,但 有 i f语句,当i 增加到一定值时,退出循环。1 8 B分析:注意转义字符的使用,其中V 、0 2 3 、均为一个字符。1 9 C分析:整型变量y是求a 数组中0元素之后的3个元素之和再加1,即 1+4+6+8 的值。2 0 D分析:
25、函数p uts是用来输出字符串的,而不能用于输出字符。2 1 D分析:数组名是地址常量,不能再被赋值,而字符数组元素又不能用来存放字符串,只能存放字符,所以答案A、B、C都是错的,只有答案D是正确的。2 2 B分析:对于二维数组,其元素为一维数组,它表示行地址,根据行地址可输出该行的字符串。【2 3】D分析:根据二维数组初始化的含义,若 有 i n t a 4 h 0,0 ;,则表示其元素a 0 0=0,a 0 l=0 o 2 4 D分析:对一维数组的引用可用下标法与指针法,答案A、B、C是下标法。a l p-a 在本题C语言程序设计与应用学习指导表示a 0 元素,*(&a i)展开后为a i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学计算机 二级 语言 考试 福建省 计算机 模拟 试题 汇总
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内