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

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

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

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

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

    1、高级语言程序设计-2 及答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:15,分数:30.00)1.若 x为 int型变量,则执行以下语句后,x 的值为( ) x=6; x=+x-=x*x(分数:2.00)A.6B.-24C.36D.-602.fgetc函数是作为一个从指定文件读入一个字符的函数,下列有关描述正确的是( )(分数:2.00)A.只能读二进制文件B.只能读文本文件C.其参数是一个指针变量D.其参数是一个字符串3.在定义了数组 int a610之后,对数组元素的引用不正确的是(分数:2.00)A.*(a6+2)B.a68C.*(a61+4)D.a6

    2、+54.以下运算符中,优先级最低的是(分数:2.00)A.B.C.D.5.下面程序段执行后输出的结果是( ) #includestdioh main() int a22=1,2),5,7),*P,i; p=a00; for(i=0;i2;i+) “P+=i+1: printf(“%d“,*(p-2); (分数:2.00)A.1B.2C.5D.76.若当前文件目录为 C:/tc,在 C语句中下列能表示文件 tcc 的是(分数:2.00)A.tcB.C:tc/tcC.C/tc/tcD.C/tc7.下列语句中把 P定义为一个文件指针的是( )(分数:2.00)A.FILE *PB.FILE pC.f

    3、ile PD.file *P8.下面程序段执行后输出的结果是( ) #includestdioh main() int i; for(i=1;i8;i+) if(i%3)printf(“*“);continue; printf(“#“); printf(“/n“); (分数:2.00)A.*#*#*#B.*#*#*C.*#*#*D.*#*9.在 C语言中,被视为程序模块的是( )(分数:2.00)A.语句B.行语句C.程序语句块D.函数10.在函数内定义变量时,存储类型符可省略的是(分数:2.00)A.staticB.externC.autoD.register11.下列关于 continue

    4、和 break的描述正确的是( )(分数:2.00)A.continue只能用于循环体中B.break只能用于循环体中C.continue只是一个语句标记D.break只能用于 switch语句块中12.以下程序输出的结果是 #includestdioh int fun(int k) if(k0)fun(k-1); printf(“%d“,k); main() int w=3;fun(w); printf(“/n“); (分数:2.00)A.3 2 1 0B.0 1 2 3C.2 1 0D.0 1 213.下列关于 if和 else的配对规则描述正确的是( )(分数:2.00)A.else总是

    5、和前面最远的 if配对B.else总是和前面最近的 if配对C.if和 else的配对按程序缩进格式进行D.else可以和前面所有的 if配对14.设 char *s=“china“;则 printf(“%s,%c,%c/n“,s,*s,s3);的输出是( )(分数:2.00)A.china,c,nB.china,china,iC.c,c,nD.china,china,n15.下列说法中正确的是(分数:2.00)A.字符/0是字符串的结束标记B.字符0是字符串的结束标记C.字符/o是字符串的结束标记D.字符o是字符串的结束标记二、B填空题/B(总题数:10,分数:20.00)16.设 char

    6、 strl7=“ABCDEF“,str25=“xyz“;则执行语句: printf(“%d“,strlen(strcpy(str1,str2); 后的输出是_。(分数:2.00)填空项 1:_17.设 char a,b;,则表达式 a/c*b的值的类型为 1。(分数:2.00)填空项 1:_18.设 for(k=0;k0;k-)+k;,则该循环共执行 1 次。(分数:2.00)填空项 1:_19.19,表示空类型的保留字是 1。(分数:2.00)填空项 1:_20.在 C语言中,如果下面的变量都是 int类型,则输出的结果是_。 sum=pad=5; pad=sum+,pad+,+pad; p

    7、rintf(“%d/n“,pad);(分数:2.00)填空项 1:_21.以下程序的输出结果是_。 #include main() int i=010,j=10; printf(“%d,%d/n“,+i,j-);(分数:2.00)填空项 1:_22.已知在 ASC代码中,字母 A的序号为 65,以下程序输出的结果是_。 #includestdioh main() char c1=A,c2=Y; printf(“%d,%d/n“,c1,c2); (分数:2.00)填空项 1:_23.指针 s所指字符串的长度为_。 char *s=“/“Name/Address/n“;(分数:2.00)填空项 1

    8、:_24.以下程序运行后输出的结果是_。 main() int a=1,b; for(b=1;b=10;b+) (if(a=8)break; if(a%2=1)a+=5;continue; a-=3: printf(“%d/n“,b); (分数:2.00)填空项 1:_25.写出“n 是小于整数 m的偶数“的 C语言表达式: 1 。(分数:2.00)填空项 1:_三、B程序分析题/B(总题数:4,分数:16.00)26.输入数据:2743回车。 #includestdioh main() int c; while(c=getchar()!=n) switch(c-2) case 0: case

    9、 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+2);break; printf(“/n“);(分数:4.00)_27.#includestdioh void swap(int *P,int*q) int t; t=*P;*P=*q;*q=t; main() int a=10,b=20;swap(a,b); printf(“%d%d/n“,a,b); (分数:4.00)_28.若输入 3个整数 3,2,1回车则下面程序的输出结果是 #includestdioh main() in

    10、t i,n,aa10=0,0,0,0,0,0; scanf(“%d%d%d“,n,aa0,aa1); for(i=0;i=n;i+) printf(“%d“,aai); (分数:4.00)_29.#includestdioh typedef struct abc int a,b,c; ; main() struct abe s2=1,2,3),4,5,6; int t=-s0a+s1b; printf(“%d/n“,t); (分数:4.00)_四、B程序填充题/B(总题数:3,分数:18.00)30.一个三位整数(100999),若各位数的立方和等于该数自身,则称其为“水仙花数“(如:153=

    11、1 3+53+33),找出所有的这种数。 #includestdioh main() int n,a,b,c; for(c=1;c=9;c+) for(b=0;b=9;b+) for(a=0;_;a+)/*第一空*/ n=_;/*第二空*/ if(a*a*a+b*b*b+c*c*c=_)/*第三空*/ printf(“%d/n“,n); (分数:6.00)填空项 1:_31.将一个文本文件 madat 拷贝到另一个文本文件 nadat 中。 #includestdioh main() FILE*ma,*na; ma=fopen(“madat“,_);/*第一空*/ na=fopen(“nada

    12、t“,“w“); while(!feof(ma)fputc(fgete(ma),_)/*第二空*/ felose(na);_;/*第三空*/ (分数:6.00)填空项 1:_32.将 10个数输入数组中,求出其中最大数和最小数并输出。 #includestdioh main() int i,max,min,a10; for(i=0;i10;i+) seanf(“%d“,_);/*第一空*/ max=a0: min=a0;for(i=1;_;i+)/*第二空*/ if(aimax) max=ai; else if(aimin) _;/*第三空*/ printf(“max=%d,min=%d“,m

    13、ax,min); (分数:6.00)填空项 1:_五、B程序设计题/B(总题数:2,分数:16.00)33.编一个程序其功能是输入一个正整数,判断是否是素数,若为素数则输出 1,否则输出 0。(素数是只能被 1和本身整除且大于 1的自然数)(分数:8.00)_34.有一个字符串,包含 n个字符。写一个函数,将此字符串中从第 m个字符开始的全部字符复制成为另一个字符串。要求在主函数中输入字符串及 m值并输出复制结果。(分数:8.00)_高级语言程序设计-2 答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:15,分数:30.00)1.若 x为 int型变量,则执行

    14、以下语句后,x 的值为( ) x=6; x=+x-=x*x(分数:2.00)A.6B.-24 C.36D.-60解析:解析 自反赋值运算符是自右向左结合的。2.fgetc函数是作为一个从指定文件读入一个字符的函数,下列有关描述正确的是( )(分数:2.00)A.只能读二进制文件B.只能读文本文件C.其参数是一个指针变量 D.其参数是一个字符串解析:3.在定义了数组 int a610之后,对数组元素的引用不正确的是(分数:2.00)A.*(a6+2)B.a68C.*(a61+4)D.a6+5 解析:4.以下运算符中,优先级最低的是(分数:2.00)A.B.C. D.解析:5.下面程序段执行后输出

    15、的结果是( ) #includestdioh main() int a22=1,2),5,7),*P,i; p=a00; for(i=0;i2;i+) “P+=i+1: printf(“%d“,*(p-2); (分数:2.00)A.1B.2C.5 D.7解析:解析 #includestdioh main() int a22=1,2,5,7,*P,i; p=a00;for(i=0;i2;i+)/*循环条件为 i2,步进值为 1*/ *p+=i+1;/*赋值无效*/ printf(“%d“,*(p-2);6.若当前文件目录为 C:/tc,在 C语句中下列能表示文件 tcc 的是(分数:2.00)A

    16、.tc B.C:tc/tcC.C/tc/tcD.C/tc解析:7.下列语句中把 P定义为一个文件指针的是( )(分数:2.00)A.FILE *P B.FILE pC.file PD.file *P解析:8.下面程序段执行后输出的结果是( ) #includestdioh main() int i; for(i=1;i8;i+) if(i%3)printf(“*“);continue; printf(“#“); printf(“/n“); (分数:2.00)A.*#*#*#B.*#*#* C.*#*#*D.*#*解析:解析 #includestdioh main() int i; for(i=

    17、1;i8;i+)/*循环条件为 i8,步进值为 1*/ if(i%3)printf(“*“);continue;/*如果能被 3整除打印输出“*“,并跳过后面的语句直接执行下次徨*/ printf(“#“);/*如果不能被 3整除打印输出“#“*/ printf(“/n“); 9.在 C语言中,被视为程序模块的是( )(分数:2.00)A.语句B.行语句C.程序语句块D.函数 解析:10.在函数内定义变量时,存储类型符可省略的是(分数:2.00)A.staticB.externC.auto D.register解析:11.下列关于 continue和 break的描述正确的是( )(分数:2.

    18、00)A.continue只能用于循环体中 B.break只能用于循环体中C.continue只是一个语句标记D.break只能用于 switch语句块中解析:12.以下程序输出的结果是 #includestdioh int fun(int k) if(k0)fun(k-1); printf(“%d“,k); main() int w=3;fun(w); printf(“/n“); (分数:2.00)A.3 2 1 0B.0 1 2 3 C.2 1 0D.0 1 2解析:解析 #includestdioh int fun(int k) if(k0)fun(k-1); printf(“%d“,k

    19、); /*这是一个递归调用过程,先输出的是处于最底层的一次调用;即当 k=1时调用函数 fun()时的输出结果*/ main() int w=3;fun(w);/*调用函数 fun()*/ printf(“/n“); 13.下列关于 if和 else的配对规则描述正确的是( )(分数:2.00)A.else总是和前面最远的 if配对B.else总是和前面最近的 if配对 C.if和 else的配对按程序缩进格式进行D.else可以和前面所有的 if配对解析:14.设 char *s=“china“;则 printf(“%s,%c,%c/n“,s,*s,s3);的输出是( )(分数:2.00)A

    20、.china,c,n B.china,china,iC.c,c,nD.china,china,n解析:15.下列说法中正确的是(分数:2.00)A.字符/0是字符串的结束标记 B.字符0是字符串的结束标记C.字符/o是字符串的结束标记D.字符o是字符串的结束标记解析:二、B填空题/B(总题数:10,分数:20.00)16.设 char strl7=“ABCDEF“,str25=“xyz“;则执行语句: printf(“%d“,strlen(strcpy(str1,str2); 后的输出是_。(分数:2.00)填空项 1:_ (正确答案:3)解析:解析 strcpy()是将字符串 str2复制到

    21、 str1中,且 str1中原有的字符将被覆盖。17.设 char a,b;,则表达式 a/c*b的值的类型为 1。(分数:2.00)填空项 1:_ (正确答案:整型)解析:18.设 for(k=0;k0;k-)+k;,则该循环共执行 1 次。(分数:2.00)填空项 1:_ (正确答案:0)解析:解析 k 的初始值已经不能满足循环执行的条件了,故该循环体共执行了 0次。19.19,表示空类型的保留字是 1。(分数:2.00)填空项 1:_ (正确答案:void)解析:20.在 C语言中,如果下面的变量都是 int类型,则输出的结果是_。 sum=pad=5; pad=sum+,pad+,+p

    22、ad; printf(“%d/n“,pad);(分数:2.00)填空项 1:_ (正确答案:7)解析:21.以下程序的输出结果是_。 #include main() int i=010,j=10; printf(“%d,%d/n“,+i,j-);(分数:2.00)填空项 1:_ (正确答案:9,10)解析:22.已知在 ASC代码中,字母 A的序号为 65,以下程序输出的结果是_。 #includestdioh main() char c1=A,c2=Y; printf(“%d,%d/n“,c1,c2); (分数:2.00)填空项 1:_ (正确答案:65,89)解析:23.指针 s所指字符串

    23、的长度为_。 char *s=“/“Name/Address/n“;(分数:2.00)填空项 1:_ (正确答案:14)解析:24.以下程序运行后输出的结果是_。 main() int a=1,b; for(b=1;b=10;b+) (if(a=8)break; if(a%2=1)a+=5;continue; a-=3: printf(“%d/n“,b); (分数:2.00)填空项 1:_ (正确答案:4)解析:解析 main() int a=1,b; for(b=1;b=10;b+),/*b 从 1到 10,步进位为 1的循环*/ if(a=8)break;/*当 a=8 时循环被终止*/

    24、if(a%2=1)a+=5;continue;/*如 a为奇数,则执行“a+=5;continue;“*/ a-=3;/*如果上述两条件 a都不满足则执行本行*/ printf(“%d/n“,b); 25.写出“n 是小于整数 m的偶数“的 C语言表达式: 1 。(分数:2.00)填空项 1:_ (正确答案:!(n%2)nm)解析:三、B程序分析题/B(总题数:4,分数:16.00)26.输入数据:2743回车。 #includestdioh main() int c; while(c=getchar()!=n) switch(c-2) case 0: case 1:putchar(c+4);

    25、 case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+2);break; printf(“/n“);(分数:4.00)_正确答案:()解析:66877 解析 #includestdioh main() int c; while(c=getchar()!=/n/*从键盘获得字符*/ switch(c-2)/*开始进行分支选择*/ case 0: case 1:putchar(c+4);/*如果此行语句被执行,则其下面的一行语句将被无条件执行。*/ case 2:putchar(c+4);break;/*如果此行语句被执

    26、行则仅执行这一行。*/ case 3:putchar(c+3);/*同 casel*/ case 4:putchar(c+2);break;/*同case3*/ printf(“/n“);27.#includestdioh void swap(int *P,int*q) int t; t=*P;*P=*q;*q=t; main() int a=10,b=20;swap(a,b); printf(“%d%d/n“,a,b); (分数:4.00)_正确答案:()解析:20,10 解析 #includestdioh void swap(int *P,int *q)/*参数传递方式采用地址传递*/ i

    27、nt t; t=*p;*p=*q;*q=t;/*交换 a与 b的值*/ main() int a=10,b=20;swap(a,b);/*调用函数 swap()*/ printf(“%d%d/n“,a,b);28.若输入 3个整数 3,2,1回车则下面程序的输出结果是 #includestdioh main() int i,n,aa10=0,0,0,0,0,0; scanf(“%d%d%d“,n,aa0,aa1); for(i=0;i=n;i+) printf(“%d“,aai); (分数:4.00)_正确答案:()解析:0000 解析 #includestdioh main() int i,

    28、n,aa10=0,0,0,0,0,0; scanf(“%d%d%d“,8n,aa0,aa1);/*输入时因格式不匹配而导致 n,aa0,aa1三个变量只有 n获得值 3*/ for(i=0;i=n;i+) printf(“%d“,aai); 29.#includestdioh typedef struct abc int a,b,c; ; main() struct abe s2=1,2,3),4,5,6; int t=-s0a+s1b; printf(“%d/n“,t); (分数:4.00)_正确答案:()解析:4 解析 #includestdioh typedef struct abc i

    29、nt a,b,C; ;/*定义一个结构体类型*/ main() struct abc s2=1,2,3,4,5,6;/*定义一个结构体数组 s2并赋初值*/ int t=-s0a+s1b;/*引用结构体数组元素的成员进行计算,计算 t的值*/ printf(“%d/n“,t); 四、B程序填充题/B(总题数:3,分数:18.00)30.一个三位整数(100999),若各位数的立方和等于该数自身,则称其为“水仙花数“(如:153=1 3+53+33),找出所有的这种数。 #includestdioh main() int n,a,b,c; for(c=1;c=9;c+) for(b=0;b=9;

    30、b+) for(a=0;_;a+)/*第一空*/ n=_;/*第二空*/ if(a*a*a+b*b*b+c*c*c=_)/*第三空*/ printf(“%d/n“,n); (分数:6.00)填空项 1:_ (正确答案:a=9/*第一空。明确个位数的范围(从 09)*/)解析:100*c+10*b+a/*第二空。计算并求出这个三位数*/ n/*第三空。将各位数的立方和与这个三位数进行比较以确定其是否为“水仙花数“*/31.将一个文本文件 madat 拷贝到另一个文本文件 nadat 中。 #includestdioh main() FILE*ma,*na; ma=fopen(“madat“,_)

    31、;/*第一空*/ na=fopen(“nadat“,“w“); while(!feof(ma)fputc(fgete(ma),_)/*第二空*/ felose(na);_;/*第三空*/ (分数:6.00)填空项 1:_ (正确答案:“r“/*第一空。以只读方式打开文件 madat*/)解析:na/*第二空。向文件 nadat 输入从文件 madat 得到的字符*/ fclose(ma)/*第三空。关闭所有文件以结束复制过程*/32.将 10个数输入数组中,求出其中最大数和最小数并输出。 #includestdioh main() int i,max,min,a10; for(i=0;i10;

    32、i+) seanf(“%d“,_);/*第一空*/ max=a0: min=a0;for(i=1;_;i+)/*第二空*/ if(aimax) max=ai; else if(aimin) _;/*第三空*/ printf(“max=%d,min=%d“,max,min); (分数:6.00)填空项 1:_ (正确答案:ai/*第一空。给数组的元素输入内容*/)解析:i10/*第二空。循环并逐项比较*/ min=ai/*第三空。min 获得相对较小值*/五、B程序设计题/B(总题数:2,分数:16.00)33.编一个程序其功能是输入一个正整数,判断是否是素数,若为素数则输出 1,否则输出 0。

    33、(素数是只能被 1和本身整除且大于 1的自然数)(分数:8.00)_正确答案:()解析:#includestdioh main() int i,x,y=1; scanf(“%d1,x);/*输入数值 x*/ for(i=2;i=x/2;i+) if(x%i=0)y=0;break/*用 x逐一对 2以上到 x/2之间的正整数求余*/ printf(“%d/n“,y); 34.有一个字符串,包含 n个字符。写一个函数,将此字符串中从第 m个字符开始的全部字符复制成为另一个字符串。要求在主函数中输入字符串及 m值并输出复制结果。(分数:8.00)_正确答案:()解析:#includestdioh

    34、#includectypeh char copystr(char *p1,char *p2,int m) int n=0; while(nm-1)/*寻找第 m个字符*/ n+; p1+;) while(*p1!=/0)/*复制从第 m个字符到字符串结束这_段字符到*p2 中*/ *p2=*p1; p1+; p2+; *p2=/0; main() int m; char str180,str280; printf(“Please input a string(length80):/n“); scanf(“%s“,str1);printf(“/nWhich character starting from?/n“); scanf(“%d“,m); if(strlen(str1)m) printf(“/nError input!“); else copystr(str1,str2,m);/*调用函数 copystr()进行字符串输出*/ printf(“/nResuh is:%skn“,str2);


    注意事项

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




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

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

    收起
    展开