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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言28次试题及答案.docx

1、C语言28次试题及答案四川省普通高等学校计算机应用知识和能力第二十八次等级考试二级(C与C+语言) 笔 试 试 卷时间: 2008年4月 19 日 上午 9:0011:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 在程序设计中,常用一维数组来表示线性表的顺序存储空间。 ( 1 )2. 数据在计算机内存中的表示是指数据的存储结构。 ( 2 )3. Windows是多用户多任务操作系统。 ( 3 )4. 能影响中断响应次序的技术是中断优先级和中断屏蔽。 ( 4 )5. 链表可以随机访问任意一

2、个结点,而顺序表则不能。 ( 5 )6. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。 ( 6 )7. 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。 ( 7 )8. 中断控制方式适用于外存同CPU之间进行大量数据交换。 ( 8 )9. 提供没有错误的程序是提高软件的可维护性的基本措施。 ( 9 )10.软件结构是以指令为基础而组成的一种控制层次结构。 ( 10 )二、选择题(每小题1分,共5分)1. 数据流图是用于描述结构化方法中( 11 ) 工作阶段的工具。 11 (A) 可行性分析 (B) 程序编码 (C) 详细设计 (D) 需求分析2

3、. 若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能的出栈序列是( 12 )。 12 (A) 1,4,3,2 (B) 3,1,4,2(C) 2,3,4,1 (D) 3,4,2,13. 任何两个并发进程之间( 13 )。 13 (A) 可能存在同步或互斥关系 (B) 一定存在同步关系(C) 一定彼此独立无关 (D) 一定存在互斥关系4. 以下的哪个特征不是分时操作系统的主要特征( 14 )。 14 (A) 分时性 (B) 独占性(C) 交互性 (D) 多路性5. 需求分析中开发人员主要从用户那里了解 ( 15 )。 15 (A) 软件的维护 (B) 软件的结构 (C) 软件做什么 (D

4、) 软件的测试第二部分C与C+语言程序设计(共85分)一、单项选择题 ( 每小题1分,共10分 ) 1. C+语言对C语言做了很多改进,C+语言相对于C语言的最根本的变化是( 16 )。(*考点:C+)16 (A) 增加了一些新的运算符 (B) 允许函数设置缺省参数(C) 规定函数说明符必须用原型 (D) 引进了类和对象的概念2. 决定C+语言中函数的返回值类型的是( 17 )。(*考点:C+)17 (A) return语句中的表达式类型(B) 在定义该函数时所指定的数据类型(C) 调用该函数时的主调函数类型(D) 调用该函数时系统随机产生的类型3. C语言中运算对象必须是整型的运算符是 (

5、18 )。(考点:基本运算符)18 (A) % (B) / (C) = (D) 10); 22 (A) -1 (B) -2 (C) 8 (D) 98. 以下程序的输出结果是 ( 23 )。(考点:带参数的宏定义)# define M(x,y,z) x*y+zmain() int a=1,b=2,c=3; printf(%dn,M(a+b,b+c,c+a);23 (A) 12 (B) 15 (C) 17 (D) 199. 下面程序把数组元素中的最大值放入a0中,则在if语句下划线的条件表达式应填入的是 ( 24 )。 (考点:数组、指针及运算)main() int a10=6,7,2,9,1,1

