【学历类职业资格】高级语言程序设计真题2011年下半年及答案解析.doc

上传人:bonesoil321 文档编号:1380186 上传时间:2019-12-01 格式:DOC 页数:14 大小:57.50KB
下载 相关 举报
【学历类职业资格】高级语言程序设计真题2011年下半年及答案解析.doc_第1页
第1页 / 共14页
【学历类职业资格】高级语言程序设计真题2011年下半年及答案解析.doc_第2页
第2页 / 共14页
【学历类职业资格】高级语言程序设计真题2011年下半年及答案解析.doc_第3页
第3页 / 共14页
【学历类职业资格】高级语言程序设计真题2011年下半年及答案解析.doc_第4页
第4页 / 共14页
【学历类职业资格】高级语言程序设计真题2011年下半年及答案解析.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、高级语言程序设计真题 2011 年下半年及答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:15,分数:30.00)1.自定义标识符由字母、数字或下划线组成,且第一个字符必须是( )A数字 B字母或数字C数字或下划线 D字母或下划线(分数:2.00)A.B.C.D.2.运算符优先级符合由高到低排列的一组是( )A+、!=、&、= B&、!=、+、=C!=、+、=、& D&、=、!=、+(分数:2.00)A.B.C.D.3.转义字符中正确的是( )A/ B/xyzC/ D/820(分数:2.00)A.B.C.D.4.下列程序段执行后 x、y 和 z 的值分别是( )in

2、t x=10,y=20,z=30;if(xy)z=x;x=y;y=z;A10,20,30 B20,30,30C20,30,10 D20,30,20(分数:2.00)A.B.C.D.5.下列程序段执行后的输出结果是( )int k=4,a=3,b=2,c=1;printf(“%d/n“,ka?k:cb?c:a);A1 B2C3 D4(分数:2.00)A.B.C.D.6.关于 for(表达式 1;表达式 2;表达式 3),叙述正确的是( )A表达式 1 不可以缺省 B表达式 2 不可以缺省C表达式 3 不可以缺省 D三个表达式都可以缺省(分数:2.00)A.B.C.D.7.设 int*p4;,则标

3、识符 p 是( )A整型数组名 B指针数组名C指针函数名 D指向整型变量的指针(分数:2.00)A.B.C.D.8.在循环结构中,continue 语句的作用是( )A继续执行本次循环 B提前退出多重循环C提前结束本次循环 D提前退出本重循环(分数:2.00)A.B.C.D.9.数组定义及初始化正确的是( )Achar a5=; Bint a5=0,1,2,3,4,5;Cchar a=“string“; Dchar a=0,1,2,3,4,5;(分数:2.00)A.B.C.D.10.设 int m;,与 while(!m)等价的是( )Awhile(m!=0) Bwhile(m=1)Cwhil

