c语言第5章循环结构练习题

合集下载

C语言循环结构选择题(新)2

C语言循环结构选择题(新)2

C语言循环结构选择题(新)2循环结构练习一1、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是for (i=5;i;i--)for (j=0;j<4;j++){...}A) 20 B) 25 C) 24 D) 302、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为for(i=0,j=10;i<=j;i++,j--) k=i+j;A) 12 B) 10 C) 11 D) 93、当执行以下程序段时x=-1;do { x=x*x;} while( !x);A) 循环体将执行一次 B) 循环体将执行两次C) 循环体将执行无限次 D) 系统将提示有语法错误4、若输入字符串:abcde<回车>,则以下while循环体将执行多少次。

while((ch=getchar())=='e') printf("*");A) 5 B) 4 C) 6 D) 15、有以下程序段int k=0;while (k=1) k++;while循环执行的次数是A) 无限次 B) 有语法错,不能执行 C) 一次也不执行D) 执行一次6、语句while(!e);中的条件 !e 等价于( )。

A) e==0 B) e!=1 C) e!=0 D) ~e7、以下for循环是( )。

for(x=0,y=0;(y!=123) && (x<4);x++)A) 无限循环 B) 循环次数不定 C) 执行4次 D) 执行3次8、C语言中while 和do-while 循环的主要区别是( )。

A) do-while的循环体至少无条件执行一次B) while 的循环控制条件比do-while 的循环控制条件严格C) do-while 允许从外部转到循环体内D) do-while 的循环体不能是复合语句9、以下叙述正确的是( )。

A) continue语句的作用是结束整个循环的执行B) 只能在循环体内和switch语句体内使用break语句C) 在循环体内使用break语句或continue语句的作用相同D) 从多层循环嵌套中退出时,只能使用goto语句10、对下面程序段,描述正确的是( )。

C语言循环结构复习题

C语言循环结构复习题

循环结构程序设计复习题一.选择题1.以下while循环中,循环体执行的次数是:()k=1;while (--k) k=10;a) 10次b) 无限次c) 一次也不执行d) 1次2.有以下程序段,其中x为整型变量,以下选项中叙述正确的是:()x=0;while (!x!=0) x++;a) 退出while循环后,x的值为0b) 退出while循环后,x的值为1c) while的控制表达式是非法的d) while循环执行无限次3. 有以下程序段,其中n为整型变量,执行后输出结果是:()n=20 ;while(n--) ; printf(“%d”,n) ;a) 2 b) 10 c) -1 d) 04. 有以下程序段,其中t为整型变量,以下选项中叙述正确的是:()t=1;while (-1){ t--;if(t) break;}a) 循环一次也不执行b) 循环执行一次c) 循环控制表达式(-1)不合法d) 循环执行2次5. 有以下程序段,其中x为整型变量,以下选项中叙述正确的是:()x=-1;do{;}while (x++);printf(“x=%d”,x);a) 该循环没有循环体,程序错误b) 输出x=1c) 输出x=0d) 输出x=-16. 有以下程序段,其中x,y为整型变量,程序输出结果是:()for(x=0,y=0;(x<=1)&&(y=1);x++,y--) ;printf(“x=%d,y=%d”,x,y);a) x=2,y=0 b) x=1,y=0x=0,y=0d) x=1,y=1 c)解析:在开始时 x=0,y=0;进入循环判断(x<=1)&&(y= 1) 条件成立,同时把1赋给y,此时x=0,y=1;然后执行 x++,y--,执行之后x=1,y=0;再进入循环判断(x<=1)&&(y= 1),条件成立,同时同时把1赋给y,此时x=1,y=1; 然后执行 x++,y--,执行之后x=2,y=0;再进入循环判断(x<=1)&&(y= 1),条件不成立,跳出循环输出x=2,y=0 。

C语言循环结构练习题带答案

C语言循环结构练习题带答案

第5章循环结构程序设计5.1基本知识点✍while语句的使用格式和注意事项✍do-while语句的使用格式和注意事项✍for语句的使用格式和注意事项✍break和continue语句在循环语句中的应用✍循环结构的嵌套✍使用goto语句实现循环结构✍穷举法程序设计方法✍迭代程序设计方法5.2练习题51.单项选择题(1)语句while(!e);中的条件!e等价于A。

A.e==0B.e!=1C.e!=0D.~e(2)下面有关for循环的正确描述是D。

A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判定表达式C.在for循环中,不能用break语句跳出循环体D.for循环体语句中,可以包含多条语句,但要用花括号括起来(3)C语言中D。

