C语言基础(三)

C语言基础

  • 三大结构
    • 顺序结构
    • 选择结构
      • 单分支选择结构
      • 双分支选择结构
      • 多分支选择结构
        • if ...else if....else
        • switch语句
    • 循坏结构
      • for循环
        • 表达式1可以省略吗?
        • 表达式2可以省略吗?
        • 表达式3可以省略吗?
        • for循坏的嵌套
      • while循环
      • do while循坏
      • while与do while区别
      • break与continue的区别
      • 死循环
      • goto语句

三大结构

顺序结构

程序中的语句按照一定的先后顺序去运行

选择结构

单分支选择结构

if(表达式)
{//语句;
}

判断表达式的真假性,为真则执行语句,否则不执行,程序往下执行

双分支选择结构

if(表达式)
{//语句1;
}
else
{//语句2;
}

判断表达式的值是否成立,成立的话执行语句1,否则执行语句2
在这里插入图片描述

多分支选择结构

if …else if…else
if(表达式)
{//语句1;
}
else if(表达式2)
{//语句2;
}
else if(表达式3)
{//语句3;
}
...
else if(表达式n)
{//语句n;
}
else
{//语句n+1;
}

从上往下,依次判断每个表达式的值,如果表达式成立,则执行对应的语句。
在这里插入图片描述

switch语句
switch(表达式)
{case 标号1:语句1;break;case 标号2:语句2;break;...case 标号n:语句n;break;default:最终语句;
}

注意:

  1. 表达式不能为float类型
  2. 标号必须为常量
  3. 当表达式==标号时,执行冒号后面对应的语句
  4. 直到Switch case语句结束为止,或者遇到break,语句结束
    在这里插入图片描述
    在这里插入图片描述

循坏结构

重复的做一件是,在代码中形成回路,不断执行一段代码
循坏的三要素:循环的起始条件,循环的终止条件,循坏变量的变化

for循环

for(表达式1;表达式2;表达式3)
{循环体;
}

表达式1:循环的起始条件
表达式2:循环的终止条件
表达式3:循环变量的变化
先执行表达式1,再执行表达式2,如果表达式2为真,执行循环体,然后执行表达式3,去判断表达式2是否成立,如果成立则,继续执行循环体,否则,跳出。
实现1-100之和

表达式1可以省略吗?

表达式1:可以省略,但需要在循环体外给循环变量一个初始值
在这里插入图片描述

表达式2可以省略吗?

表达式2:不可省略——>死循环
在这里插入图片描述

表达式3可以省略吗?

表达式3:可以省略,但需要在循环体内实现循环变量的变化
在这里插入图片描述

for循坏的嵌套

案例1:打印直角三角形
在这里插入图片描述
案例2:打印杨辉三角
在这里插入图片描述
在这里插入图片描述

while循环

while(表达式)//循坏的终止条件
{循环体;
}

判断表达式是否成立,如果成立,则执行循坏体,否则,跳出
在这里插入图片描述

do while循坏

do
{循环体;
}while(表达式);

先执行循环体,然后判断表达式是否成立,如果成立,执行循环体,否则,跳出循环
在这里插入图片描述

while与do while区别

while先判断再执行,循环体最少执行0次;
do while先执行再判断,语句至少执行1次;

break与continue的区别

二者均是跳出循环的作用
break:

  • 跳出switch case语句
  • 跳出循环(离他最近的循环)
    在这里插入图片描述
    continue:
  • 跳出本次循环,进入下一次循环
    在这里插入图片描述

死循环

一直执行,无法跳出的循环

while(1)
{循环体;
}
for( ; ; )
{循环体;
}

goto语句

概念:无条件跳转语句

标号:
goto 标号;//当执行到这条语句时,程序自动跳转至标号处!

标号:命名规则和标识符相同
在这里插入图片描述

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

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

相关文章

android支付宝接入流程

接入前准备 接入APP支付能力前,开发者需要完成以下前置步骤。 本文档展示了如何从零开始,使用支付宝开放平台服务端 SDK 快速接入App支付产品,完成与支付宝对接的部分。 第一步:创建应用并获取APPID 要在您的应用中接入支付宝…

【新版】系统架构设计师 - 知识点 - 结构化开发方法

个人总结,仅供参考,欢迎加好友一起讨论 文章目录 架构 - 知识点 - 结构化开发方法结构化开发方法结构化分析结构化设计 数据流图和数据字典模块内聚类型与耦合类型 架构 - 知识点 - 结构化开发方法 结构化开发方法 分析阶段 工具:数据流图、…

前端学习<四>JavaScript基础——20-函数简介

函数的介绍 函数:就是一些功能或语句的封装。在需要的时候,通过调用的形式,执行这些语句。 补充: 函数也是一个对象 使用typeof检查一个函数对象时,会返回 function 函数的作用: 一次定义,…

腾讯云服务器搭建网站教程,新手跟着流程一步步操作

使用腾讯云服务器搭建网站全流程,包括轻量应用服务器和云服务器CVM建站教程,轻量可以使用应用镜像一键建站,云服务器CVM可以通过安装宝塔面板的方式来搭建网站,腾讯云服务器网txyfwq.com整理使用腾讯云服务器建站教程,…

《黑马点评》Redis高并发项目实战笔记(上)P1~P45

