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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、全国自考(高级语言程序设计)模拟试卷 10 及答案与解析一、单项选择题1 下列不属于面向机器语言的是( )(A)符号语言(B)二进制语言(C)汇编语言(D)C 语言2 设 int b=2;表达式 (b2)/(b 1)的值是( )(A)2(B) 4(C) 6(D)83 设置变量定义为:int a=0x53;int b=6;,求表达式ab 的值(假定现有计算机字长为 16)( )(A)82(B) -82(C) 72(D)-724 为了判定两个字符串是否相等应当使用( )(A)if(s1=s2)(B) if(s1=s2)(C) if(strcmp(s1,s2)=0)(D)if(strcmp(s1,s

2、2)=0)5 设 char c5=a,b ,0,C ,0);则 printf(“%s“,c) ;的输出是( )(A)ab(B) ab(C) abc(D)ab0c6 以下程序的运行结果是( ) #include stdioh main() int a=1,2,3,4,5,6,7, 8,9,10,11,12 ; int *p=a5,*q=NULL; printf(“%d%dn“,*p,*q); (A)运行后报错(B) 6 0(C) 6 12(D)5 57 当执行以下程序段时( ) doy-;while(-y) printf(“%dn“,y-);(A)循环体将执行一次(B)循环体将执行两次(C)循环

