C语言 循环程序设计

合集下载

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

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

执行过程如图所示。其中i为外循环的控制变 量,j为内循环的控制变量。
i =0 当 i <=10
j=0 当 j<=10
printf(“%d ”, i*j ) j++ i++
例4 编程打印“九九乘法表”。
分析:九九乘法表 1×1=1 1×2=2 1×3=3 … 2×1=2 2×2=4 2×3=6 … 3×1=3 3×2=6 3×3=9 … …… 9×1=9 9×2=18 9×3=27 …
i ++ ; } while ( i <= 100 ) ; printf ( " %d " , sum ) ; }
结果相同
同样是下列程序,但如果while后面的表达式结果一开始就是 假时,两种循环结果会不一样。
main ( ) /*程序1*/
{ int i , sum = 0 ; i = 101 ;
所以程序需要设计成二重循环。由于题目只 要求找到一组解,所以在循环过程中只要找到一组 满足条件的x, y, z就可以跳出循环。
跳出循环的方法可以采用break语句,但是, 因为是二重循环,所以要考虑使用break是否方便。
程序 百钱买百鸡问题。 void main ( ) { int x , y , z ;
打印第2行 ( i = 2 ) for (j=1;j<=9;j++) printf(“%5d”,i*j) ; printf ( “ \n ” ) ; /*换行打印*/
…… 打印第9行 ( i = 9 )
for (j=1;j<=9;j++) printf(“%5d”,i*j) ; printf ( “ \n ” ) ; /*换行打印*/

C语言循环结构程序设计实验报告

C语言循环结构程序设计实验报告

C语言循环结构程序设计实验报告实验目的:掌握C语言循环结构的基本原理和使用方法,能够编写具有循环结构的程序。

实验原理:在C语言中,循环结构主要包括while循环、do-while循环和for 循环三种形式。

通过循环结构,可以使程序中的其中一段代码重复执行多次,从而提高程序的灵活性和效率。

实验内容:1. 用while循环实现计算1-100的累加和。

2. 用do-while循环实现输入一个整数n,计算1到n的累加和。

3. 用for循环实现输出9*9乘法口诀表。

实验过程:1. 用while循环实现计算1-100的累加和。

```c#include <stdio.h>int mainint i = 1;int sum = 0;while (i <= 100)sum += i;i++;}printf("1-100的累加和为:%d\n", sum);return 0;```2. 用do-while循环实现输入一个整数n,计算1到n的累加和。

```c#include <stdio.h>int mainint n, i = 1, sum = 0;printf("请输入一个整数n:");scanf("%d", &n);dosum += i;i++;} while (i <= n);printf("1-%d的累加和为:%d\n", n, sum);return 0;```3. 用for循环实现输出9*9乘法口诀表。

```c#include <stdio.h>int mainint i, j;for (i = 1; i <= 9; i++)for (j = 1; j <= i; j++)printf("%d*%d=%d\t", j, i, i*j);}printf("\n");}return 0;```实验结果:1.1-100的累加和为:50502.输入一个整数n:10,1-10的累加和为:553.```1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=427*7=491*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=487*8=56 8*8=641*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=547*9=63 8*9=72 9*9=81```实验结论:通过本次实验,学习了C语言中循环结构的基本原理和使用方法。

C语言程序设计_05循环结构程序设计

C语言程序设计_05循环结构程序设计

5.2 DO…WHILE循环结构 5.2.1 DO…WHILE语句的格式 DO…WHILE语句的一般格式为: DO 语句 WHILE(表达式); DO…WHILE语句中的表达式表示循环的条件,可 以是任何表达式,常用的是关系表达式和逻辑表达 式。表达式必须加圆括号。语句是重复执行的部分, 称作循环体。
由亍循环体在表达式2乊后表达式3乊前执行所以把循环体语句放在表达式3的开头循环体语句不原来的i构成逗号表达式作为循环语句新的表达式3从而也就没有循环体语句了
第5章 循环结构程序设计
5.1 WHILE循环结构 5.2 DO…WHILE循环结构 5.3 FOR循环结构 5.4 与循环有关的控制语句 5.5 3种循环语句的比较 5.6 循环的嵌套 5.7 循环结构程序举例 本章小结
图5-6 FOR语句执行过 程
FOR语句的执行过程如图5-6所示。具体由以下几步 完成: (1)求表达式1。 (2)求表达式2,并判定其值为0或非0。若值为非0, 转步骤(3);否则结束FOR语句。 (3)执行语句,然后求表达式3。 (4)转向步骤(2)。 由FOR语句的执行流程可知,表达式1的作用是为循 环控制的有关变量赋初值,表达式2是循环控制条件, 表达式3用于修正有关变量,语句是重复执行部分。
【例5.7】输入20个数,求出其中的最大值与最小值。
5.3.3 FOR语句的各种变形 1.在FOR语句中省略表达式 FOR语句中的3个表达式可以部分或全部省略,下面 给出语句的4种基本变形。 (1)表达式1移至FOR语句前,但它后面的分号必 须保留。这时FOR语句的形式为: 表达式1; FOR(; 表达式2; 表达式3) 语句
(2)表达式3移至循环体语句之后,但它前面的分 号必须保留。FOR语句的形式为: FOR(表达式1; 表达式2;) { 语句; 表达式3; } 对于求P=5!的程序段,省略表达式3,将其放在循环 体中,则程序段写成:

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

C语言程序设计:第5章 循环结构
执行过程: 先执行循环体语句,再检查 循环条件表达式的值是否为真, 如果为真则继续执行循环体语句, 否则结束循环。
12
do...while语句(cont...)
课堂练习: 1.输出1---n之间的数,其中n从键盘输入。
int main(void) {
//1.定义变量i和n //2.输入n的值 //3.思考循环的开始条件:i从1开始 //4.思考循环的结束条件:i++,i > n //5.循环的条件:i<=n //6.循环要做的事情:输出i的值 return 0; }
} 相当于 while(1) {
}
26
小结
❖for(i=m;i<n;i++)//循环次数:n-m次 ❖for(i=m;i<=n;i++)//循环次数:n-m+1次
27
循环语句的练习
课堂练习: 1.输出n---1之间的数,其中n>1且n从键盘输入。 2.计算1*2*3*...*n的值(n的阶乘n!), 其中n从键盘输入。 3.计算10- 1/2 - 1/3 -....1/n的值 以上练习分别以while、do...while、for语句实现
int main(void) {
//1.定义变量i,n,sum //2.输入n的值 //3.思考循环的开始条件:i从1开始 //4.思考循环的结束条件:i++,i > n //5.循环的条件:i<=n //6.循环要做的事情:累加i的值 //7.输出计算结果 return 0; }
24
for语句(cont...)
{
sum = sum + i;
if(sum > 100)break;

C语言循环结构程序设计

C语言循环结构程序设计

i=-i;
//然后对i取负,得到它的绝对值
}
if(i==0)
printf("%d",i);
while(i!=0)
{
r=i%10;
printf("%d",r);
i=i/10;
}
printf("\n");
}
注意:循环体的有效范围 例: i=1; while(i<=100)
putchar(‘*’); i++;
i++;
i=10,iSum=55 1+2+3+...+10=55
} while(i<=10);
printf("1+2+3+...+10= %d\n",iSum);
}
例5.7 将一个给定的整数反序输出。
#include "stdio.h"
void main()
{
int i,r;
printf("\nInput an integer:");
{
****
for(j=1;j<=i;j++)
*****
putchar('*');
putchar('\n');
}
}
例5.12 求100以内的全部素数。
void main() {
int m,n,i,prime; i=0; for(m=2;m<=100;m++) {
void main()
{
int m,n,r;
printf("please input two positive integers:");

第5章for循环程序设计(0909NITL)

第5章for循环程序设计(0909NITL)

ch5_5_4.c 14
例5.5 计算输入一行字符串的字符个数.
#include<stdio.h> int main( ) { int n=0;
char cha1; printf("输入一行字符串: \n");
for(; (cha1=getchar( )) !=‘\n’ ; n++) ;
printf("共有字符%d个.\n",n); return 0; }
ch5_5_5.c 15
对于for语句的进一步说明:
(1). 表达式1可以是设置变量初值的赋值表达式,也可是与 循环变量 无关的其它表达式.
如:
for(sum=0; i<100; i++) sum=sum+i;
(2). 表达式2一般是关系表达式或逻辑表达式,但也可以是 其它类型表达式,只要其值为非零,就执行循环体.
for(; i<=5; i++) {
do { i++; a++;
} while(i<3);
i++; }
printf(“a=%d,i=%d\n”,a,i);
}
21
例5.6: 打印一张九九乘法表.
#include<stdio.h>
int main() { int i,j;
外循环控制行数.
for(i=1; i<10; i++)
#include “stdio.h” main( )
①. 外层for循环执行二次. 每次外循环时,内循环要执行4次.
{ int i,j,x=0;
②. 每次内循环时,当j=1,或j=3时,

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

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

(2)在循环体中应有使循环趋向于结束的语句。 比如上例中,循环结束的条件是“score>=0”, 那么当我们把这个班的成绩全部输入完后, 一定要输入一个负数,才能使程序往下执行。 (3)循环体语句有可能一次也不执行。比如说上 例中,当第一次输入的分数就为负数时,则 循环体一次也不执行。
§5.3 do …while语句
① ② ④ ③
for(i=1; i<100; i++) s=s+i; printf(″s=%d″, s); }
/*循环体语句*/
对于for循环,有一点非常重要,即条件测 试永远是在循环开始时进行,如果在循环开 始时条件为假,那么循环体语句就不会被执 行。如: int i=10; for (k=10;k!=i;k++) printf(″%d″,k); printf(″%d″,k);
2、循环控制变量必须在循环体内有所改变,才 能使while和do-while语句的循环控制条件表达 式的值不断改变,直至循环结束。否则会造 成死循环。例如: i=1; while(i<=100) putchar(′*′); i++; 这个循环永远不会结束,因为“i++;”语句 不属于循环体中的语句,循环控制变量i没有 在循环体内被改变。 程序应该作如下改变:
在使用while语句的时候,我们要注意以下 两个问题: (1)循环体如果包含一个以上的语句,应该用花 括号括起来,以复合语句的形式出现。如果 不加花括号,则while语句的范围只到while后 面的第一个分号处。比如上例中,while语句 中如无花括号,则while语句范围只到 “average+=score;”。
#include <stdio.h> main() {int i,n;long fac; Scanf(―%d‖,&n); i=1 while (i<=n) fac=fac*i; i++; } Printf(―%d!=%ld‖,n,fac); }

大一C语言教材《C语言程序设计》第5章 循环程序设计

大一C语言教材《C语言程序设计》第5章 循环程序设计


复合赋值运算符
种类:+= -= *= /= %= 《= 》= &= 含义: 变量 op= 表达式 变量 = 变量

^= |= op 表达式
x%=3 x*=y+8 a+=3
x=x%3 x=x*(y+8) a=a+3
运算符和表达式

说明:

结合方向:自右向左 左侧必须是变量,不能是常量或表达式
例 int i; 例 3=x-2*y; i=2.56; //结果 i=2; a+b=3;

赋值转换规则:使赋值号右边表达式值自动 转换成其左边变量的类型
赋值表达式的值与变量值相等,且可嵌套g a=b=c=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2) //表达式值为5,a,b,c值为5 // b=5;a=5 //表达式值11,c=6,a=11 //表达式值10,a=10,b=4,c=6 //表达式值5,a=5,b=10,c=2
例 -i++ i=3;
-(i++) printf(“%d”,-i++);
//-3
无论是作为前缀还是作为后缀运算符,对于变量本身来 说自增1或自减1都具有相同的效果,但作为表达式来说却有 着不同的值。

j=3; k=++j; j=3; k=j++; j=3; printf(“%d”,++j); j=3; printf(“%d”,j++); a=3;b=5;c=(++a)*b; a=3;b=5;c=(a++)*b;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
do-while语句的执行过程
C语言程序设计
19
5.2 while和do while循环
循环语句的特点:
• while循环是“先判断后循环”,如果开始时循 环条件不满足,循环体就一次也不执行
• do-while循环是“先循环后判断”,即使第一
次判断的结果为“假”,循环体也已经执行了 一次
• 但不论哪种循环,循环体中必须包含能够使循 环条件变为“假”的运算
• 共同点:
– 都要完成相同的任务:量变的重复内容
– 都有结束条件:发生质变的界限
C语言程序设计
13
第5章 循环程序设计
1. 计算sumห้องสมุดไป่ตู้1+2+3+……+100
C语言程序设计
14
第5章 循环程序设计
1. 计算sum=1+2+3+……+100
#include <stdio.h> void main( ) { int i=1, sum=0 ;
C语言程序设计
11
第5章 循环程序设计
计算机程序由若干语句顺序组成:
• 顺序结构的程序只能按照语句的先后顺序从前向 后依次执行
• 分支结构程序虽然允许在执行了某个判断后跳过 某些语句执行后面的语句,但也只能按语句的前 后次序执行
• 有时,需要在程序中重复执行某个语句或语句块, 就需要循环结构
C语言程序设计
double paper_height, mountain_height; int number; paper_height=0.0001; mountain_height=8844.43; number=0;
while ( paper_height < mountain_height ) {
paper_height *= 2; number += 1; printf("对折第%d次后的高度是%g。\n", number, paper_height); } }
12
第5章 循环程序设计
生活中的例子: • 击鼓传花:
大家坐成一个圈,鼓声响起的时候将花束顺序交 到下一个人的手里,依次向下传递,当鼓声突然 中断时停止传花,花束落在谁的手里便成为输家
• 4×100米接力赛跑: 第1个人跑完100米后将接力棒传给第2个人,第 2个人再跑100米,然后是第3个人,直到第4个 人跑完最后一个100米
C语言程序设计
4
第5章 循环程序设计
C语言程序设计
5
第5章 循环程序设计
C语言程序设计
6
第5章 循环程序设计
C语言程序设计
7
第5章 循环程序设计
C语言程序设计
8
第5章 循环程序设计
C语言程序设计
9
第5章 循环程序设计
水温度的量变引起水的物理形态的质变: • 水在标淮大气压下加温到100摄氏度变成汽 • 降温到0摄氏度变成冰。
C语言程序设计
第5章 循环程序设计
管理学院 电子商务系
第5章 循环程序设计
5.1 概述 5.2 while和do while循环 5.3 for循环 5.4 循环的嵌套 5.5 循环的控制 5.6 应用举例 5.7 程序调试
C语言程序设计
2
第5章 循环程序设计
C语言程序设计
3
第5章 循环程序设计
while ( i <= 100 ) { sum = sum + i ;
i+=2 ; } printf ( “Sum = %d \n”, sum ) ; }
循环的初始化 循环控制条件 循环控制变量 循环体
C语言程序设计
16
5.2 while和do while循环
格式: while( 表达式 ) 语句 do 语句 while( 表达式 ) ;
do
sum = sum + i++ ;
{ sum = sum + i ;
printf ( “Sum = %d \n”,
i++;
sum ) ;
}
}
while ( i<= 100 );
printf ( “Sum = %d \n”, sum ) ;
}
C语言程序设计
21
5.2 while和do while循环
while语句的执行过程
while语句的执行过程是: ① 计算“表达式”的值; ② 若“表达式”的值不时0,为
“真”,继续执行③;否则,结束 循环,转到while语句后面的语句 继续执行程序; ③ 执行“语句”部分,即执行循环体; ④ 返回①继续执行。
C语言程序设计
18
5.2 while和do while循环
while ( i <= 100 ) { sum = sum + i ;
i++ ; } printf ( “Sum = %d \n”, sum ) ; }
循环的初始化 循环控制条件 循环控制变量 循环体
C语言程序设计
15
第5章 循环程序设计
2. 计算sum=2+4+6+……+100
#include <stdio.h> void main( ) { int i=2, sum=0 ;
C语言程序设计
10
第5章 循环程序设计
物体从地球上抛射速度的量变引起运动形式的质变: • 小于7911m/s时,在地面上沿弹道飞行; • 达到7911m/s时,绕地球作椭园轨道运动,成为地球的卫星; • 增大到11189m/s时,脱离地球成为绕太阳运行的一个行星; • 速度达到16662m/s时,脱离太阳系成为迢游太空的一个天体。
几何级数2x的力量: • 一页普通纸的厚度约为0.1mm(1mm=10-3m) • 珠穆朗玛峰的高度为8844.43m • 编写程序计算一下,普通纸对折多少次可以超过珠
穆朗玛峰的高度?
C语言程序设计
22
5.2 while和do while循环
#include <stdio.h> void main( ) {
C语言程序设计
20
5.2 while和do while循环
循环的变化:sum=1+2+3+……+100
#include <stdio.h>
#include <stdio.h>
void main( )
void main( )
{ int i=1, sum=0 ;
{ int i=1, sum=0 ;
while ( i<= 100 )
说明:
• 括号中的“表达式”是循环控制条件,但不限于 关系表达式和逻辑表达式
• “语句”是单一语句,但可以是复合语句
• 如果while语句的括号后面只有“;”,则循环 体为空。如果do-while语句的括号后面(分号前 面)还有其他符号,则出现语法错误
C语言程序设计
17
5.2 while和do while循环
相关文档
最新文档