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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(高级语言程序设计自考题模拟30.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

高级语言程序设计自考题模拟30.docx

1、高级语言程序设计自考题模拟30高级语言程序设计自考题模拟30一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的)1. 若有定义:float a=27.3;int i=0,k=3;则不符合C语言规定的赋值语句是_A.i=!aB.i=(a+k)=(i+k) C.a=a+,-k+D.i=a%11答案:D考点 赋值语句的书写规则 解答 取模运算符“%”,二元运算符,具有左结合性,参与运算的必须为整量,D选项中a的类型是float,所以D不符合规定。 2. 以下说法中不正确的是_A.do-while和for循环均是先执行循环体语句,后判断表达式B.while循环是先判断表达式,后执行循环

2、体语句C.使用while循环时,循环变量初始化的操作应在循环语句之前完成D.for,while和for-while循环中的循环体均可由空语句构成答案:A考点 for,while,do-while循环的特点 解答 for循环式先判断表达式,后执行循环语句。 3. 若有定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则正确的是_A.scanf(%d,a,b);B.scanf(%d,&p);C.scanf(%d,p);D.scanf(%d%d%d,a,b,c);答案:C考点 scanf函数 解答 scanf函数中的输入项必须是指针,只有C符合要求。 4. 设有定义:int

3、x=4;,以下表达式中,值不为20的是_A.x*=x+1B.x+,4*xC.x*=(x+1)D.2*x,x+=12答案:D考点 逗号运算符的运算方式 解答 逗号运算符的作用是将若干表达式连接起来,它的优先级别在所有运算符中是最低的,结合方向是“自左向右”。A和C项的结果是一样的,可展开为:x=x*(x+1)=20;B项中先执行x+,逗号执行前x的值变为5,逗号后的值就是整个表达式的值为20;D选项逗号前并未给x赋值,所以表达式的值就是x+=12的值,即为16。 5. 阅读下面程序段,执行后的结果为_ #includestdio.h int fun(int,int); main() int m=

4、4,n=2,k; k=fun(m,n); printf(%dn,k); fun(int m,int n) return(m*m*m-n*n*n); A.64B.56C.8D.0答案:B考点 函数之间的数据传递 解答 如果没有指明函数数值类型,则默认函数返回值的类型为int类型。 6. 设有以下语句: struct ex int x;double y;char *zapple; 则下面叙述中不正确的是_ A.struct是结构体类型的关键字B.apple是结构体类型名C.x,y,z都是结构体成员名D.struct ex是结构体类型名答案:B考点 结构体的组成 解答 struct ex是结构体类型