4、e(m=0) Dwhile(m!=1)(分数:2.00)A.B.C.D.11.设 char*s1=“12345“,*s2=“1234“;,执行语句 printf(“%d/n“,strlen(strcpy(s1,s2);后的输出结果是( )A4 B5C9 D10(分数:2.00)A.B.C.D.12.下列不属于 C 语言数据类型的保留字是( )Areal BvoidCfloat Ddouble(分数:2.00)A.B.C.D.13.设 int i,j=7,*p=&j;,与赋值语句 i=j;等价的是( )Ai=&p; Bp=*&j;Cp=&j; Di=*p;(分数:2.00)A.B.C.D.14.

5、正确表示数学关系式 xyz 的 C 语言表达式是( )Ax=y=z B(x=y)&(y=z)C(x=y)&(y=z) D(x=y)|(y=z)(分数:2.00)A.B.C.D.15.设 struct studentchar name10;char sex;stu;,则 sizeof(stu)的值是( )A2 B10C11 D12(分数:2.00)A.B.C.D.二、填空题(总题数:10,分数:20.00)16.设 int a=2,b=3;float x=3.5,y=2.5;,表达式(float)(a+b)/2+(int)x%(int)y 的值是 1。(分数:2.00)填空项 1:_17.设 i

6、nt i;,语句 for(i=1;i=10;i+)+i;循环的次数是 1。(分数:2.00)填空项 1:_18.数组名作为实参传给被调用的函数时,形参获得的是 1。(分数:2.00)填空项 1:_19.设 int x=9;,执行语句 printf(“%d/n“,x2);后的结果是 1。(分数:2.00)填空项 1:_20.设 char c5=c,d,/0,e,/0);,执行语句 printf(“%s/n“,c);后的结果是 1。(分数:2.00)填空项 1:_21.设 int a23,p;,将数组 a 的最后一个元素赋值给变量 p 的正确语句是 1。(分数:2.00)填空项 1:_22.字符串

7、“A“在内存中占用的字节数是 1。(分数:2.00)填空项 1:_23.设 int x=1,y=1;,则执行表达式-x&y+后,y 的值是 1。(分数:2.00)填空项 1:_24.函数的自我调用被称为 1 调用。(分数:2.00)填空项 1:_25.设 char w;int x;float y;double z;,则表达式 w*x+z-y 的值的类型是 1。(分数:2.00)填空项 1:_三、程序分析题(总题数:4,分数:16.00)26.void main()int n=9;if(n+10)printf(“%d/n“,n);else printf(“%d/n“,n-);(分数:4.00)_

8、27.void fun(int x,int y,int z)z=x*x+y*y;printf(“%d/n“,z);void main()int a=31;fun(5,2,a);printf(“%d/n“,a);(分数:4.00)_28.void main()int a=0,9,8,7,6,5,4,3,2,1),*p=a;printf(“%d,%d/n“,*p+9,*(p+9);(分数:4.00)_29.func(int a)static int m=0;m+=a;printf(“%d/n“,m);void main()int k=4;func(k);func(k);(分数:4.00)_四、程序

9、填充题(总题数:3,分数:18.00)30.求数组 a 的所有元素之和。#define N 3void main()int i,j,sum=0;int aNN=2,4,6,8,10,12,14,16,18;for(i=0;iN;_) /*第一空*/for(j=0;_;j+) /*第二空*/sum=sum+_; /*第三空*/printf(“sum=%d/n“,sum);(分数:6.00)填空项 1:_31.键入一个字符串(不超过 80 个字符)存至字符数组 s 中并对各元素升序排序。#includestdio.hvoid main()int i,j,len;char s81,t;gets(s)

10、;puts(s);len=strlen(s);for(i=0;ilen-1;i+)for(j=i+1 dlen;_) /*第一空*/if(_) /*第二空*/t=si;si=sj;_; /*第三空*/puts(s);(分数:6.00)填空项 1:_32.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。void main()int i,n;scanf(“%d“,_); /*第一空*/printf(“%d“,n);for(i=2;in;i+)if(n%i=0)_; /*第二空*/if(_)printf(“Yes/n“); /*第三空*/else printf(“No/n“)

11、;(分数:6.00)填空项 1:_五、程序设计题(总题数:2,分数:16.00)33.从键盘输入一串字符(!作为结束标志),保存到文件“user.dat”中。(分数:8.00)_34.某幼儿园入园分班规定如下:(分数:8.00)_高级语言程序设计真题 2011 年下半年答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:15,分数:30.00)1.自定义标识符由字母、数字或下划线组成,且第一个字符必须是( )A数字 B字母或数字C数字或下划线 D字母或下划线(分数:2.00)A.B.C.D. 解析:解析 标识符是用户自定义的字符序列,通常用来表示程序中各种语法成分的名称

12、。C 语言规定,标识符是由字母或下划线开头的字母、数字、下划线组成的字符序列。2.运算符优先级符合由高到低排列的一组是( )A+、!=、&、= B&、!=、+、=C!=、+、=、& D&、=、!=、+(分数:2.00)A. B.C.D.解析:解析 运算符的优先级由高到低为:算术运算符、关系运算府、双目逻辑运算符、赋值运算符,故本题选 A。3.转义字符中正确的是( )A/ B/xyzC/ D/820(分数:2.00)A.B.C. D.解析:解析 转义字符由“反斜杠字符/”开始后跟单个字符或若干个字符组成。选项 C 中的/表示反斜杠,其他三项均不正确,故本题选 C。4.下列程序段执行后 x、y 和

