【计算机类职业资格】二级C语言分类模拟题524及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题524及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题524及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言分类模拟题 524 及答案解析(总分:51.00,做题时间:90 分钟)一、选择题(总题数:35,分数:51.00)1.下列关于 C 语言数据文件的叙述中正确的是(分数:1.00)A.文件由 ASCII 码字符序列组成,C 语言只能读写文本文件B.文件由二进制数据序列组成,C 语言只能读写二进制文件C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件2.有以下程序 #includestdio.h main() char s=“012xy/08s34f4w2“; int i,n=0; for(i=0;
2、si=0;i+) if(si=“0“ printf(“%d/n“,n); 程序运行后的输出结果是_。(分数:1.00)A.7B.0C.3D.83.有以下程序段 typedef struct node(int data; struct node *next;) *NODE; NODE p; 以下叙述中正确的是_。(分数:2.00)A.P 是指向 struct node 结构变量的指针的指针B.NODE p;语句出错C.P 是指向 struct node 结构变量的指针D.P 是 struct node 结构变量4.一棵二叉树中共有 80 个叶子结点与 70 个度为 1 的结点,则该二叉树中的总结
3、点数为_。(分数:1.00)A.219B.229C.230D.2315.定义无符号整数类为 UInt,下面可以作为类 UInt 实例化值的是_。(分数:1.00)A.-369B.369C.0.369D.整数集合1,2,3,4,56.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是_。(分数:2.50)A.DB 包含 DBS 和 DBMSB.DBMS 包含 DB 和 DBSC.DBS 包含 DB 和 DBMSD.没有任何关系7.若变量 x、y 已正确定义并赋值,以下符合 C 语言语法的表达式是_。(分数:1.00)A.x+1=yB.+x, y=x-C.x=x+10=x+y
4、D.double(x)/108.读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中 buffer 代表的是_。(分数:1.00)A.一个内存块的字节数B.一个整型变量,代表待读取的数据的字节数C.一个文件指针,指向待读取的文件D.一个内存块的首地址,代表读入数据存放的地址9.有以下程序 main() char s=“ABCD“,*p; for(p=s+1;ps+4;p+)printf(“%s/n“,p); 程序运行后的输出结果是(分数:1.00)A.ABCDBCDCDDB.ABCDC.BCDD.BCDCDD10.下面叙述中错误的是_。(分数:1.00
5、)A.软件测试的目的是发现错误并改正错误B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试应严格执行测试计划,排除测试的随意性11.下面概念中,不属于面向对象方法的是_。(分数:1.00)A.对象B.继承C类D.过程调用12.以下叙述中正确的是_。(分数:1.00)A.如果 p 是指针变量,则 i=M1+M2; printf(“% d/n“, i); 程序编译后运行的输出结果是_。(分数:2.50)A.10B.20C.25D.3014.有以下程序: main() int k=4,n=0; for(;nk;) n+; if(n%!=0)conti
6、nue; k-; printf(“%d/n“,k,n); 程序运行后的输出结果是( )。(分数:1.00)A.1,1B.2,2C.3,3D.4,415.下列选项中不属于结构化程序设计原则的是_。(分数:1.00)A.可封装B.自顶向下C.模块化D.逐步求精16.有以下程序 main() int i=1, j=l,k=2; if( (j+|k+) 执行后输出的结果是(分数:1.00)A.1,1,2B.2,2,1C.2,2,2D.2,2,317.有以下程序: #include stdio.h #define N 2 #define M N+1 #define NUM (M+1) * M/2 mai
7、n( ) printf(“%d/n“,NuM); 程序运行后的输出结果是_。(分数:5.00)A.4B.8C.9D.618.有以下结构体说明、变量定义和赋值语句 struct STD char name10; int age; char sex; s5, *ps; ps= 则以下 scanf 函数调用语句有错误的是_。(分数:2.00)A.scanf(“%d“, ps-age);B.scanf(“%d“, C.scanf(“%c“, D.scanf(“%s“, s0.name);19.设有说明语句:chara=“/72“;则变量 a_。(分数:2.00)A.包含 1 个字符B.包含 2 个字符
8、C.包含 3 个字符D.说明不合法20.C 语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是_。(分数:1.00)A.地址传递B.由实参传给形参,并由形参返回给实参C.值传递D.由用户指定传递方式21.若文件指针 fp 已正确指向文件,ch 为字符型变量,以下不能把字符输出到文件中的语句是_。(分数:1.00)A.fget(fp,ch);B.fputc(ch,fp);C.fprintf(fp,“%c“,ch);D.fwrite(22.有以下程序段: int j; float y; char name50; scanf(“%2d%f%s“, 当执行上述程序段,从键盘上输入 55566
9、 7777abc 后,y 的值为_。(分数:2.50)A.55566.0B.566.0C.7777.0D.566777.023.有以下程序 #include stdio.h main() unsigned char a=2,b=4,c=5,d; d=a|b; d printf(“%d/n“,d); 程序运行后的输出结果是_。(分数:1.00)A.4B.3C.5D.624.当 a=1,b=2,c=3,d=4 时,执行下面程序段后,x 的值是_。 if(ab) if(cd)x=1; else if(ac) if(bd)x=2; else x=3; else x=6; else x=7;(分数:2.
10、00)A.1B.2C.3D.625.若有以下程序: #includestdio.h main() int k=2,m=4,n=6,*pk= printf(“%d/n“, n); 程序的输出结果是_。(分数:2.50)A.4B.6C.8D.1026.有以下程序: #include stdio.h main() int a,b,C=241; a = c/100%9; b = (-1) printf(“%d,%d/n“,a,b); 程序运行后的输出结果是_。(分数:1.00)A.2,1B.6,1C.6,0D.2,027.有以下程序: #include void fun(int a,int b)(in
11、t t;f=a;a=b;b=t;)main()int c10=1,2,3,4,5,6,7,8,9,0,i;for(i=0;i10;i+=2)fun(ci,ci+1);for(i=0;i10;i+)printf(“%d,“,ci);printf(“/n“);程序的运行结果是 。 A.1,2,3,4,5,6,7,8,9,0, B.2,1,4,3,6,5,8,7,0,9, C.0,9,8,7,6,5,4,3,2,1, D.0,1,2,3,4,5,6,7,8,9,A B C D A解析 本题考查的是函数参数的传递。在 C 语言中,参数传递默认为传值,即改变函数中的形参不会影响调用函数时传递给函数的实参
12、。所以,题目中的 fun()函数,看起来好像作用是交换两个参数的值,其实它并不影响传递给它的任何实参,即调不调用它对程序一点也没有影响。所以主函数一开始初始化了c10为1,2,3,4,5,6,7,8,9,0,经过第 1 个 for 循环后,什么变化都没有,再经过第 2 个for 循环原样输出,故应该选择 A)。(分数:2.00)A.1,2,3,4,5,6,7,8,9,0,B.2,1,4,3,6,5,8,7,0,9,C.0,9,8,7,6,5,4,3,2,1,D.0,1,2,3,4,5,6,7,8,9,28.以下选项中可用作 C 语言中合法用户标识符的是_。(分数:1.00)A._123B.vo
13、idC.-abcD.2a29.软件设计中模块划分应遵循的准则是_。(分数:1.00)A.低耦合低内聚B.高耦合高内聚C.低耦合高内聚D.内聚与耦合无关30.有以下程序: #include stdio.h #include string.h char * a = “you“; char * b = “Welcome you to Beijing!“; main( ) char * p; p = b; while (*p!= *a)p+; p += strlen(a) + 1; printf(“%s/11“,p); 程序运行后的输出结果是_。(分数:1.00)A.Beijing!B.you to
14、Beijing!C.Welcome you to Beijing!D.to Beijing!31.有以下程序: #include stdio.h main() int s, t, A=10; double B =6; s=sizeof(A); t=sizeof(B); printf(“% d, % d/n“, s, t); 在 VC 6.0 平台上编译运行,程序运行后的输出结果是_。(分数:2.00)A.10,6B.4,4C.2,4D.4,832.以下涉及字符串数组、字符指针的程序段,没有编译错误的是_。(分数:1.00)A.char*str, name5;str = “C/C+“;B.cha
15、r*str, name6;name = “Hello“;C.char strl7 = “prog.c”, str28;str2 = strl:D.char line;line=“/“;33.以下选项中可用作 C 程序合法实数的是_。(分数:1.00)A.3.0e0.2B1e0CE9D.9.12E34.以下关于结构化程序设计的叙述中正确的是_。(分数:1.00)A.结构化程序使用 goto 语句会很便捷B.在 C 语言中,程序的模块化是利用函数实现的C.一个结构化程序必须同时由顺序、分支、循环三种结构组成D.由三种基本结构构成的程序只能解决小规模的问题35.以下定义数组的语句中错误的是_。(分数
16、:1.00)A.int num3=1,2,3,4,5,6;B.int num24=1,2,3,4,5,6;C.int num=1,2,3,4,5,6;D.int num4=1,2,3,4,5,6;二级 C 语言分类模拟题 524 答案解析(总分:51.00,做题时间:90 分钟)一、选择题(总题数:35,分数:51.00)1.下列关于 C 语言数据文件的叙述中正确的是(分数:1.00)A.文件由 ASCII 码字符序列组成,C 语言只能读写文本文件B.文件由二进制数据序列组成,C 语言只能读写二进制文件C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D.文件由数据流形式组成,
17、可按数据的存放形式分为二进制文件和文本文件 解析:解析 C 语言把文件看成是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组织形式,可分为 ASCII 文件和二进制文件。ASCII 文件又称文本文件,它的每一个字节放一个 ASCII 代码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。2.有以下程序 #includestdio.h main() char s=“012xy/08s34f4w2“; int i,n=0; for(i=0;si=0;i+) if(si=“0“ printf(“%d/n“,n); 程序运行后的输出结果是
18、_。(分数:1.00)A.7B.0C.3 D.8解析:解析 本题中遇到“/”字符循环结束,因此只统计“/”之前的数字字符,结果为 3。3.有以下程序段 typedef struct node(int data; struct node *next;) *NODE; NODE p; 以下叙述中正确的是_。(分数:2.00)A.P 是指向 struct node 结构变量的指针的指针B.NODE p;语句出错C.P 是指向 struct node 结构变量的指针 D.P 是 struct node 结构变量解析:4.一棵二叉树中共有 80 个叶子结点与 70 个度为 1 的结点,则该二叉树中的总结
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 524 答案 解析 DOC