5、名,apple是结构体变量名。 7. 设static int x;执行表达式(x+1=2)&(x=-1)&(x+=1)后,x的值为_A.0B.1C.-1D.2答案:A考点 存储类型及逻辑运算 解答 static型变量未赋值时,系统赋值为0;&左端第一个表达式的值为假时,结果肯定为假,此时第二个表达式将不再运行。 8. 若x是int型变量,且有下面的程序段: for(x=4;x7;x+)printf(x%2)?(*%d):(#%dn),k); 输出的结果是_ A.* *4 * *5 #6 B.#4 #5 * *6 C.#4 * *5#6 D.* *4#5 * *6 答案:C考点 条件运算符 解答

6、 这种条件表达式的一般形式为:表达式1?表达式2:表达式3,条件运算符的执行顺序是先求解表达式1,若非零则求解表达式2,否则求解表达式3,所求表达式即为整个条件表达式的值。 9. 定义如下变量和数组: int k: int x33=1,2,3,4,5,6,7,8,9; 则下面语句的输出结果是_ for(k=0;k3;k+) printf(%d,x2-kk); A.9 5 1B.9 6 3C.7 5 3D.7 4 1答案:C考点 二维数组元素的引用方法 解答 题中通过二维数组的行列下标来定位元素的位置,从而实现元素的引用。 10. 以下程序运行后,a的值是_ main() int a,k=4,m

7、=2,*p1=&k,*p2=&m; a=p1=&m; printf(%dn,a); A.4B.0C.1D.运行时出错,a无定值答案:B考点 指针及逻辑运算 解答 题中,k与m的地址是不一样的,a=p1=&m,先运行关系运算符=,p1不等于&m,所以为假,为0,所以a=0。 11. C语言规定,调用一个函数,实参与形参都是简单变量时,它们之间的传递方式是_A.地址传递B.单向值传递C.用户指定方式D.双向值传递答案:B考点 调用函数时数据的传递方式 解答 在C语言中,函数间参数的传递方式是实参向形参的单向值传递,而单向值传递是指只能从主调函数向被调函数传递数据。 12. 执行以下程序段后,s的值

8、为_ int a=6,3,7,2,1,5,4,10; int s=0,k; for(k=0;k8;k+=2) s+=*(a+k); A.18B.28C.14D.无定值答案:A考点 循环结构和指针 解答 *(a+k)指向的是第k+1个元素,因为数组下标是从O开始的,所有s的值为6,7,1,4四个值相加所得。 13. 设有数组定义:char array=china;,则数组array所占用的空间和长度为_A.4个字节,5B.5个字节,5C.6个字节,5D.7个字节,6答案:C考点 字符数组的空间及字符长度 解答 字符串“china”存储在数组中时,其后的0也是占内存的,所以是6个字节,但其长度不包

9、括0,所以其长度为5。 14. 如果打开文件时,选用的文件操作方式是wb+,则下列说法中正确的是_A.要打开的文件必须存在B.打开文件后只能读数据C.打开文件后只能写数据D.文件打开后删除原内容再写答案:D考点 文件的打开与关闭 解答 “wb+”对二进制文件进行读或写操作。如果该文件不存在,系统自动建立新文件;如果该文件存在,其内容被清除。 15. 包含用户类型符“FILE”的定义的头文件是_A.string.hB.stdlib.hC.stdio.hD.file.h答案:C考点 文件指针 解答 文件指针是指向与文件参数有关的结构体类型的指针变量,系统在头文件“stdio.h”中已经定义。 二、

10、填空题1. 若a,b,c均是整型变量,则计算表达式a=(b=3)+(c=7)后,a的值为_,c的值为_。答案:10,7考点 算术表达式 解答 括号的优先级是最高的,c的值为7,a为10。 2. 表达式8.0*(1/2)的值为_。答案:0.0考点 算术表达式 解答 “就长不就短”原则,所以最后的数据类型为实型。 3. 设x,y,z均为整型变量,请写出描述“x或y中至少有一个大于z”的表达式_。答案:(xz)|(yz)考点 逻辑表达式 解答 至少有一个,使用或运算符。 4. 在C语言中,二维数组元素在内存中的存放顺序是_。答案:顺序考点 二维数组的初始化 解答 二维数组元素在内存中的存放中是顺序存

11、放,即先行后列。 5. 以下程序的输出结果是_。 #includestdio.h main() char s=abcdefg; s4=0; printf(%sn,s); 答案:abcd考点 字符串的输出 解答 %s格式输出,遇到0,结束。 6. 在一个源文件中定义的外部变量的作用域为_。答案:从定义该变量的位置开始至本文件结束考点 外部变量的作用域 解答 外部变量的作用域为定义点到程序结束。 7. 设char s 20=My;,则执行strcat(s,Boy!)后s的内容是_。答案:MyBoy!考点 strcat函数 解答 srcat函数的功能是将字符串连接到字符数组的最后一位有效字符,并组成

12、新的字符串。 8. 设int a25=8,5;则数组元素_的值为5。答案:a10考点 二维数组的初始化 解答 8和5分别赋给了第一行和第二行的第一个元素。 9. fopen函数打开文件成功,返回值是与打开文件相关的_。答案:文件指针考点 fopen函数 解答 能正确打开指定的文件,则返回一个指向文件的文件指针。 10. a盘根目录下的一级子目录tc中的text.exe文件的磁盘文件名是_。答案:a:tctext.exe考点 磁盘文件名 解答 磁盘文件名的一般组成是盘符:路径文件主名.扩展名。路径是由目录序列组成的,目录间的分隔符号为“”。 三、程序分析题1. main() int n,k=0;

13、 for(n=0;n20;n+) k=0; while(k=n) if(n=5*k) printf(%d,n); k+; 答案:0,5,10,15,2. #includestdio.h int t(int x,int y,int p,int q) p=x*x+y*y; q=x*x-y*y; main() int a=4,b=3,c=5,d=6; t(a,b,c,d); printf(%d%dn,c,d); 答案:56(注意:传递实参的值,但不改变实参的值)3. #includestdio.h int b=2; int func(int *a) *a+=b;return(*a); main()

14、int a=3,res=1; res+=func(&a); printf(%d%dn,a,res); 答案:564. #includestdio.h main() struct APPLE structint x; int y; in; int a;int b; e; e.a=2;e.b=3; e.in.x=e.a*e.b; e.in.y=e.a+e.b; printf(%d,%d,e.in.x,e.in.y); 答案:6,5四、程序填充题1. 以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。 #includestdio.h main() int i,a 20,sum,co

15、unt; sum=count=0; for(_)scanf(%d,&ai);/*第一空*/ for(i=0;i20;i+) if(_)/*第二空*/ count+; _;/*第三空*/ printf(count=%d,sum=%dn,count,sum); 答案: i=0;i20;i+ ai0 sum+=ai 2. 下面程序是将字符串p中的所有字符复制到字符串b中,要求每复制三个字符后插入一个空格。 #includestdio.h void cp(char *p,char *b) int i,k=0; while(*p) i=0; while(_)/*第一空*/ bk=*p; k+;p+;i+

16、; if(*p) _;/*第二空*/ _;/*第三空*/ main() char a20,b20; gets(a); cp(a,b); puts(b); printf(n); 答案: i3&*p bk+= bk=0 3. 以下程序由终端输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用“#”作为结束输入的标志。 #includestdio.h #includestdlib.h main() FILE *fp; char ch,fname10; printf(input the name of filen); gets(fname); if(fp=_)=NULL)printf(ca

17、nnot openn);exit(0);/*第一空*/ elseprintf(enter datan); while(_)fputc(_,fp);/*第二、三空*/ fclose(fp); 答案: fopen(fname,w) (ch=getchar()!=# ch 五、程序设计题1. 编一个程序,其功能是对名为“abc.txt”的磁盘文件中“”之前的所有字符进行处理,处理方法是每个字节的内容减10。答案:#includestdio.h #includestdlib.h main() FILE * fp; char c; if(rp=fipen(abc.txt,r+)=NULL)/*测试文件是

18、否正确被打开*/ printf(Can not open file!n);exit(0); while(!feof(fp) if(c=fgetc(fp)!=/*如果不是字符则进行加密运算*/ c=c-10;/*加密运算*/ fseek(fp,-11,1);/*前移一个字符。因在fgetc(fp)时文件内部指针会自动后移一个字符,指向应被加密字符的下一个字符*/ fputc(c,fp);/*将获得加密的字符填入该位置,且文件内部指针会自动后移一个字符*/ fseek(fp,01,1);/*避免指针漂移,定位文件内部指针在当前位置不移动,并将其传递给函数feof(fp)*/ else break;

19、 rclose(fp); return(0); 2. 用指针方法实现:输入8个整数,将最大数和最后一个数交换,最小数和第一个数交换,然后整体倒序输出。答案:#includestdio,h #define N 8 main() int zN,*p=a,i,d,d1=0,x,x1=0; for(i=0;iN;i+) scanf(%d,p); if(i=0)d=*p;x=*p; if(d*p)d=*p;d1=i; else if(x*p)x=*p;x1=i; p-; ad1=*p;*p=d; ax1=*(p-7);*(p-7)=x; for(i=N-1;i=0;i-,p-) printf(%d,*p);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1