A.不能使用do-while语句构成的循环B.do-while语句构成的循环必须用break语句才能退出C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环(4)C语言中while和do-while循环的主要区别是A。

A.do-while的循环体至少无条件执行一次B.while的循环控制条件比do-while的循环控制条件严格C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合语句(5)以下程序段C。

intx=-1;do{x=x*x;}while(!x);A.是死循环B.循环执行二次C.循环执行一次D.有语法错误(6)下列语句段中不是死循环的是__C__。

A.i=100;while(1){i=i%100+1;if(i==20)break;}B.for(i=1;;i++)sum=sum+1;C.k=0;do{++k;}while(k<=0);D.s=3379;while(s++%2+3%2)s++;(7)与以下程序段等价的是__A__。

C语言循环结构选择题(新)

C语言循环结构选择题(新)
while ((ch=getchar( ))!='\n') { if (ch>='A' && ch<='Z') ch=ch+32;
else if (ch>='a' && ch<'z') ch=ch-32;
printf("%c",ch);
}
printf("\n");
}
A) ABCdef
B) abcDEF
i++;
} while(i!=0);
}
A) 7
B) 6
C) 5
D) 4
C
31、下面程序的运行结果是( )。
main( )
{ int s=0,i=1;
while (s<=10)
{ s=s+i*i;
i++;
}
printf("%d",--i);
}
A) 4
B) 3
C) 5
D) 6
B
32、以下程序的输出结果是( )。
{ int s=0,k;
for(k=7;k>=0;k--)
{switch(k)
{
case 1:
case 4:
case 7: s++; break;
case 2:
case 3:
case 6: break;
case 0:
case 5: s+=2; break; }
}
printf("s=%d\n",s);
for(t=1;t<=100;t++) { scanf("%d",&x);

C语言程序设计第五次作业——循环结构(1)

C语言程序设计第五次作业——循环结构(1)

C语⾔程序设计第五次作业——循环结构(1)(⼀)改错题输出华⽒摄⽒温度转换表:输⼊两个整数lower和upper,输出⼀张华⽒摄⽒温度转换表,华⽒温度的取值范围是{lower,upper},每次增加2℉。

计算公式如下:c = 5×(f-32)/9其中,c表⽰摄⽒温度,f表⽰华⽒温度。

输⼊输出样例1: Enter lower:32 Enter upper:35 fahr celsius 32 0.0 34 1.1输⼊输出样例2: Enter lower:40 Enter upper:30 fahr celsius源程序(有错误的程序)#include <stdio.h>int main(void){int fahr , lower, upper; /* fahr表⽰华⽒度 */double celsius; /* celsius表⽰摄⽒度 */printf("Enter lower:");scanf("%d",&lower);printf("Enter upper:");scanf("%d",&upper);printf("fahr celsius\n"); /* 显⽰表头 *//* 温度转换 */for (fahr = lower , fahr <= upper, fahr ++) ;celsius = 5 /9 * (fahr - 32.0);printf("%3.0f %6.1f\n", fahr, celsius);return 0;}对源程序进⾏编译,结果如下:错误信息1:错误原因:for语句后⾯加了分号。

改正⽅法:将分号去掉。

错误信息2:错误原因:for语句下没有加“{}“改正⽅法:在for语句下加上“{}”错误信息3:错误原因:发现for语句内语句⽤逗号隔开了。

c语言循环结构上机习题

c语言循环结构上机习题

1、计算n的阶乘(n!),n的取值在1~10之间。

分别使用while、do…while和for 语句实现。

(三个程序)给循环变量赋初值循环条件循环体循环变量的增值2、输入一行字符,分别统计输入了多少个字母、数字、空格和其他字符。

3、假设函数f(x)=3x2+2x+1,试利用for循环语句分别求出1<=x<=9的f(1)~f(9)各函数值。

4、有分数序列2/1,3/2,5/3,8/5,13/8,21/13…求这个数列的前20项和。

(分析提示:每个分子等于前一个数据分子与分母的和,每个分母等于前一个数据的分子)5、输出显示1~100之间可以被n整除的所有整数,运行时n由键盘输入。

要求每一行显示5个数,并且统计一共有多少个整数能被n整除。

6、下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。

main(){ float x,amax,amin;scanf("%f",&x);amax=x;amin=x;while( ①){ if(x>amax) amax=x;if( ②) amin=x;scanf("%f",&x);}printf("\namax=%f\namin=%f\n",amax,a min);}7、使用循环语句输出以下图形8、有一个数学等式:AB*CD=BA*DC,式中的一个字母代表一位数字,试找出所有符合上述要求的乘积式并打印输出。

8、一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少)。

分析:这是一个古典数学问题,设一百只鸡中公鸡、母鸡、小鸡分别为x,y,z,问题化为三元一次方程组:100=x*5+y*3+z/3100=x+y+z这里x,y,z为正整数,且z是3的倍数;由于鸡和钱的总数都是100,可以确定x,y,z 的取值范围:1) x的取值范围为1~202) y的取值范围为1~333) z的取值范围为3~99,步长为3对于这个问题我们可以用穷举的方法,遍历x,y,z的所有可能组合,最后得到问题的解。

