BeautyLife Studio
  • 首页
  • 相册
  • 美丽人生
    • 故事
    • 情感
    • 技术
    • 旅行
    • 闲话
  • 欢乐时光
  • 我的作品
  • 联系我
  • Sign in
2020-06-30 作者:陈 梦海

我的C语言学习笔记(六)

我的C语言学习笔记(六)
2020-06-30 作者:陈 梦海

5.0.0 if结构

5.1.0 什么是if结构

5.1.1 if结构的作用和语法

  • 作用:可以实现1段代码在满足指定的条件的时候执行,否则不执行。
  • 语法结构:

if (条件表达式)

{

执行代码;

}

条件表达式:比较表达式或者逻辑表达式。

5.1.2 if结构的执行步骤

先判断if后面的条件表达式的真假。

  • 如果为真,条件成立,就会执行if块中的代码,执行完毕后再继续往下执行;
  • 如果为假,条件不成立,会略过if块中的代码继续往下执行。

5.1.3 使用if结构的注意事项

  • if (条件表达式)的后面没有分号。

关于分号,在一条语句的后面,我们都要写一个分号,这个分号表示这条指令的结束。

CPU在识别指令的时候,如何判断指令结束并执行,以分号为基准。

在绝大多数的情况下,每一条语句就代表一个指令,所以每条语句的后面都有一个分号。

但是if结构是一个语法块,它的范围是从{开始到}结束。右大括号表示了语法块的结束。所以,一般情况下,if结构都不需要加分号,因为}就代表了语法块的结束。

  • if后面的小括号中其实可以写任意的表达式。在执行的时候,在计算if后面的小括号的表达式的结果只要是0就是假,非0就是真。

虽然写什么都可以,但是一般情况下小括号内还是应该写一个条件表达式。

  • 永真和永假的问题。

if (0) 永假

if (1) 永真

  • if块中可以有任意行的代码,只要符合逻辑。
  • 请保持正确的代码缩进。如果格式混乱,可以选中后control+i对齐代码。

5.2.0 变量的作用域

  • 在声明一个变量后会在内存中占用一个空间,而这个空间必须在使用完后被收回,否则会造成内存的占满。

声明在一个大括号中的变量,在这个大括号被CPU执行完毕以后,定义在这个大括号中的变量就会被系统立即回收。

所以定义在一个大括号中的变量只能在这个大括号中访问。

变量的作用域:指的就是变量可以在哪一段范围中访问。

    即变量所在的大括号内。

  • 我们可以自定义一个作用域,提前释放变量来释放内存,节约资源。

自定义作用域的方法就是用一组大括号来将变量包括在其中。

例子:

int main ()

{

{

int num = 10;

printf(“num = %d\n”,num);

}

int num = 20;

printf(“num = %d\n”,num);

}

  • 在不同的作用域中,或者是不同层级的作用域中,是可以定义名称相同的变量的。

这个时候,内层作用域中的同名变量就会将外层作用域的同名变量屏蔽。

在内层作用域中访问的就是内层的,在外层访问的就是外层的。

虽然在不同层级的作用域中可以定义名称相同的变量,但是这样的代码比较混乱,所以一般情况下不要在不同层级的作用域中定义相同名称的变量。

5.3.0 if-else 结构

因为if结构只在在条件满足的时候执行一段代码,条件不满足的时候就无法执行另外的代码。所以就引出了if-else结构。

5.3.1 if-else结构的作用和语法

  • 作用:在条件满足的时候执行一段代码,在条件不满足的时候执行另外一段代码。
  • 语法:

if (条件表达式)

{

执行代码;

}

else

{

执行代码;

}

5.3.2 执行步骤

  • a.先计算if后面的条件表达式的真假
  • b.如果为真,就执行if块中的代码,执行完毕之后,结束if-else结构,往下执行会跳过else块中的代码;
  • c.如果为假,就执行else块中的代码,不会执行if中的代码,执行完之后继续往下执行。
  • d.用法:

if (条件)

{

条件满足时执行的代码;

}

else

{

条件不满足时执行的代码;

}

5.3.3 注意事项

  • 保持正确的代码缩进。
  • if后的表达式内容任意,结果为0就是假,非0就是真。
  • 分号不要乱写;
  • if块和else块之间不可以有其他代码。
  • if和else中的代码绝对不会同时执行。且if-else结构中一定会执行其中一个条件。
  • 块中的代码可以有任意条,只要符合语法逻辑。

5.4.0 if-else if结构

因为if-else结构只能判断一个条件,当有多个条件的时候就无法使用。

而存在一种新的需求:需要按照顺序判断多个条件,只要一个成立,就要执行对应的事情,后面的就不需要再判断了,只有前面的条件不成立的时候,才判断后面的条件。

