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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

[自考类试卷]全国自考(高级语言程序设计)模拟试卷6及答案与解析.doc

1、全国自考(高级语言程序设计)模拟试卷 6 及答案与解析一、单项选择题1 C 语言中错误的 int 类型常数是( )(A)123(B) 1F7(C) 38(D)OxAF2 以下属于 C 语言保留字的是( )(A)define(B) put(C) fclose(D)extern3 sizeof(float)是( )(A)函数调用(B) int 型表达式(C) float 型表达式(D)非法表达式4 结构体变量各成员内存分配的顺序是( )(A)顺序的(B)逆序的(C)随机的(D)只分配一个最大成员内存占用量5 若定义了 int a;char b;float c ;, 则表达式 a*b-c 的类型是(

2、 )(A)float(B) char(C) int(D)double6 若有以下定义和语句: char *s1=“12345“ ,*s2=“1234“: printf(“%dn“,strlen(strcpy(s1,s2); 则输出结果是( )(A)4(B) 5(C) 6(D)不确定7 若 x、y 均是 int 型变量,则执行以下语句后的结果是( ) for(x=1;x5;x+=2) for(y=1;y5;y+) printf(“%2d“ ,x*y); if(y=4)printf(“n“); (A)1 2 3 4 3 6 9 12(B) 2 3 4 5 3 4 5 6(C) 1 2 3 4 5

3、6 9(D)2 3 4 3 6 9 6 9 128 设整型变量 m、na、b 的值均为 1,执行(m=a=b)(n=ab)后 m,n 的值是( )(A)0,1(B) 1,0(C) 1,1(D)0,09 char 型常量在内存中存放的是( )(A)二进制代码值(B)十进制代码值(C)十六进制代码值(D)ASC 代码值10 下面程序段所表示的数学函数关系是( ) y=-1 if(x!=0)if(x0)y=1;else y=0 ; (A) (B)  (C)  (D) 11 现有下列程序语句,执行后的结果是( ) #includestdio h void main()

4、char s1100=“123“,s2100=“qwer“; puts(s1);puts(s2); printf(“%s%s“,s1,s2); (A)123 qwer 123 qwer(B) 123 qwer 123qwer(C) 123qwerl23qwer(D)123qwer 123qwer12 假定所有变量均已正确说明,下列程序段运行后 x 的值是( ) a=b=c=0;x=60; if(!a)x-; else if(b)if(c)x=3; else x+=4;(A)3(B) 4(C) 60(D)6313 若有以下定义,则不能正确地表示数组中的元素的是( ) char *s=“1,2,3

5、,4,5,6,7,8,9,0,“;(A)*s(B) s9(C) *(s+1)(D)*(s+10)14 设有下列数据定义语句,则“printf(“%dn“,d0y/d0x*d1x);“ 的输出是( ) structint x;int y;d2=1,3,2 ,7) ;(A)0(B) 1(C) 3(D)615 执行以下程序段后,m 的值是( ) int a23=1,2,3 ,4,5,6); int m,*ptr; ptr=a00; m=(*ptr)*(*(ptr+2)*(*(ptr+4);(A)15(B) 24(C) 45(D)不确定二、填空题16 若有说明 int i,j,k;则表达式 i=10,

6、j=20 ,k=30 ,k*=i+j 的值为_。17 print(“%5.3fn“,123456.12345);输出为_。18 表达式3(234)的值为_。19 执行语句“int s=0,n=5;while(-n)s+=n ;“ 后,变量 s、n 值依次为_。20 程序中使用了字符串函数(如 scanf),则必须包含的头文件名为_。21 访问结构体数组元素 ak的成员 b,写作_。22 执行语句“for(s=0 ,i=1;i11;i+)if(i=6)continue;s+=i;)t 后,s 值为_。23 执行语句“n=1;if(n=5)n+;“后,变量 n 值为_。24 计算 a、b 、C 中

7、最小值的条件表达式为_ 。25 执行语句“a=5+(c=6); “后,变量 a、c 的值依次为_。三、程序分析题26 输入数据:2743回车。 #includestdioh main() int c; while(c=getchar()!=n) switch(c-2) case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+2);break; printf(“n“); 27 #includestdioh void swap(int *P,int*q) int t;

8、 t=*P;*P=*q;*q=t; main() int a=10,b=20;swap(a,b); printf(“%d%dn“,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) ; 29 #includestdioh typedef struct abc int a,b,c; ; main() struct abe s2=1,2,3),4,5,

9、6; int t=-s0a+s1 b; printf(“%dn“,t); 四、程序填充题30 下面程序段的功能是将形参 x 的值转换成二进制数,所得二进制数的每一位数放在一维数组中返回,二进制数的最低位放在下标为 0 的元素中,其他以此类推。 #include main(int x, int b) int k=0,r,i; scanf(“%d“,x) ; do r=x%2; b_=r;/*第一空*/ x/=2; while(_);/*第二空*/ for(_);i=0;i-)/*第三空*/ printf(“%d“,bi) ; 31 下面程序是将字符串 P 中的所有字符复制到字符串 b 中,要求每

10、复制三个字符后插入一个空格。 #includestdioh void cp(char *p,char *b) int i,k=0; while(*p) i=0; while(_)/*第一空*/ bk=*P; k+;p+;i+ ; if(*p) _;/* 第二空*/ _;/*第三空*/ main() char a20,b20; gets(a); cp(a, b); puts(b); printf(“n“); 32 下列给定程序中,函数 fun()的功能是:读人一个字符串(长度20),将该字符串中的所有字符按 ASC码降序排序后输出。 #includestdioh void fun(char t)

11、 char c; int i,j; for(i=0;_;i+)/*第一空*/ for(j=i+1;j=strlen(t) ; j+) if(_)/*第二空*/ c=tj; tj=ti; ti=c; main() char s81; printf(“Please enter a character string:n“); gets(s); printf(“nnBefore sorting:n%s“,s); _;/*第三空*/ printf(“nAfter sorting decreasingly:n%sn“ ,s); 五、程序设计题33 编程要求输出两个字符串对应位置相等的字符,并输出其位置号(

12、自然编号)。34 建立一个磁盘文件,文件名由键盘输入,文件内容也由键盘输入。文件内容的输入以“*“作为输入结束标志。全国自考(高级语言程序设计)模拟试卷 6 答案与解析一、单项选择题1 【正确答案】 B2 【正确答案】 D3 【正确答案】 B【试题解析】 sizeof(float) 的用意是求 float 型数据的长度。sizeof()是一个运算符,得到的值是整型数据,故它是一个 int 型表达式。4 【正确答案】 A5 【正确答案】 A6 【正确答案】 A【试题解析】 strcpy(s1 , s2)将字符串“1234“ 全部复制到 s1 中,将原来的内容覆盖。s1 中的 12345 分别被

13、12340 取代。故最终计算得出答案为 4。7 【正确答案】 A【试题解析】 此题为一个简单的 for 循环嵌套。外层步进值为 2,循环中断条什是 x5;内层步进值为 1,循环中断条件是 y5。语句“if(y=4)printf(“n“):“的用意是当 y=4 时回车换行。8 【正确答案】 B【试题解析】 在语句“(m=a=b)(n=ab)“中运算符 “=“的优先级高于赋值运算符“=“,故 m 和 n 的值分别是“a=b“和“a b“这两个表达式的逻辑值。9 【正确答案】 D10 【正确答案】 C【试题解析】 因语句“if(x!=0)if(x0)y=1;elsey=0;“ 中的判定条件是“x!=

14、0“和“x 0“,故此语句只确定 x0 和 x0 时 y 的值。当 x=0 时 y=-1,当 xO 时y=0,x 0 时 y=1。11 【正确答案】 B【试题解析】 puts()函数的作用是输出字符数组中存放的字符串,并在输出完成后回车换行。12 【正确答案】 D【试题解析】 a=b=c=0;x=60; if(!a)x-;/* 执行后,x 的值自减 1。此时 x=59*/ elseif(b)if(c)x=3;/*变量 b、c 的值都是“0“ 不执行“x=3“*/ elsex+=4;/*因不能满足“if(b)if(c)“ 的条件,执行“x+=4“,此时 x=63*/ 13 【正确答案】 D【试题

15、解析】 *(s+10)表示由 s 的首地址向后偏移 10 个字节,产生数组地址越界。14 【正确答案】 D15 【正确答案】 A【试题解析】 *ptr、“*(ptr+2)“和“*(ptr+4)“ 的值分别是 1、3 和 5,故答案选A。二、填空题16 【正确答案】 90017 【正确答案】 12345618 【正确答案】 419 【正确答案】 100【试题解析】 循环体“while(-n)s+=n ;“连续执行直到 n 等于 0 时为止。20 【正确答案】 stdioh21 【正确答案】 akb22 【正确答案】 49【试题解析】 语句“for(s=0,i=1;i11;i+)if(i=6)co

16、ntinue;s+=i;“ 中循环体被执行 10 次。其中当 i=6 时,循外体内“s+=i ;“不被执行。23 【正确答案】 6 解知析:语句中“if(n=5)“一句给 n 赋以 5 值,执行“n+ ;“ 之后n 的值为 6。24 【正确答案】 a d? a:(bc?(d=b):(d=c)25 【正确答案】 11 6三、程序分析题26 【正确答案】 66877【试题解析】 #include stdioh main() int c; while(c=getchar()!=n/*从键盘获得字符*/switch(c-2)/*开始进行分支选择*/ case 0: case 1:putchar(c+4

17、) ; /*如果此行语句被执行,则其下面的一行语句将被无条件执行。*/ case 2:putchar(c+4) ; break;/*如果此行语句被执行则仅执行这一行。*/ case 3:putchar(c+3) ; /*同 casel*/ case 4:putchar(c+2) ; break;/* 同 case3*/ printf(“n“);27 【正确答案】 20,10【试题解析】 #include stdioh void swap(int *P,int *q)/*参数传递方式采用地址传递 */ int t; t=*p;*p=*q;*q=t ;/* 交换 a 与 b 的值*/ main()

18、 int a=10,b=20;swap(a,b);/*调用函数 swap()*/ printf(“%d%dn“,a,b);28 【正确答案】 0【试题解析】 #include stdioh main() int i,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 【正确答案】 4【试题解析】 #include stdioh typedef struct abc int a,b,C; ;/

19、*定义一个结构体类型*/ main() struct abc s2=1,2, 3,4,5,6;/*定义一个结构体数组 s2并赋初值*/ int t=-s0a+s1b;/*引用结构体数组元素的成员进行计算,计算 t 的值*/ printf(“%dn“,t) ; 四、程序填充题30 【正确答案】 k+/*第一空。将余数 r 赋值给数组元素 bk并使 k 自加 1,为下一次循环做准备*/ x/*第二空。当 x=0 时则终止循环。当算术运算获得的值小于 1 时,变量将被赋于 0 值*/ i=k-1/*第三空。在循环体内最高位获值后,k 又自加 1 一次;故输出时需将 k 的值减 1 以使第一次输出能正

20、确地输出最高位的值*/31 【正确答案】 i3*P/*第一空。当复制 3 个字符后循环终止。注意此处*P并小多余,加入这一项是为了判断前要复制的字符是否为空。*/ bk+=/*第二空。输入空格,并使 k 自增 1。*/ bk=0/*第三空。在字符串末尾加上字符串结束标志。*/32 【正确答案】 i=strlen(t)/*第一空。设定循环上限,以减少不必要的比较束提高程序效率*/ titj/*第二空。如果 ti内所包含的字符变量的 ASC值小于 tj内所包含的字符变量的 ASC,则执行后面语句以交换其位置。*/ fun(s)/*第三空。对函数 fun(s)进行调用进行排序,参数传递方式采用地址传

21、递方式。*/五、程序设计题33 【正确答案】 #includestdioh main() char*c,*s ; int i=0; gets(c);/*字符数组 c 获得字符串内容*/ gets(s);/*字符数组 s 获得字符串内容*/ while(eisi)/* 相应位置的两个字符都不为空*/ if(ci=si)/*判断相应位置的字符是否相同*/ printf(“%ct“,ci);/*输出该字符*/ printf(“%dn“,i+1);/*输出该字符的位置号(自然编号)*/ 34 【正确答案】 #includestdioh #includestdlib h main() char ch,fname20; FILE *fp; scanf(“%s“,fname); if(fp=fopen(fname,“w“)=NULL)/*如果 fp 为空则创建文件失败*/ printf(“Can not open the file required“); exit(0); ch=getchar(); while(ch=*) fputc(ch,fp); putchar(ch); eh=getchar(); /*对文件输入内容*/ fclose(fp);/*关闭文件*/

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