cyu第5章循环(新)

cyu第5章循环(新)
即不为循环变量赋初值,不设置循环条件(认为表达式2 为真值),不修改循环变量的值,无终止地执行循环体。 此时应在循环体内设法结束循环,否则会成为死循环
for( ; ; ) { printf("这将一直进行下去 这将一直进行下去"); 这将一直进行下去 i = getchar(); if(i == 'X' || i == 'x') break; }
int i=1;s=0; while(i<1) ( ) { s=s+i; i=i+1; } printf("s=%d\n",s); ( ) }
17
int i=1,s=0; do { s=s+i; i=i+1; } while(i<1); printf("s=%d\n",s);
左边的程序结果为:s=0,而右边的程序结果为 而右边的程序结果为:s=1。 左边的程序结果为 而右边的程序结果为 。
折扣(y) 无 1% 2% 5% 10%
3
本章目标
理பைடு நூலகம்为什么使用循环结构 熟练掌握while循环的使用 熟练掌握do-while循环的使用 理解while 和 do-while 循环的区别
4
循环的必要性
int a1,a2,a3, a4,a5; a1 = 1 * 10; printf("1 × 10 = %d a2 = 2 * 10; printf("2 × 10 = %d a3 = 3 * 10; printf("3 × 10 = %d a4 = 4 * 10; printf("4 × 10 = %d a5 = 5 * 10; printf("5 × 10 = %d \n",a1); \n",a2); \n",a3); \n",a4); \n",a5);

选择结构、循环结构--习题

选择结构、循环结构--习题

下列各语句中,能够且仅输出整型变量 a、b中最大值的是( (3) (3)下列各语句中,能够且仅输出整型变量 下列各语句中,能够且仅输出整型变量a
A. if(a>b) printf( ”%d\n ”,a); printf( ”%d\n ”,b); printf(” %d\n” printf(” %d\n” B. printf( ”%d\n ”,b); if(a>b) printf( ”%d\n ”,a); printf(” %d\n” printf(” %d\n” C. if(a>b) printf( ”%d\n ”,a); else printf( ”%d\n ”,b); printf(” %d\n” printf(” %d\n” D. if(a<b) printf( ”%d\n ”,a); printf( ”%d\n ”,b); printf(” %d\n” printf(” %d\n”
x的值是( (2) 假定所有变量均已正确定义,下列程序段运行后 假定所有变量均已正确定义,下列程序段运行后x )。
,x=35 ; a=b=c=0 a=b=c=0, x=35; if(!a) x- ; else if(b) ;if(c) x=3 ;else x=4; -; x=3; A.34 B.4 C.35 D.3 )。
C)0.500000
D)1.000000
5.18 以下 4 个选项中,不能看做一条语句的是 A); B)a=5,b=2.5,c=3.6; C)if(a<5); D)if(b!=5)x=2;y=6; 5.19 若 int k=8;则执行下列程序后,变量 k 的正确结果是 main() {int k=8; switch(k) {case 9:k+=1; case 10:k+=1; case 11:k+=1;break; default:k+=1;} printf("%d\n",k);} A)12 B)11 C)10 5.20 阅读如下程序段 #include "stdio.h" main() { int a=45,b=40,c=50,d; d=a>30?b:c; switch(d) { case 30 : printf("%d,",a); case 40 : printf("%d,",b); case 50 : printf("%d,",c); default : printf("#");}} 则输出的结果是

C语言全国试题(五-循环结构程序设计)

C语言全国试题(五-循环结构程序设计)

