C语言程序设计习题(答案)

上传人:xins****2008 文档编号:205732667 上传时间:2023-04-30 格式:DOC 页数:10 大小:103.50KB
收藏 版权申诉 举报 下载
C语言程序设计习题(答案)_第1页
第1页 / 共10页
C语言程序设计习题(答案)_第2页
第2页 / 共10页
C语言程序设计习题(答案)_第3页
第3页 / 共10页
资源描述:

《C语言程序设计习题(答案)》由会员分享,可在线阅读,更多相关《C语言程序设计习题(答案)(10页珍藏版)》请在装配图网上搜索。

1、C语言程序设计习题C语言概述一、单项选择题1. C语言源程序的基本单位是( )。 A)过程 B)函数 C)子程序 D)标识符2. 一个C程序的执行是从( )。 A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束3. 一个C语言程序是由( )。 A) 若干函数组成 B)若干过程组成C)若干主程序组成 D)若干子程序组成4. 以下叙述不正确的是( )。A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一

2、个或多个函数组成C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面5. 以下叙述正确的是( 无 )。 A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言要用输入输出语句D) C程序的每行中只能写一条语句数据类型、运算符与表达式一、单项选择题1. 在C语言中,char型数据在内存中的存储形式是( )。 A)补码 B)反码 C)原码 D)ASCII码2. 以下叙述不正确的是( )。 A)在C程序中,*、/ 的优先级别高于 +、-B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在

3、计算赋值表达式a=b后b中的值将放入a中,而b的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值3. C语言中,要求对变量作强制定义的主要理由是( )。 A)便于移植 B)便于写文件C)便于编译预处理程序处理 D)便于确定类型和分配空间7. 假定x和y为double型,则表达式x=2,y=x+3/2的值是( )。 A)3.500000 B)3 C)2.000000 D)3.0000008. 设a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为( )。 A)int B)float C)double D)不确定 9. 设x、y均为flo

4、at型变量,下面不正确的赋值语句是( )。 A)+x B)y=(x%2)/10 C)x*=y+8 D)x=y=010. 设 int a=12,表达式a*=a的值是( )。 A)12 B)144 C)0 D)13211. 若x=10,则表达式x+=3+x%(-3)的值为( )。 A)11 B)12 C)14 D)1512. 设int k=7,x=12则以下能使值为3的表达式是( )。 A)x%=(k%=5) B)x%=(k=k%5) C)x%=k-k%5 D)(x%=k)-(k%=5) 13. 已知字母A的ASCII码为65,以下程序段的输出结果是( )。 char c1=A,c2=Y;prin

5、tf(“%d,%d”,c1,c2);A)65,90 B)A,Y C)65,89 D)输出格式不合法14. 以下程序的输出结果是( )。 #includemain( )int a, d=241;a=d/100%9;printf(“%d n”,a); A)6B)2C)6D)2 15. 若有以下定义和语句,则输出结果是( )。 char c1=b,c2=e;printf(%d,%cn,c2-c1,c2-a+A);A)2,M B)3,EC)2,E D)输出项与对应的格式控制不一致,输出结果不确定16. 下面程序的输出是( )。 main( ) int x=10,y=3;printf(%dn,y=x/y

6、);A)0 B)1 C)3 D)不确定值最简单的C程序设计一、单项选择题1. 以下程序的输出结果是( )。 #includemain( )int a=2,c=5;printf(“a=%d,b=%dn”,a,c); A)a=%2,b=%5 B)a=2,b=5C)a=%d,%d D)a=%d,b=%d二、阅读程序写出程序运行结果1. 有以下程序main() char c=z; printf(%c,c-25); 执行后输出结果是 a 。 逻辑运算和判断选择结构一、单项选择题1. 为了表示关系xyz,应使用的C语言表达式是( )。 A)(x=y)&(y=z)B)(x=y)AND(y=z)C)(x=y=

7、z)D)(x=y)&(y=z)2. 以下程序的运行结果是( )。 main( ) int k=4,a=3,b=2,c=1; printf(“n%d n”,ka?k:cb ? c:a);A)4 B)3 C)2 D)13. 若a=-14,b=3,则条件表达式 ab? a:b+1的值为( )。 A)-14 B)-13 C)3 D)42. 若执行下面的程序时从键盘上输入3和4,则输出是( )。 main( ) int a,b,s;scanf(%d%d,&a,&b);s=a*b;if(a) printf(%dn,s);else printf(%dn,b); A)10 B)12 C)14 D)163. 假

8、设x,y,z都为整型变量,下列正确的输入语句是( )。 A)INPUT x,y,z; B)scanf(%d%d%d,&x,&y,&z); C)scanf(%d%d%d,x,y,z); D)read(%d%d%d,&x,&y,&z);4. 为了避免在嵌套的条件语句ifelse中产生二义性,语言规定:else子句总是与( )配对。 A)缩排位置相同的if B)其之前最近的ifC)其之后最近的if D)同一行上的if5. 以下程序的运行结果是( )。 main( ) int k= 4,a=3,b=2,c=1; printf(n %dn,k a ? k:cb ?c :a); A)4 B )3 C)2

9、D)16. 有以下程序 main( ) char k; int i; for(i=1;i3;i+) scanf(%c,&k); switch(k) case 0: printf(anothern); case 1: printf(numbern); 程序运行时,从键盘输入:0 1,程序执行后的输出结果是( )。 A)another B)another C)another D)number number number number number another number 7. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 ( )。 A)a0B)!0C)a=0

