欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:1380178       资源大小:55KB        全文页数:8页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【学历类职业资格】高级语言程序设计-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);/*关闭文件*/


    注意事项

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开