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

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

1、高级语言程序设计自考题-16 及答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:15,分数:30.00)1.属于面向过程的语言是_ A.汇编语言 B.C语言 C.自然语言 D.二进制语言(分数:2.00)A.B.C.D.2.下列叙述中,正确的是_ A.C程序书写格式严谨,要求一行内只能写一个语句 B.C程序的注释只能出现在右侧 C.主函数可调用任何其他函数 D.主函数必须放在所有函数的前面(分数:2.00)A.B.C.D.3.下列属于 C语言保留字的是_ A.Float B.case C.INT D.Union(分数:2.00)A.B.C.D.4.在 C语言的

2、 if语句中,用作判断的表达式为_ A.算术表达式 B.逻辑表达式 C.关系表达式 D.任意表达式(分数:2.00)A.B.C.D.5.表达式 4%5 A.abcdef,abcd B.abcd,abcde C.abcdef,abcde D.abcdef,abcde(分数:2.00)A.B.C.D.7.以下程序的输出结果是_#includestdio.hmain()int x=1,a=0,b=0;switch(x)case0:b+;case1:a+;case2:a+;b+;printf(“a=%d,b=%d“,a,b); A.a=2,b=1 B.a=2,b=2 C.a=1,b=0 D.a=1,b

3、=1(分数:2.00)A.B.C.D.8.为了避免嵌套的条件语句 if-else的二义性,C 语言规定:与 else配对的为_ A.其之后最近的 if B.其之前最近的 if C.缩排位置相同的 if D.同一行上的 if(分数:2.00)A.B.C.D.9.若 i为整形变量i=0;while(i=0)i+;则以上循环_ A.执行 2次 B.一次也不执行 C.执行 1次 D.无限循环(分数:2.00)A.B.C.D.10.若定义数组:char apple=“apple“;则数组 apple所占的空间为_ A.5个字节 B.1个字节 C.6个字节 D.7个字节(分数:2.00)A.B.C.D.1

4、1.以下程序的输出结果是_#includestdio.hmain()int x=10;for(;x0;x-)if(x%3=0)printf(“%d“,-x); A.852 B.963 C.8754321 D.741(分数:2.00)A.B.C.D.12.以下错误的定义语句是_ A.int x3=0,1,1,2,3; B.int x3=1,2,3,4; C.int x4=1,2,3,1,2,3,1,2,3,1,2,3; D.int x43=1,2,3,1,2,3,1,2,3,1,2,3;(分数:2.00)A.B.C.D.13.以下 for循环语句_int a,b;for(a=0,b=-1;b=1

