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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、高级语言程序设计-7 及答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:15,分数:30.00)1.若定义了 int m,n=0,*p1=m;,则与 m=n等价的语句是( )(分数:2.00)A.m=*p1B.*p1=*nC.*p1=*nD.*p1=*n2.若内部变量在离开了定义所在的函数或复合语句后,仍在生存期内。则该变量是 ( )(分数:2.00)A.auto变量B.register变量C.局部变量D.static变量3.以下程序输出的结果是( ) main() int I,j,m=0,n=0; for(I=0;I2;I+) for(j=0;j2;j+)

2、if(j=I)m=1;n+; printf(“%d/n“,n); (分数:2.00)A.4B.2C.1D.04.设 int a10,*p=a; 则对数组的正确引用是( )(分数:2.00)A.aB.pC.*(p+2)D.p+25.对于文件打开方式“rb+“描述正确的是( )(分数:2.00)A.可读写文本文件B.只读文本文件C.可读写二进制文件D.只读二进制文件6.以下程序的执行结果是( ) #includestdioh main() printf(“%d/n“,NULL); (分数:2.00)A.-1B.0C.1D.27.若有以下语句: char *language=“fortran“,“b

3、asic“,“C“,“java“; char *q;q=language+3; 则语句 printf(“%c/n“,*q;的输出是( )(分数:2.00)A.q的值B.字符串“C“C.language3的值D.程序错误,无法得到输出8.设 int a=1,b=2,c=4; 经过表达式(c=a!=b)(a=b)(c=b)运算后,a、b 和 c的值分别是( ) A1,2,0 B1,2,1 C1,2,2 C1,2,3(分数:2.00)A.B.C.D.9.设 int x=1;a=9,b=6,c=9,d=8;执行语句: if(ab)if(cb)if(bd)x=2;else x=6; 后 x的值是( )(

4、分数:2.00)A.1B.2C.6D.不确定10.汇编程序的功能是( )(分数:2.00)A.将汇编语言程序转换成目标程序B.将汇编语言程序转换成高级语言程序C.将高级语言程序转换为目标程序D.将汇高级语言程序转换为编语言程序11.若 x=100;,则表达式 x+100? x+20:x+10 的值是( )(分数:2.00)A.110B.120C.130D.10112.执行下面程序段后,变量 k的值是( )(分数:2.00)A.10B.30C.3D.不确定13.设有如下程序段 char str=“Hello!“; char *ptr; ptr=str; 执行完以上程序段后*(ptr+6)的值为(

5、 )(分数:2.00)A.oB./0C./oD.o14.若有宏定义:#define MOD(x,y)x%y 则执行下面语句后的输出结果是 int a=13,b=96; printf(“%d/n“,MOD(b,a);( )(分数:2.00)A.1B.2C.5D.615.下列运算符,优先级最低的是( )(分数:2.00)A.B.!C.-D.+=二、B填空题/B(总题数:10,分数:20.00)16.若有定义:double w6;,则数组元素下标的上限为 1。(分数:2.00)填空项 1:_17.若有定义语句:int a=10,2,20,3,30,4,40,p;p=a;,则执行“p2+=;之后 p的

6、值是 1。(分数:2.00)填空项 1:_18.若定义了 int a9,*p;,将数组元素 a8的地址赋给指针变量 p的赋语句是 1。(分数:2.00)填空项 1:_19.C语言的保留字主要用于语句的构成,所有保留字均由 1 组成。(分数:2.00)填空项 1:_20.语句“;“是无任何操作的语句,被称为 1。(分数:2.00)填空项 1:_21. 1是双目运算符,其运算对象是表达式,其值是右边表达式的值。(分数:2.00)填空项 1:_22.若要使用系统函数 getchar1,必须在程序的开头使用预编译命令 2。(分数:2.00)填空项 1:_23.若要以八进制输出整型变量,则要在输出语句中

7、加上格式输出符 1。(分数:2.00)填空项 1:_24.指针变量的使用主要有两种,一是 1;二是引用所指向的变量。(分数:2.00)填空项 1:_25.写出 n小于 m的奇数的表达式 1。(分数:2.00)填空项 1:_三、B程序分析题/B(总题数:4,分数:16.00)26.以下程序运行时输入:12回车,执行后输出结果 #includestdioh main() char ch1,ch2;int n1,n2; ch1=getchar();ch2=getchar(); n1=ch1-0;n2=n1*10+(ch2-0); printf(“%d/n“,n2); (分数:4.00)_27.#in

8、cludestdioh void f(int y,int*x) y=y+*X; *x=*x+y; main() int x=2,y=4; f(y,x); printf(“%d%d/n“,x,y); (分数:4.00)_28.#includestdioh char *ss(char *s) return s+strlen(s)/2;) main() char *p,*str=“abcdefgh“; p=ss(str);printf(“%s/n“,p); (分数:4.00)_29.#includestdioh int f(int a,int n) if(n1)return a0+f(a1,n-1)

9、 else return a0; main() int aa3=1,2,3,s; s=f(aa0,3);printf(“%d/n“,s); (分数:4.00)_四、B程序填充题/B(总题数:3,分数:18.00)30.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。 #includestdioh main() int i,a20,sum,count; sum=count=0: for(i=0;i20;i+)scanf(“%d“,_);/*第一空*/ for(i=0;i20;i+) if(_)/*第二空*/ count+; _;/*第三空*/ printf(“count=%

10、d,sum=%d/n“,count,sum); (分数:6.00)填空项 1:_31.SumColumMin()的功能是:求出 M行 N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。 #includestdioh #define M 2 #define N 4 void SumColumMin(_)/*第一空*/ int i,j,k,s=0; for(i=0;iN;i+) k=0; for(j=1;jM;j+) if(_)k=j;/*第二空*/ s+=aki; _;/*第三空*/ main() int xMN=3,2,5,1,4,1,8,3,s; SumColum