6、0,5,8,4,3,*p=a,i; for(i=0;ia (B) *pa0 (C) *p*a0 (D) *p0a010. 若在下面程序段中使指针变量p指向一个存储整型数据的动态存储单元,则在下划线处应填入 ( 25 ) 。(考点:动态分配存储空间函数)int *p;p= malloc(sizeof(int);25 (A) int (B) int * (C) (* int) (D) (int *)二、读程序回答问题 ( 每个选择3分,共45分 ) 1. 读程序写出程序运行结果。(考点:字符数组、函数(指针参数)、大小写字母转换算法)# include void fun(char *s,char

7、t) while(*s) if(*s=t) *s=t-a+A; s+; void main() char s100=abcddfefdbd,c=d; fun(s,c); printf(%sn,s);程序运行后的输出结果是( 26 )。26 (A) ABCDDFEFDBD (B) abcDDfefDbD (C) abcAAfefAbA (D) Abcddfefdbd 2. 读程序并回答问题。(考点:数组、函数(地址参数)、逆置算法)# include void fun(int a,int n) int i,t; for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t;

8、void main() int b10=1,2,3,4,5,6,7,8,9,10; int i,s=0; fun(b,8); for(i=6;i10;i+) s+=bi; printf(%dn,s); (1)函数fun的功能是( 27 )。27 (A) 将数组a的前n个元素逆置 (B) 对数组元素进行升序排列(C) 交换数组第一个元素和最后一个元素 (D) 对数组元素进行降序排列 (2)程序的运行结果是( 28 )28 (A) 34 (B) 30 (C) 22 (D) 10 3. 读程序,回答问题(*考点:C+)# include void main() int a=0,x=0; for(;!

9、x&a10;a+) a+; x+; coutaendl;程序的运行结果为:( 29 )。29 (A) 10 (B) 4 (C) 3 (D) 2 4. 读程序回答问题。(考点:字符数组、函数(指针参数)、删除字符串中空格算法)# include void fun(char *str) int i,j=0; for(i=0;stri!=0;i+) if(stri!= ) strj+=stri; sj=0;void main() char str80; int n; printf(Input a string:); gets(str); fun(str); printf(%sn,str);程序运行时

10、输入字符串asd_ab_123(注:用“_”表示空格),则程序的运行结果为( 30 )30 (A) asdab123 (B) asd_ab123 (C) asdab_123 (D) asd 5. 读程序,回答问题。(考点:结构体数组赋值和运算)# include # include struct modint a,b,c;void main() struct mod st3=1,2,3,4,5,6,7,8,9; int total; total=st0.a+st1.b; printf(total=%dn,total); getch(); 程序运行输出total=( 31 )。31 (A)5 (

11、B) 6 (C) 7 (D) 8 6. 有下列程序:(考点:switch语句、自增自减运算、复合赋值运算)# include void main() int x=10,y=5; switch(x) case 1: x+; default: x+=y; case 2: y-; case 3: x-; printf(x=%d,y=%d,x,y);程序输出结果为( 32 )。32 (A) x=14,y=4 (B) x=15,y=4 (C) x=10,y=5 (D) x=15,y=5 7. 读程序,回答问题。(考点:递归函数、静态变量)# include int f(int m) static int

12、 n=1; m/=2; m=m*2; if(m) n*=m; return(f(m-2); else return(n);void main() int a,i,j; for(i=0;i2;i+) a=f(4+i); printf(%dn,a); (1)程序第一次的输出结果是( 33 )。33 (A) 8 (B) 0 (C) 64 (D) 4(2)程序第二次的输出结果是( 34 )。34 (A) 8 (B) 0 (C) 64 (D) 4 8. 有下列程序,若程序编译连接后生成可执行文件CAD.EXE,则输入以下命令行: cad FILE1 FILE2 (表示回车) 程序的运行结果是( 35 )

13、。(考点:命令行参数)# include void main(int argc,char *argv) int i; printf(%dn,argc); for(i=0;i=argc-1;i+) printf(%s,argvi); printf(n);35 (A) 2 (B) 3 Cadfile1file2 file1file2(C) 2 (D)3 CAD.EXE FILE1 FILE2 CAD.EXEFILE1FILE2 9. 下面程序的功能是把316表示为两个数的和,且这两具加数分别能被13和11整除。程序while语句下划线处应填入( 36 )。(考点:循环应用)# include vo

14、id main() int i=0,j,k; do i+; k=316-13*i; while ( ); j=k/11; printf(316=13*%d+11*%d,i,j);36 (A) k/11 (B)k%11 (C) k (D) k%11=0 10. 读程序并回答问题。(考点:ifelse嵌套应用)# include void main() int a=1,b=3,c=5,d=4,x; if(ab) if(cd) x=1; else if(ac) if(bd) x=2; else x=3; else x=6; else x=7; printf(%d,x);(1)程序执行完后x的值是(

15、37 )。37 (A)1 (B) 2 (C) 3 (D) 6(1)当d的值改为2时,程序执行完后x的值是( 38 )。38 (A)1 (B) 2 (C) 3 (D) 6 11. 以下程序的运行结果为( 39 )。(考点:函数(地址参数)# include void sub(int x,int y,int *z) *z=y-x; void main() int a=1,b=2,c=3; sub(a,b,&a); sub(b,a,&b); sub(a,b,&c); printf(%d,%d,%dn,a,b,c);39 (A) 1,1,0 (B) 1,2,3 (C) 1,-1,-2 (D) 1,2,

16、1 12. 下面程序的输出结果是( 40 )。(考点:字符指针、字符串处理库函数)# include # include void main() char *p1=abc,*p2=ABC,str50=xyz; strcpy(str+3,p2); strcat(str+2,p1); printf(%sn,str);40 (A) xyzabcABC (B) xyzABabc (C) yzabcABC (D) xyzABCabc注意: 请把下面“程序填空”中各小题答案写在主观题答题纸上 每一个空只填一个语句或一个语句所缺的部分内容三、程序填空 ( 每空2分,共30分 ) 1. 函数fun的功能是:求

17、出s所指字符串中指定字符的个数,并返回个数。例如,在main函数中,若输入字符串abcdabacaa ,输入指定字符a,则输出结果为5,即字符串abcdabacaa中有5个字符a。请填空。(考点:数组、函数(地址参数)、查找指定字符算法)# include # define M 81int fun(char *s,char c) int i,cnt=0; for(i=0; ;i+) if(*(s+i)=c) cnt+; void main() char strM,ch; printf(nPlease enter a string:); gets(str); printf(nPlease ent

18、er a char:); ch=getchar(); printf(nThe number of the char is : %dn, ); 2. 函数fun的功能是根据公式计算级数前n项的和s,计算结果通过形参指针s传回;n值大于等于0。请填空。(考点:函数(指针参数)、序列计算算法)# include void fun(float *s,int n) float t=0.0; int i,k=-1; for(i=0;i=n;i+) k= *k; t=t+k*1.0/ ; void main() int n; float s; printf(Input n:); scanf(%d,&n);

