ImageVerifierCode 换一换
格式:DOC , 页数:13 ,大小:83.50KB ,
资源ID:1380200      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1380200.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【学历类职业资格】高级语言程序设计自考题-20及答案解析.doc)为本站会员(visitstep340)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

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

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 选项逗号前并

17、未给 x赋值,所以表达式的值就是 x+=12的值,即为 16。5.阅读下面程序段,执行后的结果为_#includestdio.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.解析:考点 函数之间的数据传递 解析 如果没有指明函数数值类型,则默认函数返回值的类型为int类型。6.设有以下语句:struct exint x;double y;char *zapple;则下面

18、叙述中不正确的是_ A.struct是结构体类型的关键字 B.apple是结构体类型名 C.x,y,z 都是结构体成员名 D.struct ex是结构体类型名(分数:2.00)A.B. C.D.解析:考点 结构体的组成 解析 struct ex 是结构体类型名,apple 是结构体变量名。7.设 static int x;执行表达式(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.解析:考点 条件运

19、算符 解析 这种条件表达式的一般形式为:表达式 1?表达式 2:表达式 3,条件运算符的执行顺序是先求解表达式 1,若非零则求解表达式 2,否则求解表达式 3,所求表达式即为整个条件表达式的值。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.以下程序运行后,

20、a 的值是_main()int a,k=4,m=2,*p1=a=p1=printf(“%d/n“,a); A.4 B.0 C.1 D.运行时出错,a 无定值(分数:2.00)A.B. C.D.解析:考点 指针及逻辑运算 解析 题中,k 与 m的地址是不一样的,a=p1=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.解析:考点 循环结构和指针 解析 *(a+k)指向的是第 k+1个元素,因为数组下标是从 O开始的,所有 s的值为 6,7,1,4 四个值相加所得。13.设有数组定义:char a

21、rray=“china“;,则数组 array所占用的空间和长度为_ A.4个字节,5 B.5个字节,5 C.6个字节,5 D.7个字节,6(分数:2.00)A.B.C. D.解析:考点 字符数组的空间及字符长度 解析 字符串“china”存储在数组中时,其后的/0也是占内存的,所以是 6个字节,但其长度不包括/0,所以其长度为 5。14.如果打开文件时,选用的文件操作方式是“wb+“,则下列说法中正确的是_ A.要打开的文件必须存在 B.打开文件后只能读数据 C.打开文件后只能写数据 D.文件打开后删除原内容再写(分数:2.00)A.B.C.D. 解析:考点 文件的打开与关闭 解析 “wb+

22、”对二进制文件进行读或写操作。如果该文件不存在,系统自动建立新文件;如果该文件存在,其内容被清除。15.包含用户类型符“FILE”的定义的头文件是_ A.string.h B.stdlib.h C.stdio.h D.file.h(分数:2.00)A.B.C. D.解析:考点 文件指针 解析 文件指针是指向与文件参数有关的结构体类型的指针变量,系统在头文件“stdio.h”中已经定义。二、B填空题/B(总题数:10,分数:20.00)16.若 a,b,c 均是整型变量,则计算表达式 a=(b=3)+(c=7)后,a 的值为_,c 的值为_。(分数:2.00)填空项 1:_ (正确答案:10,7

23、)解析:考点 算术表达式 解析 括号的优先级是最高的,c 的值为 7,a 为 10。17.表达式 8.0*(1/2)的值为_。(分数:2.00)填空项 1:_ (正确答案:0.0)解析:考点 算术表达式 解析 “就长不就短”原则,所以最后的数据类型为实型。18.设 x,y,z 均为整型变量,请写出描述“x 或 y中至少有一个大于 z”的表达式_。(分数:2.00)填空项 1:_ (正确答案:(xz)|(yz))解析:考点 逻辑表达式 解析 至少有一个,使用或运算符。19.在 C语言中,二维数组元素在内存中的存放顺序是_。(分数:2.00)填空项 1:_ (正确答案:顺序)解析:考点 二维数组的

24、初始化 解析 二维数组元素在内存中的存放中是顺序存放,即先行后列。20.以下程序的输出结果是_。 #includestdio.h main() char s=“abcdefg“; s4=/0; printf(“%s/n“,s);(分数:2.00)填空项 1:_ (正确答案:abcd)解析:考点 字符串的输出 解析 %s 格式输出,遇到/0,结束。21.在一个源文件中定义的外部变量的作用域为_。(分数:2.00)填空项 1:_ (正确答案:从定义该变量的位置开始至本文件结束)解析:考点 外部变量的作用域 解析 外部变量的作用域为定义点到程序结束。22.设 char s 20=“My“;,则执行

25、strcat(s,“Boy!“)后 s的内容是_。(分数:2.00)填空项 1:_ (正确答案:MyBoy!)解析:考点 strcat 函数 解析 srcat 函数的功能是将字符串连接到字符数组的最后一位有效字符,并组成新的字符串。23.设 int a25=8,5;则数组元素_的值为 5。(分数:2.00)填空项 1:_ (正确答案:a10)解析:考点 二维数组的初始化 解析 8 和 5分别赋给了第一行和第二行的第一个元素。24.fopen函数打开文件成功,返回值是与打开文件相关的_。(分数:2.00)填空项 1:_ (正确答案:文件指针)解析:考点 fopen 函数 解析 能正确打开指定的文

26、件,则返回一个指向文件的文件指针。25.a盘根目录下的一级子目录 tc中的 text.exe文件的磁盘文件名是_。(分数:2.00)填空项 1:_ (正确答案:a:/tc/text.exe)解析:考点 磁盘文件名 解析 磁盘文件名的一般组成是盘符:路径/文件主名.扩展名。路径是由目录序列组成的,目录间的分隔符号为“/”。三、B程序分析题/B(总题数:4,分数:16.00)26.main() int n,k=0; for(n=0;n20;n+) k=0; while(k=n) if(n=5*k) printf(“%d,“,n); k+; (分数:4.00)_正确答案:(0,5,10,15,)解析

27、: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)_正确答案:(56(注意:传递实参的值,但不改变实参的值)解析:28.#includestdio.h int b=2; int func(int *a) *a+=b;return(*a); main() int a=3,res=1; res+=func( printf(“%d%d/n“,a,res);(分数:4

28、.00)_正确答案:(56)解析: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)_正确答案:(6,5)解析:四、B程序填充题/B(总题数:3,分数:18.00)30.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。 #includestdio.h main() int i,a 20,sum,cou