填空题(全国二级C 2008C2-8)
若有定义:int k;,以下程 序段的输出结果是__#_#_2_#_#_4__。
for (k=2; k<6; k++,k++ ) printf (“##%d”,k);
选择题(全国二级C 2007Q1-22)
C 有以下程序,程序的运行结果是 。
#include <stdio.h>
{ int i;
for ( i=1 ; i<=40; i++)
{ if (i++%5==0)
if (++i%8==0)printf("%d ",i); }
printf("\n"); }
A) 5
B) 24
C) 32
D) 40
选择题(全国二级C 2005Q1-27)
设变量已正确定义,则以下能正确
计算f=n!的程序段是 D 。
有以下程序段,且变量已正确定义和赋值
for ( s=1.0,k=1;k<=n; k++ ) s=s+1.0/(k*(k+1));
printf(“s=%f\n\n”,s); 请填空,使下面程序段的功能与之完全相同
s=1.0; k=1; while ( ___k_<_=_n__ ) { s=s+1.0/(k*(k+1)); __k_+_+__ ; } printf(“s=%f\n\n”,s);
以下程序的功能是计算: s=1+12+123+1234+12345。请填空。 main( ) { int t=0, s=0, i; for(i=1; i<=5; i++)

C语言程序设计各章练习题

C语言程序设计各章练习题

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之间满数,将100~200之间的素数全部输出,要求屏幕上每个数占4位,每行显示5个素数,左对齐。

(完整版)C语言基础练习题(含答案)

(完整版)C语言基础练习题(含答案)

目录第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语言 循环结构程序设计模拟题

C语言  循环结构程序设计模拟题

C语言循环结构程序设计模拟题-CAL-FENGHAI.-(YICAI)-Company One1第五章循环结构程序设计一、选择题1.while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定有能使此表达式的值变为的操作,否则,循环将会无限制地进行下去。

(0级)A)0 B)1 C)成立 D)22.在do-while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的不能丢,它表示do-while语句的结束。

(0级)A)0 B)1 C); D),3.for语句中的表达式可以部分或全部省略,但两个不可省略。

但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。

(0级)A)0 B)1 C); D),4.程序段如下int k=-20;while(k=0) k=k+1;则以下说法中正确的是。

(1级)A)while循环执行20次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次5.程序段如下int k=1;while(!k==0) {k=k+1;printf("%d\n",k);}说法正确的是。

(1级)A)while循环执行2次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次6.以下for循环是。

(1级)for(a=0,b=0;(b!=123)&&(a<=4);a++)A)无限循环 B)循环次数不定 C)执行4次 D)执行5次7.在下列程序中,while循环的循环次数是。

(1级)main( ){ int i=0;while(i<10){if(i<1) continue;if(i= =5) break;i++;}......}A)1 B)10 C)6 D)死循环、不能确定次数8.程序段如下int k=0; while(k++<=2) printf("%d\n",k);则执行结果是。

c语言 第5章循环结构(while do-while for)

c语言  第5章循环结构(while do-while for)

第1次运行: Input data: 11 22 33 44 55 66 77 88 99 0 1 2 11 22 33 44 55 66 77 88 99 0 sum=495 第1次运行: Input data: 0 0 sum=0 sum的初值与0的和
5.4 for语句
#include <stdio.h> int main() { int i=1,sum=0; while (i<=100) { sum=sum+i; i++; } printf("sum=%d\n",sum); return 0; for (i=1;i<=100;i++) } #include <stdio.h> int main() { int i=1,sum=0; do { sum=sum+i; i++; }while(i<=100); printf("sum=%d\n",sum); return 0; }
i++ for ( i = 1; i <= 100; i = i + 1 ) printf ( “**********\n” );
语句是?
【例1】在3~100之间所有3的倍数中,找出个位 数为2的数。
编程点拨 3~100内3的倍数有3 6 9 … 99 for ( i=3; i<=100; i=i+3 )
第1次运行: Input data: 11 22 33 44 55 66 77 88 99 0 1 2 11 22 33 44 55 66 77 88 99 sum=495 第2次运行: Input data: 0 (空一行) sum的初值 sum=0

C语言习题五循环结构程序设1

C语言习题五循环结构程序设1

习题五循环结构程序设计1. 有以下程序main(){ int i, j;for(i=1;i<4;i++){ for(j=i;j<4;j++) printf("%d*%d=%d ",i,j,i*j);printf("\n");} }程序运行后的输出结果是。

A、1*1=1 1*2=2 1*3=3B、1*1=1 1*2=2 1*3=32*1=2 2*2=4 2*2=4 2*3=63*1=3 3*3=9C、1*1=1D、1*1=11*2=2 2*2=4 2*1=2 2*2=41*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=9解析:本题考查的是循环嵌套。

