收藏 分享(赏)

C语言课件第5章循环结构程序设计2.ppt

上传人:gnk289057 文档编号:5435590 上传时间:2019-03-03 格式:PPT 页数:83 大小:633.50KB
下载 相关 举报
C语言课件第5章循环结构程序设计2.ppt_第1页
第1页 / 共83页
C语言课件第5章循环结构程序设计2.ppt_第2页
第2页 / 共83页
C语言课件第5章循环结构程序设计2.ppt_第3页
第3页 / 共83页
C语言课件第5章循环结构程序设计2.ppt_第4页
第4页 / 共83页
C语言课件第5章循环结构程序设计2.ppt_第5页
第5页 / 共83页
点击查看更多>>
资源描述

1、,第5章,循环控制,主要内容,一、循环的概念 二、用while语句实现循环 三、用do-while语句实现循环 四、用for 语句实现循环 五、break语句和continue语句 六、循环嵌套 七、应用举例,思考,求1100的累加和。,分析,换一种思路:,首先设置一个累计器sum,其初值为0,利用sum += n来计算(n依次取1、2、100),只要解决以下3个问题即可: (1)将n的初值置为1; (2)每执行1次“sum += n;”后,n增1; (3)当n增到101时,停止计算。此时,sum的值就是1100的累计和。,sum=1+2+100;.,sum=sum+n;,格式,while (

2、循环条件表达式) 循环体语句,P70,说明,1、循环体如果包含一个以上的语句,必须使用复合语句形式。 2、在循环体中,必须有使循环条件趋向于不满足(假)的语句。 3、先判断表达式,后执行语句。,功能,当表达式成立(表达式的值为非0值)时,执行while语句中的循 环体语句。,执行过程,5.1 while语句,?,sum=凵5050,举例,例5.1: 求1100的累加和。,#include int main() int i,sum;i=1; sum=0;while (i=100)sum=sum+i;i+;printf(“sum=%5dn“,sum);return 0; ,思考,1、如果去掉循环体

3、中的大括号,执行过程将会怎样变化? 2、在循环体中,使循环条件趋向于不满足(假)的语句是哪条? 3、变量 i和sum在循环外不赋予初值行不行?i=1; sum=0;,?,1 求150的累加和. 2 求1100的奇数和. 3 求1100的偶数和.,求1到100的奇数和 #include int main() int i, sum; i=1; sum=0; while (i100) sum=sum+i; i+; i+; printf(“sum= %dn“,sum);return 0; ,运行结果:凵2500,说明:(1)循环体如果包含一个以上的语句,应该用花括弧括起来,以复合语句形式出现。(2)在

4、循环体中应有使循环趋向于结束的语句,举例,练习: 1、求1到100之间的偶数和; 2、求N!,#include int main() int i, sum=0;i=1;while (i=100) if (i%2=0)sum=sum+i;i+;printf(“%dn“,sum);return 0; ,#include int main() int i=1, n;float fac=1;printf(“请输入n:“);scanf (“%d“, ,运行结果:凵2550,请输入n:5 运行结果:120,利用公式:sum=1-3+5-7+9-11,求前10项的和。,#include int main()

5、 int s,i,sum,t,n;i=0;n=1,sum=0,t=1,s=1;while(i10) sum=sum+t;n=n+2;s=-s;t=s*n;i+;printf(“sum=%dn“,sum);return 0; ,s:变化的符号 i:第i项 n:第i项的绝对值 t:第i项的值 sum:和,运行结果: sum=-10,举例,举例,例5.2: 设s=123n,求s不大于400000时最大的n。,#include int main( ) int n=1;long int s=1;while(s=400000) n=n+1;s=s*n;printf(“不大于400000时的最大n为:%dn