P1 Redis企业实战课程介绍 P2 短信登录 导入黑马点评项目 首先在数据库连接下新建一个数据库hmdp,然后右键hmdp下的表,选择运行SQL文件,然后指定运行文件hmdp.sql即可(建议MySQL的版本在5.7及以上): 下面这…

Ubuntu20.04安装ROS过程记录以及常见报错处理

官网安装步骤如下: http://wiki.ros.org/cn/noetic/Installation/Ubuntu#A.2BXwBZy1uJiMU- 第一个:添加ROS软件源 sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-la…

2024年mathorcup数学建模C题思路分析-物流网络分拣中心货量预测及人员排班

# 1 赛题 C 题 物流网络分拣中心货量预测及人员排班 电商物流网络在订单履约中由多个环节组成,图 ’ 是一个简化的物流 网络示意图。其中,分拣中心作为网络的中间环节,需要将包裹按照不同 流向进行分拣并发往下一个场地,最终使包裹…

Quantum Temple借助Sui通过NFT推动再生旅游

从金融到艺术,从游戏到无线网络,各行各业都涌现出大量初创公司,利用区块链技术颠覆现状。说到旅游业,让人联想到拥挤的机场、快节奏的旅游和豪华游轮,可能看起来对区块链创新持守旧态度。一家初创公司认为现在是时候改…

【神经网络与深度学习】循环神经网络基础

tokenization tokenization:分词 每一个词语都是token 分词方法:转为单个词、转为多个词语 N-gram表示法 准备词语特征的方法 (把连续的N个词作为特征) 如 ”我爱你“——>[我,爱,你] 2-gram——[[我…

MySQL 嵌套查询

嵌套查询 是指在一个完整的查询语句之中,包含若干个不同功能的小查询;从而一起完成复杂查询的一种编写形式。包含的查询放在()里 , 包含的查询出现的位置: 位置含义SELECT之后把查询结果作为表头使用FROM…

Redis中的集群(九)

集群 消息 集群中的各个节点通过发送和接收消息(message)来进行通信,我们称发送消息的节点为发送者(sender),接收消息 的节点成为接收者,如图所示。节点发送的消息主要有以下五种: 1.MEET消息:当发送者接到客户端发送的CLUSTER MEET命令时&#xff0c…

LabVIEW电信号傅里叶分解合成实验

LabVIEW电信号傅里叶分解合成实验 电信号的分析与处理在科研和工业领域中起着越来越重要的作用。系统以LabVIEW软件为基础,开发了一个集电信号的傅里叶分解、合成、频率响应及频谱分析功能于一体的虚拟仿真实验系统。系统不仅能够模拟实际电路实验箱的全部功能&…

ExpressLRS硬件实测性能分析

ExpressLRS硬件实测性能分析 1. 源由2. 远航测试3. 实验室测试3.1 芯片RSSI与实测功率差异3.2 SNR信噪比稳定3.3 140db衰减器衰减,40个频点信号稳定 4. 外场测试4.1 无屏蔽样品4.2 有屏蔽样品4.3 有屏蔽vs无屏蔽样品 5. 估算6. 总结7. 补充说明 -- 50mW视频 1. 源由…

降额的秘密——不要挑战datasheet!

原文来自微信公众号:工程师看海,与我联系:chunhou0820 看海原创视频教程:《运放秘籍》 大家好,我是工程师看海。 什么是降额设计?我们为什么要降额? 额指的是额定工作状态,降额就是…

【蓝桥杯】第十五届填空题a.握手问题

题解: 根据问题描述,总共有 50 人参加会议,每个人除了与自己以外的其他所有人握手一次。但有 7 个人彼此之间没有进行握手,而与其他所有人都进行了握手。 首先,计算所有人进行握手的总次数: 总人数为 50 …

Day19-【Java SE进阶】网络编程

一、网络编程 1.概述 可以让设备中的程序与网络上其他设备中的程序进行数据交互(实现网络通信的)。java.net,*包下提供了网络编程的解决方案! 基本的通信架构 基本的通信架构有2种形式:CS架构(Client客户端/Server服务端)、BS架构(Browser浏览器/Server服务端)。 网络通信的…

拓展企业发展新天地:低代码开发平台的策略价值

一、什么是低代码开发? 低代码开发平台:一个号称在几分钟内就能构建出一套企业内部适用的系统开发工具。低代码开发平台可以从降低开发者技术门槛、减少企业人力成本、协同共享资源、灵活搭建组件、减少bug率、按需收费等多个方面降低企业开发成本。 曾…

排序1——C语言

排序 1. 复杂度2. 插入排序2.1 直接插入排序2.2 希尔排序 3. 选择排序3.1 直接选择排序3.2 堆排序 排序在生活中很常见,比如在网购时,按价格排序,按好评数排序,点餐时,按评分排序等等。而排序有快和慢,快的…

Navicat Premium 16 for Mac/Win:数据库管理的全能之选

在数字化时代,数据库管理已成为各行各业不可或缺的一环。而Navicat Premium 16作为一款功能强大的数据库管理软件,无疑为数据库管理员和开发者提供了高效、便捷的解决方案。 Navicat Premium 16支持多种主流数据库系统,无论是MySQL、Postgre…

JS - BOM(浏览器对象模型)

BOM 浏览器对象模型 BOM可以使我们通过JS来操作浏览器 在BOM中为我们提供了一组对象,用来完成对浏览器的操作 BOM对象 BOM(Browser Object Model)是指浏览器对象模型,它提供了与浏览器窗口进行交互的对象和方法。BOM包括一些核…