黑马程序员--------------C语言的循环结构

循环结构

while循环

1.while循环基本使用

int main()
{
int cout = 0;
while(count<=50)
{
++count;
printf("做第%d次俯卧撑\n count");//(循环体)

}
return 0;
}

使用while 循环的时候,先确定需要重复执行的操作,在确定约束条件。

2.while循环的关键字

continue
结束当前的循环体,进入下一次循环体的执行

int main()
{
int cout = 0;
while(count<=50)
{
++count;
if(count%10 ==0);
{
continue; //如果是10的倍数,那么就跳出if重新判断循环条件
}
printf("做第%d次俯卧撑\n count");//(循环体)
}
return 0;
}

break

直接结束整个while循环,退出整个循环的关键字

int main()
{
int cout = 0;
while(count<=50)
{
++count;
printf("做第%d次俯卧撑\n count");
if(count == 30)
{
break; //意思是循环进行到count== 30的时候退出整个while循环
}
}
return 0;
}

总结
while 循环运行原理
1.如果一开始条件不成立,永远不会执行循环体
2.如果条件成立,就会执行一次循环体,执行完毕,再次判断条件是否成立.......

练习1:
提示用户输入一个正整数n,计算1+2+3+...+n的和

#include <stdio.h>

int main ()
{
int n =0; // 一定要初始化
while(n <= 0)
{
//1.提示输入
printf(请输入一个正整数:\n);
//2.接收输入

scanf("%d", &n);
}

/*****************方法2**************
int n;

if ( n <= 0)
{
printf("非法输入!!");
return 0;
}
int sum = 0

***********************************/

int number =1 //默认被加的数值

// 3.计算
while (number < n)
{
sum += number;
number++;
}

printf("%d\n", sum)
return 0;
}

练习2:
计算100以内所有3的倍数的个数

#include <stdio.h>

int main ()
{
// 记录3的倍数的个数
int count = 0;

// 记录当前检查的数值
int number = 0;

while (number <100 )
{
number++;
//说明number是3的倍数

if(number%3 == 0){
count++;
}
}
printf ("1-100内3的倍数的个数:%d\n, count")
return 0;
}

while循环使用注意

while(10) // 10为真,为1
{
printf("hahahah\n");
}

上面代码会引发死循环,所以要注意while循环的条件

int a = 10;
while(a>0)
printf("hahahah\n"); // 如果while后面没有大括号,那么会默认while后面第一个语句为循环体
{

}

int a = 10;
while(a>0); // 死循环,后面的分号代表while循环这个结构完了,后面不是while的部分

{
printf("hahahah\n");
}

while(1); //最简单的死循环

do while 循环

do{

}while(条件); // do while 循环不管条件成不成立都会先执行一次条件

很多情况下while 和do while是可以互换的

for循环

for(语句1;条件;语句2)
{
循环体;
}

语句1:初始化语句
语句2:增量语句(执行完循环体后在执行的语句)

for循环一开始就会执行一次语句1(整个for循环只会执行一次)
判断条件是否成立,如果成立,就会执行一次循环体,然后就会执行语句2,再次判断条件是否成立

#include <stdio.h>

int main ()

{
for( int count = 0; count <50 ; count++)
{
printf("做第%d次俯卧撑\n,count");
}
return 0;
}

for 循环把变量定义在语句里面,语句结束后变量就会回收,而while 循环则把变量定义在语句外面,不能及时回收变量,所以for循环要比while性能要高。

for循环使用注意(在代码中详细介绍)

for(int i = 0;i<5;i++); //注意,不要随便在for()后面写分号
{
printf("haha\n");
}

下面是错误写法,for定义变量要加{},不然变量的作用域会不明确,编译器报错
for(int i = 0;i<5;i++);
int a = 10;

for(int i = 0;i<5;i++,a++);
{
int a = 10; 这样定义是错误的,因为执行a++之前变量a就已经销毁了
//int i = 10; 这样定义是没错误的,因为语句1定义的i的作用域已经包括了语句2里面的i++
}
//循环体每次执行完都会自动销毁

for(;;); // for循环最简单死循环

for循环嵌套(用在像输出QQ好友列表的时候)

#intclude <stdio.h>
int main()
{
for(int i=3;i<=3;i++)
{
printf("好友列表%d\n",i);
for(int j =1;j<=6; j++)
{

printf("好友%d\n",j);
}
}
return 0;
}

上面代码会输出i个好友列表,每个列表有j个好友

for循环嵌套练习

// 提示用户输入一个正整数n,如果n=5,就输出下列图形,其他n值以此类推
*****
****
***
**
*

#include <stdio.h>
int main()
{
/提示一个变量储存用户输入的值
int n =0;

//判断n值合不合理
while(n <=0)
{
提示用户输入正整数
printf("请输入一个正整数:\n");
scanf(%d,&a);
}
//输出图形

for(int i=0; i<=n;i++) //有多少行
{
for(int j=0;j<=n-i;j++)
{
printf("*");
}
pintf("\n");
}

return 0;
}

额外知识补充

break和continue使用注意

break使用场合
1.switch语句,退出整个switch语句
2.循环结构:退出整个循环结构
while
do while
for