11、Min(x,s); printf(“%d/n“,s); (分数:6.00)填空项 1:_32.求 f(x0,10)的累加和,其中 f(x)=2x+1。 #includestdioh int F(int x) return_;)/*第一空*/ int SumFun(int n) int x,s=0: for(x=0;xn;x+)_;/*第二空*/ return s; main() printf(“The sum=%d/n“,_);/*第三空*/ (分数:6.00)填空项 1:_五、B程序设计题/B(总题数:2,分数:16.00)33.输入一个整数 n(n10),如果 n=3,则输出 1 222

12、33333 222 1 以此类推。(分数:8.00)_34.把文本文件 x1. dat复制到文本文件 x2. dat中,要求仅复制 x1. dat中的非空格字符。(分数:8.00)_高级语言程序设计-7 答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:15,分数:30.00)1.若定义了 int m,n=0,*p1=m;,则与 m=n等价的语句是( )(分数:2.00)A.m=*p1B.*p1=*nC.*p1=*n D.*p1=*n解析:2.若内部变量在离开了定义所在的函数或复合语句后,仍在生存期内。则该变量是 ( )(分数:2.00)A.auto变量B.re

13、gister变量C.局部变量D.static变量 解析:3.以下程序输出的结果是( ) main() int I,j,m=0,n=0; for(I=0;I2;I+) for(j=0;j2;j+) if(j=I)m=1;n+; printf(“%d/n“,n); (分数:2.00)A.4B.2C.1 D.0解析:解析 main() int I,jm=0n=0; for(I=0;I2;I+) for(j=0;j2;j+) if(j=i)m=1;n+;/*本行语句虽然包含“n+“,但不包括在任何循环体内*/ printf(“%d/n“,n): 4.设 int a10,*p=a; 则对数组的正确引用是

14、 )(分数:2.00)A.aB.pC.*(p+2) D.p+2解析:5.对于文件打开方式“rb+“描述正确的是( )(分数:2.00)A.可读写文本文件B.只读文本文件C.可读写二进制文件 D.只读二进制文件解析:6.以下程序的执行结果是( ) #includestdioh main() printf(“%d/n“,NULL); (分数:2.00)A.-1B.0 C.1D.2解析:解析 NULL 的 ASC值是 00000000,语句“printf(“%d/n“,NULL);“要求 NULL以整型数据输出,所以输出是 0。7.若有以下语句: char *language=“fortran“,

