C语言编程练习题与答案 选择结构1-3
- 格式:pdf
- 大小:221.67 KB
- 文档页数:6
C程序设计课后习题第一章习题1.选择题(1)C语言程序的执行总是从(A)开始。
A.main函数的入口 B.编译预处理命令C.源程序的第一个函数D.源程序的第一行语句(2)在C语言的源程序中,主函数的位置(C)。
A.必须在编译预处理命令的后面B.必须在源程序的最后C.任意D.必须在源程序的开头(3)下列变量名中合法的是(C)。
A. B.C.Tom B.3a6bC._6a7bD.$ABC(4)下面两对用户定义标识符哪个可读性更强:(C)A.checkqualityB.salarytotalC.check_quality C.sal_ary_tot_al(5)C程序是由(D)组成。
A.若干个过程B.若干子程序C.一个主程序和若干子程序D.若干函数2.填空题(1)一个函数一般由两部分组成,它们分别是_函数首部______和__函数体____。
(2)编译预处理命令___是_____(填“是”或“不是”)C语言文本的一部分。
(3)一个C语言程序至少应包含一个__主函数或main()__。
(4)C语言的标准输入函数是_scanf()__,标准输出函数是___printf()____。
(5)函数体用___{______符号开始,用_____}______符号结束。
(6)注释的开始和结束标志分别为__/*____和____*/____。
为增强程序的__可读性___,应该为程序写上清晰的注释。
3.编程题:参考本章例题,编写一个C程序,输出以下信息。
***********************The data is ** 2005-03-23 ***********************程序如下:#include <stdio.h>Void main(){printf(“**********************\n”);printf(“*The data is *\n”);printf(“* 2005-03-23 *\n”);printf(“**********************\n”);}第二章习题1.选择题(1)设int m=10 ,则下列表达式的值不等于零的有(A F)。
第一章C语言概述一.选择题1.一个C程序的执行是从。
A.程序的main函数开始,到main函数结束B.程序文件的第一个函数开始,对本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2.以下叙述正确的是。
A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误3.以下叙述不正确的是。
A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面二.填空题1.C源程序的基本单位是函数。
2.一个C源程序中至少应包括一个主函数或main函数。
3.在一个C源程序中,注释部分两侧的分界符分别为/*和*/ 。
第二章数据的存储与运算一.选择题1.若x、i、j和k都是int型变量,则计算下面表达式后,x的值为。
x=(i=4,j=16,k=32)A.4 B.16 C.32 D.482.下面正确的字符常量是。
A.”c” B.’\\’’C.’W’ D.’’3.下面不正确的字符串常量是。
A.’abc’ B.”12’12” C.”0” D.” “4.以下正确的叙述是。
A.在C程序中,每行中只能写一条语句B.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值C.在C程序中,无论是整数还是实数,都能被准确无误地表示D.在C程序中,%是只能用于整数运算的运算符5.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6’-‘3’后c2中的值为。
A.D B.68 C.不确定的值 D.C6.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是。
C语⾔编程习题和答案1题:/*九九乘法表:*/#includeint main(void){int i,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%dx%d=%2d ",i,j,i*j); printf("\n");} return 0;}2题:/*求n的阶乘之和:*/#includeint main(void){int i,n,s,k,j;scanf("%d",&n);for(s=1,i=1;i<=n;i++)s*=i;printf("%d!=%d\n",n,s);for(s=1,i=1;i<=n;i++){for(k=0,s=1,j=1;j<=i;j++)s=s*j,k+=s;}printf("他们的n阶之和为%d\n",k); return 0;}3题:/*求兔⼦繁殖问题:*/#includeint main(void){int a=1,b=1,i=3,n,c;printf("\n请输⼊⼀个繁殖时间(单位为⽉): "); scanf("%d",&n); while(i<=n){c=a+b;a=b;b=c;i++;}printf("他们繁殖的兔⼦数为:%d(只)\n",c); return 0;}1题:/*猴⼦吃桃:*/#includeint main(void){int i,a=1,s=0;for(i=9;i>=1;i--){s=(a+1)*2;a=s;} printf("s=%d个\n",s); return 0;}2题:/*求分数之和:*/#includeint main(void){float k,i,a=1,b=2,sum=0.0;printf("这前20个分数分别是:");for(i=1,sum=0;i<=20;i++){sum+=b/a;printf("%.f/%.f ",b,a);k=b,b=(a+b),a=k;}printf("\n他们的和为:sum=%.2f\n",sum); return 0;}3题/*判断是否是⽔仙花数:*/#includeint main(void){int a,j,k,s;printf("请输⼊⼀个数:");scanf("%d",&a);for(;a<100||a>999;){printf("\n输⼊有误,请重新输⼊⼀个三位数:"); scanf("%d",&a);} j=a/100,k=a%100/10,s=a%10;if(a==j*j*j+k*k*k+s*s*s)printf("\n%d是⽔仙花数。
第1~3章C语言概述、算法、数据类型、运算符与表达式一、选择题ACDCB CCDCB D二、填空题1、n=202、a=66,b=E第4章顺序程序设计一、选择题BAAD二、程序阅读1、12 240 122、2,3,2,23、0三、编程1#include <stdio.h>#include <math.h>void main(){float a,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c);s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%f,b=%f,c=%f,area=%f",a,b,c,area);}2#include <stdio.h>#include <math.h>void main(){float a,b,c,del,x1,x2;scanf("%f,%f,%f",&a,&b,&c);del=b*b-4*a*c;if (del>=0){x1=(-b+sqrt(del))/(2*a);x2=(-b-sqrt(del))/(2*a);printf("x1=%f,x2=%f",x1,x2);}elseprintf("没有实根");}3#include <stdio.h>void main(){int c,f;c=26;f=9.0/5.0*c+32;printf("%d的华氏温度是%d",c,f);}第5章选择结构程序设计一、选择题DBBCDC二、程序阅读1、|a|+|b|=612、PQ3、-14、60~9060error!5、0,16、x+y+z=15三、编程1#include <stdio.h>void main(){int a,b,c,min;scanf("%d,%d,%d",&a,&b,&c);min=a;if (min>b) min=b;if (min>c) min=c;}2#include <stdio.h>void main(){int a;scanf("%d",&a);if(a%3==0 && a%5==0 && a%7==0)printf("yes");elseprintf("no");}3#include <stdio.h>#include <math.h>void main(){float x,y;scanf("%f",&x);if (x<0)y=fabs(x);else if(x>=0 && x<=2)y=sqrt(x+1);else if (x>=2 && x<4)y=pow(x+2,3);elsey=2*x+5;printf("x=%f,y=%f",x,y);}4#include <stdio.h>void main(){float rate,tax,salary;scanf("%f",salary);if(salary<=850)rate=0;else if(salary>1350 && salary<=2850)rate=0.1;else if(salary>2850 && salary<5850)rate=0.15;elserate=0.2;tax=rate*(salary-850);printf("salary=%f,rate=%f,tax=%f",salary,rate,tax);}5#include <stdio.h>void main(){int a,b,sum,n;scanf("%d,%d",a,b);sum=a*a+b*b;if(sum>100){n=sum/100;printf("a*a+b*b=%d,n=%d",sum,n);}elseprintf("a*a+b*b=%d",sum);}第6章循环控制一、填空题:1、222、233、464、117二、选择题:1.C2.D3.B4.B5.B6.C7.C8.C9.B 10.D三、程序阅读:1、输出:332、输出:243、2#4#7#11#16#4、3#2#0#0#1#5、B,A,D,C6、D,A,B,C7、B,C,A,D8、A,D,D,C9、C,C,A10、B,D,A11、A,D,C四、编程1.#include <stdio.h>#include <math.h>void main(){ int x;printf("x sqrt(x)\n");for(x=5;x<=1000;x++)printf("%d %f\n", x, sqrt(x));}2.#include<stdio.h>#include<math.h>main(){int i,flag;double pi,item;i=1;flag=1;pi=0;item=1.0;while(fabs(item)>=0.00001){ item=flag*1.0/i;pi=pi+item;flag=-flag;i=i+2;}pi=pi*4;printf("pi=%f",pi);}3.教材126页例6.84.#include<stdio.h>main(){ int i,num1,num2,num3;num1=1;num2=1;printf("%d %d ",num1,num2);for(i=3;i<=10;i=i+1){num3=num1+num2;printf("%d ",num3);num1=num2;num2=num3;}}第7章数组一、选择题:1. D2.D3.A4.C5.C6.C7.D8.B9.D 10.B 11.D 12.D13.D 14.A 15.B二、程序阅读:1、A,B,B,D2、C,D,A,B4、D,C,A5、C,D6、C,A7、1#2#3#1#1#38、298三、编程:1、#include <stdio.h>void main( ){int mark, a, p, f;a = p = f = 0;printf("Enter scores:");scanf ("%d", &mark);while (mark >0){if(mark >= 85) a++;else if (mark >= 60) p++;else f++;scanf ("%d", &mark);}printf(">=85:%d\n", a);printf("60-84:%d\n", p);printf("<60:%d\n", f);}2、#include <stdio.h>void main( ){ int a[10],count=0,i;float average,sum=0;for(i=0;i<10;i++){ scanf("%d",&a[i]);sum=sum+a[i];}average=sum/10;for(i=0;i<10;i++)if(a[i]>average) count=count+1;printf("平均值为%f 大于平均值的数有%d个",average,count); }3.#include<stdio.h>main( ){ int a[10];printf(“请输入一个正整数n(1<n≤10):”);scanf(“%d”,&n);printf(“请输入数据:”);for (i=0; i<n; i++)scanf("%d",&a[i]);printf("\n");for (j=0; j<n-1; j++) /*确定基准位置*/for(i=j+1; i<n; i++)if (a[j]>a[i]){ t=a[j];a[j]=a[i];a[i]=t; }printf("The sorted numbers: \n");for (i=0; i<n; i++)printf("%d",a[i]);}4.#include <stdio.h>void main(){int a[6][6],n,i,j,x,y,max;printf(“请输入一个正整数n(1≤n≤6):”);scanf(“%d”,&n);printf(“请输入一个n行n列的矩阵:\n”);for (i=0;i<n;i++)for (j=0;j<n;j++)scanf(“%d”,&a[i][j]);max=a[0][0]; x=0;y=0;for (i=0;i<n;i++)for (j=0;j<n;j++)if (fabs(a[i][j])>max) {max=a[i][j];x=i;y=j;}printf(“绝对值最大的元素为:%d,下标分别为:%d,%d\n”,max,x,y); }第8章函数一、选择题(1) A(2) B(3) C(4) B(5) A(6) C(7)i. Bii. Diii. A真诚为您提供优质参考资料,若有不当之处,请指正。
目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (7)3 答案及部分解析 (9)第4章选择结构习题 (11)1 选择题 (11)2 填空题 (17)3 答案及部分解析 (23)第5章循环结构习题 (26)1 选择题 (26)2 填空题: (32)3 答案及部分解题分析 (39)第6章数组习题 (41)1. 单项选择题 (41)2. 填空题 (44)3. 判断题 (45)4. 程序填空题 (45)5. 阅读程序,分析程序的功能。
(49)第7章函数习题 (55)1. 单项选择题 (55)2. 填空题 (56)3. 判断题 (57)4. 程序填空题 (58)5. 写出下列程序运行结果 (59)第8章指针习题 (67)1 选择题 (67)2 填空题 (69)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。
A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。
A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。
A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。
A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。
A.scanf B.Void C._3com_ D.int9.一个C程序是由()。
《C 语言程序设计》各章练习题2016年12月汇编第1—3章 C 语言基础、编程规范、顺序结构程序设计编程题1:设a 和b 均为int 型变量,编写一个程序,通过键盘读入a ,b 的值,然后交换a,b 的值。
要求屏幕显示“输入2个整数,用空格隔开”的提示语句,并且输出交换前a,b 的值,交换后a ,b 的值。
附加要求:(1)允许定义第3个变量,实现交换; (2)不允许定义第3个变量,实现交换。
第4章选择结构程序设计编程题2:根据下列函数关系写程序,要求提示输入x 的值,输出y 的值。
⎪⎪⎩⎪⎪⎨⎧>=<+-=0020212x x x x x y 编程题2:根据下列函数关系写程序,要求提示输入x 的值,输出y 的值。
⎪⎩⎪⎨⎧>≤≤--<=002222x x x x x y 编程题3:求 ax 2+bx+c=0方程的解.(只输出b 2-4ac 〉=0的求解结果,小于0,输出“不予求解!”)第5章 循环结构程序设计编程题4:编程计算∑=ni i 1。
要求提示键盘输入n ,如n 为负数,不予计算,直接返回。
编程题5:编程序计算n !,要求n 从键盘输入,如n 小于0,不予计算。
编程题6:从键盘输入一个数n,判断n 是否是素数。
编程题6:编写程序输出1~100之间的偶数,要求屏幕显示时5个偶数一行,每个数占5位,右对齐。
编程题7:编程计算100到1000之间有多少个数其各位数字之和是5,并将其输出。
编程题8:求满足下列条件的三位数n ,它除以11(整数相除)所得到的商等于n 的各位数字的平方和,且其中至少有二位数字相同的数。
编程题9:有一些十进制整数对ab 和cd 具有如下特性:ab×cd=ba×dc ,其中a≠b 且c≠d 。
如:12×42=21×24.请编程找出30~50之间满足上述等式所有m,n 值,并按上述等式的格式输出。
(×用*表示)编程题10:从键盘上输入一个整数,然后把这个整数的各位逆序输出.例如,输入123456,输出654321.第6章数组编程题11:有一个已排好序的数组int a[11]={-5,—3,0,6,8,12,16,28,66,88};,要求输入一个数后,按原来排序的规律将它插入数组中。
1.第一章第二章1.C语言的函数体由()括起来。
A)<> B){}C)[] D)()2.下面叙述错误的是()A)一个C源程序可由一个或多个函数组成B)构成C语言源程序的基本单位是语句C)C源程序中大、小写字母是有区别的D)若一条语句较长,可分写在下一行或多行上3.下面叙述正确的是()A)每行最多只能写两条语句B)main()函数必须位于源程序文件的开头C)所有语句都必须以分号;结束D)程序中必须含有自定义函数4.C源程序中main()函数的位置().A)必须位于程序的最前面B)必须在自定义函数前面C)必须在系统库函数后面D)可以在自定义函数后面5.结构化程序设计不包括()。
A)最优化B)自顶而下,逐步细化C)模块化设计D)结构化编码6.下面叙述中,()不是结构化程序设计中的三种基本结构之一。
A)数据结构B)选择结构C)循环结构D)顺序结构2.第三章数据类型、运算符和表达式1.(B )为非法的字符串常量A)“056”B)‘123' C)““D)“case”2.(B )为正确的用户标识符。
A)min-5 B)max_at C)3_row D)union3.以下( D )是正确的变量名。
A) a.bee B)—p11 C) int D) p_114.以下(D )是正确的变量名。
A)5f B)if C)f。
5 D)_f55.以下( D )是正确的常量。
A)E—5 B)1E5。
1 C)'a12' D)32766L6.以下(A )是不正确的字符串常量.A)’abc’B)”12'12"C)”0”D)" "7.以下(BC )是正确的字符常量。
A)”c"B)'\\’C)’W’D)"\32a"8.char型变量存放的是(A).A)ASCII代码值B)字符本身C)十进制代码值D)内码值9.( B)为合法的常量.A)5,236B) 1.23E+8 C)‘b_k’D)3。
C语言程序设计习题集东华理工大学2014.9基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。
A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。
A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。
A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。
A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。
A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。
A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。
int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。
A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。
A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。
y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。
A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。
printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。