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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

四川省二级C语言23次考试试题文档格式.docx

1、(共85分)一、单项选择题(每小题1分,共10分) 1. 若变量已定义并赋值,下列符合C语法的表达式是 ( 16 ) 16 (A) a:=b+1 (B) a=b=c+2 (C) int 18.5%3 (D) a=a+7=c+b 2. 以下程序输出的结果是 ( 17 ) void main() char a=Hello China; s5=0; puts(s); 17 (A) Hello (B) China (C) Hello China (D) O 3. 有以下程序 #include char *p,*q; p=(char *)malloc(sizeof(char)*20); q=p; sca

2、nf(%s %s,p,q); printf(%s,%sn 若输入abc def,则输出为 ( 18 )。 18 (A) def,def (B) abc,def (C) abc,d (D) d,d 4.下列函数形式正确的是( 19 )。 19 (A) double fun(int x,int y) (B) fun(int x,y) z=x+y; int z; return z; return z; (C) fun(x,y) (D) double fun(int x,int y) int x,y; double z; double z=x+y; z=x+y; 5.下列有关类和对象的说法不正确的是(

3、 20 ) 。 20 (A) 对象是类的一个实例 (B) 一个类只能有一个对象 (C) 任何一个对象只能属于一个具体的类 (D) 类与对象的关系和数据类型与变量的关系相似 6. 派生类的对象对它的基类成员中( 21 )是可以访问的。 21 (A) 公有继承的公有成员 (B) 公有继承的私有成员 (C) 保护继承的公有成员 (D) 私有继承的公有成员 7. 已知学生的结构体描述如下: struct students int no; char name10; char sex; struct int day; int month; int year; birth; int score; ; 用学生

4、结构体定义了变量w : struct students w; 设变量w中的生日是1982年5月29日,下列对生日的正确赋值方法是( 22 )。 22 (A) day=29; (B) w.day=29 month=5; w.month=5; year=1982; w.year=1982; (C) w.birth.day=29; (D) birth.day=29; w.birth.month=5; birth.month=5; w.birth.year=1982; birth.year=1982; 8. 假定p1和p2是已赋值的int型指针,则下面有关运算中,( 23 )是非法的。 23 (A)

5、(p1+=4)=p2 (B) p2=10-p1; (C) if(p1!=p2) printf(!=); (D) p1+=(p2-p1); 9. 关于C/C+语言,以下叙述正确的是( 24 )。 24 (A) C是面向过程的程序设计语言,C+不支持面向过程的程序设计 (B) C语言支持图形设计,C+不支持 (C) C程序由函数组成,而C+程序由类组成 (D) C是C+的子集 10. 设有以下语句: char x=3,y=6,z; z=xy2; 则z的值是( 25 )。 25 (A) 00010100 (B) 00011100 (C) 00011011 (D) 00011000二、读程序回答问题(

6、每个选择3分,共45分) 1. 下列程序运行的结果为 ( 26 )。 # include int a=2,b=-1,c=2; if(ab) if(b void fun(char *fname, char *st) FILE *fp; int i; fp=fopen(fname,w for(i=0; i union value char ch; int n; double f; Data; coutsizeof(Data)=sizeof(Data)endl; Data.ch=aData.ch Data.n=100;Data.h Data.f=78.168;Data.f=48 & *p=101 &

7、=107) sum2+; else; p+;sum1,sum2 程序的运行结果是 ( 31 )。 31 (A) 3,2 (B) 2,3 (C) 3,12 (D) 12,3 while(*p!) 与 ( 32 ) 功能相同。 32 (A) while(*p!=0) (B) while(*p=0) (C) while(*p) (D) while(*p!0) 6. 读下列程序: void fun(char *w, int n) char t,*s1,*s2; s1=w; s2=w+n-1; while(s1s2) t=*s1+; *s1=*s2-; *s2=t; char *p; p=1234567

8、 fun(p,strlen(p); puts(p); 输出结果是 ( 33 )。 33 (A) 7654321 (B) 1711717 (C) 1714171 (D) 1234567 若把程序中的语句:while(s1 改写成: while (s1s2) t=*s1; *s1=*s2; s1+; s2+; ,则输出结果是( 34 )。 34 (A) 7654321 (B) 1711717 (C) 1714171 (D) 1234567 7. 下列程序运行结果是 ( 35 )。 # define X 5 # define Y X+1 # define Z Y*X/2 int a; a=Y;%d

9、, Z);%dn,-a); 35 (A) 7 6 (B) 12 6 (C) 12 5 (D) 7 5 8. 读下列程序: int x; void sub(int *s , int x ) static int t=0; x+=st; t+; int a=3,8,4,2,i; int x=0;4; i+) sub(a,x);%3d,x); 程序的执行结果是 ( 36 )。 36 (A) 3 8 4 2 (B) 3 11 15 17 (C) 0 0 0 0 (C) 2 4 8 3 若把程序第二行的语句 int x; 删除,运行结果是 ( 37 )。 37 (A) 3 8 4 2 (B) 3 11

