首页 > 其他分享 >## 学习笔记day05-C语言基础:控制语句 if else、do while、for循环

## 学习笔记day05-C语言基础:控制语句 if else、do while、for循环

时间:2024-07-19 22:54:32浏览次数:16  
标签:case do 循环体 ## 代码 day05 break printf 表达式

day05

六、控制语句

1.顺序语句

​ 在模块内部没有分支、跳转、循环等条件时,程序按照顺序执行

2.分支语句
选择语句
    if...else
        
  单分支
    if(表达式)
    {
        代码块;
    }
	step:先判断表达式是否为真(非0为真,0为假)
        如果为真,进入if选择结构,执行选择语句中的代码块
        如果为假,跳过if选择结构
        
  双分支
    if(表达式)
    {
        代码块;
    }else{
        代码块;
    }
	step:
		先判断表达式是否为真,如果为真执行代码块1,如果为假执行代码块2;
    注意:
        1)if语句后的代码块要用{},代表一个模块
        2)else与之前未配对的if进行配对
       
  多分支:
    if(表达式1){
        代码块1;
    }else if(表达式2){
        代码块2;
    }else if(表达式3){
        代码块3;
    }else{
        代码块4;
    }
	step:
		先判断表达式1是否为真:
            如果为真,执行代码块1;
            如果为假,继续判断表达式2;   	

	switch...case
    switch(表达式)
    {
        case 常量表达式1:
            代码块1;
            break;
        case 常量表达式2:
            代码块2;
            break;
        case 常量表达式3:
            代码块3;
            break;
        ...
        default:
            代码块4;
    }
	step:
		根据switch表达式中的值,判断switch体系中,case后的常量表达式是否满足该条件,如果有条件满足,则从case对应的语句开始执行;如果条件都不满足,则执行default中的语句块;
    break:强行跳出switch体系;

2)从键盘上输入1~7的整形数据,打印星期一~星期日
    eg:
    switch(n)
      {
          case 1: printf("星期一\n");
                  break;
          case 2: printf("星期二\n");
                  break;
          case 3: printf("星期三\n");
                  break;
          case 4: printf("星期四\n");
                  break;
          case 5: printf("星期五\n");
                  break;
          case 6: printf("星期六\n");
                  break;
          case 7: printf("星期日\n");
                  break;
      }
      return 0;

在这里插入图片描述

3.循环语句
1)while
一般形式
    while(表达式)
    {
		循环体;
    }
step
    先判断表达式是否为真(非0为真),如果为真,执行一次循环体
    
    eg:
int main(int argc, char *argv[])
{ 
    int i = 2;
    while(++i< 5){ 
        printf("i = %d\n",i);
    }   
    
    printf("最后的i = %d\n",i);
    return 0;
} 
//打印结果:
i = 3
i = 4
最后的i = 5
    
    eg:
int main(int argc, char *argv[])
{ 
    int i = 2;
    while(i++ < 5){ 
        printf("i = %d\n",i);
    }   

    printf("最后的i = %d\n",i);
    return 0;
} 
//打印结果:
i = 3
i = 4
i = 5
最后的i = 6
	
2)do...while
一般形式:
    do{
        循环体;
    }while(表达式);
step:
	先执行一次循环体,再判断表达式
        如果为真,继续执行循环...
        如果为假,跳出循环体
    注意:先执行,再判断
       
3)for循环
一般形式:
for(表达式1;表达式2;表达式3)
{
    循环体;
}
表达式1:循坏控制变量的初始化
表达式2:循环退出条件
表达式3:循环控制变量的自增或自减
step:
	先执行表达式1(只执行一次)
    再执行表达式2,判断表达式2是否为真
        如果为真执行循环体,并执行表达式3
        再次判断表达式2是否为真...
        如果为假,直接跳过循坏体

标签:case,do,循环体,##,代码,day05,break,printf,表达式
From: https://blog.csdn.net/2201_75349894/article/details/140561129

