当前位置:首页 > C语言程序习题集
C语言程序设计习题集
第四章 答案
一、选择题
1~5 D B C A D 二、编程题:
1.解答:#include
scanf(“%f”,&x); if(x<0) y=x*x;
else if(x>=0&&x<10) y=-0.5*x+10; else y=x-sqrt(x); printf(“y=%f”,y); }
2.解答:main() {float score;
scanf(“%f”,&score);
if(score>=90) printf(“A”);
else if(score>=80) printf(“B”); else if(score>=70) printf(“C”); else if(score>=60) printf(“D”); else printf(“E”); }
第五章 循环结构程序设计
考点:
1.三种循环结构语句:while语句、do-while语句和for语句。2.循环结构中常用的break、continue语句。3.循环的嵌套。
重点:3种循环语句的使用、循环语句的嵌套、在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。
一、选择题
1.以下程序的输出结果 。
main() {int n=0;
while(n++<=1)
8
C语言程序设计习题集
printf(\printf(\}
A)1 2 3 B)0 1 2 C)1 1 2 D)1 2 2
2.在C语言的循环语句for,while,do-while中,用于直接中断最内层循环的语句是 。
A)swich B)continue C)break D)if
3.下面程序的运行结果是 。 void main()
{int num=0; while(num<=2)
{num++;printf(“%d”,num);}}
A)1 B)1 2 C)1 2 3 D)1 2 3 4
4. 有如下程序段, 其执行结果为 。 for ( n = 10; n > 7; n-- ) printf ( “ %d\\n” , n ) ;
A)10 B) 9 C)10 D)9
9 8 9 8 8 7 8 7
7 6
5. 循环语句中的for语句,其一般形式如下: for(表达式1;表达式2;表达式3) 语句 其中表示循环条件的是 。
A)表达式1 B)表达式2 C)表达式3 D)语句
二、填空题
1.while语句的特点是 (1) ,do-while语句的特点是 (2) 。 2.while语句和do-while语句两者的区别是 。 3.continue语句的作用是 ,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。 4.在循环中,continue语句与break语句的区别是:continue语句只是 (1) ,break语句是 (2) 。
三 、编程题
1.等差数列的第一项a=2,公差d=3,编程实现在前n项和中,输出能被4整除的所有的和.
2.一个数如果恰好等于它的因子之和(除自身外),则称该数为完全数,例如:6=1+2+3,6就是完全数,请编写一程序,求出1000以内的整数中的所有完全数。其中1000由用户输入。
9
C语言程序设计习题集
第五章 答案
一、选择题
1~5 A C C A B 二、填空题
1. (1)先判断条件是否成立(为真),若成立(为真)再执行循环语句 (2)先执行循环语句,再判断条件是否成立(为真),若成立则继续执行循环,若不成立,则结束循环。do-while至少执行一次循环语句
2.终止包含它的最内层循环的执行。或从switch-case语句中跳出,执行后面的语句 3.结束本次循环执行
4.(1)结束本次循环,后进行循环的条件判定,即不终止整个循环的执行过程 (2)终止整个循环的执行,不再进行条件判定 编程题
1. 书123面,参考实验指导答案。 2. [解答]:#include
main() { int a,i,m;
for(a=1;a<=100;a++) { for(m=0,i=1;i<=a/2;i++) if(!(a%i)) m+=i; if(m==a) printf(“M”,a);}
10
C语言程序设计习题集
第六章 数组
考点:
1.一维数组的定义、引用、初始化2.二维数组、字符数组和字符串的定义、引用和初始化。3. 字符数组与字符串。
重点:与数组相关的算法。
一、选择题
1.在C语言中,引用数组元素时,其数组下标的数据类型允许是 。
A)整型常量 B)整型常量或整型表达式 C)整型表达式 D)任何类型的表达式 2.下列定义正确的是 。
A) static int a[]={1,2,3,4,5} B) int b[1]={2,5} C) int a(10) D) int 4e[4]
3.设有char str[10],下列语句正确的是 。
A) scanf(\ B) printf(\ C) printf(\ D) printf(\
4.下列说法正确的是 。
A) 在C语言中,可以使用动态内存分配技术定义元素个数可变的数组 B) 在C语言中,数组元素的个数可以不确定,允许随机变动 C) 在C语言中,数组元素的数据类型可以不一致
D) 在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类
型元素的个数 5.假设array是一个有10个元素的整型数组,则下列写法中正确的是 。 A) array[0]=10 B) array=0 C) array[10]=0 D) array[-1]=0
6.下面几个字符串处理表达式中能用来把字符串str2连接到字符串str1后的一个是: 。
A)strcat(str1,str2) ; B)strcat(str2,str1); C)strcpy(str1,str2) ; D)strcmp(str1,str2);
7.设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后的为: 。
A)strcpy(str1,str2); B)strcpy(str1, “China”); C)strcat(str1,“China”); D)strcat(“Beijing”,str2);
8. 判断字符串a和b是否相等,应当使用 。
A)if (a= =b) B)if (a=b) C)if (strcpy(a,b)) D)if(strcmp(a,b))
11
共分享92篇相关文档