5.4.1 if-else if结构的作用和语法

  • 作用:依次的按照顺序的判断多个条件,只要一个成立,就执行对应的代码。只有前面的不成立,才继续判断下一个。
  • 语法:

if (条件表达式1)

{

执行代码;

}

else if (条件表达式2)

{

执行代码;

}

else if (条件表达式3)

{

执行代码;

}

else

{

执行代码;

}

5.4.2 执行步骤

从上到下的依次判断每一个条件表达式的结果,只要有一个条件表达式成立,就执行对应的块代码;

只有当前面的条件表达式不成立的时候才会继续向下判断,如果所有的条件表达式都不成立,那么就执行最后else中的代码。

5.4.3 注意事项

  • 只要前面的条件成立,就会执行对应的代码,执行完毕之后立即结束这个结构,哪怕后面的条件是成立的,也不会继续执行。
  • 如果判断了后面的条件,就说明前面的条件已经不成立,所以后面的条件中不需要特别的写下前面的条件不成立的情况。
  • 判断的条件顺序最好不要乱,如果不考虑顺序,那么每个条件都需要完整列出,就不可以出现上一条b的情况。

但是一般情况下,我们从上倒下的条件范围是依次缩小的。

  • 最后一个else可以省略。如果省略就没有默认执行的代码了。
  • else if的个数可以任意个。

5.5.0 三元表达式

根据参与的操作数的个数将运算符分为如下几类:

  • 双目运算符/双元运算符:指的是参与这个运算的操作数有2个。例如:+、-、*、/、%等;
  • 单目运算符/一元运算符:只有一个数据参与运算。例如:++、- -等;
  • 三目运算符/三元运算符:指的是有三个数据参与运算的运算符。例如:? :

5.5.1 三元表达式的用法

语法:

条件表达式?值1:值2;

i > 0 ? 100 : 200;

三元表达式的结果是:如果条件表达式成立,那么这个三元表达式的结果就是值1,否则就是值2。

所以三元表达式可以部分代替if-else结构的功能。

要得到一个数据,这个数据的大小是根据某个条件得到的,可以使用if-else也可以使用三元表达式。但是使用三元表达式更简洁一些。

注意:三元表达式内的条件表达式可以是任意的表达式,反正0为假,非0位真;

  值1和值2也可以是表达式。

5.6.0 如何产生一个随机数

  1. 先引入一个系统头文件:

#include <stdlib.h>

  1. 调用 arc4random_uniform 函数。

在其中传入1个整数n 就会返回一个0到n-1的随机数。

int num = arc4random_uniform(10);

这句代码就是产生一个0到9的随机数,并赋值给num

  1. 如何产生一个指定范围的随机数:

int num = arc4random_uniform(最大数-最小数+1) + 最小数;

上一篇我的C语言学习笔记(五)下一篇 BBC:碳水化合物的真相

发表评论 取消回复

邮箱地址不会被公开。 必填项已用*标注

BeautyLife Studio

遇见美丽的事物,总掩饰不住自己想要留下她的冲动。无论是用镜头、还是用文字,都想要永久记录下她的美好……

It’s a BeautyLife.

2020年6月
日 一 二 三 四 五 六
 123456
78910111213
14151617181920
21222324252627
282930  
    7月 »

最近的文章

临港城市公园新添五座桥,一起去打卡!2020-12-14
咖喱?汤咖喱?傻傻分不清楚?2020-12-14
秋田那么软萌治愈,花15分钟重新认识下吧!2020-12-11
又到圣诞季,来看看日本的限定产品2020-11-27
我们来聊聊日本的奇葩车站名2020-11-19

分类目录

情感 (2) 技术 (22) 故事 (12) 旅行 (6) 闲话 (6)

赞助商

网站地图

首页

相册

文章

歌曲

图书与APPs

留言

WeChat: shibakaede

最新发表

临港城市公园新添五座桥,一起去打卡!2020-12-14
咖喱?汤咖喱?傻傻分不清楚?2020-12-14
秋田那么软萌治愈,花15分钟重新认识下吧!2020-12-11
又到圣诞季,来看看日本的限定产品2020-11-27
我们来聊聊日本的奇葩车站名2020-11-19

赞助商

Copyright by 2020-2021 BeautyLife Studio ❤ Made by Alan C.

陈梦海 Alan C.

创始人兼首席设计师、撰稿人。

美丽人生工作室创立于2001年11月的上海。

这么多年以来,我们也曾对未来充满迷茫,孤独的探索人生的意义和前进的道路。

如今,我们再度拾起对人生的美丽梦想,下定决心扬帆起航!