在一个循环体内又完整地包含了另一个循环,称为循环嵌套。

外循环i 的值分别为1、2、3,当i=1,内循环j=1时,输出1*1=1;当内循环j=2时,输出1*2=2;当内循环j=3时,输出1*3=3;当i=2,内循环j=2时,输出2*2=4;当内循环j=3时,输出2*3=6;当i=3,内循环j=3时,输出3*3=9。

故本题答案选B。

2. 有以下程序main(){ int k=5, n=0;do{switch(k){case 1: case 3: n+=1; k--; break;default: n=0; k--;case 2: case 4: n+=2; k--; break;}printf("% d",n);}while(k>0 && n<5);}程序运行后的输出结果是______。

A、235B、0235C、02356D、2356解析:本题考查的是循环嵌套。

do-while语句的特点是先执行循环体,然后判断循环条件是否成立,当循环条件的值为0时循环结束。

执行switch语句,寻找与5吻合的case 5分支,没有寻找到,于是执行default后的语句,n=0,k的值变为4,继续执行switch语句,寻找与4吻合的case 4分支,开始执行其后的各语句:n+=2=0+2=2,k的值变为3,遇到break语句跳出该switch语句体。

第3、4、5、6、7章C语言设计 习题答案

第3、4、5、6、7章C语言设计 习题答案

第三章习题答案1.掌握算法必须要掌握的五个特性:a)有穷性。

算法执行步骤的次数有限,能在有限时间内完成。

b)确切性。

每一步操作的执行步骤、执行结果确定,不能有二义性。

c)有效性。

算法中的每一步操作都是可执行的,即算法的每一步都能通过手工或机器在有限时间内完成。

d)必须有零个或多个输入。

e)必须有一个或多个输出。

2.算法是指令的有限序列,是求解问题显式的一步一步进行的过程。

为程序编写提供依据。

程序是用C语言单词将算法表达出来的过程。

算法是程序的灵魂。

3.数据类型总体分为三类:a)对象类型。

对象类型的基本类型又分为整型、浮点型、字符型。

b)函数类型。

c)不完全类型。

4.整型可分为:a)有符号整数。

它又包括 short int、int、long int、long long int。

b)无符号整数。

它又包括unsigned short int、unsigned int、unsigned longint、unsigned long long int。

不同数据类型数据的值域范围不同。

5.合法的标识符有:scanf、x、x1、_y 、_y2x、printf、main合法标识符由英文字母、数字、下划线组成,且第一个字符只能是英文字母或下划线。

关键词不能成为合法标识符。

6.略7.8.变量名:x 数据对象:3存储地址:&x 存储单元:8(在VS2005中)9.0x13B1:十六进制int型字面值;3e3:十进制 int型字面值;‘d’:字符型字面值;“my university”:字符串型字面值;99:十进制int型字面值;023:八进制int型字面值;1.3e-4:double型浮点型字面值;33U:十进制unsigned int型字面值;034L:八进制long int型字面值;0x34UL:十六进制unsigned long int型字面值;30.23L:十进制long double型字面值;30.23F:十进制float型字面值;10.\?:?\’:’\”:”\\:\\233:表示八进制int型整数233\x2f:表示十六进制int型整数 2f。

C语言循环结构练习题

C语言循环结构练习题

(1)编写一个程序,求100199********-++-+-Λ之值。

(2)编写一个程序,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。

(3)编写一个程序,用户输入一个正整数,把它的各位数字前后颠倒一下,并输出颠倒后的结果。

(4)编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。

(5)编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第二、四位数字之积为12。

(6)编写一个程序,求e 的值。

!1!21!111n e ++++≈Λ (7)编写一个程序,求满足如下条件的最大的n :10003212222≤++++n Λ(8)某人摘下一些桃子,卖掉一半,又吃了一只;第二天卖掉剩下的一半,又吃了一只;第三天、第四天、第五天都如此办理,第六天一看,发现就剩下一只桃子了。

编写一个程序,采用迭代法问某人共摘了多少只桃子。

(9) 输入一批非0数,直到输入0时为止,计算其中奇数的平均值和偶数的乘积。

(东师大,01年)(10)求一组整数中的正数之积与负数之和,直到遇到0时结束。

(东师大,03年)(11)输入一组实数,求前10个正数的平均值。

(东师大,02年)(12)编程求1~200中能被2,3,5除余1的前10个整数。

(东师大,02年)(13)输入100个整数,统计这些数中能被3或5整除数所占的百分比。

