


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计样题一、单选题1. c程序的基本构成单位是 (C )A)文件B)命令C)函数D)语句2.在C语言中,W 是(B )A)字符串常量B)字符常量C)变量D)函数3.在C语言中,“ a=b=c=5属于哪种表达式?(B)A)关系B)赋值C)逻辑D)非法4.设a、b为整型,则表达式(a=2,b=5,b+,a+b)的值是(D )A)2B)6C)7D)85. 若有以下变量定义:int b=2;float a=5;则表达式“ a/b之值为(A)A) 2.5B)2C)3D)5/26. 若j=3,则表达式(+j)+(j+)的值为(C )A) 6B)7C)8D)107. 以下只能输入单个字符的函数是(
2、C)A) pri ntf()B)puts() C)getchar() D)putchar()8. 若a的原值为4,则表达式“ a*=a=3”运算后,a的值是(D )A)13B)4C)3D)19.若 a=5、b=3、c=l,则表达式“ abc的值为(A )A)0B)1C)3D)510.若有代数式:3aebe以下错误吴的C-语言表达式是(C )A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*311. 下列能输岀字符数组str中字符串的语句是(B)A)pri ntf(%c,str0);B)pri ntf(%s,str);C)pri ntf(%s,str);D)p
3、utchar(str);12. 若? =&乂,则下列关系表达式之值为1的是(B )A)p=x B)*p=xC)&p=xD)*x=p13. C语言中最基本的数据类型包括(B )A)整型、实型、逻辑型B)整型、实型、字符型C)整型、逻辑型、字符型D)整型、实型、字符串型(A )14. C 语言中,要求运算对象必须是整型数据的运算符是16.17.A)x=y=z B)x=y II y=z以下说法中正确的是 (C )A)B)C)D)C 程序总是从文件中第一个函数开始执行C)x=y&y=zD)x2y zC 程序中,只有 main() 函数才可以调用其他函数C 程序总是从 main() 函数开始执行C 程序
4、中的 main() 函数必须放在程序的开头若有定义:int a=7;float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的值为 ( A )18.19.A)2.5B)2.75设变量a是整型,f是实型,A)intB)float有输入语句:C)3.5D)0i 是双精度型,贝 I 表达式 10+a+i*fC)doubleD) 不确定值的数据类型为 ( C )scanf(%d,%d,&a,&b); 为使变量 a、 b 分别为5和 3,从键盘输入数据的正确形式为( B )20.A)5 3 回车定义如下变量和数组:B)5,3 回车 C)a=5 b=3=0;j-) prin
5、tf(%2d,xj2-j);A) 1 5 9B)14 7C)7 5 3D)3 6 921. 执行下面程序后,a的值是(B )#include #define SQR(x) x*xvoid main()(int a=10,k=2,m=l;a=SQR(k+m);printf(%dn,a);A)10B)5C)2D)122. 以下叙述不正确的是 ( C )A) 在函数内部定义的变量是局部变量B) 函数中的形式参数是局部变量C) 全局变量的作用范围仅限于其所在的整个文件D) 局部变量的作用范围仅限于本函数ab?a:cd?c:d 的值为(C )D)123. 设 a=3,b=4,c=2,d=l, 则表达式
6、A)4 B)3 C)224. 有以下程序段:x=-l;dox=x*x;while(!x);执行时,循环体执行的次数为 ( B )A)0B)1C)2 D)不确定25, 以下不正确的 if 语句形式是 (C )A) if (xy&x!=y);B) if (x= =y) x+=y;C) if (x!=y) scanf(%d,&x)else scanf(%d,&y);D) if (xy) x+;y+;26, 以下程序的输出结果是( C )#include void main() int x=2,y=-l,z=2;if(xy)if (y0) z=0; else z+=l;printf( ” n” ,z)
7、;A)0B)1C)2D)327.以下能正确计算1 X2X3X-X10 的程序段是 (A )A) i=l,s=l;dos=s*i;i+;B) s=l;i=l; while(i=10) s=s*(+i);D)for(i=l,s=l;i+)s=s*i;C) for(i=l,s=0;i=10;i+)s=s*i;28. 若 j 为整型变量,则以下循环执行次数是 ( C )for (j=O;j= =0;) printf(%d,j-);A)无限次 B)0次C)1次D)2次29若有说明:int a10;则对a数组元素的正确引用是(C )A)a3.5B)a(8)C)a6-5D)a10A )地址传递B)单向值传递
8、C)双向值传递D)由用户指定传递方式31 C中,一个float类型的数据在内存中占(C )个字节 . A)1B) 2C)4D)832.设有程序段:int k=5;while (k=0)k-;A) while循环执行5次C)循环语句一次也不执行33下面程序段的运行结果是 贝(下列描述中正确的是(CB )循环是无限循环D)循环体语句执行一次)34以下不正确的字符;串赋值语句是.A)ictfa%s;,s=;nabcde;B) char s =abcde;A)daar S1 bl; s=alBdabDChar *s=abcde H; D)35设pl、p2是指向int型一维数组的指针变量,k为int型变
9、量,以下错误的语句是(B )A)k=*pl+*p2; B)p2=k;C) pl=p2; D)36下面程序的输出结果是(A ) k=p2-pl; .#i nclude void mai n()(chars= nABCD n;char *p;for (p=s;pvs+4;p+) prin tf(%sn n, p);A) ABCDB) A37C) DD)ABCDA函数的定义可以嵌套,但函数的调用不B函数的调用可以嵌套,但函数的定义不)BCDBCABCDCBCABDDAA以下关于C函数的定义和调用描述正确的是(B )函数的定义和调用均可以嵌套D)函数的定义和调用均不可38以下关于变量的作用域说法正确的
10、是 .A )在不同函数中不能使用相同名字变量B ) 在函数外部定义的变量只在本函数范围内有效C) 在函数内的复合语句定义的变量在本函数内有效D ) 形式参数是局部变量39. 以下关于变量的作用域叙述不正确的是( C )A ) 在函数内部定义的变量是局部变量B ) 函数中的形式参数是局部变量C) 全局变量的作用范围仅限于其所在的文件D ) 局部变量的作用范围仅限于本函数40. 以下关于 C 函数参数说法不正确的是(B )A ) 实参可以是常量、变量和表达式B ) 形参可以是常量、变量和表达式C) 实参可以为任意数据类型D ) 形参应与对应的实参类型一致41. 以下关于 C 函数返回值的叙述正确的
11、是(D )A ) 被调函数中只有使用 return 语句才能返回主调函数B ) 使用一个 return 语句可以返回多个函数值C) 函数返回值类型取决于 return 语句中的表达式类型D ) 函数返回值类型取决于定义该函数时所指定的类型42. 在C中,“ abc属于哪种表达式?( A )A)关系B)赋值C)逻辑D)非法43. 以下不合法的 C表达式是(C )A ) 10 II 8 B ) 12= =9+1 C ) +5 D ) x!=y44. 给定以下程序段:int n=10;while ( n6) n-;printf ( %3d,n ) ;以上程序段输出结果是( D )A ) 10 9 8
12、B ) 9 8 7 C ) 10 9 8 7 D ) 9 8 7 645. 若i, j已定义为int型,则以下程序段中内循环总的执行次数是( C )for ( i=5; i0; i- )for ( j=l;jb lie的值为 L4. 整数m既能被3整除又能被4整除的逻辑表达式为(m%3= =0)&(m%4= =0)5. 若有定义:double a105;则数绢a中行下标最大佰为9,列下标最大值为 46. 若有定义:int a = l,4,6,5,8,9;贝 U *(a+5)的值为 97. 设有如下定义int a56,*p;取数组元素a4的地址放到p中的语句为p=&a41;它的文8. 未加特别说
13、明(说明为静态的)的全局变量是外部的,能被其它文件中的函数使用,而在引用 件中,需要用关键字 extern说明。9. 已知a=10, b=20,则表达式!ab的俏为010. 写岀0xl的C逻辑表达式(0x)&(xl)11. 若有定义:inta10,*p=a;贝U元素a51的值用p表示的形式是 *( D+5)12. 若有定义:int *p4;则标识符p表示 数组长度为4的一维指针数组13. 凡是函数中未指定存储类型的局部变量,其默认的存储类型为auto三、程序填空1. 下面程序的功能是:从键盘输入一个字符,若是大写字母,则转换为小写字母并输岀,若为小写字母则直接输出,请在 处填上合适内容,使程序
14、完整。#i nclude void mai n()(char ch;ch=getchar();if (ch=A&chv=Z)ch+=32;printf( %” ,ch);12. 下面程序的功能是:求1? 100间的偶数和,请在处填上合适内容,使程序完整#i nclude void mai n() int n um, sum=0;for (num=2; n um=100; num=n um+2)sum=sum+num ;printf( nl-100 间的偶数和是:%dn M, sum);13. 下面程序段是求n!的递归函数,请将函数补充完整。double fac(i nt n)(double r
15、esult;if (n=l)result=l;elseresult=n *fac (n-l);retum(result);4. 以下程序的功能是:输入一整数n,判断是否为素数。#i nclude #in cludevoid mai n()(int i, n;scanf(%d H,&n);for (i=2; iv=sqrt(n); i+)if (n%i= =0)break;if (isqrt(n)printf( %d is a prime numberAn, n);elseprintf( H%d is not a prime number.n, n);四、阅读程序1. #in clude voi
16、d mai n()(char ch;int cn tl=0,c nt2=0;while (ch=getchar( )!=* n)if (ch= a&ch= ,z,) cn tl+;else cn t2+;printf(” COUNT=%dcnt 1);若输入This is a C program.,运行结果:COUNT=132. #in clude void mai n()(int i,j,temp;int a=0,l,2,3,4,5,6,7,8,9;for(i=0,j=9;ij;i+,j-)temp=ai;ai=aj;aj=temp;for(j=0;j10;j+)printf( H%2dn,
17、aj);运行结果:9 876543 2 1 03. #in elude #in elude void mai n()(char strl 20=good,str2 =momi ng;int i,j ;for (i=strlen(str 1) ,j=0;str2 j !=0; i+, j+) strli=str2j;strli= O;printf( nstringl=%s,strl);运行结果:string 1 =goodmo ming4. #i nclude void mai n()(int i,j,pos;float val,a10;for(i=0;i10;i+)sea nf(n%f&ai)
18、;val=a0;for(j=0;jval)(val=aj;pos=j;)pri ntf(Max=%f,positi on ed,val,pos);10个数的最大值及其位置Max=9.000000,positio n:3本程序的功能是:从键盘输入10个数存到数组 a中,求当程序运行时,从键盘输入“ 1 029 3 847 5 6,运行结果:5. #in elude float average(i nt x , i nt n)(int i ;float sum=0;for(i=0;i n;i+)sum+=xi;return (sum/n);void mai n()int a5=(2,4,6,8,1
19、0);float rst;rst=average(a,5);printf( Hresult=%fn,rst);1运行结果:result=6.0000006, 给定如下程序:#i nclude void mai n()(char grade;sca nf(%c, &grade);switch (grade)(case A: prin tfC85 100nn); break;case B: printf( n70 84nn); break;case *C: prin tf(60 69nu); break;case D: printf(60n H); break;default: prin tfCe
20、rrorV n);当程序运行时,从键盘输入“ D;输岀的结果是:607, 给定如下程序:#i nclude void mai n()(in ta5=2,5,3,7,6,i,j,t;for (i=0;i4;i+)for (j=0;jaj+l)t=aj;aj=aj+l;aj+l=t;for (i=0; i5; i+)prin tf(%3d,ai);该程序的功能是:用“起泡法”对数组 a中的5个整数按由小到大排序并输岀输岀的结果为:2 3 5 6 78, 给定如下程序:#i nclude void fun()(auto int b=0;static int c=4;b+;C+;printf( nn”
21、,b,c);void mai n()(int i;for (i=0; i3; i+)fun ();运行结果是:b=l c=5b=l c=6b=l c=79. 给定如下程序:#i nclude #in clude void mai n()(char *pl, *p2, c, s50;gets(s);pl=s; p2=s+strle n( s)-l;for(; plp2; pl+, p2 )(c=*pl; *pl=*p2; *p2=c;pr in tf(The new str ing is %sn, s);此程序的功能是:从键盘输入一字符串存放到数组s中,将此字符串逆序输出当程序运行时,从键盘输入
22、“ abcwe#y输岀的结果是:The new stri ng is y# ew cba五、程序改错(要求:不得增加或删除语句,在括号中写出错误语句并在其后横线上更正。)1. 下列程序用来求任意两整数的最大公约数,其中两处有误,请将程序改正。#i nclude void mai n()(int temp,m, n,x;pri ntf(E nter two n umbers: n);sca nf(%d,%d,&m,&n);if (m=l;x )if (m%x= =0&n %x= =0) con ti nue;printf(n最大公约数为:%dn,x);错误 1 : temp=m:m=n:n=te
23、mp:改正 1 : (temp=m:m=n:n=temp:错误 2: continue;改正 2: break;2. 下列程序用“起泡法”对输入的10个字符按由大到小排序,其中3处有误,请将程序改正。#in clude void main()(void sort(char a ,i nt m);char str1O,*p=str;int i;printf (”输入10个字符:n” ;sca nf(%s, &str);sort(p,10);printf (”排序结果n” ;for (;pst r+10;)prin tf(%c,*p+);sort(char a ,i nt m)(int i.j ;
24、char c;for(i=l;im;i+)for(j=0;jm;j+)if(ajaj+l)(c=aj,aj=aj+l,aj+l=c;错误1 :scanf( % s” ,&str);改正 1 :scanf( % s” ,str);错误2 :sort (char L int m) 改正 2:void sort (char a L int m)错误3 :for (j=O;jvm;j+)改正 3 :for (j=0;jvm-i;j+)六、按要求编程1. 编写0100之间偶数之和的程序。#i nclude void mai n()(int n um, sum=0;for (num=2; n um=100
25、; num=n um+2)sum=sum+num;pr in tf(sum=%dn , sum);2, 编程计算 l!+2!+3!+.+20!o #include void main()(float s=O,t=l;int n;for (n=l; nv=20; n+) t=t* n;s=s+t;printf( ” l!+2!+.+20!=%e ,s);3. 统计由键盘输入的任意一串字符中空格的个数。#include void main()char ch;int space=0;while (ch=getchar( )!=n)if (ch= =*) space+;printf(konggeshu
26、=%dn,space);4. 编写程序找出 1100 之间的素数,并统计素数的个数。 #include #include void main()( int m,k,i,n=0;for(m= 1 ;m= 100;m=m+2)( k=sqrt(m);for(i=2;i=k+l)( printf( 3”d” ,m);n=n+l;if(n%10= =0) printf(n);printf(ntotal number is=%d,n);5. 打印杨辉三角形 (10 行) 。要求:使用二维数组和循环语句实现。1 11 2 113 3 1#include void main()int a1010,i,j; for (i=0;i10;i+)(for (j=O;j=i;j+)(if(i=jllj=O)ai 山 =1;elseaij=ai-lj-l+ai-lj;printf(%6d,aij);printf(n);6. 从键盘输入 10 个数,找出最大值与最小值,并计算它们的平均值。#include void main()( float a 10,aver,sum,max,min;int i;for(i=0;i10;i+)scanf(%f,&ai);max=min=a0;sum=a0;for(i=l;imax) max=ai;if(aimin) min=ai;sum=sum+ai;av
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手房买卖居间合同
- 《教育教学道德》课件
- 《石油化工产品分离与提纯》课件
- 无效祛斑协议书
- 企业知识产权保护合作框架合同
- 车辆年检委托书合同协议
- 旧件回收协议书
- 通知解除劳务合同协议
- 劳动合同工伤赔偿
- 母亲卖房协议书
- 应急疏散的标识与规范
- 2025年月度工作日历含农历节假日电子表格版
- 《儿科护理》 课件 22.3.1婴儿沐浴法
- 推土机安全技术操作规程模版(3篇)
- 【MOOC】广告创意学-湖南大学 中国大学慕课MOOC答案
- 国开2024年秋《投资学》形考作业册1-4答案
- 建筑企业安全生产事故报告及处理制度(4篇)
- 130T吊车-吊装方案
- 施工现场临水施工方案
- 3D数字游戏艺术-6-评价分评分表-3D建模-14分
- 护理医疗垃圾分类
评论
0/150
提交评论