【计算机类职业资格】二级C语言-119及答案解析.doc
《【计算机类职业资格】二级C语言-119及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-119及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-119 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.面向对象方法中,继承是指_。(分数:1.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制2.C 语言中,字符(char)型数据在微机内存中的存储形式是_。(分数:1.00)A.反码B.补码C.EBCDIC 码D.ASCII 码3.C 语言中,下列不合法的字符串常量是_。(分数:1.00)A.“/121“B.“y=“C.“/n/n“D.“ABCD/x6d“4.下面描述中,不属于软件危机的表现的是_。(
2、分数:1.00)A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高5.VC 6.0 中 int 类型变量所占字节数是_。(分数:1.00)A.1B.2C.3D.46.为表示关系:xyz,应使用的 C 语言表达式是_。(分数:1.00)A.(x=y) long b; double x, y;”,则以下选项中正确的表达式是_。(分数:1.00)A.a%(int x-y)B.a=x!=y;C.(a*y)%bD.y=x+y=x15.以下选项中能表示合法常量的是_。(分数:1.00)A.整数:1,200B.实数:1.5E2.0C.字符斜杠:“D.字符串:“/007“16.表达
3、式 a+=a-=a=9 的值是_。(分数:1.00)A.9B.-9C.18D.017.若变量已正确定义,在语句“if(W)printf(“%d/n“, k);”中,以下不可替代 W 的是_。(分数:1.00)A.ab+cB.ch=getchar()C.a=b+cD.a+18.以下不能将 s 所指字符串正确复制到 t 所指存储空间的是_。(分数:1.00)A.while(*t=*s)t+; s+;B.for(i=0; ti=si; i+);C.do*t+=*s+;while(*s);D.for(i=0, j=0; ti+=sj+; );19.以下程序段完全正确的是_。(分数:1.00)A.int
4、*p; scanf(“%d“, B.int*p; scanf(“%d“, p);C.int k, *p= scanf(“%d“, p);D.int k, *p; *p= scanf(“%d“, p);20.有以下程序: #includestdio.h main() int a=1, b=2; while(a6)b+=a; a+=2; b%=10; printf(“%d, %d/n“, a, b); 程序运行后的输出结果是_。(分数:1.00)A.5,11B.7,1C.7,11D.6,121.有以下程序: #includestdio.h main() int y=10; while(y-); p
5、rintf(“y=%d/n“, y); 程序执行后的输出结果是_。(分数:1.00)A.y=0B.y=-1C.y=1D.while 构成无限循环22.有以下程序: #includestdio.h main() char s=“rstuv“; printf(“%c/n“, *s+2); 程序运行后的输出结果是_。(分数:1.00)A.tuvB.字符 t 的 ASCII 码值C.tD.出错23.有以下程序: #includestdio.h #includestdlib.h main() int*a, *b, *c; a=b=c=(int*)malloc(sizeof(int); *a=1; *b=
6、2, *c=3; a=b; printf(“%d, %d, %d/n“, *a, *b, *c); 程序运行后的输出结果是_。(分数:1.00)A.3,3,3B.2,2,3C.1,2,3D.1,1,324.有以下程序: #includestdio.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.1B.2C.4D.825.若有定义语句“int a, b; double x;”,则下列选项中没有错误的是_。(分数:1.
7、00)A.switch(x%2) case 0: a+; break;case 1: b+; break;default: a+; b+;B.switch(int)x/2.0) case 0: a+; break;case 1: b+; break;default: a+; b+;C.switch(int)x%2) case 0: a+; break;case 1: b+; break;default: a+; b+;D.switch(int)(x)%2) case 0.0: a+; break;case 1.0: b+; break;default: a+; b+;26.有定义语句:“int
8、*p4;”,以下选项中与此语句等价的是_。(分数:1.00)A.int p4;B.int*p;C.int*(p4);D.int(*p)4;27.有以下程序 #includestdio.h void fun(int x) if(x/21) fun(x/2); printf(“%d“, x); main() fun(7); printf(“n“); 程序运行后的输出结果是_。(分数:1.00)A.1 3 7B.7 3 1C.7 3D.3 728.若要定义一个具有 5 个元素的整型数组,以下错误的定义语句是_。(分数:1.00)A.int a5=0;B.int b=0, 0, 0, 0, 0;C.i
9、nt c2+3j;D.int i=5, di;29.有以下程序: #includestdio.h void f(int *p); main() int a5=1, 2, 3, 4, 5, *r=a; f(r); printf(“%d/n“, *r); void f(int *p) p=p+3; printf(“%d, “, *p); 程序运行后的输出结果是_。(分数:1.00)A.1,4B.4,4C.3,1D.4,130.有以下程序: #includestdio.h main() short c=124; c=c_; printf(“%d/n“, c); 若要使程序的运行结果为 248,应在横
10、线处填入的是_。(分数:1.00)A.2B.|248C.B.if(s1=s2)ST;C.if(strcpy(s1, s2)=1)ST;D.if(s1, s2=0)ST;32.有以下程序: #includestdio.h #includestring.h main() char x=“STRING“; x0=0; x1=“/0“; x2=“0“; printf(“%d%d/n“, sizeof(x), strlen(x); 程序运行后的输出结果是_。(分数:1.00)A.6 1B.7 0C.6 3D.7 133.有以下程序(strcat 函数用以连接两个字符串) #includestdio.h
11、#includestring.h main() char a20=“ABCD/0EFG/0“, b=“IJK“; strcat(a, b); printf(“%s/n“, a); 程序运行后的输出结果是_。(分数:1.00)A.ABCDE/0FG/0IJKB.ABCDIJKC.IJKD.EFGIJK34.有以下程序,程序中库函数 islower(ch)用以判断 ch 中的字母是否为小写字母 #includestdio.h #includectype.h void fun(char *p) int i=0; while(pi) if(pi=“ i+; main() char s1100=“ab
12、cd EFG!“; fun(a1); printf(“%s/n“, s1); 程序运行后的输出结果是_。(分数:1.00)A.ab cd EFG!B.Ab Cd EFg!C.aB cD EFG!D.ab cd EFg!35.下列定义数组的语句中,正确的是_。(分数:1.00)A.int N=10;int xN;B.#define N 10int xN;C.int x010;D.int x;36.有以下程序: #includestdio.h int fun() static int x=1; x+=1; return x; main() int i, s=1; for(i=1; i=s; i+)
13、s+=fun(); printf(“%d/n“, s); 程序运行后的输出结果是_。(分数:1.00)A.11B.21C.6D.12037.以下选项中,合法的一组 C 语言数值常量是_。(分数:1.00)A.028.5e-3-0xfB.12.0Xa234.5e0C1774e1.50abcD.0x8A10,0003.e538.有以下程序: #includestdio.h main() int s, t, A=10; double B=6; s=sizeof(A); t=sizeof(B); printf(“%d, %d/n“, s, t); 在 VC6 平台上编译运行,程序运行后的输出结果是_。
14、(分数:1.00)A.2,4B.1,4C.4,8D.10,639.若有以下语句: typedef struct S int g; char h; T; 以下叙述中正确的是_。(分数:1.00)A.可用 S 定义结构体变量B.可用 T 定义结构体变量C.S 是 struct 类型的变量D.T 是 struct S 类型的变量40.有以下程序(函数 fun 只对下标为偶数的元素进行操作): #includestdio.h void fun(int*a, int n) int i, j, k, t; for(i=0; in-1; i+=2) k=i; for(j=i; jn; j+=2)if(aja
15、k)k=j; t=ai; ai=ak; ak=t; main() int aa10=1, 2, 3, 4, 5, 6, 7, a; fun(aa, 7); for(i=0; i7; i+)printf(“%d, “, aai); printf(“n“); 程序运行后的输出结果是_。(分数:1.00)A.7,2,5,4,3,6,1,B.1,6,3,4,5,2,7,C.7,6,5,4,3,2,1,D.1,7,3,5,6,2,1,二、程序填空题(总题数:1,分数:18.00)41.请补充函数 proc(),其功能是:计算并输出给定 10 个数的方差。 例如,给定的 10 个数为 12.0,9.0,2
16、6.0,5.0,6.0,31.0,9.0,3.0,8.0,18.0,输出为s=8.877500。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的横线上填入所编写的若干表达式或语句。 试题程序: #includestdio.h #includemath.h double proc(double x10) int i; double avg=0.0; double sum=0.0; double abs=0.0; double sd; for(i-0; i10; i+) 1; avg=sum/10; for(i=0; i10; i+) 2;
17、sd= 3; return sd; void main() double s, str10=12.0, 9.0, 26.0, 5.0, 6.0, 31.0, 9.0, 3.0, 8.0, 18.0; int i; printf(“/nThe original data is: /n“); for(i=0; i10; i+) printf(“%6.1f“, stri); printf(“/n/n“); s=proc(str); printf(“s=%f/n/n“, s); (分数:18.00)三、程序改错题(总题数:1,分数:24.00)42.下列给定程序中,函数 proc()的功能是:从字符串
18、 str 中,删除所有大写字母“F“。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdio.h void proc(char*str) int i, j; /*found* for(i=j=0; stri!=“0“; i+) if(stri!=“F“) /*found* strj=stri; strj=“/0“; void main() char str80; printf(“/nEnter a string: “); gets(str); printf(“The original stri
19、ng: “); puts(str); proc(str); printf(“The string after deleted: “); puts(str); printf(“/n/n“); (分数:24.00)_四、程序设计题(总题数:1,分数:18.00)43.假定输入的字符串中只包含字母和*号。请编写函数 proc(),它的功能是:将字符串中的前导*号全部删除,中间和后面的*号不删除。 例如,若字符串中的内容为*a*bc*def*g*,删除后,字符串中的内容则应当是 a*bc*def*g*。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc(
20、)的花括号中填入所编写的若干语句。 试题程序: #includestdio.h #includeconio.h void proc(char*str) void main() char str81; printf(“Enter a string: /n“); gets(str); proc(str); printf(“The string after deleted: /n“); puts(str); (分数:18.00)_二级 C 语言-119 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.面向对象方法中,继承是指_。(分数:1.00)A
21、.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制 解析:解析 在程序设计中,继承是指子类自动享用父类的属性和方法,并可以追加新的属性和方法的一种机制。它是实现代码共享的重要手段,可以使软件更具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,也是面向对象的主要优点之一。继承又分为单重继承和多重继承。单重继承是指子类只能继承一个父类的属性和操作;而多重继承是指子类可以继承多个父类的属性和操作。Java 是一种单重继承语言,而 C+是一种多重继承语言。2.C 语言中,字符(char)型数据在微机内存中的存储形式是_。(分数:1.
22、00)A.反码B.补码C.EBCDIC 码D.ASCII 码 解析:解析 ASCII 码其他 3 个是用来进行数值处理的。3.C 语言中,下列不合法的字符串常量是_。(分数:1.00)A.“/121“B.“y=“ C.“/n/n“D.“ABCD/x6d“解析:解析 B 项中字符串常量必须用双引号,B 项中表示是不合法的。4.下面描述中,不属于软件危机的表现的是_。(分数:1.00)A.软件过程不规范 B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高解析:解析 软件危机的表现:对软件开发的进度和费用估计不准确;用户对已完成的软件系统不满意的现象时常发生;软件产品的质量往往靠不住;软件
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 119 答案 解析 DOC