6、s值为:%ldn“,n-1,s);return 0; ,运行结果: 不大于400000时的最大n为:9s值为:3628800,前n项的乘积,举例,现有某班20名学生的C语言成绩,求该班学生的C语言的平均成绩。即:输入20个学生的成绩,计算平均值,输出平均值。,分析:定义变量表示学生的成绩、全班总和、平均成绩。 算法设计:第一步:输入20个学生的成绩第二步:计算成绩总和 (用累加求和的方法)第三步:计算平均值 (总和/人数)第四步:输出平均值,如果定义20个变量保存20个成绩,程序中计算成绩总和会有什么问题?,回顾 例题:求1到100的奇数和 #include int main() int i,

7、 sum; i=1; sum=0; while (i100) sum=sum+i; i=i+2; printf(“sum= %dn“,sum);return 0; ,用while循环 实现累加求和,累加项是谁? 累加项是如何不断被更新的?,i,i=i+2;,例题,现有某班20名学生的C语言成绩,求该班学生的C语言的平均成绩。即:输入20个学生的成绩,计算平均值,输出平均值。,运行结果:请输入学生成绩:23凵89凵67凵78凵94凵56凵34凵83凵90凵67凵48凵72凵81凵65凵74凵87凵73凵67凵90凵9820名学生的C语言平均成绩为:71.8,#include int main(

