2008年(秋)二级C语言笔试

上传人:lx****y 文档编号:243011288 上传时间:2024-09-13 格式:PPT 页数:34 大小:57.50KB
返回 下载 相关 举报
2008年(秋)二级C语言笔试_第1页
第1页 / 共34页
2008年(秋)二级C语言笔试_第2页
第2页 / 共34页
2008年(秋)二级C语言笔试_第3页
第3页 / 共34页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,2008(秋)C语言笔试卷,1,一、选择题,(用答题卡答题,答案依次填在2130答题号内,共10分),2,21. 以下叙述中正确的是,(21),。,A在编译时可以发现注释中的拼写错误,BC语言程序的每一行只能写一条语句,Cmain( ) 必须位于程序的开始,DC语言程序可以由一个或多个函数组成,D,3,22. 以下选项中不能用作变量名的是,(22),。,A_float,Bswitch,Csum,D_123,B,4,23. 已知sizeof(int)的值为2,为将10!的值存储到变量,f 中(10!=3628800),变量f的类型应声明,为,(23),。,Along int,Bint,Cshort int,Dunsigned int,A,5,若有声明 “,double x=3 , c ,*a= ” ,,则下列语句中错误的是,(24),。,Aa=b=0 ;,Ba=,C,D*b=*a ;,C,6,25. 数学式 在C程序中正确的表示形式为,(25),。,Asqrt(a)/2*b,Bsqrt(a)/2/b,Csqrt(a)/2b,Dsqrt a/(2*b,),B,7,26. 已知有程序段,char str10=Aoyun,Beijing,*p=,printf(%sn,p+10);,则执行printf语句后输出为,(26),。,ABeijing,BAoyun,Cing,Dng,A,8,27,.,以下声明中错误的是,(27),。,Aint a2 ;,Bint a = 0 , 1 ;,Cint a3=0 ;,Dint a34=0 ;,C,9,28. 已知有结构定义和变量声明如下:,struct student, char name20 ;,int score ;,struct student *h ;, stu ,*p ; int *q ;,以下选项中错误的是,(28),。,Ap=,Bq=,Cscanf(%s%d,Dstu.h=p ;,C,10,已有声明 “ int a=3,b=3,c=2;”,以下选项中值为0,的表达式是,(29),。,A. !a&!b&c,B. !a|!b|c,C. a=b&b=c,D. a=b&bc,A,11,30. 若有声明 “,char ss8= “Red ” ;,”,则sizeof(ss),的值是,(30),。,A 8,B 4,C 3,D 1,A,12,二、填空题(将答案填写在答题纸的相应答题号内,每个答案只占一行,共30分),13,l,基本概念,1,已知有函数定义“,int fun( ) return (3 ,4) ;,”,则调,用,fun,后的函数返回值是,(1),。,4,14,2,设有声明 “,int a=3, b=4; float x=4.5, y=3.5;,”,,则表达式“ (float)(a+b)/2+(int)x%(int)y ” 的值,是,(2),。,4.5,15,3,若已有定义 “,enum TPA,B,C;,”,则执行语句 “ printf(%dn,A+1); ” 后输出结果是,(3),。,1,16,4,若需要打开D盘上user子目录下已经存在的名,为abc.txt的文本文件,先读出文件中数据,后,追加写入新数据,则正确的函数调用语句,是:,fp=fopen(D:userabc.txt,(4),;,”,。,a+,或ab+,17,l,阅读程序,5. 以下程序运行时输出结果的,最后一行,是,(5),。,#include,void main( ),int a=1,b=1,i ;,for(i=1;i=2;i+), a=a+b ;,printf(%d / %d , , b ,a) ;,b=a+b;,printf(%d / %d n , a , b) ;,printf(n) ;,3/5,5/8,18,6. 以下程序运行时输出结果为,(6),。,#include ,void main( ), int i ,sum=0 ;,for ( i=0 ; i5 ; i+ ), switch ( i ), case 0:,case 1: sum+ ;,case 3: sum+ ;,case 4: sum- ; break ;,printf(%dn,sum);,1,19,7. 以下程序运行时输出结果是,(7),。,#include ,void func ( int b),int a ;,a=b ;,b=10 ;,void main( ),int a=10 , b=20 ;,func(b) ;,printf( %d,%d , a , b ) ;,10 , 20,20,8. 以下程序运行时输出结果的第一行是,(8),,,第 二行是,(9),。,#include,int f1( ), static int i=0 , f=1;,return f *=+i ;,int f2( ), int i=0 , f=1 ;,return f *=+i ;,void main( ), printf( %dn , f1( )+f1( ) ) ;,printf( %dn , f2( )+f2( ) ) ;,3,2,21,9. 以下程序运行时输出结果是,(10),。,#include,#include,void sf(char *s1 , char *s2), if ( *s1=*s2 ),sf(s1+1,s2+1) ;,void main( ), char a20= ABC , b20=xyz ;,sf( a+strlen(a) , b ) ;,puts(a) ;,ABCxyz,22,10. 以下程序运行时输出结果的第一行是,(11),,第三行是,(12),。,#include ,void main( ), int i , j , a33 ;,for( i=0 ; i3 ; i+ ),for ( j=0 ; j3 ; j+ ),if( ij ),aij=1 ;,else,aij= i-j+1 ;,for( i=0 ; i3 ; i+ ), for( j=0 ; j3 ; j+ ),printf ( %4d , aij ) ;,printf(n);,3 2 1,1 1 1,23,11. 以下程序运行时输出结果是,(13),。,#include ,void sort(int a,int n), int i,j,p; int t;,for(i=1;in-1;i+=2), p=i;,for(j=i+2;jap),p=j;,if(p!=i), t=ai; ai=ap; ap=t; ,8 3 4 1,void main( ),int s =8,1,4,3,n=4,k;,sort(s,n);,for(k=0;kx+) ;,printf( %5dn, p-x ) ;,printf( %5d, *p-y ) ;,printf( %5dn,*+p-y) ;,100 101,10 20,25,13. 以下程序运行时若输入8,则输出结果中第一行是,(16),,第二行是,(17),,第三行是,(18),。,#include ,void main( ), int k,i,m,n,num20;,scanf(%d,for(i=0;in;i+) numi=i+1;,i=k=m=0;,while(mn-1), if(numi!=0) k+;,if(k=3), printf(%4d,numi);,numi=0; k=0; m+;,if(m%3=0) printf(n);,i+;,if(i=n) i=0;,i=0;,while(numi=0) i+;,printf(%4d,numi);,3 6 1,5 2 8,4 7,26,l,完善程序,14,以下程序的功能是:求,a,数组中前,4,个元素之和及后,6,个元素之和。试完善程序以达到要求的功能。,int fsum(int *array,int n), int i,s;,s=0;,for(i=0;,(19),; i+),s+=arrayi;,return(s);,void main(void), int a15=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15;,int sumh,sumt;,sumh=fsum(a,4);,sumt=,(20),;,printf(“%d %dn”,sumh,sumt);,in,fsum(&a9, 6),或,fsum(a+9, 6),27,15,以下程序对二维数组a中存储的N,N矩阵做如下操作:先将每一行中值最大的元素与该行位于主对角线处的元素交换值,然后对主对角线上的所有元素排序使其自左上角到右下角升序排列,最后输出排序后主对角线上各元素的值。试完善程序以达到要求的功能。,void main(), int aNN=10,25,24,13,23,11,22,12,21,14,20,15,19,16,18, 17,9,4,5,3,2,1,6,7,8 , i ;,fun(a,N);,for(i=0;iN;i+),printf(%3d,aii);,printf(n);,28,#include ,#define N 5,void fun(int xN,int n), int i,j,t,arr,col;,for(i=0;in;i+), arr=xi0; col=0;,for(j=0;j=arr), arr=xij;,(21),;,t=xii;,(22),;,xicol=t;,for(i=0;in-1;i+),for(j=i+1;jxjj,xii=xicol,29,16,以下程序中函数replace的功能是:将字符串s中所有属于字符串s1中的字符都用s2中的对应位置的字符替换。假如s为“ABCBA”,s1为“AC”,s2为“ac”,则调用replace函数后,字符串s的内容将变换为“aBcBa”。试完善程序以达到要求的功能。,30,#include ,#define MAX 20,void replace(char *s, char *s1, char *s2), char *p;,for(; *s; s+), p=s1;,while(*p&,(24),) p+;,if(*p) *s=,(25),;,void main( ), char sMAX=ABCBA,s1MAX=AC, s2MAX= ac;,(26),;,printf(The string of s is:);,printf(%sn, s);,*p!=*s,*(s2+p-s1),replace(s, s1, s2),31,17.,以下程序的功能是:函数struct node * insert(struct node *head, struct node *p)将p指向的结点作为首结点插入head指向的链表中。main函数接收从键盘输入的一行字符,每接收一个字符后,申请一个新结点保存该字符,并调用insert函数将新结点插入链表中。最后从表头开始依次输出该链表各结点成员c的值。试完善程序以达到要求的功能。,#include ,#include ,struct node, char c;,struct node *next;,;,32,void main( ), struct node *insert(struct node *head, struct node *p);,char ch; struct node *head,*p;,head=NULL;,while(ch=getchar( )!=n), p=(struct node *)malloc(sizeof(struct node);,(27),=ch;,p-next=NULL;,(28),;,p=head;,while(p!=NULL), printf(%c,p-c);,(29),;,p-c,head=insert(head,p),p=p-next,33,struct node * insert(struct node *head, struct node *p),if(head=NULL),head=p;,else,(30),;,head=p;,return head;,p-next=head,34,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


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

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


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