【计算机类职业资格】二级C语言-25及答案解析.doc
《【计算机类职业资格】二级C语言-25及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-25及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-25 及答案解析(总分:70.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:42.00)1.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 char sex; float score2; STU;STU f(STU a) STU b=“Zhao“, m, 85.0, 90.0; int i;strcpy(a.name, b.name);a.sex = b.sex;for (i=0; i2; i+) a.scorei = b.scorei;return a;main() STU c=“Qian“, T, 95.0, 92.0, d;d
2、=f(c); printf(“%s,%c,%2.0f,%2.0f/n“, d.name, 程序的运行结果是 A. Qian, f,95,92 B. Qian,m,85,90 C. Zhao,m,85,90 D. Zhao,f,95,92(分数:1.00)A.B.C.D.8.以下选项中可作为 C 语言合法常量的是_。 A. -80. B. -080 C. -8e1.0 D. -80.0e(分数:1.00)A.B.C.D.9.设有以下定义和语句int a32=1,2,3,4,5),*p3;p0=a1;则*(p0+1)所代表的数组元素是_。 A. a01 B. a10 C. a11 D. a12(分
3、数:1.00)A.B.C.D.10.有以下程序:int *f(int *x,int*y)if(*x*y)return x;else return y;main()int a=7,b=8,*p,*q,*r;p=printf(“%d,%d,%d/n“,*p,*q,*r);程序运行后输出结果是_。 A. 7,8,8 B. 7,8,7 C. 8,7,7 D. 8,7,8(分数:1.00)A.B.C.D.11.若有定义:float x=1.5;int a=1,b=3,c=2; 则正确的 switch 语句是U /U。 A. switch(x) case 1.0: printf(“*/n“); case
4、2.0: printf(“ * * /n“ ); B. switch(iht)x); case 1: printf(“ * /n“ ); case 2: printf(“ * * /n“ ); C. switch(a +b) case 1: printf(“ * /n“ ); case 2 + 1: printf(“ * * /n“ ); D. switch(a + b) case 1: pfintf(“ * /n“ ); case c: pfintf(“ * * /n“); (分数:1.00)A.B.C.D.12.若 x 和 y 代表整型数,以下表达式中不能正确表示数学关系x-y10 的是(
5、 )。 A. abs(x-y)10 B. x-y-10prinf(%d/n“,(a,b); A. 错误信息 B. 666 C. 888 D. 666, 888(分数:1.00)A.B.C.D.15.若有如下程序:main() char a35 = “name“,“age“,“sex“,n;for(n=0;n3;n+) printf(“%s/n“,an);则程序执行后的输出结果是( )。 A. nameagesex B. name C. name D. name agexex ge age sex x sex(分数:1.00)A.B.C.D.16.结构化分析可以使用的工具是 A. N-S 图 B
6、. DFD 图 C. PAD 图 D. 程序流程图(分数:2.00)A.B.C.D.17.在下列选项中,没有构成死循环的是 A. int i=100; while(1) i=i%100+1; if(i100)break; B. for(;); C. int k=10000; dok+;while(k10000); D. int s=36; while(s)-s;(分数:2.00)A.B.C.D.18.以下选项中不属于字符常量的是U /U。 A. C B. “C“ C. /xCC D. /072(分数:1.00)A.B.C.D.19.负责数据库中查询操作的数据库语言是_。 A.数据定义语言 B.
7、数据管理语言 C.数据操纵语言 D.数据控制语言(分数:1.00)A.B.C.D.20.循环控制语句“while(!scanf(“%d“, for(; i5; i+) (*q)+; main() int a5=1, 2, 3, 4, 5), i; f(a); for (i=0; i5; i+) printf(“%d, “, ai); 程序运行后的输出结果是( )。 A. 2, 2, 3, 4, 5, B. 6, 2, 3, 4, 5, C. 1, 2, 3, 4, 5, D. 2, 3, 4, 5, 6,(分数:1.00)A.B.C.D.23.对于建立良好的程序设计风格,下面描述正确的是( )
8、。 A. 程序应简单、清晰、可读性好 B. 符号名的命名只要符合语法即可 C. 充分考虑程序的执行效率 D. 程序的注释可有可无(分数:1.00)A.B.C.D.24.有以下程序#define N 20fun(int a,int n,int m) int i,j;for(i=m;i=n;i-) ai+1=ai;main() int i,aN=1,2,3,4,5,6,7,8,9,10;fun(a,2,9);for(i=0;i5;i+) printf(“%d“,ai);程序运行后的输出结果是。 A. 10234 B. 12344 C. 12334 D. 12234(分数:1.00)A.B.C.D.
9、25.以下叙述中错误的是U /U。 A. 算法正确的程序最终一定会结束 B. 算法正确的程序可以有零个输出 C. 算法正确的程序可以有零个输入 D. 算法正确的程序对于相同的输入一定有相同的结果(分数:1.00)A.B.C.D.26.串的长度是 U /U A. 串中不同字符的个数 B. 串中不同字母的个数 C. 串中所含字符的个数且字符个数大于零 D. 串中所含字符的个数(分数:1.00)A.B.C.D.27.表达式 a+b|c|d 的运算顺序是_。 A. ,|,+,| B. ,|,|,+ C. ,+,|,| D. ,+,|,|(分数:1.00)A.B.C.D.28.具有 3 个结点的二叉树有
10、 A. 2 种形态 B. 4 种形态 C. 7 种形态 D. 5 种形态(分数:1.00)A.B.C.D.29.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_。 A. 地址传递 B. 单向值传递 C. 由实参传递给形参,再由形参传递给实参 D. 传递方式由用户指定(分数:2.00)A.B.C.D.30.下列二维数组初始化语句中,不正确的是U /U。 A. int b2=1,2,3,4,5,6,7; B. int b35=0,0,0; C. intb4=1,2,3,4,5,6; D. int b32=(1,2) ,(3,4) ,(5,6) ;(分数:1.00)A.B.C.D
11、.31.有以下程序:void change(int k)k0=k5;)main()int x10=1,2,3,4,5,6,7,8,9,10,n=0;while(n=4)(change(xn);n+;for(n=0;n5;n+)printf(“%d“,xn);printf(“/n“);程序运行后的输出结果是_。 A. 6 7 8 9 10 B. 1 3 5 7 9 C. 1 2 3 4 5 D. 6 2 3 4 5(分数:2.00)A.B.C.D.32.有定义语句:char s10;,若要从终端给 s 输入 5 个字符,错误的输入语句是 A. gets(struct list *next; st
12、ruct list *creatlist( ) struct list *p,*q,*ph;int a;ph=(struct list*)malloc(sizeof(struct list); p=q=ph;printf(“Input an integer number;entre-1 to end:/n“); scanf(“%d“,a); while(a!=-1) p=(struct list*)malloc(sizeof(struct list); _=a;q-next=p;_=p;scanf(“%d“,a); p-next=/0;return(ph); main( ) stuct lis
13、t * head;head=creatlist();(分数:4.00)填空项 1:_41.函数 min()的功能是:在带头结点的单链表中查找数据域中值最小的结点。请填空 #include stdio.h struct node int data; struct node *next; ; int min(struct node *first)/*指针first 为链表头指针*/ struct node *p; int m; p=first-next; re=p-data; p=p-next; for( ;p!=NULL;p=U U /U /U) if(p-datam ) re=p-data;
14、return m; 填空项 1:_42.#define 命令出现在程序中函数的外面,宏名的有效范围为 1。(分数:2.00)填空项 1:_43.诊断和改正程序中错误的工作通常称为U U /U /U。(分数:2.00)填空项 1:_44.阅读下面程序,则执行后的输出结果是_。 #include “stdio.h“ main() int x,y,z; x=1;y=2;z=3; if(xy)if(xz)printf(“%d“,x); else printf(“%d“,y); printf(“%d/n“,z);(分数:2.00)填空项 1:_45.面向对象的模型中,最基本的概念是对象和U U /U /
15、U。(分数:2.00)填空项 1:_46.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_47.存储结点中数据域占用的存储量与整个结点占用存储量之比称为 1。(分数:2.00)填空项 1:_48.希尔排序法属于U U /U /U排序法。(分数:2.00)填空项 1:_49.以下 sstrcpy()函数实现字符串复制,即将 t 所指字符串复制到 s 所指向内存空间中,形成一个新的字符串 s。请填空。 void sstrcpy(char *s,char *t) while(*s+=U U /U /U); main() char str1100,str2=“a
16、bcdefgh“; sstrcpy(str1,str2); printf(“%s/n“,str1); (分数:2.00)填空项 1:_50.以下程序的输出结果是_。 #includestdio.h void main() int f,f1,f2,i; f1=0;f2=1; printf(“%d%d“,f1,f2); for(i=3;i=5;i+) f=-f1+f2,printf(“%d“,f); f2=f1;f1=f; printf(“/n“); (分数:2.00)填空项 1:_二级 C 语言-25 答案解析(总分:70.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:42.
17、00)1.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 char sex; float score2; STU;STU f(STU a) STU b=“Zhao“, m, 85.0, 90.0; int i;strcpy(a.name, b.name);a.sex = b.sex;for (i=0; i2; i+) a.scorei = b.scorei;return a;main() STU c=“Qian“, T, 95.0, 92.0, d;d=f(c); printf(“%s,%c,%2.0f,%2.0f/n“, d.name, 程序的运行结果是 A. Qi
18、an, f,95,92 B. Qian,m,85,90 C. Zhao,m,85,90 D. Zhao,f,95,92(分数:1.00)A.B.C. D.解析:解析 本题考查的知识点是:结构体。本题的 f()函数中,首先定义了一个 STU 结构体变量 b 并初始化为“Zhao“,m,85.0,90.0,然后分别通过 strcpy()库函数、赋值语句和 for 循环,将 b 中所有成员分别赋给形参 a 的相应成员,最后返回 a。所以,无论传递给函数 fun()的参数是什么,结果返回的都会是函数中定义的 STU 结构体 b 的内容“Zhao“,m,85.0,90.0。故最终输出结果为:Zhao,m
19、,85,90,应该选择 C。8.以下选项中可作为 C 语言合法常量的是_。 A. -80. B. -080 C. -8e1.0 D. -80.0e(分数:1.00)A. B.C.D.解析:解析 选项 A 是整型常量的十进制表示法,正确。八进制数表示法以 0 或-0 开头,且“逢八进一”,所以选项 B 错误。实型常量的指数表示法是用字母 e(或 E)将实数的小数部分和指数部分分开,字母e(或 E)之前的是小数部分,之后的是指数部分,这两部分都不能省略,且指数部分必须是整数,所以选项 C 和 D 错误,选 A。9.设有以下定义和语句int a32=1,2,3,4,5),*p3;p0=a1;则*(p
20、0+1)所代表的数组元素是_。 A. a01 B. a10 C. a11 D. a12(分数:1.00)A.B.C. D.解析:10.有以下程序:int *f(int *x,int*y)if(*x*y)return x;else return y;main()int a=7,b=8,*p,*q,*r;p=printf(“%d,%d,%d/n“,*p,*q,*r);程序运行后输出结果是_。 A. 7,8,8 B. 7,8,7 C. 8,7,7 D. 8,7,8(分数:1.00)A.B. C.D.解析:解析 f 函数的功能是返回地址为 x,y 的两个数中值较的数的地址,本题输出结果是 7,8,7。
21、11.若有定义:float x=1.5;int a=1,b=3,c=2; 则正确的 switch 语句是U /U。 A. switch(x) case 1.0: printf(“*/n“); case 2.0: printf(“ * * /n“ ); B. switch(iht)x); case 1: printf(“ * /n“ ); case 2: printf(“ * * /n“ ); C. switch(a +b) case 1: printf(“ * /n“ ); case 2 + 1: printf(“ * * /n“ ); D. switch(a + b) case 1: pfi
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 25 答案 解析 DOC
