【学历类职业资格】高级语言程序设计自考题-20及答案解析.doc
《【学历类职业资格】高级语言程序设计自考题-20及答案解析.doc》由会员分享,可在线阅读,更多相关《【学历类职业资格】高级语言程序设计自考题-20及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、高级语言程序设计自考题-20 及答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:15,分数:30.00)1.若有定义:float a=27.3;int i=0,k=3;则不符合 C语言规定的赋值语句是_ A.i=!a B.i=(a+k)=(i+k) C.a=a+,-k+ D.i=a%11(分数:2.00)A.B.C.D.2.以下说法中不正确的是_ A.do-while和 for循环均是先执行循环体语句,后判断表达式 B.while循环是先判断表达式,后执行循环体语句 C.使用 while循环时,循环变量初始化的操作应在循环语句之前完成 D.for,while
2、和 for-while循环中的循环体均可由空语句构成(分数:2.00)A.B.C.D.3.若有定义语句:int a,b,c,*p=之后,接着执行以下选项中的语句,则正确的是_ A.scanf(“%d“,a,b); B.scanf(“%d“, C.scanf(“%d“,p); D.scanf(“%d%d%d“,a,b,c);(分数:2.00)A.B.C.D.4.设有定义:int x=4;,以下表达式中,值不为 20的是_ A.x*=x+1 B.x+,4*x C.x*=(x+1) D.2*x,x+=12(分数:2.00)A.B.C.D.5.阅读下面程序段,执行后的结果为_#includestdio
3、.hint fun(int,int);main()int m=4,n=2,k;k=fun(m,n);printf(“%d/n“,k);fun(int m,int n)return(m*m*m-n*n*n); A.64 B.56 C.8 D.0(分数:2.00)A.B.C.D.6.设有以下语句:struct exint x;double y;char *zapple;则下面叙述中不正确的是_ A.struct是结构体类型的关键字 B.apple是结构体类型名 C.x,y,z 都是结构体成员名 D.struct ex是结构体类型名(分数:2.00)A.B.C.D.7.设 static int x;
4、执行表达式(x+1=2)x7;x+)printf(x%2)?(“*%d):(“#%d/n“),k);输出的结果是_ A.* *4 * *5 #6 B.#4 #5 * *6 C.#4 * *5#6 D.* *4#5 * *6(分数:2.00)A.B.C.D.9.定义如下变量和数组:int k:int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是_for(k=0;k3;k+)printf(“%d“,x2-kk); A.9 5 1 B.9 6 3 C.7 5 3 D.7 4 1(分数:2.00)A.B.C.D.10.以下程序运行后,a 的值是_main()int a,k=4,m
5、=2,*p1=a=p1=printf(“%d/n“,a); A.4 B.0 C.1 D.运行时出错,a 无定值(分数:2.00)A.B.C.D.11.C语言规定,调用一个函数,实参与形参都是简单变量时,它们之间的传递方式是_ A.地址传递 B.单向值传递 C.用户指定方式 D.双向值传递(分数:2.00)A.B.C.D.12.执行以下程序段后,s 的值为_int a=6,3,7,2,1,5,4,10;int s=0,k;for(k=0;k8;k+=2)s+=*(a+k); A.18 B.28 C.14 D.无定值(分数:2.00)A.B.C.D.13.设有数组定义:char array=“ch
6、ina“;,则数组 array所占用的空间和长度为_ A.4个字节,5 B.5个字节,5 C.6个字节,5 D.7个字节,6(分数:2.00)A.B.C.D.14.如果打开文件时,选用的文件操作方式是“wb+“,则下列说法中正确的是_ A.要打开的文件必须存在 B.打开文件后只能读数据 C.打开文件后只能写数据 D.文件打开后删除原内容再写(分数:2.00)A.B.C.D.15.包含用户类型符“FILE”的定义的头文件是_ A.string.h B.stdlib.h C.stdio.h D.file.h(分数:2.00)A.B.C.D.二、B填空题/B(总题数:10,分数:20.00)16.若
7、 a,b,c 均是整型变量,则计算表达式 a=(b=3)+(c=7)后,a 的值为_,c 的值为_。(分数:2.00)填空项 1:_17.表达式 8.0*(1/2)的值为_。(分数:2.00)填空项 1:_18.设 x,y,z 均为整型变量,请写出描述“x 或 y中至少有一个大于 z”的表达式_。(分数:2.00)填空项 1:_19.在 C语言中,二维数组元素在内存中的存放顺序是_。(分数:2.00)填空项 1:_20.以下程序的输出结果是_。 #includestdio.h main() char s=“abcdefg“; s4=/0; printf(“%s/n“,s);(分数:2.00)填
8、空项 1:_21.在一个源文件中定义的外部变量的作用域为_。(分数:2.00)填空项 1:_22.设 char s 20=“My“;,则执行 strcat(s,“Boy!“)后 s的内容是_。(分数:2.00)填空项 1:_23.设 int a25=8,5;则数组元素_的值为 5。(分数:2.00)填空项 1:_24.fopen函数打开文件成功,返回值是与打开文件相关的_。(分数:2.00)填空项 1:_25.a盘根目录下的一级子目录 tc中的 text.exe文件的磁盘文件名是_。(分数:2.00)填空项 1:_三、B程序分析题/B(总题数:4,分数:16.00)26.main() int
9、n,k=0; for(n=0;n20;n+) k=0; while(k=n) if(n=5*k) printf(“%d,“,n); k+; (分数:4.00)_27.#includestdio.h int t(int x,int y,int p,int q) p=x*x+y*y; q=x*x-y*y; main() int a=4,b=3,c=5,d=6; t(a,b,c,d); printf(“%d%d/n“,c,d); (分数:4.00)_28.#includestdio.h int b=2; int func(int *a) *a+=b;return(*a); main() int a=
10、3,res=1; res+=func( printf(“%d%d/n“,a,res);(分数:4.00)_29.#includestdio.h main() struct APPLE structint x; int y; in; int a;int b; e; e.a=2;e.b=3; e.in.x=e.a*e.b; e.in.y=e.a+e.b; printf(“%d,%d“,e.in.x,e.in.y); (分数:4.00)_四、B程序填充题/B(总题数:3,分数:18.00)30.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。 #includestdio.h ma
11、in() int i,a 20,sum,count; sum=count=0; for(_)scanf(“%d“,/*第一空*/ for(i=0;i20;i+) if(_)/*第二空*/ count+; _;/*第三空*/ printf(“count=%d,sum=%d/n“,count,sum); (分数:6.00)填空项 1:_31.下面程序是将字符串 p中的所有字符复制到字符串 b中,要求每复制三个字符后插入一个空格。 #includestdio.h void cp(char *p,char *b) int i,k=0; while(*p) i=0; while(_)/*第一空*/ bk
12、=*p; k+;p+;i+; if(*p) _;/*第二空*/ _;/*第三空*/ main() char a20,b20; gets(a); cp(a,b); puts(b); printf(“/n“); (分数:6.00)填空项 1:_32.以下程序由终端输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用“#”作为结束输入的标志。 #includestdio.h #includestdlib.h main() FILE *fp; char ch,fname10; printf(“input the name of file/n“); gets(fname); if(fp=_)
13、=NULL)printf(“cannot open/n“);exit(0);/*第一空*/ elseprintf(“enter data/n“); while(_)fputc(_,fp);/*第二、三空*/ fclose(fp); (分数:6.00)填空项 1:_五、B程序设计题/B(总题数:2,分数:16.00)33.编一个程序,其功能是对名为“abc.txt”的磁盘文件中“”之前的所有字符进行处理,处理方法是每个字节的内容减 10。(分数:8.00)_34.用指针方法实现:输入 8个整数,将最大数和最后一个数交换,最小数和第一个数交换,然后整体倒序输出。(分数:8.00)_高级语言程序设计
14、自考题-20 答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:15,分数:30.00)1.若有定义:float a=27.3;int i=0,k=3;则不符合 C语言规定的赋值语句是_ A.i=!a B.i=(a+k)=(i+k) C.a=a+,-k+ D.i=a%11(分数:2.00)A.B.C.D. 解析:考点 赋值语句的书写规则 解析 取模运算符“%”,二元运算符,具有左结合性,参与运算的必须为整量,D 选项中 a的类型是 float,所以 D不符合规定。2.以下说法中不正确的是_ A.do-while和 for循环均是先执行循环体语句,后判断表达式 B
15、.while循环是先判断表达式,后执行循环体语句 C.使用 while循环时,循环变量初始化的操作应在循环语句之前完成 D.for,while 和 for-while循环中的循环体均可由空语句构成(分数:2.00)A. B.C.D.解析:考点 for,while,do-while 循环的特点 解析 for 循环式先判断表达式,后执行循环语句。3.若有定义语句:int a,b,c,*p=之后,接着执行以下选项中的语句,则正确的是_ A.scanf(“%d“,a,b); B.scanf(“%d“, C.scanf(“%d“,p); D.scanf(“%d%d%d“,a,b,c);(分数:2.00)
16、A.B.C. D.解析:考点 scanf 函数 解析 scanf 函数中的输入项必须是指针,只有 C符合要求。4.设有定义:int x=4;,以下表达式中,值不为 20的是_ A.x*=x+1 B.x+,4*x C.x*=(x+1) D.2*x,x+=12(分数:2.00)A.B.C.D. 解析:考点 逗号运算符的运算方式 解析 逗号运算符的作用是将若干表达式连接起来,它的优先级别在所有运算符中是最低的,结合方向是“自左向右”。A 和 C项的结果是一样的,可展开为:x=x*(x+1)=20;B 项中先执行 x+,逗号执行前 x的值变为 5,逗号后的值就是整个表达式的值为 20;D 选项逗号前并
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学历 职业资格 高级 语言程序设计 考题 20 答案 解析 DOC
