C语言_分支和循环语句(1)

news2024/11/13 23:39:25

文章目录

  • 前言
  • 分支语句
  • 循环语句
  • 一、什么是语句
    • 1.C语句可分为以下五类:
    • 2. 控制语句
    • 3.以下三类:
  • 二、分支语句(选择结构)
    • 2.1 .1 if语句语法结构
    • 2.1.2 if书写形式的对比
    • 2.1.3 练习
    • 2.2 switch 语句
  • 2.2.1 在switch语句中的break
    • 2.2.2 default子句(default -- 默认的意思)
  • 三.循环语句
    • 3.1 while 循环
    • 3.1.1 while 语句中的break 和 continue
  • 四.getchar putchar EOF


前言

C语言:结构化的程序设计语言
顺序结构、选择结构、循环结构

分支语句

  • if
  • switch

循环语句

  • while
  • for
  • do while

一、什么是语句

1.C语句可分为以下五类:

1.表达式语句、2.函数调用语句、3.控制语句、4.复合语句、5.空语句(一个分号 ; 就是)

2. 控制语句

用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构、循环结构)他们由特定的语句定义附组成,C语言有九种控制语句。

3.以下三类:

1.条件判断语句也叫分支语句: if 语句 、 Switch 语句;
2.循环执行语句: do while 语句 、 while 语句、 for 语句;
3.转向语句:break 语句、 go to语句、 continue语句、return语句。

二、分支语句(选择结构)

2.1 .1 if语句语法结构

默认后面只能跟一条语句;若想跟多条语句,加大括号{ }
  • 单分支 — 语法结构:
    if(表达式)
    语句;

  • 双分支 — 语法结构:
    if (表达式)
    语句1;
    else
    语句2;

  • 多分支
    if(表达式1)
    语句1;
    else if (表达式2)
    语句2;
    else
    语句3;



2.1.2 if书写形式的对比


2.1.3 练习

  • 1.判断一个数是否为奇数
    特点:除2于1。

  • 2.打印 1~100 间的奇数

2.2 switch 语句

switch语句也是一种分支语句。常常用于多分支的情况

!!! 在最后一个case语句后面加上一条 break 语句。 !!!

switch 语句语法
switch (整形表达式)
{
语句项;
}
语句项 —
// 是一些case语句;
// 如下:
case 整形常量表达式 :
语句;


2.2.1 在switch语句中的break

在switch语句中,我们没办法实现分支,搭配break使用才能实现真正的分支


2.2.2 default子句(default – 默认的意思)

如果表达的值与所有的case标签的值不匹配,结构–就是所有的语句都会被跳过而已,程序并不会终止,也不会报错,因为这种情况在C中并不认为是个错误。
但是,如果并不想忽略不匹配所有标签的表达式的值时该怎么办

练习:
  • 1.switch 语句是可以嵌套的
  • 2.break 只会跳出一层switch

三.循环语句

  • while
  • for
  • do while

3.1 while 循环

语法结构: while(表达式) 循环语句;

3.1.1 while 语句中的break 和 continue

  1. break 在while循环中的作用:

在循环中遇到 break 就停止后期的所有循环,直接终止循环。
所以:while中的 break 是用于永久终止循环的 。

  1. continue 介绍:

continue 是用于终止本次循环的,也就是本次循环中 continue 后边的代码不会再执行,
而是直接跳转到while语句的判断部分,进行下一次循环的入口判断。

四.getchar putchar EOF

  1. getchar
    读取一个字符、获取一个字符

EOF — end of file 本质就是 文件结束的标志


在函数读取失败的时候返回了 EOF scanf 函数读取成功,返回的是读取到的数据的个数 读取失败返回EOF getchar 读取成功返回字符的ASCII码值 读取失败返回EOF Ctrl + Z 会让scanf 或者 getchar 返回EOF
  1. putcher
    打印字符

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/931641.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

美团2面:5个9高可用99.999%,如何实现?

说在前面 在40岁老架构师 尼恩的读者社区(50)中,最近有小伙伴拿到了一线互联网企业如网易、有赞、希音、百度、网易、滴滴的面试资格,遇到一几个很重要的面试题: 问题1:你们系统,高可用怎么实现? 问题2&am…

根据案例写PLC程序-红绿灯控制

案例: 1、南北方向红灯点亮30s后熄灭; 2、在点亮南北方向红灯的同时点亮东西方向绿灯,并在点亮25s后,以0.5s熄灭0.5s点亮的时间闪烁3次后熄灭; 3、在东西方向绿灯熄灭后,东西方向黄灯点亮2s后熄灭&#xff…

手把手教你训练自己的Lora

本文教你手把手训练自己的Lora模型, 炼制的是Stable Diffusion的Lora模型。 1 准备工作 1.1 训练工具 当然, 我们可以使用Stable Diffusion的源码进行修改, 然后训练Lora模型。 但对于非专业用户来说, 这个门槛太高了。 推荐使…

Cookie for Mac:隐私保护工具保护您的在线隐私

随着互联网的发展,我们每天都会浏览各种网站,享受在线购物、社交娱乐和学习资料等各种便利。然而,您是否曾经遇到过需要频繁输入用户名和密码的情况?或者不方便访问您常用的网站?如果是这样,那么Cookie for…

无涯教程-机器学习 - 数据可视化

