【学历类职业资格】高级语言程序设计自考题模拟39及答案解析.doc

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

1、高级语言程序设计自考题模拟 39 及答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:0,分数:0.00)二、单项选择题(总题数:15,分数:30.00)1.不属于 C 语言转义字符的是_(分数:2.00)A./B./dddC./aD./r2.执行下面的程序段后,变量 k 的值为_ int k=3,s2; s0=k;k=x1*10;(分数:2.00)A.不定值B.33C.30D.103.已知 char c5=“a“,“b“,“c“,“c“,“/0“,“d“;则执行语句 printf(“%s“,c);的结果为_(分数:2.00)A.“a“b“B.abC.abcD.a

2、bc/0d4.设 int a=1,b=2;,则执行 a=b+2,a+,a+b;后 a 和 b 的值分别是_(分数:2.00)A.1 和 2B.3 和 2C.4 和 7D.5 和 25.设 int a=2,b=3,c=4;,则表达式 abB.char a10;C.char s=“ab“;D.int n=10,an;7.字符串“hello kitty”在存储单元中占几个字节_(分数:2.00)A.5B.11C.12D.228.设 int m=5;,语句 while(m=0)prinff(“%d“,m-=2);的循环体执行的次数是_(分数:2.00)A.0B.1C.2D.无限9.与 int*q30;

3、等价的定义语句是_(分数:2.00)A.int q30;B.int*q;C.int*(q30);D.int(*q)30;10.定义二维数组并初始化,正确的是_(分数:2.00)A.int a3=1,2,3,4,5,6;B.int a3=1,2,3,4,5,6;C.int a 33=1,2,3,4,5,6;D.int a=1,2,3,4,5,6;11.设有下列数据定义语句,则表达式 sizeof(abc)的值是_ structchar a;short b;float c;abc;(分数:2.00)A.3B.7C.8D.612.设有定义语句 int x=1,2,3,4,5,P=x;,则不能正确引用

