09年秋江苏省二级考试C语言真题及答案

上传人:fgh****35 文档编号:220762678 上传时间:2023-07-02 格式:DOC 页数:21 大小:57KB
收藏 版权申诉 举报 下载
09年秋江苏省二级考试C语言真题及答案_第1页
第1页 / 共21页
09年秋江苏省二级考试C语言真题及答案_第2页
第2页 / 共21页
09年秋江苏省二级考试C语言真题及答案_第3页
第3页 / 共21页
资源描述:

《09年秋江苏省二级考试C语言真题及答案》由会员分享,可在线阅读,更多相关《09年秋江苏省二级考试C语言真题及答案(21页珍藏版)》请在装配图网上搜索。

1、2009年 秋季度江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试 第二部分 C语言程序设计一、选择题1、 以下叙述中正确的是( C )A C语言系统以函数为单位编译源程序B main函数必须放在程序开始C 用户定义的函数可以被一个或多个函数调用任意多次D 在一个函数体内可以定义另外一个函数2、 以下选项中,不能用作C语言标识符的是( C )Aprint BFOR C&a D_003、 已知int类型数据在内存中存储长度为2个字节,以下语句中能正确输出整数32768的是( B )Aprintf(“%d”,32768); Bprintf(“%ld”,32768);Cprintf(“

2、%f ”,32768); Dprintf(“%c ”,32768);4、 已知有声明”int a=3,b=4,c=5;”,以下表达式中值为0的是( D )Aa&b Ba=b Ca|b&c D!(!c|1)5、 已知有声明”long x,y;”且x中整数的十进制表示有n位数字(4n=0)y=1;else y=-1; By=x=0? 1:-1;Cswitch() Dswitch(x-abs(x) case x=0:y=1; break; case 0:y=1; break; default: y=-1; default: y=-1; 7、 已知有声明”int m=5,4,3,2,1, i=0;”,

3、下列对m数组元素的引用中,错误的是( B )Am+i Bm5 Cm2*2 Dmm48、 已知有声明”char s80;”,若需要将键盘输入的一个不含空格的字符串保存到s数组中,则下列语句中正确的是( D A )Ascanf(“%s”,s); Bscanf(“%s”, s0); Cs=gets()从输入流读取一串字符串,并放入其参数指向的地址中; Ds=getchar() 输入字符;9、 若函数调用时的实参为变量,则以下关于函数形参和实参的叙述中正确的是( B D)A 实参和其对应的形参占用同一个存储单元B 形参不占用存储单元C 同名的实参和形参占用同一存储单元D 形参和实参占用不同的存储单元1

4、0、已知有声明”int i, a10, *p=a;”,现需要将110保存到a0a9中,以下程序段中不能实现这一功能的是( D )Afor (i=0;i10;i+) ai=i+1; Bfor(i=0;i10;i+) pi=i+1;Ci=1; while(pa+10) *p+=i+; Di=1; while(pa+10) *a+=i+; 数组名不能自加 二、填空题l 基本概念1、C语言中有!、&、|三个逻辑运算符,其中优先级高于算术运算符的是 ! 。2、若有声明”int r=2;”,则执行语句”printf(“%d”, sizeof(2*3.14*r);”时输出 8 。sizeof指数据或变量占的

5、内存(字节)3、数学表达式所对应的C语言表达式为 sqrt(abs(x)!=(4*a)/(b*c) 。4、若有以下声明: char *p=”%d,%dn”; int a=1,b=2; 则执行语句”printf(p,a,b);”时输出 1,2 。5、声明局部变量时若缺省存储类别,该变量的存储类别是 auto 。l 阅读程序6、以下程序运行时输出到屏幕的结果是 。 #include void main() FILE *fp; int k,n,a6=1,2,3,4,5,6; fp=fopen(“d2.dat”, “w”); fprintf(fp,”%d%d%dn”, a0,a1,a2); fprin

6、tf(fp,”%d%d%dn”, a3,a4,a5); fclose(fp); fp=fopen(“d2.dat”, “r”); fscanf(fp, “%d%d”, &k,&n); printf(“%d,%dn”, k,n); fclose(fp); 7、以下程序运算时输出到屏幕的结果是 。 #include void main() int i=1,m=0; switch(i) case 1: case 2: m+; case 3: m+; printf(“%d”, m); 8、以下程序运算时输出到屏幕的结果中第一行是 ,第二行是 。 #include void fun(int a, int

7、 b, int *x) int i,j=0; for(i=0;ai;i+) if(i%2=0) continue; if(ai10) bj+=ai; *x=j; void main() int a10=3,15,32,23,11,4,5,9, b10; int i=0,x=0; fun(a,b,&x); for(i=0;ix;i+) printf(“%dt”,bi); printf(“n%d”,x);9、以下程序运算时输出到屏幕的结果是 。#includeint fun(int *x,int n) if(n=0) return x0; else return x0+fun(x+1,n-1);v

8、oid main() int a=1,2,3,4,5,6,7; printf(“%dn”,fun(a,2);10、以下程序运算时输出到屏幕的结果是 。#includelong f(int n) static long s; if(n=1) return s=2; else return +s;void main() long i,sum=0; for(i=1;i4;i+) sum+=f(i); printf(“%ld”, sum);11、以下程序运算时输出到屏幕的结果中第一行是 ,第二行是 。 #include #define f(x,y) y=x*x void g(int x, int y)

9、 y=x*x; void main() int a=2,b=0,c=2,d=0; f(a,b); g(c,d); printf(“%dn%d”,b,d); 12、以下程序运算时输出到屏幕的结果中第一行是 ,第二行是 。 #include void main() int a33=3,8,12,4,7,10,2,5,11,i,j,k,t; for(j=0;j3;j+) for(k=0;k2;k+) for(i=0;iai+1j) t=aij,aij=ai+1j,ai+1j=t; for(i=0;i3;i+) for(j=0;j3;j+) printf(“%3d”,aij); printf(“n”)

10、; 13、以下程序运算时输出到屏幕的结果是 。#include#includevoid main() int i=0,n=0;char s80,*p; strcpy(s,”It is a book.”); for(p=s;*p!=0;p+) if(*p= ) i=0; else if(i=0) n+;i=1; printf(“%dn”,n); 14、以下程序运算时输出到屏幕的结果中第一行是 ,第二行是 。 #include typedef struct fact int m,z; FACT; FACT fun1(FACT t1, FACT t2) FACT t3; t3.m=t1.m*t2.m

11、; t3.z=t1.z*t2.m+t2.z*t1.m; return t3; FACT fun2(FACT t) int m,n,k; m=t.m; n=t.z; while(k=m%n) m=n; n=k; t.m=t.m/n ; t.z=t.z/n ; return t; void main() FACT s,s1=8,4,s2=6,5; s=fun1(s1,s2); printf(“%d,%dn”,s.z,s.m); s=fun2(s); printf(“%d,%d”,s.z,s.m); l 完善程序15、以下程序求方程的一个近似根。root函数采用二分法计算并返回方程f(x)=0在a,

12、b内的一个近似根,main函数调用root函数求方程cos(x)=0在0,3.14内的一个近似根。试完善程序以达到要求的功能。#include#includedouble root(double a, double b, double (*f)(double) double x,y; if( ) printf(“There is no root between %f and %f”, a,b); return 0; do x= ; y=f(x); if(fabs(y)1e-6|fabs(b-a)1e-6) break; if( 0) b=x; else a=x; while(1); retur

13、n x;void main() printf(“n x=%f”, root(0,3.14, );16、以下程序在350范围内验证:大于等于3的两个相邻素数的平方之间至少有4个素数。例如,3和5是相邻素数,3252之间有素数11、13、17、19、23。试完善程序以达到要求的功能。#include#include#includeint prime(int n) int i; for(i=2;i=sqrt(n);i+) if( )return 0; return 1;void main() int i,j,k=0,m,n,c,a30=0; for(i=3;i50;i+) if(prime(i) ;

14、 for(i=0;ik-1;i+) m=ai*ai; n=ai+1*ai+1; c= ; for(j=m+1;j=4) printf(“n %d*%d-%d*%d: %d”,ai,ai,ai+1,ai+1,c); else printf(“Error”);exit(0); 17、fun函数的功能是删除s指向的链表中满足以下条件的结点:该结点的编号值是奇数且存放的字母ASCII编码值也为奇数(提示:a的ASCII编码是97);将删除的结点添加到t所指向的链表尾部。试完善fun函数以达到要求的功能。 例如,若删除前的s链表为:1 a2 b3 b4 c 0 s 则删除厚的s链表为:2 b3 b4 c

15、 0 s #include struct node int i; /* 存放结点的编号 */ char c; /* 存放一个字母的ASCII编号 */ struct node *next; ; struct node *t=NULL; struct node *fun(struct node *s) struct node *p,*q; struct node *r; p=q=s; while(p!=NULL) if(p-i)%2)&(p-c)%2) if(s=p) s=q= ; else ; q=p-next; if(t=NULL) t=r=p; else r-next=p; r=r-next; p= ; if(t!=NULL) ; return s;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!