C语言 循环程序设计
- 格式:pptx
- 大小:4.00 MB
- 文档页数:83
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语言循环结构程序设计C语言是一种广泛使用的编程语言,以其高效和灵活性而闻名。
循环结构是C语言中一个非常重要的概念,它允许程序员重复执行一段代码直到满足特定条件。
C语言提供了三种基本的循环结构:for循环、while循环和do-while循环。
1. For循环For循环是一种计数器循环,它允许程序员指定循环开始的条件、循环继续的条件以及计数器的更新方式。
其基本语法如下:```cfor (初始化表达式; 条件表达式; 更新表达式) {// 循环体}```例如,使用for循环打印0到9的数字:```c#include <stdio.h>int main() {for (int i = 0; i < 10; i++) {printf("%d ", i);}return 0;}```2. While循环While循环在条件为真时重复执行代码块。
它的基本语法如下:```cwhile (条件表达式) {// 循环体}```使用while循环实现相同的功能,打印0到9的数字:```c#include <stdio.h>int main() {int i = 0;while (i < 10) {printf("%d ", i);i++;}return 0;}```3. Do-While循环Do-while循环与while循环类似,但它至少执行一次循环体,然后检查条件。
其基本语法如下:```cdo {// 循环体} while (条件表达式);```使用do-while循环打印0到9的数字:```c#include <stdio.h>int main() {int i = 0;do {printf("%d ", i);i++;} while (i < 10);return 0;}```4. 循环控制语句C语言还提供了两种控制循环流程的语句:`break`和`continue`。
广州大学学生实验报告五一、实验目的(1)熟练掌握for、while和do …while语句实现循环程序设计。
(2)理解循环条件和循环体,以及for、while和do …while语句的相同及不同之处。
二、实验设备实验设备要求每个学生一台电脑,并需装有VC++ 6.0程序。
三、实验内容(一)编写程序:求出 1,1+2,1+2+3,……数列中前n项的值。
(文件名:ch05_1.cpp)要求输入输出示例:Enter a number: 61 3 6 10 15 21(二)编写程序:从键盘上输入若干学生的成绩,统计并输出最高分和最低分成绩,当输入负数时结束输入。
(文件名:ch05_2.cpp)要求输入输出示例:Please input scores:65.5 86.4 74 92 67 91 54.5 -1Max=92.00Min=54.50(三)编写程序:有100匹马,要驮100担货物,其中,1匹大马可以驮3担,1匹中马可以驮两担,两匹小马可以驼1担,请问,大马、中马和小马可以有多少种组合。
(文件名:ch05_3.cpp)要求输入输出示例:大马2匹;中马30匹;小马68匹,大马5匹;中马25匹;小马70匹,大马8匹;中马20匹;小马72匹,大马11匹;中马15匹;小马74匹,大马14匹;中马10匹;小马76匹,大马17匹;中马5匹;小马78匹,共有6种驮法(四)编写程序:已知某正整数等差数列的前4项之和为10,前4项之积为24,经计算可得此等差数列的前六项为:1 2 3 4 5 6,前六项之和为:26。
请问:若某数列的前4项之和是26,前4项之积是880。
请输出此正整数等差数列的前六项与前六项之和(文件名:ch05_4.cpp)要求输出示例:1,2,3,4,5,6数列的前6项的和:21提示:(1)等差数列由首项和差值两项构成,用整型变量工a,d分别记录该两项。
(2)利用for循环进行求解,并且需要满足数列前4项之和为26。
第6章循环控制本章要求:1、初步熟悉用计算机解决问题的思路。
2、掌握while、do-while、for语句的特点和使用方法。
3、掌握break、continue语句的用法。
4、熟悉一些常见问题的算法及其C语言实现。
§6.1 概述循环:反复执行称为“循环体”的程序段。
循环控制常用于数学迭代、对象遍历等问题的求解,几乎所有实用程序都包含循环。
特别是在现代多媒体处理程序(图像、声音、通讯)中,循环更是必不可少。
Intel公司为了加快循环程序的执行,在CPU硬件中加入多媒体扩展指令MMX(Multi-Media-eXtension );AMD在CPU中加入3D Now!指令。
循环结构是结构化程序三种基本结构之一。
(顺序结构、分支结构)。
根据开始循环的初始条件和结束循环的条件不同,C语言中用如下语句实现循环1、用goto语句和if语句构成循环。
2、用while语句。
3、用do-while语句。
4、用for语句。
§6.2 goto语句一般形式:goto 语句标号作用:无条件转向“语句标号”处执行。
“语句标号”是一个标识符,它表示程序指令的地址。
goto语句不符合结构化程序设计准则,因为无条件转向使程序结构无规律、可读性差。
一般应避免使用goto语句,但如果能大大提高程序的执行效率,也可以使用。
[例6.1] 用if语句和goto语句构成循环,求。
main(){int i,sum=0;i = 1;loop:if (i <= 100){ sum = sum + i;i++;goto loop;}printf("%d",sum);}§6.3 while语句一般形式:while(表达式) 语句作用:实现“当型”循环。
当“表达式”非0(真)时,执行“语句”。
“语句”是被循环执行的程序,称为“循环体”。
特点:先判“表达式(条件)”。
[例6.2]main(){int i,sum=0;i = 1;whie (i <= 100){sum = sum + i;i++;}printf("%d",sum);}注意:1、注意给出循环的初始条件,如本例中“sum=0、i=1”。
循环结构程序设计1、求1+4+7+……+100之和。
解:解法1:用while语句构造循环。
⑴编程思路:①首先定义变量,s用于存放累加和,i为循环变量。
②将变量s清零,并令变量i的初值为1。
③当i<=100时,循环执行第④步。
④将变量i的值累加到变量s中,并令变量i的值加3。
⑤输出求得的变量s的值。
⑵源程序:main(){int s,i;s=0;i=1;while(i<=100){s=s+i;i+=3;}printf("s=%d\n",s);}注意:①用于存放累加和的变量s必须清零,否则变量s的初值是一个随机数。
②用于实现累加运算的赋值表达式,赋值运算符两侧必须有一个相同的变量(如s=s+i),否则就不能实现累加。
③当循环体多于一条语句时,必须用花括号括起来构成一条复合语句,否则循环体只包括紧跟在while(或for)之后的一条语句。
解法2:用for语句构造循环。
⑴编程思路:同解法1。
⑵源程序:main(){int s,i;s=0;for(i=1;i<=100;i+=3)s=s+i;printf("s=%d\n",s);}注意:①for语句与while语句在功能上是完全等价的,for语句可以看作是由while语句变形而来的。
2、求1到100之间的奇数之和与偶数之和。
解:解法1:⑴编程思路:①首先定义变量,s1,s2分别用于存放奇数之和与偶数之和,i为循环变量。
②将变量s1,s2清零,并令变量i的初值为1。
③当i<=100时,循环执行第④步。
④若i的值为奇数,则将变量i的值累加到变量s1中;否则将变量i的值累加到变量s2中。
然后令变量i的值加1。
⑤输出求得的变量s1,s2的值。
⑵源程序:main(){int s1,s2,i;s1=s2=0;for(i=1;i<=100;i++){if(i%2==1)s1=s1+i; /*奇数之和*/elses2=s2+i; /*偶数之和*/}printf("s1=%d,s2=%d\n",s1,s2);}解法2:⑴编程思路:①首先定义变量,s1,s2分别用于存放奇数之和与偶数之和,i为循环变量。