4、数组 x 的元素的表达式是_(分数:2.00)A.(P-)B.(-P)C.(P+)D.(+P)13.若将存放在双精度型数组 a 5中的 5 个双精度型实数写到文件型指针 fpl 指向的文件中,正确的语句是_(分数:2.00)A.for(i=0;i40;i+)fputc(ai,fpl);B.for(i=0;i5;i+)fputc(C.for(i=0;i5;i+)fwrite(D.fwrite(fpl,8,5,a);14.设有定义语句_ struct int a;float b;d3=5,6,8,3,2,7; 则 printf(“%d/n“,d2.a);的输出是(分数:2.00)A.8B.5C.7

5、D.215.以只写方式打开一个文本文件,应选择的文件操作方式是_(分数:2.00)A.“a+“B.“w+“C.“wb“D.“w“三、第部分 非选择题(总题数:0,分数:0.00)四、填空题(总题数:10,分数:20.00)16.赋值运算符的结合性是 1。 (分数:2.00)17.设 char b;,判断 b 为数字字符的逻辑表达式是 1。 (分数:2.00)18.若 fp 已经指向一个打开的文件,则关闭该文件的语句是 1。 (分数:2.00)19.表达式 islower(65)的值是 1。 (分数:2.00)20.设 typedef float REAL;REAL x=l;,表达式 x/2 的

6、值是 1。 (分数:2.00)21.凡在函数中未指定存储类型的变量,其隐含的存储类型为 1。 (分数:2.00)22.初始化值是 3.14 的双精度变量 d 的定义形式为 1。 (分数:2.00)23.若有宏定义:#define A(x)printf(“%d“,x); #define B(y) A(y); 则执行 y=5; B(y)的结果为 1。 (分数:2.00)24.表达式 sizeof(6*9/3)的值为 1。 (分数:2.00)25.在执行循环结构时,能直接退出循环的语句是 1。 (分数:2.00)五、程序分析题(总题数:4,分数:16.00)26.main 1 int n,k=0;

7、for(n=0;n30;n+) k=0; while(k=n) if(n=5*k) prinff(“%d,“,n); k+; (分数:4.00)27.int fx(int n) int s; if(n=0) s=0; else s=n+fx(n-2); return s; void main 1 prinff(“%d/n“,fx(8); (分数:4.00)28.struct st int i; int j; *P; main 1 street st s=5,6,4,3,8,7,*P=s; printf(“%din“,+P-i); (分数:4.00)29.func(int y) static i

8、nt x=0; x+=y; printf(“%d,“,x); main 1 int a=5; func(a); func(a); (分数:4.00)六、程序填充题(总题数:3,分数:18.00)30.下面程序要求输入两字符串,若两字符串不完全相等,以第一个不同字符为准,输出较小的一个。 #include“string.h“ main() char x20,y20; int m; prinff(“请输入第一个字符串;/n“); gets(x); printf(“请输入第二个字符串;/n“); gets(y); m= 1; if(m=0) printf(“两个字符串相等“); else if(m0

9、) pfinff(“%s“, 2); else printf(“%s“, 3); (分数:6.00)31.输入 50 名学生的出生月份,统计并输出每个月份过生日的学生人数。 #define N 50 void main() int i,month; int birth13=0;/*birth1birth12分别保存 112 月过生日的学生数*/ for(i=1;i=N;i+) scanf(“%d“, 1); if(month=1 for(i=l; 2;i+) printf(“%d month 3/n“,i,birthi); (分数:6.00)32.下列函数 f2()的功能是对 pa、pb、pc

10、 指向的 3 个实数排序,保证*papb*pc。该函数调用了函数 f1()。void fl(int*x,int*y) int t; 1; void f2(int * pa,int * pb, int * pc) if( 2)f1(pa,pb); if(*pa*pc) f1(pa,pc); if(*pb*pc) f1( 3); (分数:6.00)七、程序设计题(总题数:2,分数:16.00)33.输入一个一维整型数组,输出最大值、最小值和平均值(要求用指向一维字符数组的指针变量来处理数组元素)。 (分数:8.00)_34.(1)编写一个计算梯形面积的函数。函数头是:float area(floa

11、t s,float x,float h)其中变量s、x 和 h 分别表示梯形的上底、下底和高。 (2)编写主函数从键盘输入梯形的上底、下底和高的值,调用上述函数输出梯形面积(保留小数点后两位)。(分数:8.00)_高级语言程序设计自考题模拟 39 答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:0,分数:0.00)二、单项选择题(总题数:15,分数:30.00)1.不属于 C 语言转义字符的是_(分数:2.00)A./ B./dddC./aD./r解析:考点 本题主要考查的知识点为 C 语言的转义字符。 转义字符由“反斜杠符号/”后跟单个字符或若干个字符构成。2

12、.执行下面的程序段后,变量 k 的值为_ int k=3,s2; s0=k;k=x1*10;(分数:2.00)A.不定值 B.33C.30D.10解析:考点 本题主要考查的知识点为变量的赋值。 数组 s2的两个元素为 s0和 s1,为 s0赋值为 k,即为 3,s1是一个不确定的值,所以表达式k=s1*10 为不确定值。3.已知 char c5=“a“,“b“,“c“,“c“,“/0“,“d“;则执行语句 printf(“%s“,c);的结果为_(分数:2.00)A.“a“b“B.abC.abc D.abc/0d解析:考点 本题主要考查的知识点为字符串的输出。 “/0“为字符串结束标记,输出字

13、符串时,只输出字符串结束标记前的所有有效字符。4.设 int a=1,b=2;,则执行 a=b+2,a+,a+b;后 a 和 b 的值分别是_(分数:2.00)A.1 和 2B.3 和 2C.4 和 7D.5 和 2 解析:考点 本题主要考查的知识点为逗号运算符。 逗号运算符的优先级最低,结合性为从左至右,本题中 a=b+2;4,a+=5,a+b=7,故表达式的值为 7,a 的值为 5,b 的值为 2。5.设 int a=2,b=3,c=4;,则表达式 abB.char a10;C.char s=“ab“;D.int n=10,an; 解析:7.字符串“hello kitty”在存储单元中占几

14、个字节_(分数:2.00)A.5B.11C.12 D.22解析:考点 本题主要考查的知识点为字符串在内存中所占字节数。 字符串在内存中所占的字节数等于字符串的长度+1,转义字符“/0“占有一个字节。8.设 int m=5;,语句 while(m=0)prinff(“%d“,m-=2);的循环体执行的次数是_(分数:2.00)A.0 B.1C.2D.无限解析:考点 本题在 2008 年 10 月第一大题第 8 小题考过,主要考查的知识点为 while 循环。 while 循环语句的结构为:while(表达式)语句; 当表达式的值为真时执行其后循环语句。本题中变量 m 的初值为 5,则执行 whi

15、le 判定表达式(m=0)时结果为假,不执行循环体。故循环体的执行次数为 0。9.与 int*q30;等价的定义语句是_(分数:2.00)A.int q30;B.int*q;C.int*(q30); D.int(*q)30;解析:考点 本题主要考查的知识点为指针数组。 int*q30和 int*(q30)为指针数组,in q30为一维数组,int*q 为一个指针变量,int(*q)30为数组指针。10.定义二维数组并初始化,正确的是_(分数:2.00)A.int a3=1,2,3,4,5,6;B.int a3=1,2,3,4,5,6; C.int a 33=1,2,3,4,5,6;D.int

16、a=1,2,3,4,5,6;解析:考点 本题主要考查的知识点为二维数组的初始化。 在定义二维数组并对其进行初始化的过程中,可以有多种初始化方法。但应注意二维数组的列长度不可省略,若初始化时给所有元素赋初值或分行给所有行的前若干个元素赋初值时,行长度可以省略。故本题中很明显 A、D 项是错误的,且初始化时所有的元素值都被包含在“”内,所以 C 项也是错误的。11.设有下列数据定义语句,则表达式 sizeof(abc)的值是_ structchar a;short b;float c;abc;(分数:2.00)A.3B.7 C.8D.6解析:考点 本题主要考查的知识点为结构型变量占用的内存空间。

17、结构型变量占用的内存字节数等于该结构型所有成员占用的字节数之和,char a 占 1 个字节,shot b 占2 个字节,float c 占 4 个字节,故 abc 共占 7 个字节。12.设有定义语句 int x=1,2,3,4,5,P=x;,则不能正确引用数组 x 的元素的表达式是_(分数:2.00)A.(P-)B.(-P) C.(P+)D.(+P)解析:13.若将存放在双精度型数组 a 5中的 5 个双精度型实数写到文件型指针 fpl 指向的文件中,正确的语句是_(分数:2.00)A.for(i=0;i40;i+)fputc(ai,fpl);B.for(i=0;i5;i+)fputc(C

18、.for(i=0;i5;i+)fwrite( D.fwrite(fpl,8,5,a);解析:考点 本题主要考查的知识点为 fwrite()的用法。 fputc()为写字符函数,写数据函数 fwrite()处理的是二进制文件,写的数据可以是整型、实型等,它的最后一个参数为文件型指针,故答案为 C 项。14.设有定义语句_ struct int a;float b;d3=5,6,8,3,2,7; 则 printf(“%d/n“,d2.a);的输出是(分数:2.00)A.8B.5C.7D.2 解析:15.以只写方式打开一个文本文件,应选择的文件操作方式是_(分数:2.00)A.“a+“B.“w+“C

19、.“wb“D.“w“ 解析:考点 本题主要考查的知识点为文件的使用方式。 “a+“操作方式是打开一个已存在的文本文件,可以读取数据,也可以写数据到文件尾部;“w+“是打开一个文本文件,可以读取数据,也可以写入数据;“wb“是打开一个二进制文件,只能写入;“w“是打开一个文本文件,只能写入。三、第部分 非选择题(总题数:0,分数:0.00)四、填空题(总题数:10,分数:20.00)16.赋值运算符的结合性是 1。 (分数:2.00)解析:自右向左17.设 char b;,判断 b 为数字字符的逻辑表达式是 1。 (分数:2.00)解析:b=“0“19.表达式 islower(65)的值是 1。

20、 (分数:2.00)解析:020.设 typedef float REAL;REAL x=l;,表达式 x/2 的值是 1。 (分数:2.00)解析:0.521.凡在函数中未指定存储类型的变量,其隐含的存储类型为 1。 (分数:2.00)解析:自动型(auto)22.初始化值是 3.14 的双精度变量 d 的定义形式为 1。 (分数:2.00)解析:double d=3.1423.若有宏定义:#define A(x)printf(“%d“,x); #define B(y) A(y); 则执行 y=5; B(y)的结果为 1。 (分数:2.00)解析:524.表达式 sizeof(6*9/3)的

21、值为 1。 (分数:2.00)解析:425.在执行循环结构时,能直接退出循环的语句是 1。 (分数:2.00)解析:break;五、程序分析题(总题数:4,分数:16.00)26.main 1 int n,k=0; for(n=0;n30;n+) k=0; while(k=n) if(n=5*k) prinff(“%d,“,n); k+; (分数:4.00)解析:0,5,10,15,20,25,27.int fx(int n) int s; if(n=0) s=0; else s=n+fx(n-2); return s; void main 1 prinff(“%d/n“,fx(8); (分数

22、:4.00)解析:2028.struct st int i; int j; *P; main 1 street st s=5,6,4,3,8,7,*P=s; printf(“%din“,+P-i); (分数:4.00)解析:629.func(int y) static int x=0; x+=y; printf(“%d,“,x); main 1 int a=5; func(a); func(a); (分数:4.00)解析:5,10,六、程序填充题(总题数:3,分数:18.00)30.下面程序要求输入两字符串,若两字符串不完全相等,以第一个不同字符为准,输出较小的一个。 #include“str

23、ing.h“ main() char x20,y20; int m; prinff(“请输入第一个字符串;/n“); gets(x); printf(“请输入第二个字符串;/n“); gets(y); m= 1; if(m=0) printf(“两个字符串相等“); else if(m0) pfinff(“%s“, 2); else printf(“%s“, 3); (分数:6.00)解析:strcmp(x,y) x y31.输入 50 名学生的出生月份,统计并输出每个月份过生日的学生人数。 #define N 50 void main() int i,month; int birth13=0

24、;/*birth1birth12分别保存 112 月过生日的学生数*/ for(i=1;i=N;i+) scanf(“%d“, 1); if(month=1 for(i=l; 2;i+) printf(“%d month 3/n“,i,birthi); (分数:6.00)解析: 1; void f2(int * pa,int * pb, int * pc) if( 2)f1(pa,pb); if(*pa*pc) f1(pa,pc); if(*pb*pc) f1( 3); (分数:6.00)解析:t=*x;*x=*y;*y=t *pa*pb pb,pc七、程序设计题(总题数:2,分数:16.00

25、)33.输入一个一维整型数组,输出最大值、最小值和平均值(要求用指向一维字符数组的指针变量来处理数组元素)。 (分数:8.00)_正确答案:()解析:main() int a20,*P=a,i,max,min,av=0; for(i=0;i20;i+,P+) scanf(“%d“,P); if(i=0) max=*P;min=*P; if(max*P) max=*P; else if(min*P) min=*P; av=av+*P; av=av/20; printf(“max=%d,min=%d,av=%d“,max, min,av); 34.(1)编写一个计算梯形面积的函数。函数头是:float area(float s,float x,float h)其中变量s、x 和 h 分别表示梯形的上底、下底和高。 (2)编写主函数从键盘输入梯形的上底、下底和高的值,调用上述函数输出梯形面积(保留小数点后两位)。(分数:8.00)_正确答案:()解析:float area(float s,float x,float h) return(s+x)*h*0.5; main() float sl,xl,hl; scanf(“%f%f“, printf(“area=%7.2f/n“,area(sl,xl,h1);

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

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

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