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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言20次.docx

1、C语言20次四川省普通高等学校计算机应用知识和能力第二十次等级考试二级(C与C+语言)笔试试卷时间:2004年4月10日上午9:0011:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分) 1数据元素是数据的基本单位,数据项是数据的最小单位。 ( A ) 2栈是特殊的线性表,须用一组地址连续的存储单元来存储其元素。 ( B ) 3引入虚拟存储技术后,逻辑内存总容量是由地址总线的位数确定的。 ( A ) 4编译程序是一种常用的应用软件。 ( B ) 5顺序文件和链接文件的长度都可以动态变化。 ( B ) 6在文件系统中彩目录管理文件。 ( BA ) 7允许多用户在其终端上

2、同时交互地使用计算机的操作系统称为实时系统。 ( AB ) 8程序、数据、和程序控制块是构成一个进程的三要素。 ( A ) 9黑盒测试时,既要考虑程序的内部逻辑结构又要考虑其外部特性。 ( B ) 10软件的总体设计和详细设计都要用PAD图形工具。 ( B )二、单项选择题(每小题1分,共5分) 1允许用户把若干作业提交计算机系统集中处理的操作系统称为( 11 )。11(A)分时操作系统 (B)实时操作系统 (C)网络操作系统 (D)批处理操作系统 2分配到必要资源并获得了处理机时的进程的状态称为( 12 )。12(A)就绪状态 (B)执行状态 (C)等待状态 (D)阻塞状态 3利用通道技术可

3、以在( 13 )之间直接交换数据。13(A)内存与CPU (B)CPU与外设 (C)内存与外设 (D)内存、CPU和外设三者 4以下的准则中哪个不是软件设计的准则( 14 )。14(A)编程语言选择准则 (B)信息屏蔽准则 (C)结构化和模块化准则 (D)抽象准则 5有一数列:97 65 76 13 29 49 58 经过一趟排序后得到:65 97 13 76 29 49 58 请问使用的是何种排序方法( 15 )。15(A)简单插入排序 (B)冒泡排序 (C)2路归并排序 (D)快速排序第二部分C与C+语言程序设计(共85分)一、单项选择题(每小题1分,共10分) 1定义如下枚举类型:enu

