【计算机类职业资格】计算机二级(C)16及答案解析.doc
《【计算机类职业资格】计算机二级(C)16及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】计算机二级(C)16及答案解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、计算机二级(C)16 及答案解析(总分:645.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:40,分数:60.00)1.有以下程序: main( ) int x=3, y=2, z=1; printf(“%d/n“,x/y 程序运行后的输出结果是( )。 (分数:1.50)A.3B.2C.1D.02.已知大写字母 A 的 ASCII 码值是 65,小写字母 a 的 ASCII 码是 97,则用八进制表示的字符常量/101是( )。(分数:1.50)A.字符 AB.字符 aC.字符 eD.非法的常量3.在以下给出的表达式中,与 while(E)中的
2、(E)不等价的表达式是_。 (分数:1.50)A.(!E=0)B.(E0|E0)y=1; else if(x= =0)y=0; else y=-1;B.y=0; if(x0)y=1; else if(xC.y = 0; if (x = 0) if (x0) y = 1; else y = -1;D.if ( x = 0) if ( x0)y = 1; else y = 0; else y = -1;20.与十六进制数 200 等值得十进制数为( )。(分数:1.50)A.256B.512C.1024D.204821.有以下程序 main( ) int x=102,y=012; printf(“
3、%2d,%2d/n”,x,y); 执行后输出结果是( )。 (分数:1.50)A.10,01B.002,12C.102,10D.02,1022.在深度为 7 的满二叉树中,叶子结点的个数为_。 (分数:1.50)A.32B.31C.64D.6323.有以下程序 main() int y=10; while(y-);printf(“y=%d/n“,y); 程序执行后的输出结果是_。(分数:1.50)A.y=0B.y=-1C.y=1D.while24.有以下程序 void swap(char *x,char *y) char t; t=*x;*x=*y;*y=t; main() char *s1=
4、“abc“,*s2=“123“; swap(s1,s2); printf(“%s,%s/n“,s1,s2); 程序执行后的输出结果是_。 (分数:1.50)A.123,abcB.abc,123C.1bc,a23D.321,cba25.Internet 的通信协议是( )。(分数:1.50)A.TCP/IPB.BBSC.WWWD.FTP26.程序中头文件 typel.h 的内容是: #define N 5 #define M1 N*3 程序如下: #include“typel.h“ #define M2 N *2 main( ) int i; i=M1+M2; printf(“%d/n“,i);
5、 程序编译后运行的输出结果是( )。 (分数:1.50)A.10B.20C.25D.3027.以下能正确定义二维数组的是( )。(分数:1.50)A.int a 3;B.int a 3=22*3;C.int a 3=;D.int a23=1,2,3,4;28.有以下程序 main( ) int i; for(i=0;i3;i+) switch(i) case 1: printf(“%d“,i); case 2: printf(“%d“,i); default: printf(“%d“,i); 执行后输出的结果是( )。 (分数:1.50)A.011122B.012C.012020D.12029
6、.有以下结构体说明和变量定义,如图所示: (分数:1.50)A.P-next=q-next;B.p-next=p-next-next;C.p-next=r;D.p=q-next;30.设变量 a、b、c、d 和 y 都已正确定义并赋值。若有以下 if 语句: if(aA.B.C.D.31.有以下函数: fun(char *a,char *b) while(*a!=/0)b+; return(*a-*b); 该函数的功能是_。(分数:1.50)A.计算 a 和 b 所指字符串的长度之差B.将 b 所指字符串连接到 a 所指字符串中C.将 b 所指字符串连接到 a 所指字符串后面D.比较 a 和
7、b 所指字符串的大小32.下列关于 C 语言用户标识符的叙述中正确的是( )。(分数:1.50)A.用户标识符中可以出现下划线和中划线(减号)B.用户标识符中不可以出现中划线,但可以出现下划线C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头33.下列选项中不属于结构化程序设计方法的是_。 (分数:1.50)A.自顶向下B.逐步求精C.模块化D.可复用34.有以下程序: #include main() char c1=1,c2=2; c1=getchar(); c2=getchar(); putchar(c1); p
8、utchar(c2); 当运行时输入 a 后,以下叙述正确的是_。(分数:1.50)A.变量 c1 被赋予字符 a,c2 被赋予回车符B.程序将等待用户输入第 2 个字符C.变量 c1 被赋予字符 a,c2 中仍是原有字符 2D.变量 c1 被赋予字符 a,c2 中将无确定值35.有以下程序 main( ) union unsigned int n; unsigned char c; ul; ul.c=A; printf(“%c/n“,ul.n); 执行后输出结果是( )。 (分数:1.50)A.产生语法错B.随机值C.AD.6536.有以下程序 #include main() char c1
9、,c2,c3,c4,c5,c6; scanf(“%c%c%c%c“, c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(“%c%c/n“,c5,c6); 程序运行后,若从键盘输入(从第 1 列开始) 123 45678 则输出结果是_。 (分数:1.50)A.1267B.1256C.1278D.124537.有以下程序 main( ) int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); printf(“%d %d %3.1f %3.1f/n“,a,c,f,
10、x); 程序运行后的输出结果是( )。 (分数:1.50)A.1 65 1 6.5B.1 65 1.5 6.5C.1 65 1.0 6.5D.2 65 1.5 6.538.对于长度为 n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是_。 (分数:1.50)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/239.有以下程序: main() int m=12,n=34; printf(“%d%d“,m+,+n); printf(“%d%d/n“,n+,+m); 程序运行后的输出结果是_。(分数:1.50)A.12353514B.123535
11、13C.12343514D.1234351340.s12 和 s2 已正确定义并分别指向两个字符串。若要求:当 s1 所指串大于 s2 所指串时,执行语句 S;则以下选项中正确的是 (分数:1.50)A.if(s1s2)S;B.if(strcmp(s1,s2)S;C.if(strcmp(s2,s1)0)S;D.if(strcmp(s1,s2)0)S;41.单个用户使用的数据视图的描述称为( )。(分数:-1.00)A.外模式B.概念模式C.内模式D.存储模式42.软件生命周期中花费时间最多的阶段是( )。(分数:-1.00)A.详细设计B.软件编码C.软件测试D.软件维护43.在软件工程中,白
12、箱测试法可用于测试程序的内部结构。此方法将程序看做是( )。(分数:-1.00)A.路径的集合B.循环的集合C.目标的集合D.地址的集合44.n 个顶点的强连通图的边数至少有( )。(分数:-1.00)A.n-1B.n(n-1)C.nD.n+145.已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是( )。(分数:-1.00)A.acbedB.decabC.deabcD.cedba46.下列叙述中,不属于结构化程序设计方法的主要原则的是( )。(分数:-1.00)A.自顶向下B.由底向上C.模块化D.限制使用 goto 语句47.分布式数据库系统不具有的特点是
13、( )。(分数:-1.00)A.数据分布性和逻辑整体性B.位置透明性和复制透明性C.分布性D.数据冗余48.在数据库设计中,将 E-R 图转换成关系数据模型的过程属于( )。(分数:-1.00)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段49.尔排序属于( )。(分数:-1.00)A.交换排序B.归并排序C.选择排序D.插入排序50.下列工具中为需求分析常用工具的是( )。(分数:-1.00)A.PADB.PFDC.N-SD.DFD三、填空题(每空 2 分,共 40 分)(总题数:15,分数:600.00)51.以下程序中函数 huiwen 的功能是检查一个字符串是否是回文
14、,当字符串是回文时,函数返回字符串 yes!,否则函数返回字符串 no!,并在主函数中输出,所谓 回文即正向与反向的拼写都一样,例如:adgda。请填空。 #include char *huiwen(char *str) char *p1,*p2; int i,t=0; p1=str;p2= 1 ; for(i=0;ik=+i; p+; q-k=i+; q-; q-k=i; for(i=0;i填空项 1:_56.以下程序运行后的输出结果是 1。 main( ) int a,b,c; a=25; b=025; c=0x25; printf(“%d %d %d/n“,a,b,c); (分数:40.
15、00)填空项 1:_57.算法复杂度主要包括时间复杂度和 1 复杂度。(分数:40.00)填空项 1:_58.以下程序运行后的输出结果是 1。 #include void fun(char *s,int p,int k) int i; for(i=p;i2 char s=“abcdefg“; fun(s,3,strlen(s); puts(s); (分数:40.00)填空项 1:_59.计算机软件分为系统软件和应用软件,操作系统属于 1。(分数:40.00)填空项 1:_60.在 Windows 环境下,为了将屏幕内容存入剪贴板,应按 1 键。(分数:40.00)填空项 1:_61.以下程序运
16、行后的输出结果是 1。 main2 char c1,c2; for(c1=0,c2=9;c1填空项 1:_62.以下程序用于判断 a、b、c 能否构成三角形,若能,输出 YES,否则输出 NO。当给 a、b、c 输入三角形三条边长时,确定 a、b、c 能构成三角形的条件是需同时满足三 个条件:a+bc,a+cb,b+ca。请填空。 main1 float a,b,c; scanf(“%f%f%f“, if(= 2)printf(“YES/n“); /*a、b、c 能构成三角形*/ else printf(“NO/n“); /*a、b、c 不能构成三角形*/ (分数:40.00)填空项 1:_6
17、3.fun1 函数的功能是首先对 a 所指的 N 行 N 列的矩阵,找出各行中的最大的数,再求这 N 个最大值中 的最小的那个数作为函数值返回,请填空。 #includestdio.h #define N 100 int fun(int( * a)N) in(row,col,max,min; for(row=0;rowN;row+) for(max=a row0,col=1;colN;col+) if( 2)max=arowcol; if(row= =0)min=max; else if( 3)min=max; return min; (分数:40.00)填空项 1:_64.以下程序运行后的输
18、出结果是 1。 main2 int a=3,b=4,c=5,t=99; if(b填空项 1:_65.已有定义如下: struct node int data; struct node *next; *p; 以下语句调用 malloc 函数,使指针 p 指向一个具有 struct node 类型的动态存储空间。请填空。 p = (struct node *)malloc( 1); (分数:40.00)填空项 1:_66.单元测试又称模块测试,一般采用 1 测试。(分数:-1.00)填空项 1:_67.试的目的是暴露错误,评价程序的可靠性;而 1 的目的是发现错误的位置并改正错误。(分数:-1.0
19、0)填空项 1:_68.在算法正确的前提下,评价一个算法的两个标准是 1。(分数:-1.00)填空项 1:_69.用链表表示线性表的突出优点是 1。(分数:-1.00)填空项 1:_70.数据模型按不同应用层次分成 3 种类型,它们是概念数据模型、 1 和物理数据模型。(分数:-1.00)填空项 1:_计算机二级(C)16 答案解析(总分:645.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:40,分数:60.00)1.有以下程序: main( ) int x=3, y=2, z=1; printf(“%d/n“,x/y 程序运行后的输出结果是(
20、)。 (分数:1.50)A.3B.2C.1D.0 解析:2.已知大写字母 A 的 ASCII 码值是 65,小写字母 a 的 ASCII 码是 97,则用八进制表示的字符常量/101是( )。(分数:1.50)A.字符 A B.字符 aC.字符 eD.非法的常量解析:字符,/101,所对应的八进制数为 101,转换成十进制数为 65。3.在以下给出的表达式中,与 while(E)中的(E)不等价的表达式是_。 (分数:1.50)A.(!E=0)B.(E0|E0)y=1; else if(x= =0)y=0; else y=-1;B.y=0; if(x0)y=1; else if(xC.y =
21、0; if (x = 0) if (x0) y = 1; else y = -1; D.if ( x = 0) if ( x0)y = 1; else y = 0; else y = -1;解析:20.与十六进制数 200 等值得十进制数为( )。(分数:1.50)A.256B.512 C.1024D.2048解析:21.有以下程序 main( ) int x=102,y=012; printf(“%2d,%2d/n”,x,y); 执行后输出结果是( )。 (分数:1.50)A.10,01B.002,12C.102,10 D.02,10解析:22.在深度为 7 的满二叉树中,叶子结点的个数为_
22、。 (分数:1.50)A.32B.31C.64 D.63解析:所谓满二叉树是指这样的一种二叉树:除最后一层外,每层上的所有结点都有两个子结点。这就是 说,在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第 K 层上有 2 的(k-1)次方个结点,且深度为 m 的满二叉树有 2(m 次方)-1 个结点。树的最大层次称为树的深度。本题中深度为 7,故叶子结点数为 2 的(6 次方)=64。23.有以下程序 main() int y=10; while(y-);printf(“y=%d/n“,y); 程序执行后的输出结果是_。(分数:1.50)A.y=0B.y=-1 C.y=1D.whil
23、e解析:此题考核的是 while 条件语句及自减运算。当 while 的条件表达式成立时(非零),重复执行循环体, 但此题的 while 循环无循环体,则只要 while 的条件表达式成立,就不断执行 while 条件表达式,直到其条 件表达式不成立,程序就自动跳出 while 循环,直接执行 printf 语句。“y”表示先运用 y 的值,再进行 y 自减。本题一开始先判断 y 为 10 的值是否满足条件(同时 y 的值自减 1),显然 y=10 条件满足,则再次 执行 while 语句,判断 y 为 9 的值是否满足条件(同时 y 的值自减 1)直到判断 y 为 0 的值是否满足 条件(同
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C16 答案 解析 DOC