15、basic“,“C“,“java“; char *q;q=language+3; 则语句 printf(“%c/n“,*q;的输出是( )(分数:2.00)A.q的值B.字符串“C“C.language3的值D.程序错误,无法得到输出 解析:解析 指字符删变量的指针不能得到指针数组的首地址,出现编译错误。8.设 int a=1,b=2,c=4; 经过表达式(c=a!=b)(a=b)(c=b)运算后,a、b 和 c的值分别是( ) A1,2,0 B1,2,1 C1,2,2 C1,2,3(分数:2.00)A.B. C.D.解析:解析因 a=b是不成立的,c=b 不被运算,C 所获得的值足表达式“

16、a!=b“的逻辑值。9.设 int x=1;a=9,b=6,c=9,d=8;执行语句: if(ab)if(cb)if(bd)x=2;else x=6; 后 x的值是( )(分数:2.00)A.1B.2C.6 D.不确定解析:解析当“ab“、“cb“、“bd“都成立时 x=2,只要有一个不成立就有 x=6。10.汇编程序的功能是( )(分数:2.00)A.将汇编语言程序转换成目标程序 B.将汇编语言程序转换成高级语言程序C.将高级语言程序转换为目标程序D.将汇高级语言程序转换为编语言程序解析:11.若 x=100;,则表达式 x+100? x+20:x+10 的值是( )(分数:2.00)A.1

17、10B.120C.130D.101 解析:12.执行下面程序段后,变量 k的值是( )(分数:2.00)A.10B.30C.3D.不确定 解析:解析 数组元素 s1没有初值,故其计算结果小确定。13.设有如下程序段 char str=“Hello!“; char *ptr; ptr=str; 执行完以上程序段后*(ptr+6)的值为( )(分数:2.00)A.oB./0 C./oD.o解析:14.若有宏定义:#define MOD(x,y)x%y 则执行下面语句后的输出结果是 int a=13,b=96; printf(“%d/n“,MOD(b,a);( )(分数:2.00)A.1B.2C.5

18、 D.6解析:15.下列运算符,优先级最低的是( )(分数:2.00)A.B.!C.-D.+= 解析:二、B填空题/B(总题数:10,分数:20.00)16.若有定义:double w6;,则数组元素下标的上限为 1。(分数:2.00)填空项 1:_ (正确答案:5)解析:17.若有定义语句:int a=10,2,20,3,30,4,40,p;p=a;,则执行“p2+=;之后 p的值是 1。(分数:2.00)填空项 1:_ (正确答案:a)解析:解析“*“优先级高于“+=“,语句“*p2+=;“相当于“(*p)+=2;“,对指针变量 p没有进行任何算术运算、其值不变。18.若定义了 int a

19、9,*p;,将数组元素 a8的地址赋给指针变量 p的赋语句是 1。(分数:2.00)填空项 1:_ (正确答案:p=a8;)解析:19.C语言的保留字主要用于语句的构成,所有保留字均由 1 组成。(分数:2.00)填空项 1:_ (正确答案:小写字母)解析:20.语句“;“是无任何操作的语句,被称为 1。(分数:2.00)填空项 1:_ (正确答案:空语句)解析:21. 1是双目运算符,其运算对象是表达式,其值是右边表达式的值。(分数:2.00)填空项 1:_ (正确答案:逗号运算符)解析:22.若要使用系统函数 getchar1,必须在程序的开头使用预编译命令 2。(分数:2.00)填空项

20、1:_ (正确答案:#include stdioh)解析:23.若要以八进制输出整型变量,则要在输出语句中加上格式输出符 1。(分数:2.00)填空项 1:_ (正确答案:%0)解析:24.指针变量的使用主要有两种,一是 1;二是引用所指向的变量。(分数:2.00)填空项 1:_ (正确答案:赋值)解析:25.写出 n小于 m的奇数的表达式 1。(分数:2.00)填空项 1:_ (正确答案:n%2nm)解析:解析 n 小于 m的奇数即是 nm 又要是奇数。则 nm 和 n不能做 2整除都要满足,转化为 c语言表达式即是 n%2nm。三、B程序分析题/B(总题数:4,分数:16.00)26.以下

21、程序运行时输入:12回车,执行后输出结果 #includestdioh main() char ch1,ch2;int n1,n2; ch1=getchar();ch2=getchar(); n1=ch1-0;n2=n1*10+(ch2-0); printf(“%d/n“,n2); (分数:4.00)_正确答案:()解析:12 解析 #include stdioh main() char ch1,ch2;int n1,n2; ch1=getchar();ch2=getchar();/*变量 ch1和 ch2分别获得初值 1和 2*/ nI=ch1-0;n2=n1*10+(ch2-0);/*变量

22、ch1和 ch2都以其 ASC值参与运算*/ printf(“%d/n“,n2); 27.#includestdioh void f(int y,int*x) y=y+*X; *x=*x+y; main() int x=2,y=4; f(y,x); printf(“%d%d/n“,x,y); (分数:4.00)_正确答案:()解析:8 4 解析 #includestdioh void f(int y,int*x)/*参数为指针变最,采用地址传递方式*/ y=y+*x;*x=*x+y; main() int x=2,y=4: f(y,x); printf(“%d%d/n“,x,y); 28.#i

23、ncludestdioh char *ss(char *s) return s+strlen(s)/2;) main() char *p,*str=“abcdefgh“; p=ss(str);printf(“%s/n“,p); (分数:4.00)_正确答案:()解析:efgh 解析 #includestdioh char *ss(char *s)/*函数为指针型函数,返回值为字符串 s的中问一个字符的地址*/ return s+strlen(s)/2; main() char *p,*str=“abcdefgh“; p=ss(str):printf(“%s/n“,p);/*打印输出以地址 p为

24、起始地址的字符串*/ 29.#includestdioh int f(int a,int n) if(n1)return a0+f(a1,n-1); else return a0; main() int aa3=1,2,3,s; s=f(aa0,3);printf(“%d/n“,s); (分数:4.00)_正确答案:()解析:6 解析 #includestdioh int f(int a,int n) if(n1)return a0+f(a1,n-1);/*这是一个递归调用过程*/ else return a0; main() int aa3=1,2,3,s; s=f(aa0,3);print

25、f(“%d/n“,s); 四、B程序填充题/B(总题数:3,分数:18.00)30.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。 #includestdioh main() int i,a20,sum,count; sum=count=0: for(i=0;i20;i+)scanf(“%d“,_);/*第一空*/ for(i=0;i20;i+) if(_)/*第二空*/ count+; _;/*第三空*/ printf(“count=%d,sum=%d/n“,count,sum); (分数:6.00)填空项 1:_ (正确答案:a0/*第一空。对数纰进行初始化*/)解析

26、ai0/*第二空。判定数组元 ai是否大于 0*/ sum+=ai/*第三空。对大于 0的数组元素求和1*/31.SumColumMin()的功能是:求出 M行 N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。 #includestdioh #define M 2 #define N 4 void SumColumMin(_)/*第一空*/ int i,j,k,s=0; for(i=0;iN;i+) k=0; for(j=1;jM;j+) if(_)k=j;/*第二空*/ s+=aki; _;/*第三空*/ main() int xMN=3,2,5,1,4,1,

27、8,3,s; SumColumMin(x,s); printf(“%d/n“,s); (分数:6.00)填空项 1:_ (正确答案:int aMN,int*sum/*第一空。因和值通过形象传回主函数输出,故定义形参变量为指针变量*/)解析:akiaji/*第二空。比较每列各个元素的大小以获提最小值*/ * sum=s/*第三空。令形参变量 sum所指向的内存单元获得和值以 s传递回主函数*/32.求 f(x0,10)的累加和,其中 f(x)=2x+1。 #includestdioh int F(int x) return_;)/*第一空*/ int SumFun(int n) int x,s=

28、0: for(x=0;xn;x+)_;/*第二空*/ return s; main() printf(“The sum=%d/n“,_);/*第三空*/ (分数:6.00)填空项 1:_ (正确答案:x*x+1/*笫一空。此为函数式“f(x)=2x+1 的 C语言表达式*/)解析:s+-=F(x)/*第二空。求函数式“f(x)“的累加*/ SumFum(10)/*第三空。调用函数“StunFun()求累加值“*/五、B程序设计题/B(总题数:2,分数:16.00)33.输入一个整数 n(n10),如果 n=3,则输出 1 222 33333 222 1 以此类推。(分数:8.00)_正确答案:

29、)解析:#include stdio #includestdlibh main() int n,i,s=1,k; scanf(“%d“,n);if(n10)exit(0);/*判定输入变量值是否超过 10,如超过则自动终止程序运行*/ k=2*n-1;/*确定输出最长行输出的数字个数*/ while(k!=0)/*确定输出模式,并循环输出*/ for(i=0;in-1;i+)primf(“ “); for(i=0;i2*s-1;i+)printf(“%d“,s); printf(“/n“); if(sk)-n;+s;-k;/*当 sk 时输出为增量形式输出*/ else+n;-s;-k;/*

30、当 sk 时输出为减量形式输出*/ 34.把文本文件 x1. dat复制到文本文件 x2. dat中,要求仅复制 x1. dat中的非空格字符。(分数:8.00)_正确答案:()解析:#includestdioh void main() char ch;FILE*fp1,*fp2; fp1=fopen(“x1dat“,“r“);/*以只读方式打开文件 x1dat*/ fp2=fopen(“x2dat“,“w“);/*以可写方式拱形文件 x2dat*/ while(!feof(fp1) ch=fgetc(fp1);/*从文件 x1dat 读取字符*/ if(ch!=)/*判定所读取字符是否为“空格“*/ fputc(ch,fp2); fclose(fp1);fclose(fp2);/*关闭文件*/

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