13、 z 的值分别是( )int x=10,y=20,z=30;if(xy)z=x;x=y;y=z;A10,20,30 B20,30,30C20,30,10 D20,30,20(分数:2.00)A.B. C.D.解析:解析 题干中,条件表达式“xy”的值为假,所以不执行语句“z=x;”,而按顺序执行语句“x=y;y=z;”,即 x=20,y=39,z=30,故本题选 B。5.下列程序段执行后的输出结果是( )int k=4,a=3,b=2,c=1;printf(“%d/n“,ka?k:cb?c:a);A1 B2C3 D4(分数:2.00)A. B.C.D.解析:解析 用条件运算符构成的表达式称为条

14、件表达式,格式为:表达式?表达式 2:表达式 3。条件表达式的值与表达式 1 的值有关,若表达式 1 的值为非 0(真),则条件表达式的值为表达式 2 的值;否则为表达式 3 的值。条件运算符的结合性是自右向左的。结合本题,先计算右面的表达式“cb? c=a”的值,其值为 1,再计算左面表达式“ka? k:1”的值,其值为 1,故本题选 A。6.关于 for(表达式 1;表达式 2;表达式 3),叙述正确的是( )A表达式 1 不可以缺省 B表达式 2 不可以缺省C表达式 3 不可以缺省 D三个表达式都可以缺省(分数:2.00)A.B.C.D. 解析:7.设 int*p4;,则标识符 p 是(

15、 )A整型数组名 B指针数组名C指针函数名 D指向整型变量的指针(分数:2.00)A.B. C.D.解析:解析 指针数组的定义格式为:数据类型*指针数组名长度,其中,指针数组名是标识符,前面必须有“*”号,故本题选 B。8.在循环结构中,continue 语句的作用是( )A继续执行本次循环 B提前退出多重循环C提前结束本次循环 D提前退出本重循环(分数:2.00)A.B.C. D.解析:解析 continue 语句的作用是跳过 continue 之后的语句,重新判断循环控制条件,决定是否继续循环,故本题选 C。9.数组定义及初始化正确的是( )Achar a5=; Bint a5=0,1,2