3、体将执行无限次(D)系统将提示有语法错误8 设 char str100;int I=5 ;,则引用数组元素的错误形式的是 ( )(A)strI+10(B) *(srr+I)(C) (str+I-1)(D)*( (str+)+I)9 下列表达式的值为 0 的是( )(A)3%5(B) 3*5(C) 3/5.0(D)3510 字符串“2008 Olympic“在存储单元中所占用的字节数是 ( )(A)9(B) 10(C) 11(D)1311 设 a=5,b=3;,执行语句“printf(“%d,%d,(a,b),(b,a);“输出是( )(A)5,3(B) 3,5(C) 5,5(D)3,312 执

4、行下列程序段后,*p 的值是( ) char *p=“asdf“; printf(“%c“,*(p+strlen(p);(A)语句错误(B) s(C) d(D)a13 下列关于函数的说法不正确的是( )(A)函数是一个可反复使用的程序段(B) main()函数也可以做被调函数(C)函数参数的输入和输出统称为“函数问数据的传递 “(D)从定义的角度来分,可分为用户函数和系统函数两类14 通常适用于从被调用函数中将一个值传回主调函数的参数传递方式是( )(A)利用返回值数据传递方式(B)利用形参与实参传递数据的方式(C)利用全局变量传递数据的方式(D)以上都不对15 下列关于文件随机定位函数 fs

5、eek()的描述正确的是( )(A)若定位正确返回非零值(B)包含在头文件 stdlibh 中(C)本函数只能用于二进制文件(D)本函数可以使用文件内部指针直接指向需要的某个数据二、填空题16 高级语言编写的程序被称为_,它是不能在计算机上直接运行的,必须将其翻译成二进制程序后才能执行。17 位运算的对象只能是_。18 下面程序的输出结果是_。 #includestdio. h main() static char b=“Hello!world!“; char *chp= b6; while(-chp=b0)putchar(*chp); putchar(n); 19 请写出以下数学表达式的 C

6、 语言表达式:_。20 下列程序语句执行后的结果是_。 main() int x=f;printf(“%cn“,A+(x-a+1);21 表示条件“10x100 或 x0“ 的 c 语言表达式是_。22 若已知 a=10、b=20,则表达式!ab 的值为_ 。23 没 int b=2;表达式(b2)/(b 1)的值是_。24 下列语句执行后输出的结果是_。 main() double d=3.2;int x,y; x=1.2;y=(x+3.8)/5.0; printf(“%dn“,d*y); 25 如果形参是数组名,则传递方式称为“_“。三、程序分析题26 #includestdioh mai

7、n() int a43=1,5,9, 12,8,17,13,6,10,24,22,23,i ,s=1 ; for(i=2;i 2=3;i+) s=s+ai3-i; printf(“s=%dn“,s); 27 #includestdioh main() int i,j,row,colum,m; static int arry33=100,200,300,28 ,27,29,850,26,5) ; m=arry00; for(i=0;i 3;i+) for(j=0;j 3;j+) if(arryijm) m=arryij;row=i;colum=j; printf(“%d, %d,%dn“,m,r

8、ow,colum) ; 28 #includestdioh main() char b=“CDEFGH“; char *chp= b3; while(-chpb0); putchar(*chp): printf(“n“): 29 #ineludestdioh sub(x,y,z) int x,y,*z; *z=y-x; main() int a,b,C ; sub(10,5,a); sub(7,a, b); sub(a,b, c); printf(“%d, %d,%dn“,a,b,c) ; 四、程序填充题30 下面程序由终端键盘输入一个文件名。然后把从终端键盘输入的字符依次存放到该文件中,用#

9、作为结束输入的标志。 #includestdioh #include main() FILE *fp; char ch,fname10; printf(“Please input the file namen“); gets(fname); if(fp=_)=NULL)/*第一空*/ printf(“()pen it errorn“);_;/* 第二空*/ else(printf(“Enter the contentn“); while(ch=getchar()!=#) _;/*第三空*/ fclose(fp); 31 下面 rotate 函数的功能是:将 n 行 n 列的矩阵 A 转置为 A

10、。 #define N 4 void rotate(int aN) int i,j,t; for(i=0;i N;I+) for(j=0;_;j+)/*第一空*/ t=aij; _;/*第二空*/ aji=_;/*第三空*/ 32 输入 2 个整数,输出它们的最小公倍数和最大公约数。 #includestdioh void main() int m,n,gbs,gys; scanf(“%d,9/6d“,m,n); gbs=m; while(_)/*第一空*/ gbs=_;/*第二空*/ gys=_;/*第三空*/ printf(“%d %dn“,gbs,gys); 五、程序设计题33 输出 1

11、00 以内所有个位数字为 7 且能被 3 整除的数。34 一个二维数组 int a44,请将其填满并输出其四个边的元素。全国自考(高级语言程序设计)模拟试卷 10 答案与解析一、单项选择题1 【正确答案】 D2 【正确答案】 D【试题解析】 左移位运算移一位相当于乘 2,右移位运算右移一位相当于除 2。3 【正确答案】 B【试题解析】 因计算机字长为 16故 a 的二制表示是 0000000001010011,b 的二进制表示是 0000000000000110。运算符“自右向左结合,运算符“ 是自左向右结合;且运算符“的优先级高于运算符“ “ 的优先级,则进行计算的顺序是“(a)b“。最终计

12、算结果是 1111111101010010(十进制值为-82)。4 【正确答案】 C5 【正确答案】 B6 【正确答案】 A【试题解析】 #include stdioh main() int a=1,234,5,6,7,8,9,10,11,12; int*p=a5 ,*q=NULL; printf(“%d%dn“,*P,*q);/*被置空的指针不能参与“*“运算*/ 7 【正确答案】 C【试题解析】 变量 y 无初值,系统默认非空。循环将无限次地被执行下去。8 【正确答案】 D9 【正确答案】 D【试题解析】 35 不为真,故表达式的值为 0。10 【正确答案】 D11 【正确答案】 B12

13、【正确答案】 D【试题解析】 指针变量 P 在得到初值“asdf“之后没有初改变过, P 就是字符串“asdf“的首地址故*P 的值为 a。13 【正确答案】 B14 【正确答案】 A15 【正确答案】 D二、填空题16 【正确答案】 源程序17 【正确答案】 整型数据18 【正确答案】 !olleH【试题解析】 b6所表示的位置是“w“的位置;“while(-chp=b0)putchar(*chp);“中由于“-“是前置的,所以在执行判定前指针“chp“ 先行自减 1。循环体“while(-chp= b0)putchar(*chp);“结束的条件是“chpb0“,循环过程中输出相应字符。19

14、 【正确答案】 a/(b*c)-2*d20 【正确答案】 G【试题解析】 x=f则f-a=5,A+5+1=G。对一下 ASC码表就行了。21 【正确答案】 x10x100x022 【正确答案】 123 【正确答案】 0【试题解析】 因 b=2,其二进制表达式为。0000010(若计算机为八位机)。右移两化后其值为 00000000(右移时高位补 0;其十进制值为 0),最终得出表达式的值为0。24 【正确答案】 0【试题解析】 因定义的变量 x 和 y 都是 int 型,故在执行语句“x=1.2;“时 x 获得的值是 1;在执行语句“y=(x+3.8)/5.0;“时,x 以所获得的值“1“参加

15、运算,最终“(x+3.8)/5.0“的值小于 1。故 y 所获得的值为 0。25 【正确答案】 地址传递方式三、程序分析题26 【正确答案】 s=31【试题解析】 #include stdioh main() int a43=1,5,9,12 ,8,17,13,6,10,24 ,22,23,i,s=1; for(i=2;i=3;i+)/*i*i 初值为 2,循环条什为 i=3,步进值为 1*/ s=s+ai3-i;/*循环体内将“s+ai3-i“的值赋于 s*/ printf(“s=%dn“,s);/* 打印输出上述循环体执行完毕后 s 的值*/ 27 【正确答案】 5,2,2【试题解析】 #

16、include stdioh main() int ij,row,columm; static int arry 33=100,200,300),28 ,27,29,850,26,5; m=arry00; for(i=0:i3 ;i+) for(j=0;j %3;j+) if(arryijm) m=arryij;row=i;colum=j;/* 遍历数组 arry,以找出其他最小的元素,并记录位置*/ primf(“%d, %d,%dn“,m,row,colum);/*输出最小元素的值,并打印其位置标记*/28 【正确答案】 E【试题解析】 #include stdioh main() cha

17、r b=CDEFGH; char *chp=b3 /*指针变醚 chp 获得初值b0*/ while(-chpb0) ;/*指针变量 chp 的值小于字符数组 b元素 b0的地址时执行循环,循环体为空语句,每循环一次指针变量 chp 减 1*/ putchar(*chp);/*打印输出指针变量 chp 所指向内存存放的字符*/ printf(“n“); 29 【正确答案】 -5-12,-7【试题解析】 #include stdioh sub(x,y,z) int x, y,*z;/*只有参数 z 为指针变量,与主函数数之间的参数传递采用地地址传方式。函数 sub()可通过这个变量改变和 z 相

18、关的本函数外部变量的值*/ *z=y-x;) main() int a, b,c; sub(10.5,a); sub(7,a,b); sub(a,b,c); print(“%d,%d ,%dn“,a,b,c); 四、程序填充题30 【正确答案】 fopen(fname,“w“)/*第一空。新建一个名字由字符数组 fname 的元素组成的文件,采用的方式是只读方式*/ exit(0)/*第二空。关闭当前打开的文件结束程序运行*/ fputc(ch,fp)/*第三空。将字符型变量 ch 的值输出到文件指针 fp 指向的文件中*/31 【正确答案】 jN/*第一空。题干提示为 n 行 n 列的矩阵转

19、置,故此处应填入循环条件*/ aij=aji/*第二空。矩阵转置,元素换位 */ t/*第三空。将临时变量内储存的值转入矩阵元素 aji中*/32 【正确答案】 gbs%n!=0/*第一空。确定循环终止的条件,当 gbs%n=0 时循环终止*/ gbs+m/*第二空。循环体执行语句,继续累加 m 到 gbs 中*/ m*n/gbs/*第三空。求出 m 和 n 的最大公约数*/五、程序设计题33 【正确答案】 #includestdioh main() int i,a; for(i-0;i10;i+) a=i*10+7;/*求个位为 7 的数*/ if(a%3=0)printf(“%dn“,a);/*判断其是否能被 3 整除*/ 34 【正确答案】 #includestdioh main() int a44; int i,j; for(i=0;i 4;i+) for(j=0;j 4;j+) scanf(“%d,aij); for(i=0;i 4;i+) for(j=0;j 4;j+) if(i=0)|(i=3)printf(“%d“,aij);/*如果是第一行或第四行则输出该元素*/ else if(j=0)|(j=3)printf(“%d“,aij) ;/* 如果是第一列或第四列则输出该元素*/

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