首页 > 其他分享 >【C语言从入门到入土】第三章流程控制

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

时间:2024-06-06 23:00:10浏览次数:22  
标签:case main 入门 int C语言 入土 printf include 表达式

第三章 流程控制

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

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

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

控制类语句

在这里插入图片描述

在这里插入图片描述

帮助理解

在这里插入图片描述

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

if(条件){
    表达式01
}else{
    表达式02
};

在这里插入图片描述

在这里插入图片描述

关系运算符

在这里插入图片描述

如何交换两个数的值?

在这里插入图片描述

不交换土办法

在这里插入图片描述

逻辑运算符

在这里插入图片描述

if…else嵌套
include <stdio.h>
    int main(){
    if(){
        
    }else if(){
        
    	}else if(){
        
    		}
    
    return 0;
}
如果有三个数,如何让它从小到大排序,要用到冒泡排序法,之后学习
#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… 并列,多分支语句

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

在这里插入图片描述

switch(输入的条件){
    case 1:
        表达式01;
        break; //必须要加上这个语句才能结束
    case 2:
        表达式02;
        break;
    case 3;
        表达式03;
        break;
    default:
        条件都不符合;//在不满足上述所有情况时使用
              
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.1练习题

在这里插入图片描述

#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循环控制语句

在这里插入图片描述

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练习题

在这里插入图片描述

/*错误案例*/
#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

先做一次循环再判断,

在这里插入图片描述

do{
    
}while();

5.for(){ }

#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提前结束本次循环

在这里插入图片描述

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

运行结果

在这里插入图片描述

循环嵌套

#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++);	//为了研究一共有几个数
        }
        
    }
}

运行结果

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

在这里插入图片描述

嵌套练习题

在这里插入图片描述

#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;
}

运行结果

在这里插入图片描述


标签:case,main,入门,int,C语言,入土,printf,include,表达式
From: https://blog.csdn.net/v13111329954/article/details/139483053

相关文章

  • 八大排序(使用C语言)
    完整代码链接:诶嘿/DataStructure-码云-开源中国(gitee.com)目录一、排序的概念及应用:1.排序的概念:2.排序应用:二、常见排序算法的实现: 1 插入排序:1.1基本思想:1.2直接插入排序:1.2.1代码实现: 1.2.2测试:1.2.3时空复杂度:1.3希尔排序(缩小增量排序):1.3.1......
  • 5分钟入门大模型,就5分钟
    这个是大模型系列课程的第一节。接下来我带着大家一起拥抱新技术,分享的进展不会很快,大概一周一次,有空可以直播讲解或实操。为了照顾那些工程出身,甚至非技术同学,我这个系列会从小白开始,从基础概念入门逐步展开。我不会研究基础大模型,而是会关注应用层,当然也会涉及预训练、知识......
  • 图神经网络GNN实践入门
    参考视频网址:https://www.bilibili.com/video/BV1MP41187pv/?spm_id_from=333.999.0.0&vd_source=590f4019caa7ed7b4e57c0e869ad0867文章目录图神经网络GNN一、GNN的优势1、处理非欧几里得数据2、捕捉节点间的复杂关系3、信息聚合和传递4、适用于各种图相关任务二、G......
  • C语言通过socket实现TCP客户端
    socket概念​ 从wiki上了解,socket这个词追溯到1971年RFC147的发布。​ 目前我的理解:常用于指操作系统提供的API,该API允许使用TCP、UDP进行连接,但不仅限于TCP、UDP协议。实现目的利用系统提供函数接口,通过C语言实现对TCP服务器(IP地址)的连接,以及收发数据。实现......
  • C语言关于预处理的基础介绍
    一:预定义符号    在c语言中有一些预定义的符号,这些符号已经定义好了,用户不需要再次定义只需要使用即可。 __FILE__:显示当前进行编译的源文件__LINE__:显示当前代码行号__DATE__:显示当前文件被编译的日期__TMIE__:显示当前文件被编译的时间__STDC__:查看当前编译......
  • ChatGPT Prompt技术全攻略-入门篇:AI提示工程基础
    系列篇章......
  • C语言:详解gcc驱动程序完成编译、汇编、链接的过程
    相关阅读C语言https://blog.csdn.net/weixin_45791458/category_12423166.html?spm=1001.2014.3001.5482    gcc是一个命令,严格意义上说,它只是一个驱动程序,而不是一个编译器。gcc负责调用GNU工具链中的预处理器、编译器、汇编器、链接器等工具,通过传递不同的选项给g......
  • 【C语言】指针(4)
    一、回顾 在这之前,我们学习了很多关于指针的内容,我们先在这里简单的回顾一下。1、一级指针int*p;  --整形指针-指向整形的指针 char*p;...void*p;......2、二级指针int**p; char**p;...3、数组指针--指向数组的指针int(*p)[];intmain(){......
  • 【入门教程】5分钟教你快速学会集成Java springboot ~
    介绍ApacheDolphinScheduler是一个分布式易扩展的开源分布式调度系统,支持海量数据处理,具有任务流程调度、任务流程编排、任务监控告警、工作流引擎等功能。本文将介绍如何将ApacheDolphinScheduler集成到JavaSpringboot项目中,以实现更灵活和便捷的调度功能。步骤步骤一:添......
  • C语言杂谈:函数栈帧,函数调用时到底发生了什么
            我们都知道在调用函数时,要为函数在栈上开辟空间,函数后续内容都会在栈帧空间中保存,如非静态局部变量,返回值等。这段空间就叫栈帧。    当函数调用,就会开辟栈帧空间,函数返回时,栈帧空间就会被释放。这里的释放并非清空,而是让其无效化,可以后续的使用。1,......