16、,3,4,5;Cchar a=“string“; Dchar a=0,1,2,3,4,5;(分数:2.00)A.B.C.D. 解析:10.设 int m;,与 while(!m)等价的是( )Awhile(m!=0) Bwhile(m=1)Cwhile(m=0) Dwhile(m!=1)(分数:2.00)A.B.C. D.解析:解析 表达式“!m”与“m=0”起到的作用是一样的,即当 m 为真时,“!m”与“m=0”的值均为假;当 m 为假时,“!m”与“m=0”的值均为真。其他三项均错误,故本题选 C。11.设 char*s1=“12345“,*s2=“1234“;,执行语句 printf(

17、“%d/n“,strlen(strcpy(s1,s2);后的输出结果是( )A4 B5C9 D10(分数:2.00)A. B.C.D.解析:12.下列不属于 C 语言数据类型的保留字是( )Areal BvoidCfloat Ddouble(分数:2.00)A. B.C.D.解析:解析 在 C 语言中有特殊含义的单词称为“保留字”,也称“关键字”,主要用于构成语句。所有的保留字均由小写字母组成。题干中 B、C、D 三个选项均为保留字,故本题选 A。13.设 int i,j=7,*p=&j;,与赋值语句 i=j;等价的是( )Ai=&p; Bp=*&j;Cp=&j; Di=*p;(分数:2.00

18、)A.B.C.D. 解析:14.正确表示数学关系式 xyz 的 C 语言表达式是( )Ax=y=z B(x=y)&(y=z)C(x=y)&(y=z) D(x=y)|(y=z)(分数:2.00)A.B. C.D.解析:15.设 struct studentchar name10;char sex;stu;,则 sizeof(stu)的值是( )A2 B10C11 D12(分数:2.00)A.B.C. D.解析:解析 当定义了结构型变量时,需要给其分配内存。分配的内存字节数等于该结构型所有成员占用的字节数之和。而且是按照定义时成员的排列顺序依次分配给每个成员的。则题干中定义的结构型变量stu 将分

19、配 10+1=11 个连续的内存单元,即 sizeof(stu)的值为 11,故本题选 C。二、填空题(总题数:10,分数:20.00)16.设 int a=2,b=3;float x=3.5,y=2.5;,表达式(float)(a+b)/2+(int)x%(int)y 的值是 1。(分数:2.00)填空项 1:_ (正确答案:3.5)解析:17.设 int i;,语句 for(i=1;i=10;i+)+i;循环的次数是 1。(分数:2.00)填空项 1:_ (正确答案:0)解析:18.数组名作为实参传给被调用的函数时,形参获得的是 1。(分数:2.00)填空项 1:_ (正确答案:数组的首地

20、址(或地址))解析:19.设 int x=9;,执行语句 printf(“%d/n“,x2);后的结果是 1。(分数:2.00)填空项 1:_ (正确答案:36)解析:20.设 char c5=c,d,/0,e,/0);,执行语句 printf(“%s/n“,c);后的结果是 1。(分数:2.00)填空项 1:_ (正确答案:cd)解析:21.设 int a23,p;,将数组 a 的最后一个元素赋值给变量 p 的正确语句是 1。(分数:2.00)填空项 1:_ (正确答案:p=a12;)解析:22.字符串“A“在内存中占用的字节数是 1。(分数:2.00)填空项 1:_ (正确答案:2)解析:

21、23.设 int x=1,y=1;,则执行表达式-x&y+后,y 的值是 1。(分数:2.00)填空项 1:_ (正确答案:1)解析:24.函数的自我调用被称为 1 调用。(分数:2.00)填空项 1:_ (正确答案:递归)解析:25.设 char w;int x;float y;double z;,则表达式 w*x+z-y 的值的类型是 1。(分数:2.00)填空项 1:_ (正确答案:double(或双精度))解析:三、程序分析题(总题数:4,分数:16.00)26.void main()int n=9;if(n+10)printf(“%d/n“,n);else printf(“%d/n“

22、,n-);(分数:4.00)_正确答案:(10)解析:27.void fun(int x,int y,int z)z=x*x+y*y;printf(“%d/n“,z);void main()int a=31;fun(5,2,a);printf(“%d/n“,a);(分数:4.00)_正确答案:(2931)解析:28.void main()int a=0,9,8,7,6,5,4,3,2,1),*p=a;printf(“%d,%d/n“,*p+9,*(p+9);(分数:4.00)_正确答案:(9,1)解析:29.func(int a)static int m=0;m+=a;printf(“%d/n

23、“,m);void main()int k=4;func(k);func(k);(分数:4.00)_正确答案:(48)解析:四、程序填充题(总题数:3,分数:18.00)30.求数组 a 的所有元素之和。#define N 3void main()int i,j,sum=0;int aNN=2,4,6,8,10,12,14,16,18;for(i=0;iN;_) /*第一空*/for(j=0;_;j+) /*第二空*/sum=sum+_; /*第三空*/printf(“sum=%d/n“,sum);(分数:6.00)填空项 1:_ (正确答案:第一空:i+第二空:jN(或 j3)第三空:aij

24、)解析:31.键入一个字符串(不超过 80 个字符)存至字符数组 s 中并对各元素升序排序。#includestdio.hvoid main()int i,j,len;char s81,t;gets(s);puts(s);len=strlen(s);for(i=0;ilen-1;i+)for(j=i+1 dlen;_) /*第一空*/if(_) /*第二空*/t=si;si=sj;_; /*第三空*/puts(s);(分数:6.00)填空项 1:_ (正确答案:第一空:j+第二空:sisj第三空:sj=t)解析:32.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。vo

25、id main()int i,n;scanf(“%d“,_); /*第一空*/printf(“%d“,n);for(i=2;in;i+)if(n%i=0)_; /*第二空*/if(_)printf(“Yes/n“); /*第三空*/else printf(“No/n“);(分数:6.00)填空项 1:_ (正确答案:第一空:&n第二空:break第三空:i=n(或 i=n))解析:五、程序设计题(总题数:2,分数:16.00)33.从键盘输入一串字符(!作为结束标志),保存到文件“user.dat”中。(分数:8.00)_正确答案:(#includestdio.hvoid main()FILE

26、 *fp;char ch;fp=fopen(“user.dat“,“w“);while(ch=getchar()!=!)fputc(ch,fp);fclose(fp);)解析:34.某幼儿园入园分班规定如下:(分数:8.00)_正确答案:(void main()int age;scanf(“%d“,&age);printf(“%5d“,age);switch(age)case 1:case 2:case 3:printf(“Lower class/n“);break;case 4:printf(“Middle class/n“);break;case 5:case 6:printf(“Higher class/n“);break;default:printf(“Cant enter/n“);)解析:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1