【C语言从入门到入土】第三章流程控制

第三章 流程控制

正式开始对流程控制语句的学习

不是你的能力,决定了你的命运,而是你的决定,改变了你的命运。

想,都是问题,做,才是答案。站着不动,永远是观众,想到做到,才是王道

控制类语句

帮助理解

1.if()...else... 条件语句,++层层递进的++

c 复制代码
if(条件){
    表达式01
}else{
    表达式02
};
关系运算符
++如何交换两个数的值?++

++不交换土办法++

逻辑运算符
if...else嵌套
c 复制代码
include <stdio.h>
    int main(){
    if(){
        
    }else if(){
        
    	}else if(){
        
    		}
    
    return 0;
}
如果有三个数,如何让它从小到大排序,要用到冒泡排序法,之后学习
c 复制代码
#include <stdio.h>
int main(){
    int a,b,c;
    printf("请依次输入三个数\n");
    scanf("%d%d%d",a,b,c);
    //分析出会出现三种情况,a最大,,b最大,,c最大
    if(a>b&&a>c){
        
    }
    return 0;
}

2.switch( ) case... 并列,多分支语句

可以是字符,也可以是数字,,,直接看代码学习怎么用

c 复制代码
switch(输入的条件){
    case 1:
        表达式01;
        break; //必须要加上这个语句才能结束
    case 2:
        表达式02;
        break;
    case 3;
        表达式03;
        break;
    default:
        条件都不符合;//在不满足上述所有情况时使用
              
}
2.1练习题
c 复制代码
#include<stdio.h>
int main(){
    int x,y;
    printf("请输入x的值为多少");
    scanf("%d",&x);
    switch(x){
        case 0:
            y=x;
            break;
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
            case 6:
            case 7:
            case 8:
            case 9:
            y=2*x-1;
            break;
        default:
            3*x-11;
            break;
    }
    printf("你输入的数y=%d,x=%d",y,x);
    return 0;
}

运行结果,,基本上算是成功了吧,,,无法控制是负数的情况,还有小数,比较坑,,这个故事告诉我们,要选择正确的语句,,如果if...else会简单很多,,不要勉强自己

3.while循环控制语句

c 复制代码
while(条件){			//注意条件只识别,0和1,如果一直是一个正数,这就是一个死循环,要杜绝这种情况,会把单片机内存无限占用
    				//Ctrl+c可以强行终止
    表达式;
}

/******举个例子,,输入十次我爱你*****/
#include <stdio.h>
int main(){
    int a=0;
    while(a<10){
        a=a+1;	//每循环一次,a都会加上一个1
        //还有一种写法,比较简介
        a++;
    }
    
    return 0;
}
3.1练习题
c 复制代码
/*错误案例*/
#include<stdio.h>
int main(){
    int a=0;
    int b=0;
    while(a<=100){
      a=a+1;
        b=b+a;
        printf("b的值为%d",b);
    }
     printf("最终值为%d",b);
    return 0;
}

发现错误了嘛??先写条件的话,会多算一个101,,,以后要注意了

4.do...while

先做一次循环再判断,

c 复制代码
do{
    
}while();

5.for(){ }

c 复制代码
#include<stdio.h>
int main()//三个表达式
{
    int sum;
    int data=1;//表达式1,,条件的初始值
    while(data<=100){	//表达式2,,条件的临界值
        sum=sum+data;
        data++;	//表达式3,,条件的改变
         }
    printf("%d\n",sum);
    
    return 0;
}

++语句全省略的话就是一个死循环++

6.break,,,在还没有达到临界值的情况下,提前结束循环

==介绍一个重要概念,,==取余

% //取余


break结束整个循环,,,,contine仅仅结束本次循环

7.用contine提前结束本次循环

c 复制代码
#include<stdio.h>
int main(){
    for(int a=100;a<=200;a++){		//注意要用分号,,因为每个表达式换成单个
      /*首先要明确一点,能被3整除,则余数就是0*/
        if(a%3 ==0){
          continue;
      } 
        printf("%d",a);
    }
    
    return 0;
}

++运行结果++

循环嵌套

c 复制代码
#include <stdio.h>
int main(){
    int i,j;
    int data =1;
    for(i=1;i<=5;i++){
        for(j=1;j<=3;j++){
            printf("i=%d , j=%d\n",i,j);	//为了打印出行列,,研究行列的关系
            printf("data=%d",data++);	//为了研究一共有几个数
        }
        
    }
}

运行结果

数的个数等于,行列相乘,,

嵌套练习题
c 复制代码
#include<stdio.h>
int main(){
    int i,j;
    for(i=1;i<=4;i++){
        for(j=1;j<=5;j++){
            printf("%d    ",i*j);
        }
        printf("\n");
   }
    return 0;
}

运行结果


相关推荐
杜杜的man1 分钟前
【go从零单排】迭代器(Iterators)
开发语言·算法·golang
亦世凡华、1 分钟前
【启程Golang之旅】从零开始构建可扩展的微服务架构
开发语言·经验分享·后端·golang
测试界的酸菜鱼15 分钟前
C# NUnit 框架:高效使用指南
开发语言·c#·log4j
GDAL15 分钟前
lua入门教程 :模块和包
开发语言·junit·lua
李老头探索17 分钟前
Java面试之Java中实现多线程有几种方法
java·开发语言·面试
CSXB9919 分钟前
三十四、Python基础语法(文件操作-上)
开发语言·python·功能测试·测试工具
落樱坠入星野35 分钟前
拿下阿里云之后如何在本地运行镜像进行分析
经验分享·安全·网络安全·阿里云·云计算
web Rookie38 分钟前
JS类型检测大全:从零基础到高级应用
开发语言·前端·javascript
很楠不爱1 小时前
Qt——窗口
开发语言·qt
yi碗汤园1 小时前
【一文了解】C#基础-集合
开发语言·前端·unity·c#