【计算机类职业资格】二级C语言分类模拟题550及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题550及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题550及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言分类模拟题 550 及答案解析(总分:58.00,做题时间:90 分钟)一、选择题(总题数:40,分数:58.00)1.有以下程序: # include stdio.h int a=1,b=2; void funl(int a,int b) printf(“%d%d“,a,b); void fun2() a=3;b=4; main() fun1(5,6);fun2(); printf(“%d%d/n“,a,b); 程序运行后的输出结果是_。(分数:1.00)A.1 2 5 6B.5 6 3 4C.5 6 1 2D.3 4 5 62.按照“后进先出”原则组织数据的数据结构是 _ 。
2、(分数:1.00)A.队列B栈C.双向链表D.二叉树3.有以下程序: #include stdio.h main() while(getchar()!=“/n“); 以下叙述中正确的是_。(分数:2.50)A.此 while 语句将无限循环B.getchar()不可以出现在 while 语句的条件表达式中C.当执行此 while 语句时,只有按回车键程序才能继续执行D.当执行此 while 语句时,按任意键程序就能继续执行4.可在 C 程序中用作用户标识符的一组标识符是_。(分数:1.00)A.voiddefineWORDB.as_b3_123IfC.For_abccaseD.2cDOSIG5
3、.设有定义语句“int(*f)(int);”则下列叙述中正确的是_。(分数:2.00)A.f 是基类型为 int 的指针变量B.f 是指向函数的指针变量,该函数具有一个 int 类型的形参C.f 是指向 int 类型一维数组的指针变量D.f 是函数名,该函数的返回值是基类型为 int 类型的地址6.有以下程序: # include stdio.h main() short c=124; c=c_; printf(“%d/n“,c); 若要使程序的运行结果为 248,应在横线处填入的是_。(分数:1.00)A.2B.|248C. 0248D.17.有下列程序: #includestdio.h v
4、oid fun(int a,int n,int flag) int i=0,j,t; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(flag?(aiaj):(aiaj) t=ai;ai=aj;aj=t; main() int c10=7,9,10,8,3,5,1,6,2,4,i; fun(c,10,1); fun(c,8,0); for(i=0;i10;i+) printf(“%d,“,ci); 程序执行后的输出结果是_。(分数:1.00)A.8,7,6,5,4,3,2,1,9,10,B.3,4,5,6,7,8,9,10,2,1,C.9,10,1,2,3,4,5,6
5、,7,8,D.10,9,8,7,6,5,4,3,1,2,8.设变量已正确定义,则以下能正确计算 f=n!的程序是_。(分数:2.50)A.f=0;for(i=1; i=n; i+)f*=i;B.f=1;for(i=1; in; i+)f*=i;C.f=1;for(i=n; i1; i+)f*=i;D.f=1;for(i=n; i=2; i-)f*=i;9.有下列程序: int fun(int x, int n) static int sum=0, i; for(i=0; in; i+) sum+=xi; return sum; main() int a=1, 2, 3, 4, 5, b=6,
6、7, 8, 9, s=0; s=fun(a, 5)+fun(b, 4); printf(“%d/n“, s); 程序执行后的输出结果是_。(分数:1.00)A.45B.50C.60D.5510.C 语言中 double 类型数据占字节数为_。(分数:1.00)A.4B.8C.12D.1611.一个栈的初始状态为空。现将元素 1,2,3,A,B,C 依次入栈,然后再依次出栈,则元素出栈的顺序是_。(分数:1.00)A.1,2,3,A,B,CB.C,B,A,1,2,3C.C,B,A,3,2,1D.1,2,3,C,B,A12.下面描述不属于软件特点的是_。(分数:1.00)A.软件是一种逻辑实体,具
7、有抽象性B.软件在使用中不存在磨损、老化问题C.软件复杂性高D.软件使用不涉及知识产权13.设栈的存储空间为 S(1:m),初始状态为 top=m+1。经过一系列入栈与退栈操作后,top=1。现又要将一个元素进栈,栈顶指针 top 值变为_。(分数:1.00)A.发生栈满的错误B.2CmD.014.算法的空间复杂度是指_。(分数:2.50)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间15.设有以下说明,则不正确的叙述是_。 union un int a; char b; float c; arr;(分数:2.00)A.arr 所占的内存
8、长度等于成员 c 的长度B.arr 的地址和它的各成员的地址都是同一地址C.arr 可以作为函数参数D.不能在定义 arr 时对它初始化16.以下是正确 C 语言实型常量的是_。(分数:1.00)Ae-1B.e-1C.-1eD.1e-117.下面描述中错误的是_。(分数:1.00)A.软件系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具18.有以下程序: #includestdio.h main() int y=9; for(;y0;y-) if(y%3=0) printf(“%d
9、“,-y); 程序的运行结果是_。(分数:2.50)A.852B.963C.741D.87542119.若变量已正确定义,在 if(W)printf(“%d/n“,k);中,以下不可替代 W 的是_。(分数:1.00)A.ab+cB.ch=getchar()C.a=b+cD.a+20.设某棵树的度为 3,其中度为 2,1,0 的节点个数分别为 3,4,15,则该树中总节点数为_。(分数:1.00)A.30B.22C.35D.不可能有这样的树21.串的长度是 _(分数:1.00)A.串中不同字符的个数B.串中不同字母的个数C.串中所含字符的个数且字符个数大于零D.串中所含字符的个数22.以下程序
10、运行后的输出结果是 #includestdio.h main _ int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) ease 0:a+;break; ease 1:b+;break; ease 2:a+;b+;break; case 3:a+:b+: printf(“a=%d,b=%d/n“,a,b); (分数:1.00)A.a=1,b=0B.a=2,b=2C.a=l,b=1D.a=2,b=123.设有定义语句:char a=“/72“;,则变量 a_。(分数:1.00)A.包含 1 个字符B.包含 2 个字符C.包含 3 个字符D.定义不合法2
11、4.已知 char a;int b;float c;double d:则表达式 a-b+c-d 结果为_型。(分数:2.50)A.doubleB.floatC.intD.char25.当 a=3,b=5,c=9,d=7 时,执行下面的程序段后,x 的值为_。 if(ab) if(ed)x=4; else if(ac) if(bd)x=6; else x=8; else x=9; else x=14;(分数:2.50)A.9B.6C.14D.426.下列不合法的用户标识符是_。(分数:2.50)A.j2_KEYB.DoubleC.4dD._8_27.若二维数组 a 有 m 列,则在 aij之前的
12、元素个数为_。(分数:2.50)A.j*m+iB.i*m+jC.i*m+j-1D.i*m+j+128.以下选项中叙述正确的是_。(分数:1.00)A.函数体必须由开始B.C 程序必须由 main 语句开始C.C 程序中的注释可以嵌套D.C 程序中的注释必须在一行完成29.下列叙述中正确的是_。(分数:1.00)A.数据库系统可以解决数据冗余和数据独立性问题,而文件系统不能B.数据库系统能够管理各种类型的文件,而文件系统只能管理程序文件C.数据库系统可以管理庞大的数据量,而文件系统管理的数据量较少D.数据库系统独立性较差,而文件系统独立性较好30.有以下程序: #includestdio.h i
13、nt f(int x) int y; if(x=0|x=1)return(3); y=x*x-f(x-2); return t; main() int z; z=f(3); printf(“%d/n“,z); 程序运行后的输出结果是_。(分数:1.00)A.0B.9C.6D.831.若有定义语句 int b=2;,则表达式(b2)/(3|b)的值是_。(分数:1.00)A.4B.8C.0D.232.若有以下定义: int x10, *pt=x; 则对 x 数组元素的正确引用是_。(分数:2.50)A.pt+3B.*int a10=1,2,3,i,n; fp=fopen(“d1.dat“,“w“
14、); for(i=0;i3;i+) fprintf(fp,“%d“,ai); fprintf(fp,“/n“); fclose(fp); fp=fopen(“d1.dat“,“r“); fscanf(fp,“%d“, felose(fp); printf(“%d/n“,n); 程序的运行结果是_。(分数:1.00)A.123B.12300C.1D.32134.有以下程序: #includestdio.h main() int a=10,20,30,40,*p=a,i; for(i=0;i=3;i+)ai=*p;p+; printf(“%d/n“,a2); 程序运行后的输出结果是_。(分数:1.
15、00)A.10B.20C.30D.4035.有以下程序 #include stdio.h int f(int x); main() int n=1,m; m=f(f(f(n); printf(“%d/n“,m); int f(int x) return x*2; 程序运行后的输出结果是_。(分数:1.00)A.2B.8C.4D.136.以下叙述中正确的是_。(分数:2.00)A.int * p1; int * * p2; int *p3;都是合法的定义指针变量的语句B.指针变量只能通过求地址运算符(与 p=/0;是等价的语句D.语句 p=NULL;执行后,指针 p 指向地址为 0 的存储单元3
16、7.以下叙述中错误的是 _ 。(分数:1.00)A.算法正确的程序最终一定会结束B.算法正确的程序可以有零个输出C.算法正确的程序可以有零个输入D.算法正确的程序对于相同的输入一定有相同的结果38.若有以下程序_。 #includestdio.h main() int*k, *j, i=100; j= k= printf(“%d/n“, *k); 程序的输出结果是_。(分数:2.50)A.运行出错B.100C.j 的地址D.i 的地址39.若有定义语句:“int a=10; double b=3.14;”,则表达式“A“+a+b 值的类型是_。(分数:1.00)A.charB.intC.dot
17、lbleD.float40.设 fp 为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为_。(分数:1.00)A.非 0 值B.“/0“C.0D.NULL二级 C 语言分类模拟题 550 答案解析(总分:58.00,做题时间:90 分钟)一、选择题(总题数:40,分数:58.00)1.有以下程序: # include stdio.h int a=1,b=2; void funl(int a,int b) printf(“%d%d“,a,b); void fun2() a=3;b=4; main() fun1(5,6);fun2(); printf(“%d%d/n“
18、,a,b); 程序运行后的输出结果是_。(分数:1.00)A.1 2 5 6B.5 6 3 4 C.5 6 1 2D.3 4 5 6解析:解析 fun1 是输出局部变量的值,fun2 是把全局变量的值改成 3 和 4,所以输出的结果是 5 6 3 4。2.按照“后进先出”原则组织数据的数据结构是 _ 。(分数:1.00)A.队列B栈 C.双向链表D.二叉树解析:解析 栈只允许在表的一端进行插入或删除操作,是一种“后进先出”线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种“先进先出”线性表。3.有以下程序: #include stdio.h main() while(ge
19、tchar()!=“/n“); 以下叙述中正确的是_。(分数:2.50)A.此 while 语句将无限循环B.getchar()不可以出现在 while 语句的条件表达式中C.当执行此 while 语句时,只有按回车键程序才能继续执行 D.当执行此 while 语句时,按任意键程序就能继续执行解析:解析 根据程序顺序执行的次序,当程序执行到 while 这条语句,根据 while 语句中的结束循环的条件是“输入回车键时,结束循环”,所以当按回车键后,程序才执行 while 语句的下一条语句。4.可在 C 程序中用作用户标识符的一组标识符是_。(分数:1.00)A.voiddefineWORDB
20、.as_b3_123If C.For_abccaseD.2cDOSIG解析:解析 C 语言中用户标识符不能与 c 编译系统已经预定义的、具有特殊用途的保留标识符(即关键字)同名。选项 A,define,void 为关键字;选项 C,for,case 为关键字;选项 D,DO 为关键字。5.设有定义语句“int(*f)(int);”则下列叙述中正确的是_。(分数:2.00)A.f 是基类型为 int 的指针变量B.f 是指向函数的指针变量,该函数具有一个 int 类型的形参 C.f 是指向 int 类型一维数组的指针变量D.f 是函数名,该函数的返回值是基类型为 int 类型的地址解析:解析 i
21、nt(*f)(int);为指向函数的指针变量的定义方法,其中 f 为指向函数的指针变量,第一个int 为函数返回值类型,第二个 int 为函数的形参类型,因此 B 选项正确。6.有以下程序: # include stdio.h main() short c=124; c=c_; printf(“%d/n“,c); 若要使程序的运行结果为 248,应在横线处填入的是_。(分数:1.00)A.2B.|248C. 0248D.1 解析:解析 124 的 2 进制值为 1111100,要输出为 248 即 124*2,则 2 进制值为 11111000,即右移 1 位,所以选 D。7.有下列程序: #
22、includestdio.h void fun(int a,int n,int flag) int i=0,j,t; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(flag?(aiaj):(aiaj) t=ai;ai=aj;aj=t; main() int c10=7,9,10,8,3,5,1,6,2,4,i; fun(c,10,1); fun(c,8,0); for(i=0;i10;i+) printf(“%d,“,ci); 程序执行后的输出结果是_。(分数:1.00)A.8,7,6,5,4,3,2,1,9,10, B.3,4,5,6,7,8,9,10,2,1,C
23、.9,10,1,2,3,4,5,6,7,8,D.10,9,8,7,6,5,4,3,1,2,解析:解析 在本题中,fun()函数接收数组 a、数组元素个数 n 以及整型变量 flag,然后通过 for 循环遍历数组 a 的 n 个元素,若 flag 为 1,则将数组元素升序排列;若 flag 为 0,则将数组元素逆序排列。main()函数定义整型数组 c,它包含 10 个元素,首先将数组 c、元素个数 10 和 1 传给 fun()函数,将 c中 10 个元素升序排列,结果为:1,2,3,4,5,6,7,8,9,10,;然后再次调用 fun()函数,将数组c、元素个数 8 和 0 传给 fun(
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 550 答案 解析 DOC
