C语言程序设计试题_练习题.doc





《C语言程序设计试题_练习题.doc》由会员分享,可在线阅读,更多相关《C语言程序设计试题_练习题.doc(189页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、班号姓名C语言 试 题题号一二三四五六七八九十总分附加题分数一、选择题:(20分,每题2分)1以下不正确的C语言标识符是( )。 A. ABC B. abc C. a_bc D. ab.c2C程序是由构成的。A. 主程序与子程序 B. 主函数与若干子函数C. 一个主函数与一个其它函数D. 主函数与子函数3以下说法中正确的是: 。A. 在C语言中,实参与其对应的形参各占独立的存储单元;B. 在C语言中,实参与其对应的形参共占同一个存储单元;C. 在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;D. 在C语言中,形参是虚拟的,不占存储单元。4设n=3;则n+的结果是( )。A.
2、2 B. 3 C. 4 D. 55设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是( )。 A. 0 B. 1 C. 2 D. 36凡是函数中未指定存储类别的局部变量其隐含的存储类别是( )。 A. 自动(auto) B. 静态(static) C. 外部(extern) D. 寄存器(register)7在while(x)语句中的x与下面条件表达式等价的是: 。A. x= =0 B. x= =1 C. x!=1 D. x!=08若有以下说明和语句: struct worker int no;char *name; work, *p=&work; 则以下引用方法不正确的是(
3、)。 A. work.no B. (*p).no C. p-no D. work-no9以下对二维数组进行正确初始化的是( )。A. int a23=1,2,3,4,5,6; B. int a3=1,2,3,4,5,6; C. int a2=1,2,3,4,5,6;D. int a2=1,2,3,4; 10二维数组a有m列,则在aij之前的元素个数为: 。A) j*m+i B) i*m+j C) i*m+j-1 D) i*m+j+1二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分)1#includemain()int i=16,j,x=6;j=i+1;x*=i=j;prin
4、tf(“%d,%dn”,j,x); 运行结果是:2#include #include main() int a=1,b=4,c=2;float x=10.5,y=4.0,z;z=(a+b)/c+sqrt(double)y)*1.2/c+x;printf(“%fn”,z); 运行结果是:3#include main() int a,b,c,d;a=c=0;b=1;d=20;if(a) d=d-10;else if(!b) if(!c) d=25; else d=15;printf(“d=%dn”,d); 运行结果:4 main()int i=10;switch(i) case 9: i+=1;
5、case 10: i+=1; case 11: i+=1; default : i+=1; printf(“%d”,i);运行结果:5#includemain() int a=1,2,3,4,i,j,s=0; j=1; for(i=3;i=0;i-) s=s+ai*j; j=j*10; printf(s=%dn,s);运行结果:6func(int x) x=20; main()int x=10;func(x);printf(“%d”,x);运行结果:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(20分,每空2分)1已知能被4整除而不能被100整除的或者能
6、被400整除的年份是润年,则判断某一年是否是润年的程序如下:main() int year,leap; scanf(“%d”,&year); if( ) leap=1; else leap=0; if( ) printf(“是润年”); else printf(“不是润年”);2将100至200间不能被3整除的数输出:main()int n;for(n=100;n=200;n+) if(n%3=0) ;printf(“%d ”,n); 3判断m是否是素数 #include main()int m,i,k;scanf(“%d”,&m); k=sqrt(m);for(i=2;i=k+1) prin
7、tf(“%d is a prime numbern”,m);else printf(“%d is not a prime numbern”,m);4给定一3*4的矩阵,求出其中值最大的元素的值,及所在的行列号。main() int i,j,row=0,colum=0,max; static int a34=1,2,3,49,8,7,610,-10,-4,4; ;for(i=0;i=2;i+) for(j=0;jmax) max=aij; ; ; printf(“max=%d,row=%d,colum=%dn”,max,row,colum);5 下面函数的功能是将两个字符串s和t连接起来。cha
8、r *conj(char *s, char *t) char *p=s; while(*s) ; while(*t) *s= ;s+;t+;*s=0; ; 四、编程(40分)1计算1-1/2+1/3-1/4+1/99-1/100+,直到最后一项的绝对值小于10-4为止。(13分)2输入一行字符,分别统计求出其中英文字母、空格、数字和其他字符的个数并输出结果。(13分)3任意从键盘输入10个整数,按从小到大的顺序排序,并输出结果。(14分)班号姓名C语言 考试题题号一二三四五六七八九十总分附加题分数说明:请将答案写在答题纸的相应题号后面!一、填空题:(24分 每空1.5分)1已知:int *p,
9、a; 则语句 p=&a;中的运算符&的含义是( 1 )。2凡在函数体内没有明显存储类别说明的变量是( 2 )。3已知: struct int k; char c; float a;test; 则sizeof(test)的值是(3 )。 4程序填空: (1)下面的程序是main函数利用函数abcd来交换main中的两个变量的值。 # include main() float x=10,y=20; abcd( 4 ); printf(“%f,%f”,x,y); abcd(x,y) ( 5 ); float temp; temp=( 6 ); ( 7 ); ( 8 ); (2)下面的程序是使用冒泡法
10、对输入的10个数据从小到大排序。排好序的10个数分两行输出。 #include main() ( 9 ); int j,k; printf(“ input 10 numbers please n”); for(j=0;( 10 );j+) scanf(“%f”,&aj); printf(“n”); for(j=0;( 11 );j+) for(k=0;( 12 );k+) if( 13 ) x=ak; ( 14 ); ak+1=x; printf(“The sorted 10 numbers:n”); for(j=0;( 15 );j+) if( 16 ) printf(“n”); print
11、f(“%ft”,aj); printf(“n”); 二、单项选择题:(20分 每题2分)1C语言中基本数据类型包括( )。 A. 整型、实型、逻辑型 B. 整型、实型、字符型 C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型、实型2已知 int i,a; 执行语句”i=(a=2*3,a*5),a+6;”后,变量a的值是( )。A. 6 B. 12 C. 30 D. 363C语言中规定函数的返回值的类型是由( )。A. return语句中的表达式类型所决定B. 调用该函数时的主调用函数类型所决定C. 调用该函数时系统临时决定D. 在定义该函数时所指定的函数类型所决定4不能进行+和-运算的数据
12、类型是( )。 A. 指针 B. double C. int D. long5为了判断两个字符串s1和s2是否相等,应当使用( )。 A. if(s1=s2) B. if(s1=s2) C. if(strcpy(s1,s2) D if (strcmp(s1,s2)6若有以下说明和语句: struct stu int no;char *name; student, *p=&student; 则以下引用方法不正确的是( )。 A. student.no B. (*p).no C. p-no D. student-no7以下不是死循环的语句为( )。E. for(; ; x+=k); F. whil
13、e(1)x+; G. for(k=10; ;k-)sum+=k;H. for(;(c=getchar()!=n;)printf(“%c”,c); 8以下错误的描述是( )。A. 不同的函数中可以使用相同的变量名B. 形式参数是局部变量 C. 一个函数内部定义的变量只能在本函数范围内有效 D. 在一个函数内部的复合语句中定义的变量可以在 本函数范围内有效9若用数组名作为函数调用时实参,则实际上传递给形参的是( )。 A数组首地址 B. 数组的第一个元素值C数组中全部元素的值 D. 数组元素的个数10已知 int a,*p=&a; 则为了得到变量a的值,下列错误的表达式是()。 A *&p B*p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 试题 练习题

限制150内