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

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

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

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

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

    1、高级语言程序设计-6 及答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:15,分数:30.00)1.有以下程序段( ) main() int x=0,y=5,z=3; while(z-0+x5)y=y-1; printf(“%d,%d,%d/n“,x,y,z); 程序执行后的输出结果是(分数:2.00)A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-52.设有数组定义:char array=“china“;,则数组 array所占用的空间为( )(分数:2.00)A.4个宁节B.5个字节C.6个字节D.7个字节3.有以下程序( ) main()

    2、int i,s=0; for(i=1;i10;i+=2)s+=i+1; printf(“%d/n“,s); 程序执行后的输出结果是(分数:2.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数 19 中的奇数之和D.自然数 110 中的偶数之和4.设有定义“chara=2,b=5;“求表达式“ab2“的值(假定现有计算机字长为 16) ( )(分数:2.00)A.-32B.32C.-23D.235.有以下程序( ) main() int i,n=0; for(i=2;i5;i+) do if(i%3)continue; n+; while(!i); n+; printf(“

    3、n=%d/n“,n); 程序执行后的输出结果是(分数:2.00)A.n=2B.n=3C.n=4D.n=56.有以下程序段( ) int n,t=1,s=0; scanf(“%d“,n); dos=s+t;t=t-2;while(t!=n); 为使此程序不陷入死循环,从键盘输入的数据应该是(分数:2.00)A.任意正奇数B.任意负偶数C.任意正偶数D.任意负奇数7.有以下程序( ) #includestdioh int a=2; int f(int*A) return(*A)+; main() int s=0; int a=5; s+=f(a); s+=f(a); printf(“%d/n“,s

    4、); 执行后输出结果是(分数:2.00)A.10B.9C.7D.88.设有 int a=10,11,12,*p=a0;,则执行完*p+;*p+=1;后 a0,a1,a2的值依次是( )(分数:2.00)A.10,11,12B.11,12,12C.10,12,12D.11,11,129.有以下程序( ) #includestdioh char fun(char x,char y) if(x)return y; main() inta=9,b=8,c=7; printf(“%c/n“,fun(fun(a,b),fun(b,c): 程序的执行结果是(分数:2.00)A.7B.8C.9D.函数调用出错

    5、10.设变量已正确定义,则以下能正确计算 f=n!的程序段是( )(分数:2.00)A.f=0: for(j=1;j=n;j+)f*=j;B.f=1; for(j=1;jn;j+)f*=j;C.f=1; for(j=n;j1;j+)f*=j;D.f=1 for(j=n;j-2;j-)f*=j;11.下列关于 C程序的描述不正确的是( )(分数:2.00)A.C程序是由 C语句组成的语句序列B.C程序由若干个函数构成C.主函数可以调用其他任何函数D.C程序的执行可以从任何函数开始12.以下符合 C语言语法的实型常量是( )(分数:2.00)A.1.2E0.5B.3.14.159EC.5E-3D.

    6、E1513.设整型变量 a的值是 6,执行下列语句后 a的值是( ) switch(a%2) case 0:a-=2; case 1:a+=1; default:a=6; (分数:2.00)A.4B.5C.6D.714.如果打开文件时,选用的文件操作方式是“wb+“则下列说法中正确的是( )(分数:2.00)A.要打开的文件必须存在B.打开文件后只能渎数据C.文件打开后删除原内容再写D.打开文件后只能写数据15.若 x是整型变量,pb 是基本类型为整型的指针变量,则正确的赋值表达式为( )(分数:2.00)A.pb=xB.pb=xC.*pb=xD.*pb=*x二、B填空题/B(总题数:10,分

    7、数:20.00)16.一个 C程序-般应由多个函数组成,但也可以由一个函数组成。这个函数是 1。(分数:2.00)填空项 1:_17.C语言中整型常量的书写形式包括:八进制,十进制和 1。(分数:2.00)填空项 1:_18.C语言标识符的第一个字符只能字母或 1(分数:2.00)填空项 1:_19.文件定位函数包含在头文件 1 中。(分数:2.00)填空项 1:_20.与标准错误输出设备相对应的文件型指针是 1。(分数:2.00)填空项 1:_21.将大写字母转换为小写字母的函数是 1。(分数:2.00)填空项 1:_22.外部函数的存储类型符是 1。(分数:2.00)填空项 1:_23.下

    8、的 findrnax函数返 M数组 s中最大元素的下标。数组中元素的个数由 t传入。 findmax(int s,int t) int k,p; for(p=0,k=0;pt;p+) if(spsk)_; return k: (分数:2.00)填空项 1:_24.语句 printf(“a/bre/hi/y/bou/n“);输出的结果是 1。(分数:2.00)填空项 1:_25.设 a、b、c 为整型数,且 a=2、b=3、c=4;则执行完下列语句后 a的值是_。 a*=16+(b+)-(+c);(分数:2.00)填空项 1:_三、B程序分析题/B(总题数:4,分数:16.00)26.#incl

    9、ucdestdioh void prly(int*x) prinlf(“%d/n“,+*x); main() int a=25; prty(a): printf(“%d/n“,a): (分数:4.00)_27.#includestdioh int ast(int x,int y,int *cp,int*dp) *cp=x+y;*dp=x-y; main() int a,b,c,d; a=4;b=3; ast(a,b,C,d); printf(“%d,%d/n“,c,d); (分数:4.00)_28.#includestdioh #include%stringh main() char p110

    10、=“abc“,p210=“ABC“,str50=“xyz“: strcpy(str+2,strcat(p1,p2): printf(“%s/n“,str); (分数:4.00)_29.#includestdioh #includestringh main() int y=9; for(;y0;y-) if(y%03=0) printf(“%d“,-y);continue; printf(“%d“,-y); (分数:4.00)_四、B程序填充题/B(总题数:3,分数:18.00)30.下面程序由终端键盘输入一个文件名。然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志。 #in

    11、cludestdioh #include main() FILE *fp; char ch,fname10; printf(“Please input the file name/n“); gets(fname); if(fp=_)=NULL)/*第一空*/ printf(“()pen it error/n“);_;/*第二空*/ else(printf(“Enter the content/n“); while(ch=getchar()!=#) _;/*第三空*/ fclose(fp); (分数:6.00)填空项 1:_31.下面 rotate函数的功能是:将 n行 n列的矩阵 A转置为 A

    12、。 #define N 4 void rotate(int aN) int i,j,t; for(i=0;iN;I+) for(j=0;_;j+)/*第一空*/ t=aij; _;/*第二空*/ aji=_;/*第三空*/ (分数:6.00)填空项 1:_32.输入 2个整数,输出它们的最小公倍数和最大公约数。 #includestdioh void main() int m,n,gbs,gys; scanf(“%d,9/6d“,m,n); gbs=m; while(_)/*第一空*/ gbs=_;/*第二空*/ gys=_;/*第三空*/ printf(“%d %d/n“,gbs,gys);

    13、 (分数:6.00)填空项 1:_五、B程序设计题/B(总题数:2,分数:16.00)33.输入一个无符号整数,然后按用户输入的代号,分别以十进制(代号 D)、八进制(代号 O)输出和十六进制(代号 X)。(分数:8.00)_34.根据 Fibonacci数列公式: 计算并输出前 20项之和。(分数:8.00)_高级语言程序设计-6 答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:15,分数:30.00)1.有以下程序段( ) main() int x=0,y=5,z=3; while(z-0+x5)y=y-1; printf(“%d,%d,%d/n“,x,y

    14、,z); 程序执行后的输出结果是(分数:2.00)A.3,2,0B.3,2,-1 C.4,3,-1D.5,-2,-5解析:解析循环体共执行三次,y=5-3=2。因受循环限定条件“z-0+x5“的限制,当 z=0时,循环被直接终止而不再执行“+x5“的判定,x 的值仍是上次循环时所获得的值 3。此时 Z-仍执行一次,z=-1。2.设有数组定义:char array=“china“;,则数组 array所占用的空间为( )(分数:2.00)A.4个宁节B.5个字节C.6个字节 D.7个字节解析:3.有以下程序( ) main() int i,s=0; for(i=1;i10;i+=2)s+=i+1

    15、; printf(“%d/n“,s); 程序执行后的输出结果是(分数:2.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数 19 中的奇数之和D.自然数 110 中的偶数之和 解析:解析 main() int i,s=0; for(i=1;i10;i+=2)/*i 的初始值为 1,步进值为 2,循环条件是 i10*/ s+=i+1;/*从上述循环条件来看,应为求自然数 19 中的奇数之和;但是有意思的是“s+=i+1“改变了现状,“+“的运算优先级别高于“+=“,故“1“在每次 s的求和运算中都有一份功劳。现实是,每次 s的求和运算都多加了一个 1,结果就成了自然数 11

    16、0 中的偶数之和*/ printf(“%d/n“,s); 4.设有定义“chara=2,b=5;“求表达式“ab2“的值(假定现有计算机字长为 16) ( )(分数:2.00)A.-32B.32C.-23 D.23解析:解析 整型常量值在 0127 之间的,C 语言规定可以把它看成一个字符型常量,其所对应的字符就是该值作为 ASC代码值所对应的那个字符。5.有以下程序( ) main() int i,n=0; for(i=2;i5;i+) do if(i%3)continue; n+; while(!i); n+; printf(“n=%d/n“,n); 程序执行后的输出结果是(分数:2.00

    17、)A.n=2B.n=3C.n=4 D.n=5解析:解析 main() int i,n=0; for(i=2;i5;i+)/*i 初始值为 2,循环执行条件为 i5,步进值为 1*/ do if(i%3)continue;/*当 i%3的值非 0时,跳过下面语句直接执行 while判定*/ n+;/*当 i%3的值为 0时,执行本行语句后再执行 while判定。整个运算过程中,本语句仅被执行 1次*/ while(!i);/*当 i的值为 0时执行第二次 do-while循环*/ n+;/*此行为 for循环体内语句,被执行 3次*/ printf(“n=%d/n“,n);/*本程序段变量 n共

    18、执行自加 1运算 4次,故 n的值为 4*/ 6.有以下程序段( ) int n,t=1,s=0; scanf(“%d“,n); dos=s+t;t=t-2;while(t!=n); 为使此程序不陷入死循环,从键盘输入的数据应该是(分数:2.00)A.任意正奇数B.任意负偶数C.任意正偶数D.任意负奇数 解析:解析 t 的初始值为 1,n 循环步进值为-2;若不想令程序陷入死循环,则输入的数据应该是任意负奇数。7.有以下程序( ) #includestdioh int a=2; int f(int*A) return(*A)+; main() int s=0; int a=5; s+=f(a)

    19、; s+=f(a); printf(“%d/n“,s); 执行后输出结果是(分数:2.00)A.10B.9C.7 D.8解析:解析 #includestdioh int a=2: int f(int*A) return(*A)+;/*返回值是*A,因为参数传递是地址传递,实参的实际值将被改变*/ main() int s=0; inta=5;s+=f(a);/*此处使用的 a是本段“内所定义的变量 a*/ s+=f(a);/*此处使用的 a是全局变量 a*/ printf(“%d/n“,s); 8.设有 int a=10,11,12,*p=a0;,则执行完*p+;*p+=1;后 a0,a1,a

    20、2的值依次是( )(分数:2.00)A.10,11,12B.11,12,12C.10,12,12 D.11,11,12解析:解析“+“和“*“具有相同的优先级别,运算时都是采用自右向左结合运算的方式。“*p+“在运算时先运算“*p“再运算“p+“。在运算“*p+=1“时,P 已做过一次自加 1运算,而“*“运算的优先于“+-“运算;故“*p+=1“等同于 a2+=1。9.有以下程序( ) #includestdioh char fun(char x,char y) if(x)return y; main() inta=9,b=8,c=7; printf(“%c/n“,fun(fun(a,b),

    21、fun(b,c): 程序的执行结果是(分数:2.00)A.7 B.8C.9D.函数调用出错解析:解析 #includestdioh char fun(char x,char y) if(x)return y;/*如果变量 X不为空则返回 y*/ main() inta=9,b=8,c=7;/*变量 a、b、c 所获得的是 9、8、7 的 ASC码值*/ printf(“%c/n“,fun(fun(a,b),fun(b,c);/*打印的是字符变量“fun(fun(a,b),fun(b,c)“*/ 10.设变量已正确定义,则以下能正确计算 f=n!的程序段是( )(分数:2.00)A.f=0: f

    22、or(j=1;j=n;j+)f*=j;B.f=1; for(j=1;jn;j+)f*=j;C.f=1; for(j=n;j1;j+)f*=j;D.f=1 for(j=n;j-2;j-)f*=j; 解析:解析f=n!=n(n-1)(n-2)(n-3)-(n-(n-2)1,是自然数 1到 n的乘积。语句“for(j=n;j=2;j-)f*=j;“从 j的初值 n开始,依次减 1并将与 f的乘积赋于 f,符合题虑。11.下列关于 C程序的描述不正确的是( )(分数:2.00)A.C程序是由 C语句组成的语句序列B.C程序由若干个函数构成C.主函数可以调用其他任何函数D.C程序的执行可以从任何函数开始

    23、 解析:12.以下符合 C语言语法的实型常量是( )(分数:2.00)A.1.2E0.5B.3.14.159EC.5E-3 D.E15解析:13.设整型变量 a的值是 6,执行下列语句后 a的值是( ) switch(a%2) case 0:a-=2; case 1:a+=1; default:a=6; (分数:2.00)A.4B.5C.6 D.7解析:14.如果打开文件时,选用的文件操作方式是“wb+“则下列说法中正确的是( )(分数:2.00)A.要打开的文件必须存在B.打开文件后只能渎数据C.文件打开后删除原内容再写 D.打开文件后只能写数据解析:15.若 x是整型变量,pb 是基本类型

    24、为整型的指针变量,则正确的赋值表达式为( )(分数:2.00)A.pb=xB.pb=x C.*pb=xD.*pb=*x解析:二、B填空题/B(总题数:10,分数:20.00)16.一个 C程序-般应由多个函数组成,但也可以由一个函数组成。这个函数是 1。(分数:2.00)填空项 1:_ (正确答案:main-|_|-)解析:17.C语言中整型常量的书写形式包括:八进制,十进制和 1。(分数:2.00)填空项 1:_ (正确答案:十六进制)解析:18.C语言标识符的第一个字符只能字母或 1(分数:2.00)填空项 1:_ (正确答案:下划线)解析:19.文件定位函数包含在头文件 1 中。(分数:

    25、2.00)填空项 1:_ (正确答案:stdioh)解析:20.与标准错误输出设备相对应的文件型指针是 1。(分数:2.00)填空项 1:_ (正确答案:stderr)解析:21.将大写字母转换为小写字母的函数是 1。(分数:2.00)填空项 1:_ (正确答案:tolower-|_|-)解析:22.外部函数的存储类型符是 1。(分数:2.00)填空项 1:_ (正确答案:extern)解析:23.下的 findrnax函数返 M数组 s中最大元素的下标。数组中元素的个数由 t传入。 findmax(int s,int t) int k,p; for(p=0,k=0;pt;p+) if(sps

    26、k)_; return k: (分数:2.00)填空项 1:_ (正确答案:k=P)解析:解析 比较数组中 sp和 sk两个元素的大小并用 k记录下最大元素的下标。24.语句 printf(“a/bre/hi/y/bou/n“);输出的结果是 1。(分数:2.00)填空项 1:_ (正确答案:rehiyou)解析:25.设 a、b、c 为整型数,且 a=2、b=3、c=4;则执行完下列语句后 a的值是_。 a*=16+(b+)-(+c);(分数:2.00)填空项 1:_ (正确答案:28)解析:三、B程序分析题/B(总题数:4,分数:16.00)26.#inclucdestdioh void

    27、prly(int*x) prinlf(“%d/n“,+*x); main() int a=25; prty(a): printf(“%d/n“,a): (分数:4.00)_正确答案:()解析:26 解析 #includestdioh void prty(int*x) printf(“%d“,+*x);/*打印输出指针变量 x所指向的内存单元的数据自增 1后的值*/ main() int a=25; prty(a): printf(“%d/n“,a);/*打印输出此时变量 a的值。注意 main()函数对函数 prty()的调用所采用的参数传递方式是地址传递方式;即 a的值会被函数 prty()

    28、改变*/ 27.#includestdioh int ast(int x,int y,int *cp,int*dp) *cp=x+y;*dp=x-y; main() int a,b,c,d; a=4;b=3; ast(a,b,C,d); printf(“%d,%d/n“,c,d); (分数:4.00)_正确答案:()解析:7,1 解析 #includestdioh int ast(int x,int y,int *cp,int *dp) *cp=x+y;*dp=x-y; main() int a,b,C,d; a=4;b=3; ast(a,b,c,d);/*调用函数ast()对 a、b、C、d

    29、 四个变量进行运算。注意这里关于变量 C的参数传递方式是采用地址传递方式*/ printf(“%d,%d/n“,C,d); 28.#includestdioh #include%stringh main() char p110=“abc“,p210=“ABC“,str50=“xyz“: strcpy(str+2,strcat(p1,p2): printf(“%s/n“,str); (分数:4.00)_正确答案:()解析:xyabcABC 解析 #includestdioh #includestringh main() char p110=“abc“,p210=“ABC“,str50=“xyz“

    30、; strcpy(str+2,strcat(p1,p2);/*将字符数组 p2连接在字符数组 p1后面,并将之复制到数组 str的第二个元素之后*/ printf(“%s/n“,str); 29.#includestdioh #includestringh main() int y=9; for(;y0;y-) if(y%03=0) printf(“%d“,-y);continue; printf(“%d“,-y); (分数:4.00)_正确答案:()解析:8 6 4 2 0 解析 #includestdioh #includestringh main() int y=9; for(;y0;y

    31、-) if(y%3=0) printf(“%d“,-y);continue;)/*如果 y是 3的倍数,则执行本行并跳过循环体后面的内容继续下一次循环*/ printf(“%d“,-y); 四、B程序填充题/B(总题数:3,分数:18.00)30.下面程序由终端键盘输入一个文件名。然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志。 #includestdioh #include main() FILE *fp; char ch,fname10; printf(“Please input the file name/n“); gets(fname); if(fp=_)=NUL

    32、L)/*第一空*/ printf(“()pen it error/n“);_;/*第二空*/ else(printf(“Enter the content/n“); while(ch=getchar()!=#) _;/*第三空*/ fclose(fp); (分数:6.00)填空项 1:_ (正确答案:fopen(fname,“w“)/*第一空。新建一个名字由字符数组fname的元素组成的文件,采用的方式是只读方式*/)解析:exit(0)/*第二空。关闭当前打开的文件结束程序运行*/ fputc(ch,fp)/*第三空。将字符型变量ch的值输出到文件指针 fp指向的文件中*/31.下面 rot

    33、ate函数的功能是:将 n行 n列的矩阵 A转置为 A。 #define N 4 void rotate(int aN) int i,j,t; for(i=0;iN;I+) for(j=0;_;j+)/*第一空*/ t=aij; _;/*第二空*/ aji=_;/*第三空*/ (分数:6.00)填空项 1:_ (正确答案:jN/*第一空。题干提示为 n行 n列的矩阵转置,故此处应填入循环条件*/)解析:aij=aji/*第二空。矩阵转置,元素换位*/ t/*第三空。将临时变量内储存的值转入矩阵元素 aji中*/32.输入 2个整数,输出它们的最小公倍数和最大公约数。 #includestdio

    34、h void main() int m,n,gbs,gys; scanf(“%d,9/6d“,m,n); gbs=m; while(_)/*第一空*/ gbs=_;/*第二空*/ gys=_;/*第三空*/ printf(“%d %d/n“,gbs,gys); (分数:6.00)填空项 1:_ (正确答案:gbs%n!=0/*第一空。确定循环终止的条件,当 gbs%n=0时循环终止*/)解析:gbs+m/*第二空。循环体执行语句,继续累加 m到 gbs中*/ m*n/gbs/*第三空。求出 m和 n的最大公约数*/五、B程序设计题/B(总题数:2,分数:16.00)33.输入一个无符号整数,然

    35、后按用户输入的代号,分别以十进制(代号 D)、八进制(代号 O)输出和十六进制(代号 X)。(分数:8.00)_正确答案:()解析:#includestdioh main() unsigned x; char c; scanf(“%d,%c“,x,c); switch(c)/*判断用户输入代号,并根据代号输出相应的数*/ caseD:printf(“%d“,x);break caseO:printf(“%o“,x);break; caseX:printf(“%X“,x);break; default:printf(“Input error!“); 34.根据 Fibonacci数列公式: 计算并输出前 20项之和。(分数:8.00)_正确答案:()解析:#includestdioh main() int i;float f22=1,1,sum=0; for(i=2;i-1=20;i+)/*循环终止条件为 i-1=20,以确保所计算的 sum的值为前 20项的值*/ fi=fi-1+fi-2; sum+=fi/fi-1; printf(“sum=%4f/n“,sum);


    注意事项

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




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

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

    收起
    展开