(东师大,02年)(14)计算并输出200—600中能被7整除,且至少有一位数字是3的所有数的和。

(东师大,01年)(15)输出1~999中能被5整除,且百位数字是5的所有整数。

(东师大,04年)(16)设N 是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321),求N 值。

(东师大,03年)\(17)有这样一个三位数,该三位数等于其每位数字的阶乘之和,即abc=a !+b !+c !。

(如:145=1!+4!+5!)(东师大,04年)(18)编写程序求出满足下列条件的四位数:该数是个完全平方数;千位、十位数字之和为10,百位、个位数字之积为12。

5-6章 选择结构循环结构

5-6章 选择结构循环结构

第五章选择结构循环结构1.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是。

(1级)A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)2.main( ){ int x=5,a=0,b=0;if(x=a+b) prin tf(“** **\n”);else printf(“## ##\n”);以上程序。

(1级)A)有语法错,不能通过编译B)通过编译,但不能连接C)输出** ** D)输出## ##3.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是。

(1级)main( ){ int x;scanf(“%d”,&x);if(x++>5) printf(“%d”,x);else printf(“%d\n”,x--);}A)7和5 B)6和3 C)7和4 D)6和44.假定所有变量均已正确说明,下列程序段运行后x的值是。

(1级)a=b=c=0;x=35;if(!a) x=-1;else if(b);if(c) x=3;else x=4;A)34 B)4 C)35 D)35.能表示整数x符合下面两个条件的语句是。

(1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除.A)(x%4==0&&x%100!=0)||x%400==0B)(x%4==0||x%100!=0)&&x%400==0C)(x%4==0&&x%400!=0)||x%100==0D)(x%100==0||x%4!=0)&&x%400==06.若I为整型变量,则下列程序段的运行结果为。

C语言-第5章 循环结构程序设计

C语言-第5章 循环结构程序设计

第5章循环结构程序设计一、单项选择题1.在C语言中,下列说法中正确的是()。

A) do-while语句构成的循环不能用其它语句构成的循环来代替。

B) do-while语句构成的循环只能用break语句退出。

C) do-while语句构成的循环在while后的表达式非零时结束循环。

D) do-while语句构成的循环,在while后的表达式为零时结束循环。

2. break语句不能出现在语句中()A) switch B)for C) while D) if…else3.对于break语句和continue语句的说法错误的是()A) break语句不能用于循环语句和switch语句之外的任何其他语句中。

B) break和continue也可以用于if语句中C) continue语句只结束本次循环,而不是终止整个循环的执行。

D) break语句是结束整个循环过程,不再判断执行循环的条件是否成立。

4. 语句while(!y);中的表达式!y等价于A)y==0 B)y=1 C)y=!0 D) y==15. 若有“int a=1,x=1;”,则循环语句“while(a<10) x++; a++;”的循环执行()。

A)无限次B)不确定次C)10次D)9次6. 有以下程序段int k=0while(k) k++;则while循环体执行的次数是A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次7. 下列循环语句中有语法错误的是( )A while(x=y) 5;B while(0) ;C do 2;while(x= =b);D do x++ while(x= =10);8. 当运行时输入:abcd$abcde ,下面程序的运行结果是。

#include<stdio.h>main(){char c;while(putchar(getchar())!='$');printf("end");}A)abcd$abcde B)abcd$end C)abcdend D)abcd$abcdeend 9. 以下程序段( )x=-1;do { x=x*x; }while(x>0);A) 是死循环B) 循环执行一次C) 循环执行二次D) 有语法错误10. 下面程序段执行后的结果为: ( )int sum=0, n=10;do { sum=sum+n;n++; }while(n<10);printf(“%d,%d”,sum,n);A. 0, 10 B) 10, 11C) 0, 11 D) 以上结果都不对12. 循环“for(i=0,x=1;i=10&&x>0;i++);”的循环执行()。

c语言程序设计 杨路明 第五章

c语言程序设计 杨路明 第五章