相关文章

  • DHCP协议-------动态主机配置协议
    一、DHCP概述作用:用来为终端分配IP地址,并且对IP地址进行集中化管理的协议。应用层协议;传输层使用UDP协议进行数据封装,端口号67/68,其中68代表客户端;67代表服务端报文类型DHCPdiscover:发现报文,用来发现网络中的DHCP服务器,使用的是广播报文。DHCPoffe......
  • 算法第十一天:leetcode707.设计链表
    一、设计链表的题目描述与链接  707.设计链表的链接如下表所示,您可直接复制下面网址进入力扣学习,在观看下面的内容之前一定要先做一遍哦,这样才能印象深刻!https://leetcode.cn/problems/design-linked-list/https://leetcode.cn/problems/design-linked-list/题目描述:你......
  • MongoRepository 操作 AWS DocumentDB时,如何达到与MySql 中有 select … for update
    在MySQL中,SELECT...FORUPDATE用于在事务中对读取的数据行加锁,以防止其他事务同时修改这些行。这种行级锁定机制在关系型数据库中广泛使用,以确保数据一致性。在MongoDB或AWSDocumentDB中,类似的效果可以通过以下方式实现:使用FindandModify操作:MongoDB提供了f......
  • 常用sprintf格式化输出
    %d  有符号十进制整数%u  无符号十进制整数 %ld  有符号长整型(longsigned)%lu  无符号长整型(longunsigned) %c  字符%s  字符的字符串  %f  十进制浮点数%lf:双精度浮点数  //------------------------分隔符-------------......
  • 航电多校 2024 笔记
    01写点赛时不会的。难绷场,可能因为是01所以比较水,就只有最后一个能放省选模拟T1,以及一堆原神题。T5hdu7434博弈小马给出了一个可重小写字符集合 \(S\)。Alice初始时有空串 \(A\),Bob初始时有空串 \(B\)。两人轮流等概率取出集合 \(S\) 中的一个字符 \(c\),将它拼接......
  • C#/.NET这些实用的编程技巧你都会了吗?
    DotNetExercises介绍DotNetGuide专栏C#/.NET/.NETCore编程常用语法、算法、技巧、中间件、类库练习集,配套详细的文章教程讲解,助你快速掌握C#/.NET/.NETCore各种编程常用语法、算法、技巧、中间件、类库等等。GitHub开源地址:https://github.com/YSGStudyHards/DotNetExercise......
  • 理解进程,线程,协程
    为什么需要进程,线程,协程?举个例子,比如:我们gorunmain.go,启动一个go程序,从磁盘读取可执行文件,将CPU要执行的命令加载到内存中,然后CPU就一直:1.读取内存指令,2.执行指令,循环往复。那我们从磁盘读取的可执行文件,读到内存,他放在什么地方呢?我们需要找一个结构体来记录这些东西......
  • MaxKB添加本地ollama大模型遇到API域名无效的问题
    MaxKB添加本地ollama大模型遇到API域名无效的问题前期的安装过程下载ollama,直接安装添加环境变量,使得下载模型到指定文件夹docker部署MaxKB打开添加模型API域名无效解决办法添加环境变量给ollama在“系统变量”或“用户变量”中点击“新建…”。输入变量名OLLAMA_......
  • 初级java每日一道面试题-2024年7月19日
    在Java中,重载(Overloading)和重写(Overriding)是面向对象编程中多态性的两个重要概念。1.重载(Overloading)定义:重载是指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可。也就是说,这些方法的名称相同,但参数的个数、类型或顺序至少有一个不同。目的:重载......
  • 前端必修技能:高手进阶核心知识分享 - CSS伪类和伪元素
    前端必修技能:高手进阶核心知识分享-CSS伪类和伪元素前端必修技能:高手进阶核心知识分享-CSS伪类和伪元素在前端的工作中,经常会遇到伪类和伪元素,但很多人(包括我自己)都没有仔细的去分辨它们,归其原因,大概是因为:写法相似。但其实,伪类和伪元素还是有很多不同的。温......