IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 【零基础搞定C语言】——分支语句 -> 正文阅读

[C++知识库]【零基础搞定C语言】——分支语句

前言:本篇文章带领大家开始学习C语言,由于CSDN上优质的C语言文章有很多,加上笔者平时课程、竞赛比较忙,所以我们直接从分支语句开始吧(笔者用心书写,希望读者看到最后,相信会有所收获)

目录

1.什么是语句

2.控制语句

?3.分支语句(选择结构)

3.1 if语句

3.2 switch语句


1.什么是语句

C语言中语句可分为以下五类:

1.表达式语句

2.函数调用语句

3.控制语句

4.复合语句

5.空语句

这里给大家举一些例子,什么是表达式语句呢,顾名思义,就是表达式再加上一个';'构成的语句,像? 2+3;(算术表达式)? int a = 0; (赋值表达式)? x>0&&x<10;(逻辑表达式)等等。函数调用语句也很简单,就是先创建一个函数,再调用这个函数所用的语句,比如:我们创建了一个求两个整数的和的函数,如下:

int Add(int x,int y)
{
   return x+y;
}

然后我们对这个函数进行调用,下面这个语句就是函数调用语句。

Add(2,3);

至于控制语句,本篇文章所写的分支语句以及后面要学习的循环语句,转向语句都属于控制语句。

复合语句是由一系列语句组成的,它们放在一对大括号中形成一个整体。基本形式如下:

{
语句1;
语句2;
;
;
语句n;
}

由于C语言中单条语句都以 ';' 作为结束的标志,空语句当然就是只有一个分号了。

2.控制语句

控制语句用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构、循环结构),程序源自于生活,大家可以想想看我们生活中要做的事情是不是就只有这三种情况呢,我们做一件事可以就按照步骤来,一步一步做,从头做到尾,这不就是顺序结构吗?同样,我们在做一件事的时候可能会面临选择,不同的选择导向了不同的结果,当然有些事情比如说吃饭、睡觉还有学习哈是需要我们每天都去做的,这正是循环结构。

C语言有九种控制语句,可分成以下三类:
1. 条件判断语句也叫分支语句:if语句、switch语句;
2. 循环执行语句:do while语句、while语句、for语句;
3. 转向语句:break语句、goto语句、continue语句、return语句。

?

?3.分支语句(选择结构)

3.1 if语句

if 语句的语法结构如下,大家写C语言的语句一定要按照它的语法结构来哦

//单分支

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

?if 后面括号中的表达式如果为真则执行下面的语句,如果为假,对于单分支则什么都不会发生,对于双分支,则执行 else 语句,对于多分支,则开始判断 else if 后面括号中的表达式是否为真,如果为真,则执行 else if 后面的语句,如果仍为假,则执行 else 语句。

这里要注意 C语言中,0为假,非0为真, -1也为真哦,不要想当然。同时 if , else if , else? 默认只能控制一条语句,如果它们需要控制多条语句,多条语句要用 { } 括起来,同时 else 是离它最近的 if 进行匹配,大家可以看看下面的代码,想想最后打印什么

#include <stdio.h>
int main()
{
	int a = 0;
	int b = 2;
	if (a == 1)
	{
		if (b == 2)
			printf("hehe\n");
	}
	else
	{
		printf("haha\n");
	}
	
	return 0;
}

这道题故意将 else 与第一个 if 进行匹配,来干扰大家,实际上,else 是与 if (b ==2)这个 if 匹配的,所以这道题,由于 a = 0,! = 1,表达式为假,直接执行 else 后面的语句,最后打印haha.所以我们在编写程序时,一定要注意语句的书写规范。

教大家一个小技巧,不少小伙伴刚学 if 语句时,都喜欢犯这个错,比如我们在写 if(num == 5) 时很容易错写成 if(num = 5),将 等于 错写成了 赋值 ,导致 if 后面的条件恒为真,使得程序不能达到想要的效果,所以我建议这里在书写时最好写成 if (5 == num),由于5是常量,常量无法被赋值,所以即使我们不小心写成了赋值,由于语法错误,编译不能通过,程序也就不会乱跑了。

3.2 switch语句

语法结构如下:

switch(整型表达式)//注意这里必须是整形表达式
{
??语句项;
}

语句项:?

case 整型常量表达式://这里也必须是整型常量表达式
??语句?

switch 和 case 用于实现多分支结构,但要实现分支,必须要搭配 break; 举个简单的例子

#include <stdio.h>
int main()
{
??int day = 0;
??switch(day)
?{
????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;
}

输入1~7,即可打印星期一 ~星期天。

下面介绍 default 子句
如果表达的值与所有的case标签的值都不匹配怎么办?其实也没什么,结果就是所有的语句都被跳过而已,程序并不会终止,也不会报错,因为这种情况在C中并不认为是个错误,但是,如果你并不想忽略不匹配所有标签的表达式的值时该怎么办呢?
你可以在语句列表中增加一条default子句,语法结构如下:

default:? ? ??

? ? ? ?语句

? ? ? ?break;

写在任何一个 case 标签可以出现的位置。
当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。所以,每个switch语句中只能出现一条default子句。

每天一个编程好习惯:
在每个 switch 语句中都放一条default子句是个好习惯,甚至可以在后边再加一个 break 。

好了,本篇文章到这里就结束, 你们的点赞和关注是对我的最大鼓励,有问题的朋友欢迎在评论区留言~

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章           查看所有文章
加:2022-09-24 20:38:18  更:2022-09-24 20:42:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 9:59:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码