ww
w.
mn
ub
} getch();
bs
}
.c
if (n > 1) printf("%d,%d", k1, k2); /* n>1 表示 a 至少有 2 个因子 */ if (n > 2) printf(",%d", k3); /* 注意以下 if 的用法,追加的方法 */ if (n > 3) printf(",%d", k4); if (n > 4) printf(",%d", k5); if (n > 5) printf(",%d", k6); if (n > 6) printf(",%d", k7); if (n > 7) printf(",%d", k8); if (n > 8) printf(",%d", k9); if (n > 9) printf(",%d", k10); printf("\n");
设某县 2000 年工业总产值为 200 亿元,如果该县预计平均年工业总产值增长率为 4.5%, 那么多少年后该县年工业总产值将超 500 亿元。 答 main() { float x=200; int n=0;








ww
4 ★输入一个字符串,将其中的大写字母改为小写字母,小写字母改为大写字母,然后输出。
ub
bs
.c
n
do { x*=(1+0.045); n++; }while(x<500); printf("n=%d",n); getch();
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第5章循环结构练习题一、选择题1.以下程序的输出结果是()。

ma i n(){i n t n=4;w h i l e(n--)p r i n t f(〞%d〞,--n);}A.20B.31C.321D.210 2.以下程序的输出结果是()。

ma i n(){i n t x=10,y=10,i;f o r(i=0;x>8;y=++i)p r i n t f("%d%d",x--,y);}A.10192B.9876C.10990D.101091 3.当执行以下程序段时。

x=-1;d o{x=x*x;}w h i l e(!x);A.循环体将执行一次B.循环体将执行两次C.循环体将执行无数多次D.系统将提示有语法错误4.执行以下程序后输出的结果是()。

ma i n(){i n t y=10;d o{y--;}w h i l e(--y);p r i n t f("%d\n",y--);}A.-1B.1C.8D.05.下面程序的输出结果是()。

ma i n(){i n t x=3,y=6,a=0;w h i l e(x++!=(y-=1)){a+=1;i f(y<x)b r e a k;}p r i n t f("x=%d,y=%d,a=%d\n",x,y,a);}A.x=4,y=4,a=1B.x=5,y=5,a=1C.x=5,y=4,a=3D.x=5,y=4,a=16.若i,j已定义为i n t类型,则以下程序段中内循环的总的执行次数是()。

f o r(i=5;i;i--)f o r(j=0;j<4;j++){…}A.20B.24C.25D.30 7.请读程序:#i n c l u d e<s t d i o.h>ma i n(){i n t x=1,y=0,a=0,b=0;s w i t c h(x){c a s e1:s w i t c h(y){c a s e0:a++;b r e a k;c a s e1:b++;b r e a k;}c a s e2:a++;b++;b r e a k;}p r i n t f("a=%d,b=%d\n",a,b);}上面程序的输出结果是()。

A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2 8.若有以下程序段,w和k都是整型变量w=k;L B:i f(w==0)g o t o L E;w--;p r i n t f(〞*〞);g o t o L B;L E:则不能与上面程序段等价的循环语句是()。

A.f o r(w=k;w!=0;w--)p r i n t(〞*〞);B.w=k;w h i l e(w--!=0)p r i n t f(〞*〞);w++;C.w=k;d o{w--;p r i n t f(〞*〞);}w h i l e(w!=0);D.f o r(w=k;w;--w)p r i n t f(〞*〞);9.下面程序的输出是()。

ma i n(){c h a r*s=〞12134211〞;i n t k,v1=0,v2=0,v3=0,v4=0;f o r(k=0;s[k];k++)s w i t c h(s[k]){d e f a u l t:v4++;c a s e1:v1++;c a s e2:v2++;c s s e3:v3++;}p r i n t f(〞v1=%d,v2=%d,v3=%d,v4=%d\n〞,v1,v2,v3,v4);}A.v1=4,v2=2,v3=1,v4=1B.v1=4,v2=9,v3=3,v4=1C.v1=5,v2=8,v3=6,v4=1D.v1=8,v2=8,v3=8,v4=8 10.有以下程序#i n c l u d e〞s t d i o.h〞i n t a b c(i n t u,i n t v);ma i n(){i n t c,a=24,b=16;c=a b c(a,b);p r i n t f(〞%d\n〞,c);}i n t a b c(i n t u,i n t v){i n t w;w h i l e(v){w=u%v;u=v;v=w;}r e t u r n u;}输出结果是()。

A.6B.7C.8D.9 11.在下列选项中,没有构成死循环的程序段是()。

A.i n t i=100;w h i l e(1){i=i%100+1;i f(i>100)b r e a k;}B.f o r(;;);C.i n t k=1000;d o{++k;}w h i l e(k>=10000);D.i n t s=36;--s;12.若输入B,以下程序的运行结果为()。

ma i n(){c h a r g r a d e;s c a n f("%c",&g r a d e);s w i t c h(g r a d e){c a s e'A':p r i n t f(">=85.");c a s e'B':c a s e'C':p r i n t f(">=60.");c a s e'D':p r i n t f("<60.");d e f a u l t:p r i n t f("e r r o r.");}}A.>=85.B.>=60.C.>=60.<60.e r r o r.D.e r r o r. 13.列程序运行的情况是()。

ma i n(){i n t i=1,s u m=0;w h i l e(i<10)s u m=s u m+1;i++;p r i n t f("i=%d,s u m=%d",i,s u m);}A.i=10,s u m=9B.i=9,s u m=9C.i=2,s u m=1D.运行出现错误14.有以下语句:i=1;f o r(;i<=100;i++)s u m+=i;与以上语句序列不等价的有()。

A.f o r(i=1;;i++){s u m+=i;i f(i==100)b r e a k;}B.f o r(i=1;i<=100;){s u m+=i;i++;}C.i=1;f o r(;i<=100;)s u m+=i;D.i=1;f o r(;;){s u m+=i;i f(i==100)b r e a k;i++;}15.下面程序的运行结果为()。

ma i n(){i n t n;f o r(n=1;n<=10;n++){i f(n%3==0)c o n t i n u e;p r i n t f("%d",n);}}A.12457810B.369C.12D.12345678910 16.下面程序的运行结果是()。

ma i n(){i n t x,y,z;x+=-z---y;p r i n t f("x=%d\n",x);}A.x=4B.x=0C.x=2D.x=317.标有/**/的语句的执行次数是()。

i n t y,i;f o r(i=0;i<20;i++){i f(i%2==0)c o n t i n u e;y+=i;/**/}A.20B.19C.10D.918.在C语言中,i f语句后的一对圆括号中,用以决定分支的流程的表达式。

A.只能用逻辑表达式B.只能用关系表达式C.只能用逻辑表达式或关系表达式D.可用任意表达式19.在以下给出的表达式中,与d o-w h i l e(E)语句中的(E)不等价的表达式是()。

A.(!E==0)B.(E>0||E<0)C.(E==0)D.(E!=0)20.假定所有变量均已正确定义,下列程序段运行后x的值为()。

k1=1;k2=2;k3=3;x=15;i f(!k1)x--;e l s e i f(k2)i f(k3)x=4;e l s e x=3;A.14B.4C.15D.321.执行下面语句的输出为()。

i n t i=-1;i f(i<=0)p r i n t f(“****\n”);e l s e p r i n t f(“%%%%\n”);A.****B.%%%%C.%%%%cD.有错,执行不正确22.下列程序的输出是()。

#i n c l u d e<s t d i o.h>ma i n(){i n t i;c h a r c;f o r(i=0;i<=5;i++){c=g e t c h a r();p u t c h a r(c);}}程序执行时从第一列开始输入以下数据,<C R>代表换行符。

u<C R>w<C R>x s t a<C R>A.u w x s t aB.uC.uD.uw w wx x s x s t a23.下列程序的输出为()。

#i n c l u d e"s t d i o.h"ma i n(){i n t i,j,x=0;f o r(i=0;i<2;i++){x++;f o r(j-0;j<=3;j++){i f(j%2)c o n t i n u e;x++;}x++;}p r i n t f("x=%d\n",x);}A.x=4B.x=8C.x=6D.x=1224.下列程序的输出为()。

#i n c l u d e<s t d i o.h>ma i n(){i n t i,j,k=0,m=0;f o r(i=0;i<2;i++){f o r(j=0;j<3;j++)k++;k-=j;}m=i+j;p r i n t f("k=%d,m=%d\n",k,m);}A.k=0,m=3B.k=0,m=5C.k=1,m=3D.k=1,m=5 25.在C语言中,为了结束w h i l e语句构成的循环,w h i l e后一对圆括号中表达式的值应该为()。

A.0B.1C.t r u e D.非026.在C语言中,为了结束由d o-w h i l e语句构成的循环,w h i l e后一对圆括号中表达式的值应为()。

A.0B.1C.t r u e D.非027.下列程序的输出为()。

#i n c l u d e<s t d i o.h>ma i n(){i n t k=0;c h a r c='A';d o{s w i t c h(c++){c a s e'A':k++;b r e a k;c a s e'B':k--;c a s e'C':k+=2;b r e a k;c a s e'D':k=k%2;c o n t i n u e;c a s e'E':k=k*10;b r e a k;d e f a u l t:k=k/3;}k++;}w h i l e(c<'G');p r i n t f("%d\n",k);}A.k=3B.k=4C.k=2D.k=028.C语言的i f语句嵌套时,i f与e l s e的配对关系是()。

相关文档
最新文档