10、15 17 9. 读下列程序分析运行结果 char *cat( char *str1 , char *str2 ) char *pt; for(pt=str1; *pt! pt+); while(*str2! *pt+=*str2+; return(pt); char *p,s130=210,s230=45 p=cat(s1,s2);,p-s1); 主函数中,执行第一个输出函数后的结果为 ( 38 )。 38 (A) 5 (B) 6 (C) 7 (D) 8 主函数中,执行第二个输出函数后的结果为 ( 39 )。 39 (A) 5 (B) 6 (C) 7 (D) 8 10. 下列程序的运行结果是

11、 ( 40 )。 char *str=OneTwoThreeFour; char *ptr=str;i=0; -i) d= ;%c, );n 2. 有一个数是43634,其左右对称,求比它大的对称数中最小的那个。 long int i=43634,j; int count,ch10; do j=i; count=0; while(j) chcount=j%10; j= ; count+; if( ) while(1);%ldn 3. 以下程序能统计并输出1至100之间所有能被3整除但不能被7整除的所有正整数。 # define M 100 void fun( int m, int *p, in

12、t *t) int i,num=0; for(i=1;=m; if( ) ; *t=num; int aM,n,k; ; for(k=0;kn;k+) if( (k+1) % 5 = 0 ) else ,ak); 4. 下面程序功能是从字符串s中删除任何在第二个字符串t中出现的字符,然后输出。 char s81,t20,*p1,*p2;%s%s, ); p1=s;*(p+i); for(p2=t;*p2;p2+) while( ) strcpy( );,s); 5. 文件stu.txt中存放了一个学生各门课程的考试分数,数据之间以逗号分割。下面程序将文件中的所有分数取出,计算出平均分,显示在屏

13、幕上,还要把这个平均分数按原文件的数据格式记录在原文件中。例如文件stu.txt中存放的为“60.5,81.1,93.5,90.5”,则程序运行后文件stu.txt中为“60.5,81.1,93.5,90.5,78.366669”。 int n=0; float x=0.0,y; fp= ; fscanf( ); if(feof(fp) break; x+=y; n+; x=x/n;average=%f二级 (C与 C+语言 )上机考试试卷 (第一套) 参考答案一、 程序调试题(文件名为test1-1.c)(40分) 磁盘上有一个名为test1-1.c的C程序文件,其功能是:输入一个字符串,将

14、其中的每一个连续的数字序列看作一个整数,将这些整数检索出来后依次放入一个long int型数组中,请改正程序中的错误,使程序能得出正确的结果. 注意:不要增加或删除行,不要合适改程序结构.#include =0 &=9) /* 改为:*p=0 &=9 或 *p=57 */ sign=1; helpk+=*p; else if(sign=1) /* 改为:= */ int n=0; while(-k=0) numi+=(helpk-48)*(long int)pow(n+,10); /* 改为:pow(10,n+) */ k=0; sign=0; else /* 改为:else; */ whil

15、e(*(p-1)! for(m=0; mi; m+)%d, numm); /* 改为:%ld (即长整型格式输出) */评分标准:每改对一处得6分,结果正确得4分二、编程题(程序文件取名为 test1-2.c)(60分) 请用函数调用方式编写程序,要求能实现: (1)在被调函数中求出1到1000之内能被7或11整除,但不能被7和11同时整除的所有整数,并把它们放到数组a中. (2)在主函数中将符合上述条件的整数个数和所有整数输出到屏幕以级文件test1-2.dat中1被调函数fun编写正确 20分 2文件打开和关闭正确 10分3函数调用正确 5分 4屏幕输出和文件输出正确 15分5输出格式正确

16、 5分 6程序结构合理 5分参考程序:# include # define M 1000int fun(int *a) int m,k=0; for(m=1;m=M;m+) if( (m%7=0 & m%11!=0) | (m%7! m%11=0) ) ak+=m; return k; int aM,n,k; clrscr(); /*清屏函数*/ fp=fopen(test1-2.dat n=fun(a);,n); fprintf(fp, printf(%5d if( (k+1)%10 = 0 )二级 (C与 C+语言 )上机考试试卷 (第二套) 参考答案一、 程序调试题(文件名为 test2-1.c)( 40 分 ) 磁盘上有一个名为test2-1.c的C程序文件,其功能是:求出数组中值最大的元素在数组中的下标,并将最大值增添在数组的最后,如:876 675 896 101 401 980 431 451 777(原数组)876 675 896 101 401 980 431 451 777 980(增添后的数组)请改正程序中的错误,合程序能得出正确的结果.#define N 80void fun(int *s, int *t, i

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

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