10、D)a!=0 二、阅读程序写出程序运行结果 1. 有以下程序 main( ) int x=2, y= -1, z=2;if (xy)if(y0) z=0;else z+=1;printf(“%d n”, z);执行后输出结果是 3 。 2. 请读下列程序 #include main( ) int x=1,y=0,a=0,b=0;switch(x) case 1: switch(y)case 0:a+;break;case 1: b+;break;case 2:a+;b+;break; printf(“a=%d,b=%dn”,a,b); 上面程序的输出结果是 a= 2 ,b=1 。 三、程序填空

11、题1. 以下程序实现输出x,y,z三个数中的最大者。main( )int x=4,y=6,z=7; int u,v; if ( xy ) u=x; else u=y; if ( uz ) v=u; else v=z; printf(“v=%d”,v);第三章 循环控制一、单项选择题1. C语言中while与dowhile语句的主要区别是( )。 A)dowhile的循环体至少无条件执行一次B)dowhile允许从外部转到循环体内C)dowhile的循环体不能是复合语句D)while的循环控制条件比dowhile的循环控制条件严格2. C语言中( )。 A)不能使用do while语句构成的循环

12、;B)do while语句构成的循环必须用break语句才能退出;C)do while语句构成的循环,当while语句中的表达式值为非零时结束循环;D)do while语句构成的循环,当while语句中的表达式值为零时结束循环;3. 以下程序段( )。 x=-1;do x=x*x; while(!x);A)是死循环 B)循环执行两次 C)循环执行一次 D)有语法错误4. 执行下面语句后的输出结果是( )。 int x=20,y=40,z=60;while (xy) x+=4;y-=4; z/=2;printf(%d,%d,%d,x,y,z);A)40,36,30 B)32,28,7 C)32,

13、28,30 D)32,28,7.55. 下面有关for循环的正确描述是( )。 A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环体语句中,可以包含多条语句,必须用花括号括起6. 对for(表达式1; ;表达式3)可理解为( )。 A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3)C)for(表达式1;表达式1;表达式3)D)for(表达式1;表达式3;表达式3)7. 若a,b是int型变量,有以下程序段for(a=1,b=1;b10) break;if(a%2

14、= =1) a+=5;continue;a-=3;执行以上程序段后,a的值为( )。 A)10B)7C)12D)1二、阅读程序写出程序运行结果1. 以下程序的输出结果是 *#*#*#$ 。 #include main( ) int i; for ( i=1;i=5;i+ ) if ( i%2 ) printf(*); else continue; printf(#); printf($n); 2. 仔细分析下列程序或程序段,写出执行结果 。 #include main( ) int i;for (i=1;i=5;i+)switch(i%2) case 0: i+; printf(“#”);br

15、eak;case 1: i+=2; printf(“*”);default: printf(“n”);*#*#*数组一、单项选择题1. C语言中,引用数组元素时,其数组下标的数据类型允许是( )。 A)整型常量 B)整型表达式C)整型常量或整型表达式 D)任何类型的表达式2. 以下对一维整型数组a的正确说明是( )。 A)int a(10); B)int n=10,an;C)int n; D)#define size 10 scanf(“%d”,&n); int asize; int an;二、阅读程序写出程序运行结果1. 上述程序运行后,输出结果是 1 。 main( )int n3,i,j

16、,k;for(i=0;i3;i+) ni=0;k=2;for(i=0;ik;i+)ni=ni+1;printf(%dn,n1);函数一、单项选择题1. 请读下面的程序#include f(int b , int n) int i;int r=1; for(i=0; i=n; i+) r=r*bi; return r;main( )int x,a =2,3,4,5,6,7,8,9;x=f(a,3); printf(%dn, x);return 0;上面程序的输出结果是( )。 A)720B)120C)24D)6 2. 有以下程序:#include void fun(int a,int b,int

17、 c) a=456;b=567;c=678;main( ) int x=10,y=20,z=30;fun(x, y, z);printf(%d,%d,%dn, x, y, z);return 0;输出结果是( )。 A)30,20,10B)10,20,30C)456,567,678 D)678,567,4563. 下面程序的输出结果是( )。 #includefunc(int a,int b)int c;c=a+b; return c;main( )int x=6 ,z=8,r; r=func(x, z); printf(%dn, r);return 0;A)11B)14C)21D)314.

18、下面程序的输出是( )。 #includeint fun3(int x)static a=3;a+=x;return a;main( )int k=2,m=1,n; n=fun3(k); n=fun3(m); printf(%dn,n);return 0;A)6 B)9C)0D)35. 以下叙述中不正确的是( )。 A)在不同的函数中可以使用相同名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量在本函数范围内有效 三、程序填空题1. 下面的函数将一个整型数组按降序排序后,结果仍存入该数组sort(int array ,

19、int num) int i,j,temp;for( j=num ; j0; j-)for(i=0; ij; i+) if( arrayi arrayi+1 ) temp=arrayi; arrayi=arrayi+1; arrayi+1=temp; 2. 下面程序用于求,试将其补充完整。long int factor(int n)int i;long int t=1; for(i=1;i=n;i+)t= t*i ; return t;main( )long int s=0;int k,n;scanf(%d,&n);for(k=1;k=n;k+)s= s+factor(k) ; printf(n%ld,s);10

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