黑马程序员--流程控制

来源:互联网 发布:淘宝店铺中差评的修改 编辑:程序博客网 时间:2024/06/07 11:12
流程控制: 
顺序结构
选择结构
1.if的第一种结构:
if(条件)
{
语句;
}
2.if的第二句语句
if()
{
语句;
}
else
{
语句;
}

3.if的第三种结构
if()
{
}
else if()
{
}
else if ()
{
}
else
{
}

4.if的第四种语句
if()
语句1;
语句2;
//只对1语句起作用
比较大小时,常量值放左边,变量放右边
赋值 = 不要写成两个等号 ==
if后面不要写;
if(10 > 6)
int a = 5; // 错误,作用域不明确,编译器不能确定范围
if (10 > 6)
{
int a = 5;
}
printf("%d\n", a); // 错误,a的作用域为大括号内部

switch:
switch(数值)
{
case 数值1:
语句1;
break;
case 数值2:
语句2;
break;
...
default:
语句3;
break;
}   //break 退出整个switch语句
//如果后面没有break,就会执行后面所有case语句,直到遇到break为止
seitch(c)//  如果在case 后面定义新的变量,必须用大括号{}包住
case '+':
{ int sum = a + b;
printf("和是%d\n", sum)
break;
}// 不加大括号,会出现作用域问题
   case '-':
   { int miuus = a + b;
printf("和是%d\n", minus)
 break;
    }

成绩判断:
# include<stdio.h>
int main ()
{
int score = 99;
switch (score/10)
{
case 10:
case  9:
printf("A\n");
break;
case  8:
printf("B\n");
break;
case  7:
printf("C\n");
break;
case  6:
printf("D\n");
break;
   default:
printf("E\n");
break;
}
return 0;
}

switch和if的区别:

1.if 能完成的功能,switch并不一定完成
if(a > 100)
2.在有些情况下,if和switch语句可以互换
3.switch能完成的功能,if语句都能完成

循环结构

while 
1.先确定需要重复执行的操作
2.在确定约束变量

定义一个变量记录做的次数
eg:
int count = 0;
while(count < 40)
{
++ count;
printf("做第%d次俯卧撑\n", count)
}

continue:
while(count < 40)
{
++ count;


if(count % 10 != 0)
{
continue;//直接结束这一次循环体,进入下一次循环判断
}

printf("做第%d次俯卧撑\n", count)
}

break:
结束循环体


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

continue:
结束当前的循环,进入下一次循环的判断
break:
直接结束整个循环体

题目: 
计算1~100中所有3的倍数的个体
# include<stdio.h>
int main()
{
int count = 0;
int number =0 ;

while (number < 100)
{
number ++;
if(number % 3 == 0)
{
count ++;
}
}


printf("1~100内3的倍数的个数:%d\n",count);

return 0;
}


while 使用注意:
最简单的死循环 while(1); 
do
{
}
while (条件);
两者区别:
1.很多情况下,两者可以互换
2.while特点:如果开始条件不成立李,永远不会执行循环体,
do
while特点:不管一开始条件是否成立,至少会执行一次循环体

for 循环:
1.不要随便在for()后面写分号
2.for (; ; )
int a = 10; //错误的写法,作用域问题


3.for (int i= 0;i< 10 ;i++ )
{
int i = 10;//  不矛盾
}

for (int i = 0; i<10; i++,a++)
{
int a= 10;  // a只能用在循环体中
}


for最简单的死循环 :for(;;)

eg:输出图形*****
# include <stdio.h>


int main()
{
int n = 0;


while (n <= 0)
{
printf("请输入一个正整数:\n");


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


for (int i=0; i<n ; i++)
{
for (int j=0;j<n-i ;j++ )
{
printf("*');
}
}
printf("\n");


return 0;
}



总结:
1.选择结构:
if ...else if...else if...
特点:同一时刻,只有一个大括号里面的代码会被执行


switch特点:
默认情况下,只有一个case后面的代码会被执行
如果一个case后面没有break,而且这个case成立,就会按顺序执行后面所有case中的语句,知道遇到break为止
如果在case后面定义一个新的变量,必须用大括号{}包住


2.循环结构
一般优先使用for循环
然后在考虑while循环
最后在考虑do while ()

break:
switch退出整个switch语句
退出整个循环结构
注意点:
只对最近的循环结构有效


continus:
结束当前的循环,进入下一次循环体
0 0
原创粉丝点击