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语言中的选择结构

目录

1、if语句

2、switch语句

?

参考书籍《算法笔记》


1、if语句

在编程时我们往往会遇到要根据某个条件为真来决定执行哪个语句,这时我们就用到if语句

它的格式如下:

if(条件A){

...

}

就是当条件A为真时,会执行省略号的内容。

#include<stdio.h>int main(){  int n=1;  if(n>0)  {  printf("满足条件,执行if语句!");   }  return 0;}

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP55m95bCP55m977yM5LiA5a6a5Y-R6LSi44CC,size_13,color_FFFFFF,t_70,g_se,x_16

if语句在满足条件会执行其中的内容,但如果当条件不满足时也会语句需要执行时,我们可以用else,格式如下。

if(条件A){

...}else

{...}

就是满足条件A执行第一个大括号里面的,否则执行第二个大括号里面的。

#include<stdio.h>int main(){  int n=1;  if(n>2)  {  printf("满足条件,执行if语句!");   }else  {  printf("%d",n);  }  return 0;}

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP55m95bCP55m977yM5LiA5a6a5Y-R6LSi44CC,size_15,color_FFFFFF,t_70,g_se,x_16

?如果大括号里面的语句只有一条,可以省略大括号,这样好看一点。不过这样可以会某些复杂情况的实际逻辑跟自己的想法出现偏差。所以,一般只有在明确不会出现的情况下从可以将大括号省略。

另外,如果需要在else的分支下再根据条件,来选择不同的语句,那么可以使用else if的写法。

if(条件A){

...

}else if(条件B)

{

...

}else{

...

}

这样就会先判断条件A是否成立,如果不成立。这判断条件B是否成立,如果还没成立,才会执行最后一个省略号的内容。可以自己试一试。

还有

if(n)写法其实就是if(n!=0),这里的由于if条件语句接收的是括号中表达式的“真”或“假”,也就是1或0,而n本身作为一个整数,当n为0时,这相当于“假”,n不为0时相当于“真”,因此直接在if中填写这种表达式就可以直接作为真假判断(里面填写n+m也是可以的,这时判断n+m是否为0)。

通过这我们也可以知道if(!n)的学法就是if(n==0)。

if语句的嵌套

if语句的嵌套是指再if或者else的执行内容中使用if语句,格式如下:

if(条件A){

...

if(条件B){

...}else{...

}

}eles{

...}

按照上述代码,当条件A成立是,会执行大括号内的语句,执行期间碰到另一个if语句,当语句B成立或不成立时执行不同的语句。示例如下:

#include<stdio.h>int main(){  int n=2,m=4;  if(n<3){  if(m<4)  {  printf("%d",m+n);  }else{  printf("%d",m-n);  }  }else  {  printf("-A");  }  return 0;}

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP55m95bCP55m977yM5LiA5a6a5Y-R6LSi44CC,size_17,color_FFFFFF,t_70,g_se,x_16

#include<stdio.h>int main(){  int n=2,m=4;  if(n<1){  if(m<4)  {  printf("%d",m+n);  }else{  printf("%d",m-n);  }  }else  {  printf("-A");  }  return 0;}

?watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP55m95bCP55m977yM5LiA5a6a5Y-R6LSi44CC,size_16,color_FFFFFF,t_70,g_se,x_16

?仔细观察哟,else跟那个一起。

2、switch语句

swich语句在分支条件较多时会显得比较精练,但确实用到的不多,但我们要知道,格式如下:

switch(表达式){

case 常量表达式1:

...

break;

case 常量表达式2:

...

break;

case 常量表达式n:

...

break;

dafault;

...

}

#include<stdio.h>int main(){int a=1,b=2;  switch(a+b){    case 1:     printf("%d",a);    break;        case 2:    printf("%d",b);     break;        case 3:    printf("%d",a+b);     break;    case 4:    printf("%d",a-b);     break;   dafault:   printf("sad stoty");}return 0;}

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP55m95bCP55m977yM5LiA5a6a5Y-R6LSi44CC,size_16,color_FFFFFF,t_70,g_se,x_16

如果我们把break删掉呢。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP55m95bCP55m977yM5LiA5a6a5Y-R6LSi44CC,size_17,color_FFFFFF,t_70,g_se,x_16?我们可以发现,删掉break语句后,程序把case 3以下的所有语句都输出了。由此可见,break的作用在于可以结束当前switch语句,如果将其删去,则程序将会从第一个匹配的case开始执行语句,直到其下面所有语句都执行完毕才会退出switch语句。

还可以发现这个与if语句相比少了大括号,这是因为case本身默认把二个case之间的内容全部作为上一个case的内容,所有我们可以不用加大括号。

3、一些想法

?下面我会把这个博客当做自己的笔记,现在主要是刷牛客网的新手编程的130题,把我觉得不错的放在这里,供自己复习巩固,现在大二的我,感觉什么也不会,上课只能跟着老师走,然后课下我也不学,以为只要上课认真听就行,然后期末成绩还挺好,得了奖学金,让我感觉有点迷失自我,但我发现当看到一个题时,我一点头绪都没有,那种感觉一点都不好,咨询了一些同学,发现自己远远不够,跟着学校根本不行,哎,寒假在家,自制力还特别差,这一篇就是我看《算法笔记》这本书觉得不错的地方,现在好像慢慢来,学习一些同学,好的方法,并坚持,距离开学还有不到一个月,我挺想知道自己努力学可以学成什么样,不过写这个好冻手啊!马上下单一个暖风机,太冷了,空调都没用。在家学习真是诱惑太多了。

?

?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-25 10:24:21  更:2022-01-25 10:24:53 
 
开发: 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/24 9:01:38-

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