5、;a+,b+)printf(“*“); A.只循环一次 B.判断条件 b=1非法 C.一次也不循环 D.无限循环(分数:2.00)A.B.C.D.14.设 char s12;能将字符串“+-%/+“正确输入的语句是_ A.scanf(“%s“, B.scanf(“%s“,s); C.getchar(s); D.getchar(“%s“,s);(分数:2.00)A.B.C.D.15.以下程序输出的结果是_main()int n33,i,j;for(i=0;i3;i+)for(j=0;j3;j+)nij=i+jfor(i=0;i2;i+)for(j=0;j2;j+)ni+1j+1+=nijprin

6、tf(“%d/n“,nij); A.0 B.14 C.6 D.不确定(分数:2.00)A.B.C.D.二、B填空题/B(总题数:10,分数:20.00)16.对于复杂算法,用自然语言很难描述算法步骤和结构,我们通常使用_的描述方法。(分数:2.00)填空项 1:_17.结构化程序的三种基本结构:选择结构、_、_。(分数:2.00)填空项 1:_18.对于数组 x8,其地址可以写成 x或_。(分数:2.00)填空项 1:_19.-1ab3,1234b,_1_2,a_13,4_b3_,这五个标识符中,不正确的是_、_。(分数:2.00)填空项 1:_20.一个字符型变量所占内存的字节数是_。(分数

7、:2.00)填空项 1:_21.以下语句 int a=110,b=015; printf(“%x,%d“,a+,+b); 输出结果是_。(分数:2.00)填空项 1:_22.执行语句 dox=5;x+=3;while(x-=20);x 最终为_。(分数:2.00)填空项 1:_23.int x=1,y=-1,则语句:printf(“%d“,(-x的输出结果是_。(分数:2.00)填空项 1:_24.若有定义语句:float k105;按内存存放的规律,k 数组的第 15个元素是_。(分数:2.00)填空项 1:_25.定义 long int a10,则 a数组元素的下标上限是_,下限是_。(分

8、数:2.00)填空项 1:_三、B程序分析题/B(总题数:4,分数:16.00)26.main() int i=5; do if(i%3=1) if(i%5=2) printf(“%d“,i);break; i+; while(i!=0); printf(“/n“); (分数:4.00)_27.main() int x=0,y=2,z=3; switch(x) case(0):switch(y=2) case1:printf(“L“);break; case2:printf(“%“);break; case(0):switch(z) case1:printf(“K“);break; case2

9、:printf(“#“);break; default:printf(“V“); (分数:4.00)_28.main() int a10=1,8,7,10,5,23,27,29,30,77; int b10=8,29,30,2,4,6,75,80,24,36; int i;int j; for(i=0;i10;i+) for(j=0;j10;j+) if(ai=bj) break; if(j10)printf(“%d“,ai); (分数:4.00)_29.说明下列程序的功能。 main() int i,j; int a33,b33,x; for(i=0;i3;i+) for(j=0;j3;j+

10、) scanf(“%d,“ aij=x for(i=0;i3;i+) for(j=0;j3;j+) bij=aji; for(i=0;i3;i+) printf(“/n“); for(j=0;j3;j+)printf(“%d“,bij); (分数:4.00)_四、B程序填充题/B(总题数:3,分数:18.00)30.以下程序的功能是:从键盘输入一串字符,并统计小写字母的个数。 main() int_; /*第一空*/ char c10; scanf(“%s“,c); _/*第二空*/ _/*第三空*/ a+; printf(“小写字母个数为%d“,a); (分数:6.00)填空项 1:_31.

11、下面程序的功能是输入一个 3阶矩阵,求主对角线元素之和。 main() int a33,i,j,k,sum=0,b; _ /*第一空*/ for(j=0;j3;j+) _ /*第二空*/ for(k=0;k3;k+) for(b=0;b3;b+) _/*第三空*/ printf(“sum=%d“,sum); (分数:6.00)填空项 1:_32.下列程序的功能是输入 10个整数,按照从大到小顺序重新排序后输出。 main() int a10,i,j,t,n=10; for(i=0;i10;i+) scanf(“%5d“,in-1;i+) for(_;jn;j+) /*第一空*/ if(ai_a

12、j)/*第二空*/ t=ai;_;aj=t;/*第三空*/ for(i=0;i10;i+) printf(“%5d“,ai); (分数:6.00)填空项 1:_五、B程序设计题/B(总题数:2,分数:16.00)33.设计一个程序,输入一个字符,判断它是数字、字母还是其他字符。(分数:8.00)_34.输入一个 34矩阵,求其中的最大元素。(分数:8.00)_高级语言程序设计自考题-16 答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:15,分数:30.00)1.属于面向过程的语言是_ A.汇编语言 B.C语言 C.自然语言 D.二进制语言(分数:2.00)A

13、.B. C.D.解析:考点 各种语言的面对对象 解析 汇编语言、二进制语言是面向机器的语言,自然语言并不是计算机语言。2.下列叙述中,正确的是_ A.C程序书写格式严谨,要求一行内只能写一个语句 B.C程序的注释只能出现在右侧 C.主函数可调用任何其他函数 D.主函数必须放在所有函数的前面(分数:2.00)A.B.C. D.解析:考点 C 程序的特点 解析 C 程序书写灵活,在一行上可书写多个语句;注释可放在任何位置;主函数可放在任何位置。3.下列属于 C语言保留字的是_ A.Float B.case C.INT D.Union(分数:2.00)A.B. C.D.解析:考点 C 语言的保留字

14、解析 保留字必须全部小写。4.在 C语言的 if语句中,用作判断的表达式为_ A.算术表达式 B.逻辑表达式 C.关系表达式 D.任意表达式(分数:2.00)A.B.C.D. 解析:考点 if 语句的判断 解析 任意表达式的值都能看作逻辑值。5.表达式 4%5 A.abcdef,abcd B.abcd,abcde C.abcdef,abcde D.abcdef,abcde(分数:2.00)A. B.C.D.解析:考点 输出函数 解析 %ms,当字符数大于 m时,按原字符数完整输出;%m.ns,输出 n位字符,不够 m位,则左边补上空格。7.以下程序的输出结果是_#includestdio.hm

15、ain()int x=1,a=0,b=0;switch(x)case0:b+;case1:a+;case2:a+;b+;printf(“a=%d,b=%d“,a,b); A.a=2,b=1 B.a=2,b=2 C.a=1,b=0 D.a=1,b=1(分数:2.00)A. B.C.D.解析:考点 switch 结构 解析 x=1,则执行 case1,a 为 1,其后无 break,则继续执行下面的case2,a 为 2,b 为 1。8.为了避免嵌套的条件语句 if-else的二义性,C 语言规定:与 else配对的为_ A.其之后最近的 if B.其之前最近的 if C.缩排位置相同的 if D

16、.同一行上的 if(分数:2.00)A.B. C.D.解析:考点 if-else 语句的使用 解析 当一个条件语句中又嵌套了其他一个或多个条件语句的时候,else与其之前最近的 if配对。9.若 i为整形变量i=0;while(i=0)i+;则以上循环_ A.执行 2次 B.一次也不执行 C.执行 1次 D.无限循环(分数:2.00)A.B. C.D.解析:考点 while 句型 解析 while 语句执行的条件是()中表达式非 0,而 i=0时值为 0,不执行循环。10.若定义数组:char apple=“apple“;则数组 apple所占的空间为_ A.5个字节 B.1个字节 C.6个字

17、节 D.7个字节(分数:2.00)A.B.C. D.解析:考点 字符串的存储 解析 “apple“字符串在后面有个结束符/0,因此字节数为 6个。11.以下程序的输出结果是_#includestdio.hmain()int x=10;for(;x0;x-)if(x%3=0)printf(“%d“,-x); A.852 B.963 C.8754321 D.741(分数:2.00)A. B.C.D.解析:考点 for 语句的作用 解析 题目主要是得出能被 3整除的数自减 1,continue 的作用可忽略不计。12.以下错误的定义语句是_ A.int x3=0,1,1,2,3; B.int x3=

18、1,2,3,4; C.int x4=1,2,3,1,2,3,1,2,3,1,2,3; D.int x43=1,2,3,1,2,3,1,2,3,1,2,3;(分数:2.00)A.B.C. D.解析:考点 二维数组的定义和初始化 解析 C 语言规定二维数组定义时如果对全部元素赋初值,则第一维的长度可不指定,但第二维不可省略。13.以下 for循环语句_int a,b;for(a=0,b=-1;b=1;a+,b+)printf(“*“); A.只循环一次 B.判断条件 b=1非法 C.一次也不循环 D.无限循环(分数:2.00)A.B.C.D. 解析:考点 for 语句的判断条件 解析 循环条件为

19、b=1,赋值语句非 0,所以无限循环。14.设 char s12;能将字符串“+-%/+“正确输入的语句是_ A.scanf(“%s“, B.scanf(“%s“,s); C.getchar(s); D.getchar(“%s“,s);(分数:2.00)A.B. C.D.解析:考点 字符串数组的输入 解析 getchar 只可输入单个字符,C 和 D错误;而数组名代表数组的起始地址,因此不需要for(i=0;i3;i+)for(j=0;j3;j+)nij=i+jfor(i=0;i2;i+)for(j=0;j2;j+)ni+1j+1+=nijprintf(“%d/n“,nij); A.0 B.1

20、4 C.6 D.不确定(分数:2.00)A.B.C. D.解析:考点 循环的嵌套 解析 第一个循环嵌套赋初值 n=0,1,2,1,2,3,2,3,4,第二个循环嵌套进行计算后得 n=0,1,2,1,2,4,2,4,6。二、B填空题/B(总题数:10,分数:20.00)16.对于复杂算法,用自然语言很难描述算法步骤和结构,我们通常使用_的描述方法。(分数:2.00)填空项 1:_ (正确答案:流程图(框图))解析:考点 算法的描述方法 解析 对于复杂算法,用自然语言很难清楚地描述算法步骤的流向和结构。我们通常使用流程图(又称为框图)来描述算法。17.结构化程序的三种基本结构:选择结构、_、_。(

21、分数:2.00)填空项 1:_ (正确答案:顺序结构,循环结构)解析:考点 结构化程序的三种基本机构 解析 结构化程序的三种基本机构为选择结构、顺序结构和循环结构。18.对于数组 x8,其地址可以写成 x或_。(分数:2.00)填空项 1:_ (正确答案: printf(“%x,%d“,a+,+b); 输出结果是_。(分数:2.00)填空项 1:_ (正确答案:6e,14)解析:考点 输出格式 解析 %x 输出的格式为十六进制整数,%d 输出的是十进制整数。22.执行语句 dox=5;x+=3;while(x-=20);x 最终为_。(分数:2.00)填空项 1:_ (正确答案:7)解析:考点

22、 do-while 循环 解析 先执行循环体 do语句,然后判断,不符合则退出循环。23.int x=1,y=-1,则语句:printf(“%d“,(-x的输出结果是_。(分数:2.00)填空项 1:_ (正确答案:0)解析:考点 逻辑表达式 解析 -x 为 0,对于与运算,一旦一个为 0,则表达式为 0,所以输出 0。24.若有定义语句:float k105;按内存存放的规律,k 数组的第 15个元素是_。(分数:2.00)填空项 1:_ (正确答案:K24)解析:考点 二维数组元素的存放规律 解析 不分行给二维数组赋初值时,是先按行后按列赋值的,即先给一行赋完值,再给下一行赋值,还要注意的

23、是,不管是行还是列,都是从下标 0开始的。25.定义 long int a10,则 a数组元素的下标上限是_,下限是_。(分数:2.00)填空项 1:_ (正确答案:9,0)解析:考点 一维数组的引用 解析 一维数组下标的合法值范围是 0(长度-1)。三、B程序分析题/B(总题数:4,分数:16.00)26.main() int i=5; do if(i%3=1) if(i%5=2) printf(“%d“,i);break; i+; while(i!=0); printf(“/n“); (分数:4.00)_正确答案:(7)解析:27.main() int x=0,y=2,z=3; switc

24、h(x) case(0):switch(y=2) case1:printf(“L“);break; case2:printf(“%“);break; case(0):switch(z) case1:printf(“K“);break; case2:printf(“#“);break; default:printf(“V“); (分数:4.00)_正确答案:(LV)解析:28.main() int a10=1,8,7,10,5,23,27,29,30,77; int b10=8,29,30,2,4,6,75,80,24,36; int i;int j; for(i=0;i10;i+) for(j

25、=0;j10;j+) if(ai=bj) break; if(j10)printf(“%d“,ai); (分数:4.00)_正确答案:(8 29 30)解析:29.说明下列程序的功能。 main() int i,j; int a33,b33,x; for(i=0;i3;i+) for(j=0;j3;j+) scanf(“%d,“ aij=x for(i=0;i3;i+) for(j=0;j3;j+) bij=aji; for(i=0;i3;i+) printf(“/n“); for(j=0;j3;j+)printf(“%d“,bij); (分数:4.00)_正确答案:(按先行后列的次序输入一个

26、 33矩阵,转置后输出)解析:四、B程序填充题/B(总题数:3,分数:18.00)30.以下程序的功能是:从键盘输入一串字符,并统计小写字母的个数。 main() int_; /*第一空*/ char c10; scanf(“%s“,c); _/*第二空*/ _/*第三空*/ a+; printf(“小写字母个数为%d“,a); (分数:6.00)填空项 1:_ (正确答案:i,a=0; for(i=0;i10;i+) if(ci=a _ /*第一空*/ for(j=0;j3;j+) _ /*第二空*/ for(k=0;k3;k+) for(b=0;b3;b+) _/*第三空*/ printf

27、(“sum=%d“,sum); (分数:6.00)填空项 1:_ (正确答案:for(i=0;i3;i+) scanf(“%d“, if(b=k)sum+=akb)解析:32.下列程序的功能是输入 10个整数,按照从大到小顺序重新排序后输出。 main() int a10,i,j,t,n=10; for(i=0;i10;i+) scanf(“%5d“,in-1;i+) for(_;jn;j+) /*第一空*/ if(ai_aj)/*第二空*/ t=ai;_;aj=t;/*第三空*/ for(i=0;i10;i+) printf(“%5d“,ai); (分数:6.00)填空项 1:_ (正确答案

28、:j=i+1 ai=aj)解析:五、B程序设计题/B(总题数:2,分数:16.00)33.设计一个程序,输入一个字符,判断它是数字、字母还是其他字符。(分数:8.00)_正确答案:(#includestdio.h main() char a; a=getchar(); if(a=0 else if(a=a else if(a=A else printf(“输入的是其他字符“); )解析:34.输入一个 34矩阵,求其中的最大元素。(分数:8.00)_正确答案:(#includestdio.h main() int a34,i,j,d,b,max; for(i=0;i3;j+) for(j=0;j4;j+) scanf(“%d“, max=a00; for(d=0;d3;d+) for(b=0;b4;b+) if(maxadb) max=adb; printf(“最大元素是%d“,max); )解析:

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

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

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