29、nt; sum=count=0; for(_)scanf(“%d“,/*第一空*/ for(i=0;i20;i+) if(_)/*第二空*/ count+; _;/*第三空*/ printf(“count=%d,sum=%d/n“,count,sum); (分数:6.00)填空项 1:_ (正确答案:i=0;i20;i+ ai0 sum+=ai)解析:31.下面程序是将字符串 p中的所有字符复制到字符串 b中,要求每复制三个字符后插入一个空格。 #includestdio.h void cp(char *p,char *b) int i,k=0; while(*p) i=0; while(_)

30、/*第一空*/ bk=*p; k+;p+;i+; if(*p) _;/*第二空*/ _;/*第三空*/ main() char a20,b20; gets(a); cp(a,b); puts(b); printf(“/n“); (分数:6.00)填空项 1:_ (正确答案:i3 char ch,fname10; printf(“input the name of file/n“); gets(fname); if(fp=_)=NULL)printf(“cannot open/n“);exit(0);/*第一空*/ elseprintf(“enter data/n“); while(_)fput

31、c(_,fp);/*第二、三空*/ fclose(fp); (分数:6.00)填空项 1:_ (正确答案:fopen(fname,“w“) (ch=getchar()!=# ch)解析:五、B程序设计题/B(总题数:2,分数:16.00)33.编一个程序,其功能是对名为“abc.txt”的磁盘文件中“”之前的所有字符进行处理,处理方法是每个字节的内容减 10。(分数:8.00)_正确答案:(#includestdio.h #includestdlib.h main() FILE * fp; char c; if(rp=fipen(“abc.txt“,“r+“)=NULL)/*测试文件是否正确被

32、打开*/ printf(“Can not open file!/n“);exit(0); while(!feof(fp) if(c=fgetc(fp)!=/*如果不是字符则进行加密运算*/ c=c-10;/*加密运算*/ fseek(fp,-11,1);/*前移一个字符。因在 fgetc(fp)时文件内部指针会自动后移一个字符,指向应被加密字符的下一个字符*/ fputc(c,fp);/*将获得加密的字符填入该位置,且文件内部指针会自动后移一个字符*/ fseek(fp,01,1);/*避免指针漂移,定位文件内部指针在当前位置不移动,并将其传递给函数 feof(fp)*/ else break

33、; rclose(fp); return(0);)解析:34.用指针方法实现:输入 8个整数,将最大数和最后一个数交换,最小数和第一个数交换,然后整体倒序输出。(分数:8.00)_正确答案:(#includestdio,h #define N 8 main() int zN,*p=a,i,d,d1=0,x,x1=0; for(i=0;iN;i+) scanf(“%d“,p); if(i=0)d=*p;x=*p; if(d*p)d=*p;d1=i; else if(x*p)x=*p;x1=i; p-; ad1=*p;*p=d; ax1=*(p-7);*(p-7)=x; for(i=N-1;i=0;i-,p-) printf(“%d“,*p); )解析:

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