【计算机类职业资格】二级C语言分类模拟题559及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题559及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题559及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言分类模拟题 559及答案解析(总分:61.00,做题时间:90 分钟)一、选择题(总题数:40,分数:61.00)1.以下 4个选项中,不能看作一条语句的是(分数:1.00)A.;B.a=5,b=2.5,c=3.6;C.if(a5);D.if(b!=5)x=2;y=6;2.已知 int类型的变量占 4个字节,现有以下程序段: #include stdio.h main() int a=1,2,3,4,5; printf(“% d“, sizeof(a); 则程序段的输出结果是_。(分数:2.50)A.5B.10C.15D.203.线性表 L=(a1,a2,a3,ai,an),下列说
2、法正确的是(分数:2.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件4.下面是有关 C语言字符数组的描述,其中错误的是_。(分数:1.00)A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组中的内容不一定是字符串D.字符数组只能存放字符串5.以下叙述中正确的是_。(分数:4.00)A.构成 C程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main函数必须放在其他函数之前D.所有被调用
3、的函数一定要在调用之前进行定义6.下面结构体的定义语句中,错误的是_。(分数:1.00)A.struet ord int x; int y; int z; struct ord a;B.struet ord int x; int y; int z; struct ord a;C.stmct ord int x; int y; int z;a;D.struct int x; int y; int z; a;7.有三个关系 R、S 和 T如下: R A B C a 1 2 b 2 1 c 3 1 S A B C d 3 2 c 3 1 T A B C a 1 2 b 2 1 则由关系 R和 S得到
4、关系 T的操作是_。(分数:1.00)A.选择B差C交D并8.若有定义语句: int a=3,b=2,c=1; 以下选项中错误的赋值表达式是_。(分数:1.00)A.a=(b=4)+c;B.a=b=c+1;C.a=(b=4)=3;D.a=1+(b=c=4);9.以下程序的输出结果是_。 #include stdio.h main() int i; for(i=1; i=5; i+) if(i% 2) putchar(“); else continue; putchar (“); putchar (“#“); (分数:2.50)A. #B. #C. #D. #10.下面对软件特点描述错误的是_。
5、(分数:1.00)A.软件没有明显的制作过程B.软件是一种逻辑实体,不是物理实体,具有抽象性C.软件的开发、运行对计算机系统具有依赖性D.软件在使用中存在磨损、老化问题11.若输入 ab,程序运行结果为_。 main() static char a2; scanf(“%s“,a); printf(“%c,%c“,a1,a2); (分数:1.00)A.a,bBa,Cb,D.程序出错12.对长度为 n的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2的排序方法是_。(分数:1.00)A.快速排序B.冒泡排序C.直接插入排序D.堆排序13.C语言主要是借助_来实现程序模块化。(分数:1.00
6、)A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型14.软件调试的目的是_。(分数:1.00)A.发现错误B.更正错误C.改善软件性能D.验证软件的正确性15.有以下程序: # include stdio.h void fun(int*s) static int j=0; dosj=sj+sj+1;while(+j2); main() int k.a10=1,2,3,4,5; for(k=1;k3;k+) fun(a); for(k=0; k5;k+)pfintf(“%d“,ak); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.12345
7、B.23445C.34756D.3574516.以下程序中函数 f的功能是:当 flag为 1时,进行由小到大排序;当 flag为 0时,进行由大到小排序。 #include stdio.h void f(int b,int n,int flag) int i,j,t; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(flag?bibj:bibj) t=bi;bi=bj;bj=t; main() int a10=5,4,3,2,1,6,7,8,9,10,i; f( f(a,5,1); for(i=0;i10;i+) printf(“%d,“,ai); 程序运行后的输出
8、结果是_。(分数:1.00)A.1,2,3,4,5,6,7,8,9,10,B.3,4,5,6,7,2,1,8,9,10,C.5,4,3,2,1,6,7,8,9,10,D.10,9,8,7,6,5,4,3,2,1,17.有以下程序: main() int a=0, b=0; a=10; /*给 a赋值 b=20; 给 b赋值 */ printf(“a+b=%d/n“, a+b); /输出计算机结果 程序运行后的输出结果是_。(分数:2.50)A.a+b=10B.a+b=30C.30D.出错18.有以下程序: matin() char * s=“one“, “two“, “three“, *p;
9、p=s1; printf(“% c, % s/n“, *(p+1),so); 执行后的输出结果是_。(分数:2.00)A.n, twoB.t, oneC.w, oneD.o, two19.若有以下程序 #includestdio.h typedef struct stu char name10, gender; int score; STU; void f(STU a, STU b) b=a; printf(“%s, %c, %d,“, b.name, b.gender, b.score); main() STU a=“Zhao“, “m“, 290, b=“Qian“, “f“, 350;
10、f(a, b); printf(“%s, %c, %d/n“, b.name, b.gender, b.score); 则程序的输出结果是_。(分数:2.00)A.Zhao, m, 290, Qian, f, 350B.Zhao, m, 290, Zhao, m, 290C.Qian, f, 350, Qian, f, 350D.Zhao, m, 290, Zhao, d, 35020.关于“while(条件表达式)循环体”,以下叙述正确的是_。(分数:2.50)A.条件表达式的执行次数总是比循环体的执行次数多一次B.循环体的执行次数总是比条件表达式的执行次数多一次C.条件表达式的执行次数与循
11、环体的执行次数一样D.条件表达式的执行次数与循环体的执行次数无关21.有如下定义: struct int num; char name10; struct inf y; int m; int d; birth; s,* ps= 以下对内嵌结构体成员的引用形式错误的是_。(分数:1.00)A.ps.birth.yB.birth.yC.ps-birth.yD.(*ps).birth.y22.下列函数的功能是_。 void fun(char*a,char*b) while(*b=*a)!=“/0“) a+;b+; (分数:1.00)A.检查 a和 b所指字符串中是否有“/0“B.使指针 b指向 a所
12、指字符串C.将 a所指字符串和 b所指字符串进行比较D.将 a所指字符串赋给 b所指空间23.设有定义: char s81;int i=0; 以下不能将一行(不超过 80个字符)带有空格的字符串正确读入的语句或语句组是_。(分数:2.00)A.scanf(“%s“,s);B.while(si+=getchar()!=“/n“);si=“/0“;C.gets(s);D.doscanf(“%c“,si);while(si+!=“/n“);si=“/0“;24.程序中已构成如下图所示的不带头结点的单向链表结构,指针变量 s、p、q 均已正确定义,并用于指向链表结点,指针变量 s总是作为头指针指向链表
13、的第一个结点。 (分数:2.00)A.删除首结点B.尾结点成为首结点C.首结点成为尾结点D.删除尾结点25.支持子程序调用的数据结构是_。(分数:2.00)A栈B树C.队列D.二叉树26.有如下程序: #includestdio.h int sub(double a,double b) return(int)(a-b); main_ printf(“%d/n“,sub(3.8,2.1); 程序运行后的输出结果是_。(分数:1.00)A.2.0B.1.7C.2D.127.C语言编译程序的功能是(分数:2.00)A.执行一个 C语言编写的源程序B.把 C源程序翻译成 ASCII码C.把 C源程序翻
14、译成机器代码D.把 C源程序与系统提供的库函数组合成一个二进制执行文件28.以下不能定义为用户标识符的是_。(分数:1.00)A.scanfB.VoidC._3comD.int29.在软件生产过程中,需求信息的来源是 _ 。(分数:2.00)A.程序员B.项目经理C.设计人员D.软件用户30.在 C中,可以作为用户标识符的是_。(分数:1.00)A.void define WORDB.as_b3 _224 ElseC.Switch -wer caseD.4b DO SIG31.设有定义语句:char a=“/72“;,则变量 a_。(分数:2.50)A.包含 1个字符B.包含 2个字符C.包含
15、 3个字符D.定义不合法32.有如下程序: #includestdio.h struct pair int first,second; ; struct pair get_min_max(int* array,int len) int i; struct pair res; res.first=array0; res.second=array0; for(i=1;ilen;i+) if (arrayires.first) res.first=arrayi; if (arrayires.second) res.second=arrayi; return res; main() int array
16、6=19,21,3,4; struct pair min_max=get_min_max(array,6); printf(“rain=%d,max=%d/n“,min_max.first,min_max.second); 程序运行后的输出结果是_。(分数:1.00)A.min=0,max=6B.min=1,max=20C.min=1,max=19D.min=0,max=2133.软件调试的目的是_。(分数:1.00)A.发现错误B.更正错误C.改善软件性能D.验证软件的正确性34.若变量 x、y 已正确定义并赋值,以下符合 C语言语法的表达式是_。(分数:1.00)A.x+1=yB.+x,y
17、=x-C.x=x+10=x+yD.double(x)/1035.以下叙述中正确的是_。(分数:1.00)A.在语句 char str=“string!“;中,数组 str的大小等于字符串的长度B.语句 char str10=“string!“;和 char str10=“string!“;并不等价C.对于一维字符数组,不能使用字符串常量来赋初值D.对于字符串常量“string!“,系统已自动在最后加入了“/0“字符,表示串结尾36.有以下程序 #includestdio.h void fun(int a, int n) int i, t; for(i=0; in/2; i+)t=ai; ai=
18、an-1-i; an-1-i=t; main() int k10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i; fun(k, 5); for(i=2; i8; i+)printf(“%d“, ki); printf(“/n“); 程序的运行结果是_。(分数:2.00)A.345678B.876543C.1098765D.32167837.有以下程序: #includestdio.h main() int a=1,b=2,c=3; char flag; flag=b=2 switch(a) case 1:switch(flag) case 0: printf(“*“);br
19、eak; case 1: printf(“%“);break; case 0: switch(c) case 1: printf(“$“);break; case 2: printf(“break; default: printf(“#“); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.*$B.%#C.%c=3;,以下语句中与之等价的是_。(分数:2.50)A.if(a=1)b=2;c=3;B.if(a!=1); else b=2;c=3;C.if(a=1)c=3;b=2;D.(a=1)?b=2:a=a;c=3;39.有以下程序 #include stdio.h
20、 int fun(int n if(n=1) return 1; else return(n+fun(n-1); main() int x; scanf(“%d“, x=fun(x); printf(“%d/n“,x); 执行程序时,给变量 x输入 10,程序的输出结果是_。(分数:1.00)A.55B.54C.65D.4540.有以下程序 main() int i; for(i=0;i3;i+) switch(i) case 0: printf(“%d“,i); case 2: printf(“%d“,i); default: printf(“%d“,i); 程序运行后的输出结果是_。(分数
21、:1.00)A.022111B.021021C.000122D.012二级 C语言分类模拟题 559答案解析(总分:61.00,做题时间:90 分钟)一、选择题(总题数:40,分数:61.00)1.以下 4个选项中,不能看作一条语句的是(分数:1.00)A.;B.a=5,b=2.5,c=3.6;C.if(a5);D.if(b!=5)x=2;y=6; 解析:解析 选项 D)为两条语句。2.已知 int类型的变量占 4个字节,现有以下程序段: #include stdio.h main() int a=1,2,3,4,5; printf(“% d“, sizeof(a); 则程序段的输出结果是_。
22、(分数:2.50)A.5B.10C.15D.20 解析:解析 int 类型的数组 a初始化了 5个整数,它隐含地定义了 a数组大小为 5个元素,而一个 int变量占 4个字节,所以程序输出 20。3.线性表 L=(a1,a2,a3,ai,an),下列说法正确的是(分数:2.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件 解析:解析 线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表的定义中,元素的排列并没有规定大小顺
23、序。4.下面是有关 C语言字符数组的描述,其中错误的是_。(分数:1.00)A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组中的内容不一定是字符串D.字符数组只能存放字符串 解析:解析 用来存放字符量的数组称为字符数组。字符数组也可以是二维或多维数组,对一个字符数组,如果不做初始化赋值,则必须说明数组长度,还可用 printf函数和 scanf函数一次性输出/输入一个字符数组中的字符串,而不必使用循环语句逐个地输入/输出每个字符。通常用一个字符数组来存放一个字符串。所以 D选项不正确。5.以下叙述中正确的是_。(分数:4.00)A.构成 C程序的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 559 答案 解析 DOC