19、fun(&s,n); printf(s=%fn,s); 3. 下列程序的功能是:求一个M*N二维数组每行元素的和,并将和依次放入一个一维数组中传回主函数。例如,若有以下二维数组:6 10 2 10 1517 14 15 8 64 18 10 19 120 12 1 2 7则输出为:43 60 63 22。请填空。(考点:二维数组、函数(地址参数)、数组求和算法)# define M 4# define N 5# include fsum(int aN),int b) int i,j; for(i=0;iM,i+) ; for(i=0;iM;i+) for(j=0;jN;j+) =aij;voi

20、d main() int xMN,yM,i,j; printf(The %d x %d Array :n,M,N); for(i=0;iM;i+) for(j=0;jN;j+) =rand()%20; printf(%6d,xij); printf(n); fsum(x,y); printf(The sum of each line:n); for(i=0;iM;i+) printf(%6d,yi); printf(n); 4. 下面的程序求ab.c文件中最长的行的字符数len及其行号line。请填空。(考点:文件)# include void main() int line,i,j=0,le

21、n=0; char c; FILE *fp; fp=fopen(ab.c,r); rewind(fp); while(fgetc(fp)!EOF) i=1; while(fgetc(fp)!=n) ; j+; if(ilen) len=i; ; printf(n%dt%dn,len,line); ; 5. 下面fun函数的功能是将形参x的值转换成二进制数,所得二进制数按位放在一维数组中返回,二进制数的最低位放在下标为0的元素中,其他依此类推。请填空。(考点:进位计数制转换算法)# include int fun(int x,int b) int k=0,r; do r=x%2; b =r; x

22、/= ; while(x); return ;void main() int k,n,a20; printf(nEnter n:); scanf(%d,&n); k=fun(n,a); while(k=0) printf(%d,ak-);第二十八次等级考试第二部分 C与C+语言程序设计一、单项选择题 (每小题1分,共10分)1、D 2、B 3、A 4、C 5、B6、D 7、C 8、A 9、B 10、D二、读程序题(每个选择3分,共45分)1、B 2、A C 3、D 4、A 5、 B6、A 7、A C 8、D 9、B 10、B C 11、C 12、D三、程序填空题(每空2分,共30分) 1、 *(s+i)或*(s+i)!=0 return cnt; fun(str,ch) 2、 -1 (2*i+1) *s=t; 3、 bi=0 bi+ xij 4、 i+ line=j fclose(fp) 5、 k+ 2 k-1

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

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