顺序结构:默认的流程结构。按照书写顺序执行每一条语句。
选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
循环结构:在给定条件成立的情况下,反复执行某一段代码。
一、选择结构
1.if
1> 结构
if(条件) {
}elseif(条件2) {
}elseif(条件3) {
} else {
}
2> 特点
* 同一时刻,只有一个大括号里面的代码会被执行
2.switch
1> 结构
switch (数值)
{
case数值1:
break;
case数值2:
break;
case数值3:
break;
default:
break;
}
2> 特点
1> 默认情况下,只有一个case后面的代码会被执行
2> 如果一个case后面没有break,而且这个case成立,就会按顺序执行后面所有case中的语句,直到遇到break为止
3> 如果要在case后面定义一个新的变量,必须用大括号{}包住,防止出现作用域不明确的情况
作用域混淆 for (int i = 0; i<5; i++) int a = 10;
4>break的作用:跳出整个switch循环语句
if和switch
1>if语句能完成的功能switch不一定能完成
举例
int a = 10;
if(a>100){
}
2>在有些情况下if和switch可以相互互换
3>switch能完成的功能if语句都能完成
二、循环结构
1.while
1> 特点:如果一开始条件不成立,永远不会执行循环体
2.do while
1> 特点:不管条件是否成立,至少会执行一次循环体
3.for
for(<#initialization#>; <#condition#>; <#increment#>) {
<#statements#>
}
1>for语句一开始就会执行<#initialization#>,并且整个for循环只会执行一次
2><#condition#>用来判断条件是否成立,如果成立,就会执行 <#statements#>这个循环体,然后会执行<#increment#>在判断条件是否成立
4.选择
1> 一般优先使用for循环
2> 然后再考虑while
3> 最后再考虑dowhile
break 和 continue
break
1>使用场合
1>>switch语句:退出整个switch语句
2>>循环结构:退出整个循环语句
#while
#do while
#for
2>注意点
只对最近的循环结构体有效
continue
1>使用场合
循环结构:结束当前这次的循环体,进入下一次循环体(一般用来剔除一些不需要的数据)
#while
#do while
#for
2>注意点
只对最近的循环结构体有效
for循环嵌套
好友列表1
好友1
好友2
好友列表2
好友1
好友2
好友列表3
好友1
#include<stdio.h>
int main(){
for(inti =1; i<=4; i++) {
printf("好友列表%d\n", i);
for(intj =1; j<=7; j++){
printf(" 好友%d\n", j);
}
}
return 0;
}
提示用户输入一个正整数n,如果n=5,就输出下列图形,其他n值以此类推
*****
****
***
**
*
#include<stdio.h>
int main ()
{
// 1.定义一个变量存储用户输入的值
int n =0;// 一定要初始化
// 2.判断n值合不合理
while(n <=0) {
// 2.1 提示用户输入正整数
printf("请输入一个正整数:\n");
// 2.2 接收输入的数据
scanf("%d", &n);
}
// 3.输出图形
for(inti =0; i<n; i++)// 有多少行
{
//printf("*****\n");
for(intj =0; j<n-i; j++) {
// 每一行有多少个
printf("*");
}
printf("\n");
}
return 0;
}
网友评论