8、) float score, total=0,average;int i=1;printf(“请输入学生成绩:“);while(i=20) scanf(“%f“,total 前i 名学生的成绩的和 score 每一名学生的成绩 average 平均成绩 i 用来计数,举例,从键盘输入一个非负整数,判断m是否是素数。,素数(质数): 只能被1和它本身整除的数。,判别方法: 57:若256之间的每一个数都不能整除56,则57为素数,否则57不是素数。 m, k=m-1,i=2k : 若每一个 i 的值都不能整除m,则m为素数,否则m不是素数。,flag=1; k=m-1; for (i=2;i=k

9、;i+)if (m%i=0) flag=0; if (flag=1) printf(“yes!”); else printf(“no!”);,k=m-1; for (i=2;i=k+1) printf(“yes!”); else printf(“no!”);,k=m-1; k=m/2;(m+1)/2; k=sqrt(m);sqrt(m+1),#include “math.h“ #include “stdio.h“ int main() int m,flag=0,i=2, k;printf(“请输入一个非负整数:n“);scanf(“%d“, ,举例,求两个非负整数m和n的最大公约数和最小公倍数

10、。,#include int main( ) int m,n,t;printf(“请输入两个非负整数:“);scanf(“%d%d“, ,找m、n中较小数,找m、n中较大数,格式,do循环体语句 while (循环条件表达式);,说明,1、循环体如果包含一个以上的语句,必须使用复合语句形式。 2、在循环体中,必须有使循环条件趋向于不满足(假)的语句。 3、先执行循环体语句,后判断表达式的值。,含义,执行do-while语句中的循环体语句,直到表达式的值为假(0)才跳出循环。,执行过程,至少执行一次,5.2 do-while语句,举例,例5.6 求1100之间的奇数和。,#include int

11、 main() int i,sum;i=1; sum=0;dosum=sum+i;i+; i+; while (i=100);printf(“sum=%5dn“,sum);return 0; ,思考,1、如果去掉循环体中的大括号会怎样? 2、在循环体中,使循环条件趋向于不满足(假)的语句是哪条?,运行结果:凵2500,举例,while和do-while循环的比较。,#include int main() int i,sum=0;scanf(“%d“, ,#include int main() int i,sum=0;scanf(“%d“, ,输入:1,输入:11,sum=55,sum=11,此

12、程序的功能?,什么情况下两者结果相同?,举例,例5.7 设有一张厚为x毫米,面积足够大的纸,将它不断对折。试问对折多少次后,其厚度可达8848米的珠穆朗玛峰的高度。 P76,#include int main( ) int i=0;float x;printf(“请输入纸张的厚度:“);scanf(“%f“, ,数据描述: x:纸张厚度 i : 对折次数,对折后纸张厚度,运行结果: 请输入纸张的厚度: 1 折叠次数=24,格式,for (表达式1;表达式2;表达式3) 语句,P77,for (循环变量赋初值;循环条件;循环变量增值) 语句,执行过程,(1)先求解表达式1; (2)求解表达式2,

13、若其值为真,则 执行循环体语句,然后执行第(3)步;若为假,则结束循环,转到第(5)步; (3)求解表达式3; (4)转向步骤(2); (5)循环结束,执行for语句下面的一个语句。,5.3 for语句,sum= 5050,举例,求1100的累加和。,#include int main() int i,sum;sum=0;for (i=1;i=100;i+)sum=sum+i;printf(“sum=%5dn”,sum);return 0; ,?,1 求155的累加和. 2 求1100的奇数和. 3 求1100的偶数和.,for (表达式1;表达式2;表达式3) 语句,说明,三个表达式都可以省

14、略。,?,结果?,说明,1,i=1; for(; i=10;i+) sum=sum+i;,2,for (i=1; ;i+) sum=sum+i;,?,3,for (i=1;i=10 ;) sum=sum+i;i+; ,for(i=1; i=10;i+) sum=sum+i;,表达式1可以省略,但其后的分号不可以省略。,没有循环结束条件,构成了死循环,for(i=1; i=10;i+) sum=sum+i;,说明,4,5,for( ; ; ) sum=sum+i;,6,表达式1和表达式3可以是与循环变量无关的表达式。,for( ;i=10 ; ) sum=sum+i;i+; ,7,表达式2一般是

15、关系表达式,也可以是数值或字符表达式。,while(i=10) sum=sum+i;i+ ; ,while (1) sum=sum+i;,表达式1和表达式3可以同时省略,此时等同于while语句。,for(sum=0,i=1;i=100,i+) sum=sum+i;,建议:for语句中只放与 循环控制有关的语句。,说明: for(i=0;(c=getchar()!=n;i+=c); 在表达式2中先从终端接收一个字符赋给c,然后判断 此赋值表达式的值是否不等于n(换行符),如果 不等于n,就执行循环体。 注意:此for语句的循环体为空语句,把本来要在循环 体内处理的内容放在表达式3中,作用是一样

16、的。可见 for语句功能强,可以在表达式中完成本来应在循环体 内完成的操作。,说明: for( ;(c=getchar()!=n;)printf(%c,c);for语句中只有表达式2,而无表达式1和表达式3。其作用是 每读入一个字符后立即输出该字符,直到输入一个“换行”为止。 请注意,从终端键盘向计算机输入时,是在按Enter键以后才将 一批数据一起送到内存缓冲区中去的。,运行情况: Computer (输入) Computer (输出) 而不是 Ccoommppuutteerr,举例,#include int main( ) float sum=0.0;int n;for(n=1;n=30;

17、n+)sum=sum+(float)n/(float)(n+1);printf(“sum=%5.2fn“,sum);return 0; ,例5.8: 计算 。,格式,表达式1,表达式2,表达式n,P79,说明,1. 逗号表达式常用于for循环语句中。 2.并不是在所有出现逗号的地方都组成逗号表达式,如: int a,b,c; scanf(“%d%d%d“, ,含义,从左到右,依次计算各表达式的值,最后一个表达式的值即为整个逗号表达式的值。,逗号运算符和逗号表达式,思考,是不是所有出现逗号的地方都组成逗号表达式。,?,举例,例5.10 若a=5,求下列表达式及经过运算后a的值:,格式,while

18、 (表达式1) if (表达式2) break;,举例, .sum=0;for (i=1;i5) break;sum=sum+i;printf(“sum=%5dn”,sum); .,while (表达式1) if (表达式2) conitue;,结束整个循环,结束本次循环, .sum=0;for (i=1;i=10;i+)if (i=5) continue;sum=sum+i;printf(“sum=%5dn”,sum); .,5.4 break 和 continue 语句,举例,例5.11 分析下面程序的运行结果。,结束整个循环,#include int main( ) int i=0,a=

19、0;while(i20) if(i%10=0) break;else i+;i+=11;a+=i;printf(“%dn“,a);return 0; ,i i%10 第1次执行循环 0 0条件表达式 i%10=0 成立,执行break语句,跳出循环,运行结果:11,举例,例5.12: 输出100以内能被7整除的最大数。,n n%7 第1次执行循环 100 2 第2次执行循环 99 1 第3次执行循环 98 0第4次执行循环时条件表达式n%7=0成立,执行break语句,跳出循环,运行结果:100以内能被7整除的最大数为:98,举例,例5.13: 分析下面程序的运行结果。,结束本次循环,#inc

20、lude “stdio.h“ int main( ) int i=0,s=0;do if(i%2) /n为奇数 i+; continue; i+; s+=i;while(i7);printf(“%dn“,s);return 0; ,i i%2 i+ s continue是否执行 第1次执行循环 0 0 1 1 否 第2次执行循环 1 1 2 1 是 第3次执行循环 2 0 3 4 否 第4次执行循环 3 1 4 4 是 第5次执行循环 4 0 5 9 否 第6次执行循环 5 1 6 9 是 第7次执行循环 6 0 7 16 否此时条件表达式17不成立,结束循环,运行结果:16,#include

21、 int main() int i;for(i=1;i3) break;if(i%2) printf(“*“);else continue;printf(“#“); printf(“$n“);return 0; ,分析如下程序的输出结果:,*#*#$,举例,举例,把100200之间的能被13整除的数输出。,#include “stdio.h“ int main( ) int n; for(n=100;n=200;n+) if(n%13!=0) continue; else printf(“ %d “,n); printf(“n“); return 0; ,运行结果: 104 117 130 1

22、43 156 169 182 195,说明:当n不能被13整除时,执行continue语句,结束本次循环(即跳过printf函数语句),只有n能被13整除时才执行printf函数。,结束本次循环,1、 三种循环语句在处理循环问题时,一般可以相互替代。,2、 对于循环次数固定的问题,用for语句实现比较简单。,3、 对于循环次数不确定的问题,可用while语句或do-while语句实现。,4、 while语句:先判断,后执行。do-while语句:先执行,后判断。,6.7 几种循环语句的比较,概念,一个循环体内又包含另一个完整的循环结构,称为循环嵌套。,举例,例5.15 马克思曾经做过这样一道趣

23、味数学题:有30个人在一家小饭馆里用餐,其中有男人、女人和小孩。每个男人花3先令,每个女人花2先令,每个小孩花1先令,共花去50先令。问男人、女人和小孩各几人(男人、女人和小孩均存在)?P83,#include “stdio.h“ int main( ) int man,women,child;for(man=1;man29;man+)for(women=1;women=29-man;women+) child=30-man-women;if(man*3+women*2+child*1=50) printf(“man=%-6dwowen=%-6dchild=%-6dn“,man,women,c

24、hild); return 0; ,5.5 循环嵌套,男人人数,最多28人,女人人数,29-man,小孩人数=30-man-women,运行结果: man=1 women=18 chile=11 man=2 women=16 chile=12 man=3 women=14 chile=13 man=4 women=12 chile=14 man=5 women=10 chile=15 man=6 women=8 chile=16 man=7 women=6 chile=17 man=8 women=4 chile=18 man=9 women=2 chile=19,举例,例5.16 打印乘法口

25、诀表。,#include “stdio.h“ int main( ) int i,j,result;for(i=1;i=9;i+) for(j=1;j=9;j+) result=i*j; /计算i行j列上的元素值printf(“%d*%d=%-3dt“,i,j,result);printf(“n“);return 0; ,result i=1, j=1 1*1j=2 1*2j=3 1*3j=9 1*9i=2, j=1 2*1j=2 2*2j=9 2*9 i=9, j=1 9*1j=2 9*2j=9 9*9,1*1=1 1*2=2 1*9=92*1=2 2*2=4 2*9=189*1=9 9*2

26、=18 9*9=81,12 43 6 9 4 8 12 16,#include int main() int i,j;for (i=1;i=4;i+)for (j=1;j=i;j+)printf(“%4d”,i*j);printf(“n”);return 0; ,思考1,#include int main() int i,j;for (i=1;i=4;i+)for (j=1;j=5-i;j+)printf(“%4d”,i*j);printf(“n”);return 0; ,思考2,1 2 3 42 4 63 64,#include int main() int i,j;for (i=1;i=4

27、;i+) for (j=1;j=4-i;j+) printf(“%4c”, );for (j=5-i;j=4;j+)printf(“%4d”,i*j);printf(“n”);return 0; ,思考3,46 86 9 124 8 12 16,#include int main() int i,j;for (i=1;i=4;i+) for (j=1;j=i-1;j+) printf(“%4d”, );for (j=i;j=4;j+)printf(“%4d”,i*j);printf(“n”);return 0; ,思考4,1 2 3 44 6 89 1216,举例,例5.17 求Fibonac

28、ci数列的前40个数。 按每行4个进行输出。,#include “stdio.h“ int main( ) int n;long int f1,f2;f1=1;f2=1;printf(“%10d%10d“,f1,f2);for(n=1;n=19;n+) if(n%2=0)printf(“n“);f1=f1+f2;f2=f2+f1;printf(“%10d%10d“,f1,f2);printf(“n“);return 0; ,特点:第1、2个数为1、1。从第三个数开始,该数是其前面两个数之和。 F1=1 (n=1) F2=1 (n=2) Fn=Fn-1+Fn-2 (n=3),1 1 2 35 8

29、 13 2134 55 89 144 ,5.8 程序举例,求Si=a+aa+aaa+ 的值。如a=5,i=3时,即求表达式5+55+555的值。a和i由键盘输入。,举例,#include “math.h“ #include “stdio.h“ int main( ) int j, i, a, s=0;printf(“请输入a和i的值:n“);scanf(“%d%d“, ,pow()函数:求xy,程序显示:请输入a和i的值: 用户输入:5 3并回车 程序输出:SUM=615,i:第i项 n:第i项的分母 t:第i项的值 sum: 和,举例,利用公式:sum=1+1/3+1/5+1/7+1/9,

30、求前10项的和。,#include #include int main() int s,i,n;float t,sum;i=0;n=1,sum=0,t=1.0;while(i10) sum=sum+t;n=n+2; t=1.0/n; i+;printf(“sum=%.2fn“,sum);return 0; ,运行结果: sum=2.13,举例,利用公式sum=1-3+5-7+9-11 求前10项的和。,#include #include int main() int s,i,sum,t,n;i=0;n=1,sum=0,t=1,s=1;while(i10) sum=sum+t;n=n+2; s=

31、-s; t=s*n;i+;printf(“sum=%dn“,sum);return 0; ,s:变化的符号 i:第i项 n:第i项的绝对值 t:第i项的值 sum:和,运行结果: sum=-10,举例,利用公式:/4=1-1/3+1/5-1/7+ 求 的近似值,直到某一项的绝对值小于10-6为止。,#include #include int main() int s;float n,t,pi;t=1;pi=0;n=1.0;s=1;while(fabs(t)1e-6) pi=pi+t;n=n+2;s=-s;t=s/n;pi=pi*4;printf(“pi=%10.6fn“,pi);return

32、0; ,思考:使用那一种循环控制语句?,pi=1-1/3+ 输出4* pi s=1(-1) n=1,3,5,7 t=s/n,运行结果: sum=3.141594,举例,输出 101200之间的全部素数。每行输出10个。,#include #include void main() int m,k,i,n=0;for(m=101;m=k+1) printf(“%d “,m); n=n+1; if(n%10=0) printf(“n“); printf(“n“); ,正常结束循环,m不是素数,例5.18 用双重for循环打印出下列图形。P86 * *,#include “stdio.h“ int m

33、ain( ) int i,j;for(i=1;i=4;i+) for(j=1;j=4-i;j+)printf(“ “);for(j=1;j=2*i-1;j+)printf(“*“);printf(“n“);,for(i=1;i=3;i+) for(j=1;j=i;j+)printf(“ “);for(j=1;j=7-2*i;j+)printf(“*“);printf(“n“);return 0; ,打印上三角(1-4行),打印下三角(1-3行),#include “stdio.h“ int main( ) char ch;int letter=0,space=0,number=0,other=

34、0;printf(“请输入一串字符“); scanf(“%c“, ,letter:字符个数 space:空格个数 number:数字个数 other:其它字符个数,举例,译密码。输入一行字符,输出其相应的密码。 译码规律:将字母变成其后的第4个字母,非字母字符不变。,#include void main() char c;while(c=getchar()!=n)if(ca ,循环部分编程及上机要注意的问题: 1、for循环的末尾不能有:for(i=0;i10;i+);,2、循环控制变量在循环体内最好不要重新赋值:,x=a; for(x=1;x=n;x+)sn=sn+x;x=x*10+a;,3

35、、注意循环中使用的,m=a; for(x=1;x=n;x+) sn=sn+m;m=m*10+a; ,for(x=1;x=n;x+) y=(pow(10,x)-1)*a/9 sn=sn+y; ,4、countine的用法:当countine后面没有语句时,可以省略,for(x=1,t=0;x =n;x+) t=t+a;sn=sn+t;a=a*10; ,if(i%7=0)printf(“%8d”,i); elsecountine;,注意,一. 选择题 C语言程序的三种基本结构是顺序结构、选择结构和( )。 A.递归结构 B. 转移结构 C. 循环结构 D. 嵌套结构 2. 下面程序段中while循

36、环执行的次数是( )。int t=0;while(t=1) t=t+1; A.无限次 B 一次也不行 C 执行一次 D 有语法错,不能执行 3. 以下程序的输出结果是( )。#include int main() int i, sum ;for(i=1; i6; i+) sum+=i;printf(“%dn“,sum); return 0;A.15 B. 14 C. 0 D.不确定,作业及练习,4. 设x和y均为int型变量,则执行下面的循环后,x值为( )。for(y=1,x=1;y=10) break; if(x%2=1) x+=5;continue;x-=3; printf(“%d“,x

37、); A.4 B. 6 C. 8 D. 10,5. 指出程序结束之时,i,j,k 的值( )。#include “stdio.h“int main( ) int a=10,b=5,c=5,d=5;int i=0,j=0,k=0;for(;ab;+b)i+;while(a+c)j+;do k+;while(ad+);return 0; A. i=5 j=5 k=6 B. i=5 j=4 k=6 C. i=6 j=5 k=7 D. i=6 j=6 k=6,6. 下面程序的输出是( )。#include int main ( ) int i,j;for(i=0,j=10;ij;i+=2) j=j-1

38、;printf(“i=%d,j=%dn“,i,j);return 0;A. i=8, j=6 B. i=8, j=5 C. i=8, j=7 D. i=8, j=8,7. 若已有定义int i , j , k ;执行语句scanf(“%d%d%2d”,时的键盘输入为:123456 789 所得的i , j , k 的值分别为()。 A. 123, 456和789 B. 1 , 2和3 C. 123, 456和78 D. 1 , 4和78,8. 若已定义int i, x,则for( i=0,x=0; i=9语句输入a、b的值时,不可以用()作为输入的分隔符。 A. , B. 空格 C. 回车 D

39、. Tab,10、执行下列程序的输出显示是()。int main( ) int x=1, y=2,z;z=x+y;printf(“%d%d%dn”,x,y,z); return 0;A. 223 B. 123 C. 224 D. 134,11. 有以下程序段,其中x为整形变量:x=0;while(!x!=0) x+; 一下选项中正确的是()。 A. 退出循环后x得值为0 B. 退出循环后x得值为1 C. while的控制表达是非法 D. while循环执行无数次,12. 表达式3&6&9的值为()。 A. 3 B. 6 C. 9 D. 1,13. 以下while循环中,循环体执行的次数是()。

40、k=1;while(-k) k=10; A. 10次 B.一次也不执行 C.无限次 D. 1次,14. 有以下程序段,其中t为整形变量:t=1; while(-1) t-;if(t) break; 以下选项中叙述正确的是()。 循环1次也不执行 B. 循环执行一次 C. 循环控制表达式不合法 D. 循环执行两次15. 有以下程序段,其中x为整形变量:x=-1;do ; while(x+);printf(“x=%dn”,x); 以下选项中叙述正确的是()。 程序错误 B. x=1 C. x=-1 D. x=0,1. 下面程序的输出结果是_。 #include “stdio.h“ int main

41、( ) int x,i;for(i=1;i=100;i+) x=i;if(+x%2=0)if(+x%3=0)if(+x%7=0)printf(“%dn“,x);return 0; ,2. 下面程序的输出结果是_。 #include “stdio.h“ int main( ) int i,k=19;while(i=k-1) k-=3;if(k%5=0) i+;continue;else if(k5) break;i+;printf(“i=%d,k=%dn“,i,k);return 0;,二. 程序分析题,3. 下面程序的输出结果是_。 #include “stdio.h“ int main( )

42、 int i,j;float s;for(i=6;i4;i-) s=0.0;for(j=i;j3;j-) s=s+i*j;printf(“%fn“,s);return 0; ,4. 下面程序的输出结果是_。 #include “stdio.h“ int main( ) int a=10, b=0;while(a!=0) -a;if(a%3!=0) continue;b+;if(a=4) break;printf(“b=%dn“, b);return 0; ,5. 下面程序的输出结果是_。 #include int main() int i,k=19;while(i=k-1) k-=3;if(k

43、%5=0) i+;continue; else if(k5) break;i+; printf(“i=%d,k=%dn“,i,k); return 0; ,6. 下面程序的输出结果是_。 #include int main( ) int i,j;float s;for(i=6;i4;i-) s=0.0;for(j=i;j3;j-) s=s+i*j;printf(“%fn“,s); return 0 ,7. 下面程序的输出结果是 。 #include int main() int a,b;for(a=1,b=1;a=10) break;if(b%3=1) b+=3; continue; prin

44、tf(“%dn”,a);return 0;,8. 下面程序的输出结果是 。#include int main() int I=0;for(I+=3;I=5;I=I+2)switch(I%5) case 0: printf(“*”);case 1: printf(“#”);break;default:printf(“!”);break;case 2:printf(“ ,9. 当给x输入789时,下面程序段的输出结果是 _。int main() int r,x; printf(“Input x:”); scanf(“%d”,12. 下面程序段的输出结果是_ 。int n=0;while(n+=2)

45、;printf(“%dn”,n);13. 下面程序段的输出结果是_ 。int k=10;while(k=0) k=k-1;14. 下面程序段的输出结果是_ 。int x;for(x=3;x6;x+)printf(x%2)?(“*%d”):(“#%dn”),x);15. 下面程序段的输出结果是_ 。int main() int x=2;while(x-);printf(“%dn”,x); return 0;,1. 下面程序功能是打印100以内个位数为6且能被3整除的所有数。#include int main() int i,j;for(i=0; ;i+) j=i*10+6;if( ) conti

46、nue; printf(“%d,“,j);return 0;,三、程序填空题,2. 下面程序的功能是求1至1000之间满足“用3除余2;用5除余3;用7除余2”的数,且一行只打印五个数。 #include “stdio.h“ int main( ) int i=1,j=0;do if( ) printf(“%4d“,i);j=j+1;if( ) printf(“n“);i=i+1;while(i1000);return 0; ,3. 下面程序的功能是计算正整 数234的各位数字之和。#include int main() int n,sum=0;n=234;while(n) sum+=n%10; n= (1) ;printf(“sum=%dn”,sum);return 0;,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 职业教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报