continue 使用场合
循环结构:结束当前这次循环体,进入下一个循环体
while
do while
for

break和while 只对最进的循环体有效

时间: 2024-11-08 20:16:41

黑马程序员--------------C语言的循环结构的相关文章

黑马程序员— C语言基础之结构体、枚举、预处理、typedef的使用

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 本章我们主要来学习之前所学的复杂数据类型中的同样也很重要的结构体和枚举的知识,以及C语言中的预处理,typedef的使用,简单介绍一下static和extern等一些比较杂的知识.在开始本章的新知识学习之前首先我们来学习一下根据变量的作用域的不同C语言一般把变量分为两种,局部变量和全局变量.下面我们来分别比较和体会一下这两种不同的变量类型: 根据变量的作用域,可以分为: 1. 局部变量: a.

黑马程序员 C语言:循环语句

什么是循环? 当条件满足的时候,重复执行某一段代码 条件不满足的时候,跳出循环 --->执行循环的后面的语句 循环的三个要素: 循环控制条件:循环结束的条件 循环体:执行循环做的事情 能够保证让循环正常结束的(自增.自减.真.假) C语言中的三种循环 while循环(当条件满足的时候,执行循环体) 使用:while(条件表达式) ; while(条件表达式) sum+=1; while(条件表达式){ 循环体 } 注意: while(1)  死循环 while(条件表达式) int num=1;

黑马程序员--C语言中的结构体

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 结构(struct)      结构是由基本数据类型构成的.并用一个标识符来命名的各种变量的组合.  结构中可以使用不同的数据类型.      1. 结构说明和结构变量定义      在Turbo C中, 结构也是一种数据类型, 可以使用结构变量, 因此,  象其它  类型的变量一样, 在使用结构变量时要先对其定义.      定义结构变量的一般格式为:       struct 结构名   

黑马程序员 C语言-枚举,结构体,指针

一.枚举 ※枚举变量的定义 前面只是定义了枚举类型,接下来就可以利用定义好的枚举类型定义变量. 跟结构体一样,有3种方式定义枚举变量 1.先定义枚举类型,再定义枚举变量 enum Season {spring, summer, autumn, winter}; enum Season s; 2.定义枚举类型的同时定义枚举变量 enum Season {spring, summer, autumn, winter} s; 3.省略枚举名称,直接定义枚举变量 enum {spring, summer

黑马程序员——c语言基础:结构体和枚举---typedef的使用

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.什么是结构体 当一个整体由多个数据构成时,我们可以用数组来表示这个整体,但是数组有个特点:内部的每一个元素都必须是相同类型的数据. 在实际应用中,我们通常需要由不同类型的数据来构成一个整体,比如学生这个整体可以由姓名.年龄.身高等数据构成,这些数 据都具有不同的类型,姓名可以是字符串类型,年龄可以是整型,身高可以是浮点型. 为此,C语言专门提供了一种构造类型来解决上述问题,这就是结构体,它

黑马程序员_C语言总结-基础部分

C语言基础 1.C语言的关键字 1>关键字就是C语言提供的有特殊含义的符号,也称为保留字,C语言中一共有32个关键字,这些关键字都有自己的含义 例如:int double float if  else switch for 等等 2.标示符的概念: 1>标示符就是在程序中自定义的一些名称,比如函数名,变量名,结构体名等等这些都是标示符 2>命名规则: 1>只能由英文字母的大小写和数字以及_下划线组成,且首字母必须为字母或者下划线_ 2>在C语言中是严格区分大小写的,比如if是

黑马程序员-c语言变量作用域问题

c语言中的变量作用域总结 不管什么语言,main好像总是程序的入口,大括号是它的内容:变量的作用域总是困扰着我们,接下来,我们循序渐进的搞明白c语言中的变量作用域,首先得知道c是弱类型的语言,弱类型表现在很多方面: 1:你可以直接在程序中写一个常量,然后一个分号:1: 2:在定义函数时,void型的函数可以return:int型的可以不用写返回值. ---还有很多 下面我们一步一步开始:首先在main中定义的变量当然作用于整个main函数了 1:在main中定义变量 #include<stdio

黑马程序员_OC语言前期准备

OC语言前期准备 一.OC简介 Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码. 可以使用OC开发mac osx平台和ios平台的应用程序. 拓展名:c语言-.c  OC语言.-m  兼容C++.-mm 注:其实c语言和oc甚至任何一门语言都只是我们为了实现一些功能,达到一些效果而采用的工具,抛开语法的差别外,我想最重要的应该是在解决问题的时候考虑的角度和方法不一样而已,然而这也构成了学习一门语言的重要性. 二.语法预览 (一)

黑马程序员——c语言学习心得—— 指针

黑马程序员——c语言学习心得—— 指针 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 1,打开文件fopen(文件名,打开方式);例如:FILE *fp = fopen("a1","r");  返回的是文件的指针(文件在内存缓冲区的首地址)fopen函数反回值 是指向 a1文件的指针,通常赋值给一个指针变量关于文件名a1 也可以是一个“路径+文件名”   c:\abc.txt----------------