在上一章中,无涯教程讨论了数据对于机器学习算法的重要性,以了解具有统计信息的数据,还有另一种称为可视化的方式来理解数据。 借助数据可视化,可以看到数据的属性保持什么样的关联,这是查看要素是否与输出相对应的最…

ELK高级搜索(二)

文章目录 7.Java api 文档管理7.1 es技术特点7.2 获取数据7.3 文档查询7.4 文档新增7.5 文档修改7.6 文档删除7.7 文档bulk 8.图解es内部机制8.1 es分布式基础8.2 分片shard、副本replica8.3 单node环境创建index8.4 多node环境replica shard8.5 横向扩容…

WPF基础入门-Class7-WPF-MVVN框架

WPF基础入门 Class7-MVVN框架 使用框架可以省掉如Class6中的ViewModelBase.cs的OnPropertyChanged,亦方便命令传参 1、NuGet安装CommunityToolkit.Mvvm(原Mircrosoft.Toolkit.Mvvm)也可以安装MVVMLight等其他集成库 2、显示页面&#xff1…

【LeetCode-中等题】240. 搜索二维矩阵 II

文章目录 题目方法一:暴力双for查找方法二:二分查找,对每二维数组进行拆分,一行一行的进行二分查找方法三:列倒序Z字形查找 题目 方法一:暴力双for查找 public boolean searchMatrix(int[][] matrix, int …

Ansible 修改文件内容

按照下方所述,创建一个名为 /home/greg/ansible/issue.yml 的 playbook : 该 playbook 将在所有清单主机上运行 该 playbook 会将 /etc/issue 的内容替换为下方所示的一行文本: 在 dev 主机组中的主机上,这行文本显示 为&#x…

计算机msvcp120.dll丢失的解决方法,非常靠谱的三个解决方法

今天,我将为大家分享一个关于电脑报错msvcp120.dll解决方法的话题。在日常生活中,我们可能会遇到这样的问题:电脑突然出现“程序无法正常运行”的提示,然后要求我们重新安装某个软件或者升级系统。这时候,我们很可能会…

docker 学习-- 04 实践搭建 1(宝塔)

docker 学习-- 04 实践 1(宝塔) docker 学习-- 01 基础知识 docker 学习-- 02 常用命令 docker 学习-- 03 环境安装 docker 学习-- 04 实践 1(宝塔) 通过上面的学习, 已经可以搭建简单的案例, 接着我会搭…

适应高速率网络设备的-2.5G/5G/10G网络变压器/网络滤波器介绍

Hqst盈盛(华强盛)电子导读:在高速发展的互联网/物联网时代,为满足高网速的网络数据传输需求,网络设备在制造中也要选用合适的网络变压器/滤波器产品,有哪些可供选择的高速率网络变压器产品也是广大采购人员…

实验五 Linux 内核的安装与加载(三种方式)

【实验目的】 掌握 uboot 的使用方法,能够使用 uboot 安装和加载内核 【实验环境】 ubuntu 14.04 发行版FS4412 实验平台 【注意事项】 实验步骤中以“$”开头的命令表示在 ubuntu 环境下执行,以“#”开头的命令表 示在开发板下执行 【实验步骤】 …

Consul的简介与安装

1、Consul简介 Consul是一套开源的分布式服务发现和配置管理系统,由HashiCorp公司用Go语言开发,Consul提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服…

python--文件管理系统

文件系统管理项目说明文档 项目说明 基本任务 在内存中开辟一个空间作为文件存储器,在其上实现一个简单的文件系统退出这个文件系统时,需要该文件系统的内容保存到磁盘上,以便下次可以将其回复到内存中来 具体要求 文件存储空间管理可采取链…

WPF基础入门-Class5-WPF命令

WPF基础入门 Class5-WPF命令 1、xaml编写一个button&#xff0c;Command绑定一个命令 <Grid><ButtonWidth"100"Height"40" Command"{Binding ShowCommand}"></Button> </Grid>2、编写一个model.cs namespace WPF_Le…

机械臂手眼标定ZED相机——眼在手外python、matlab

目录 1.眼在手外原理 2.附上眼在手外求得手眼矩阵的python代码 3.眼在手外标定步骤 1&#xff09;打印棋盘格 2&#xff09;得到hand数据 3&#xff09;得到camera数据 4.运行python得到手眼矩阵 1.眼在手外原理 眼在手外所求的手眼矩阵是基坐标到相机的转换矩阵 2.附上…

软件设计师学习笔记6-存储系统

1.层次化存储体系 1.1层次化存储结构 局部性原理是层次化存储结构的支持 时空局部性&#xff1a;刚被访问的内容&#xff0c;立即又被访问(eg: 循环体 ) 空间局部性&#xff1a;刚被访问的内容&#xff0c;临近的空间很快被访问(eg:数组) 1.2层次化存储结构的分类 DRAM&…

基于Tkinter的PanedWindow组件进行窗口布局

在用Tkinter进行可视化界面开发中&#xff0c;界面布局是最需要最先考虑的&#xff0c;哪些组件放在什么地方都需要优先规划&#xff0c;我们可以用place或者pack进行边开发边布局&#xff0c;这需要人为的去对齐&#xff0c;费时费力。在Tkinter中有个组件PanedWindow可以帮助…