4、m DayMonday,Tuesday,Wednesday,Thursday,Friday=2;则下列语句正确的是 ( 16 )。16 (A) 表达式Wednesday=Friday的值是true(B) enum Day day; day=3;(C) enum Day day; day=Tuesday-3;(D) enum Day day; day=Monday+10; 2下列程序片段的输出结果是( 17 )。int m=4;do printf(%d,m-=3); while(!(-m);17(A)1 (B)1,-3, (C)3,0 (D)死循环 3执行下列程序片段时的输出结果是( 18 )。

5、int x,y;x=3;y=5;printf(%d,x%=(y/=2) );18(A)3 (B)2 (C)1 (D)0 4对于下述程序,判断正确的是( 19 )。# include void f(int *p) *p=10; int *p;void main() f(p); printf(%d,(*p)+ );19 (A) 输出的值是随机值 (B) 运行时出错 (C) 输出值为10 (D) 输出值为11 5下列程序运行的结果是( 20 )。# define FU(y) 2.8+y# define PR(a) printf(%d,(int)(a)# define PRINT(a) PR(a);#

6、 include void main() int x=2; PRINT( FU(5) * x );20(A)12 (B)14 (C)13 (D)15 6下列程序运行的结果是( 21 )。# include void main() int a10=9,8,7,6,5,4,3,2,1,0,*p=a+4; printf(%d,*+p); printf(%d,+*p);21 (A)4,3 (B)4,6 (C)5,5 (D)4,5 7关于对类要领的描述中,错误的是( 22 )。22 (A) 类就是C语言中的结构类型(B) 类是创建对象的样板 (C) 类是具有共同行为的若干对象的统一描述体(D) 类是抽象

7、数据类型的实现 8已知int a=9,b=4; 将a-b的值输出显示到屏幕上,下列各种实现方法中,正确的是( 23 )。23 (A) couta-bendl (B) couta-bendl (C) couta-bendl (D) cout%dn,a-b 9下列循环语句会进入死循环的是( 24 )。24 (A) i=0;do i+; while(i=100); (B) for(i=0;i100;i+=3.14); (C) for(i=0;i+=2); (D) k=1;do k-; while(k); 10下面程序运行的结果是( 25 )。# include int fun(char *str)

8、int n=0; while(*str=0 & *str=9) n=n*10+*str-1; str+; return n;void main() printf(%dn,fun(567.89); 25 (A)89 (B)567.89 (C)567 (D)456二、读程序回答问题(每个选择3分,共45分)。 1有下列程序:# include void main() int a,b,c,x; a=b=c=0; for(int i=0;ix; switch(x%3) case 0: a+=x; break; case 1: b+=x; break; case 2: c+=x; break; cout

9、a,b,cendl;程序运行时依次输入x的值为:1 2 3 4 5 6 7 8 9 10程序运行的结果是( 26 )。26 (A) 3,12,21 (B) 18,22,15 (C) 3,4,3 (D) 9,10,8switch(x%3)与( 27 )相同。27 (A) switch(!(x%3)!=0) (B) switch(x%3=0) (C) switch(x%3!=0) (D) 他们都不相同 2有下列程序:# include void main() char *str=One,Two,Three,Four; char =str; int i; for(i=0;i3;i+) printf(

10、%s,(ptr+1)i);为程序中空白处选择填空( 28 )。28 (A) *ptr (B) *ptr (C) ptr (D) &ptr运行结果是( 29 )。29 (A) newohree (B) Two (C) TwoThreeFour (D) 指针运行非法,无输出 3读下列程序,回答问题。# include void main(void) int m,n; double x,y; int divide(int m,int n); double divide(int m,double y); double divide(double x,double y); coutmnxy;L1:cou

11、tdivide(m,n)endl;L2:coutdivide(n,x)endl;L3:coutdivede(x,y)endl;int divide(int m,int n) return m/n; double divide(int m,double y) return m/(int)y; double divide(double x,double y) return x/y; 输入数据7 2 7.0 2.0 ,语句L1输出结果是( 30 )。30 (A) 0 (B) 1 (C) 3 (D) 3 .5 输入数据7 2 7.0 2.0 ,语句L2输出结果是( 31 )。31 (A) 0 (B)

12、1 (C) 3 (D) 3 .5 输入数据7 2 7.0 2.0 ,语句L3输出结果是( 32 )。32 (A) 0 (B) 1 (C) 3 (D) 3 .5 4 # include void main() unsigned int a=0112,x,y,z; x=a3; y=(04); z=x&y; printf(%o %o %on,x,y,z); printf(%xn,!(x&y&z);该程序中执行第一个printf函数后,输出为( 33 )。33 (A)11 17 11 (B) 17 11 17 (C) 11 17 17 (D) 17 17 11该程序中执行第二个printf函数后,输出

13、为( 34 )。34 (A) 1 7 1 (B) 0112 (C) 1 (D) 0 5以下程序运行的结果为( 35 )。# include void swap1(int a,int b) int temp; temp=a; a=b; b=temp;void swap2(int &a,int &b) int temp; temp=a; a=b; b=temp;void main() int i=3, j=5; swap1(i,j); printf(%d %dn,i,j); swap2(i,j); printf(%d %dn,i,j);35 (A) 3 5 (B) 5 3 (C) 5 3 (D)

14、3 5 3 5 5 3 3 5 5 3 6读下列递归程序,回答问题。# include void fun(char *strp) char *t; if(*strp) t=strp; t+; fun(t); putchar(*strp); void main() int i,a10=0,1,2,3,4,5,6,7,8,9; char str11; for(i=0;i10;i+) stri=ai+0; stri=0; fun(str);程序中的fun函数被调用( 36 )次。36 (A) 9 (B) 10 (C) 11 (D) 12程序的输出结果为( 37 )。37 (A) 0123456789

15、 (B) 9876543210 (C) 01234 (D) 98765 56789 43210 7 读下列C程序,若输入字符串Examination ,请选择正确的输出结果。# include void main() char str20; int i=0; static int count2=0; gets(str); do switch(stri+) case a: case A: case e: case E: case i: case I: case o: case O: case u: case U: count0+; /* break; */ default: count1+; w

16、hile(stri!=0); printf(count0=%d,count1=%dn,count0,count1);程序的输出结果为( 38 )。38 (A) count0=6,count1=11 (B) count0=6,count1=12 (C) count0=5,count1=11 (D) count0=5,count1=12 若将程序中注释语句的注释标记去掉,则程序的输出结果为( 39 )。39 (A) count0=6,count1=11 (B) count0=6,count1=5 (C) count0=5,count1=11 (D) count0=6,count1=6 8下面程序输

17、出的结果为( 40 )。# include int a=5;void main() int a=3; a+; couta:a;程序中的fun函数被调用( 36 )次。40 (A) 5 4 (B) 4 5 (C) 5 3 (D) 4 4注意: 请把下面“程序填空”中各小题答案写在主观题答题纸上 每一个空只填一个语句或一个语句所缺的部分内容三、程序填空(每空2分,共30分) 1下列程序实现将一个整数字符串转换为一个整数。# include # include int Fun(char *str) int num,digital,len; ; len=strlen(str); while(*str!

18、=NULL) digital=*str-0; for(int i=0; ;i+) digital*=10; len-; ; num+=digital; return num; void main() char n80; int number; gets(n); number=Fun(n); printf(%dn,number);2寻找并输出11999之间的数m,它满足m,m2,m3均为回文数(所谓回文数是指其各位数字左右对称的整数)。# include void main() int symm(long n); long m; for(m=11;m1000;m+) if( ) coutm=mm

19、*m=m*mm*m*m=m*m*mendl;int symm(long n) long i,m; i=n; m=0; while( ) ; i=i/10; return (m=n);3已知head指向一个单向链表,如下图:主程序中调用add函数能求出链表中所有结点数据域的和sum并返回。struct link int data; struct link *next;int add(struct link *heak) struct link *p; int s=0; p= ; while(p) s+= ; p= ; return (s);void main() struct link *hea

20、d; /* 表示省掉的程序段,创建链表 */ sum=add(head); printf(%dn,sum); 4下面程序功能是统计文本data.txt中各种大写字母的个数,将统计结果存放在数组count中,(字母A的个数存入count0中,字母B的个数存入count1依此类推),输出统计结果,一行输出5个。请填空。# include # include void main() FILE *fp; static int count26=0; int i; char ch; if( ) printf(Cannot open the file!n); exit(0); while(! feof(fp

21、) ; if(ch=A&ch=Z) count +; for(i=0;i26;i+) if(i%5=0) printf(n); printf(count%d=%-5d,counti); fclose(fp); 5下面程序的功能是输入两个字符串a和b和一个标志flag,当flag=0时,将b连在a 后;当flag=1时,将a连在b后;否则返回空指针。请填空。# include # include char *stradd(char *s,char *t,int f) char *p; if(f=0) p=s; s+=strlen(s); ; else if(f=1) p=t; while(*t+); t-; while(*s) *t+=*s+; ; ; return p;void main() char a100,b100,*str; int n; printf(Input string a and b:n); gets(a); gets(b); printf(Input flag:); scanf(%d,flag); str=stradd(a,b,n); printf(Output: %sn,str);

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

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