美文网首页与时俱进的IT
C语言(二)分支结构

C语言(二)分支结构

作者: 社会主义顶梁鹿 | 来源:发表于2018-07-29 16:21 被阅读0次

一、程序的执行顺序

 1、程序是顺序执行 一行行代码逐条语句执行

 *行数呈深蓝色 //断点:调试的时候使用 程序执行到这个位置就会暂停

 2、分支结构  在顺序执行的时候,遇到分支结构(if、switch)  会选择正确的分支继续顺序执行

 3、循环结构  在顺序执行的时候  遇到循环结构  会在符合循环的环境下 一直循环执行  直到不再符合条件  继续顺序执行

 二、关系运算符

 关系运算符:是比较两个元素的关系的对比符号

 <(小于)、>(大于)、==(相同)、<=(小等于)、>=(大等于)、!=(不相同)

 三、逻辑运算符

 &&(并且)、||(或者)、!(取反)(int a=5; !a;)

 关系运算符和逻辑运算符只有两种情况(是(真)、否(假))

 四、分支结构之一  if语句

 if就是 如果 假设 ,if语句 是假设 这个表达式是否成立

 如果表达式可以成立(是正确的),就执行功能代码。

 如果表达式没有成立,就不搭理他。

 程序是顺序执行的当执行到if语句那发现有个分支结构判断 

 是否满足条件 如果满足 就进入分支 如果不满足 就跳过

 if (表达式){

 功能代码

 }

  eg:输入你父亲的年龄,如果大于40就是个好父亲。

 第一种方式:

int fatherAge = 0;

    printf("请输入您父亲的年龄:");

    scanf("%d",&fatherAge);

    int result = fatherAge >=40;

    printf("是不是大于等于40岁?%d\n",result);

    if (result == 1) {

        printf("您父亲倍儿棒!\n");

        }

    else {

        printf("您父亲倍儿倍儿棒!\n");

        }

 1.条件判断:<、>、<=、>=、==、!= 关系运算符计算结果都只是 真(1)或者假(0)两种结果

 2.***当只有两个条件可以选择的时候,优先使用if语句

 3.判断结果是不是1(是不是真的),如果是真的就进入花括号内执行里面的代码;如果不是真的,就跳过;

 4.result可以换成fatherAge>=40

 5.当不满足if语句里面的条件的时候,让他执行另外一个分支。可以使用else(否则)

 第二种方式:

 int fatherAge = 0;

 printf("请输入您父亲的年龄:");

 char *mesaage;      //char * 字符串(一段文字)

 if (fatherAge>=40) {

 mesaage = "您父亲倍儿棒!";

 }

else{

 mesaage = "您父亲倍儿倍儿棒!";

 }

 printf("%s\n",mesaage);

 eg:如果上课人数大于60,学习氛围倍儿好!否则,没来的去当葫芦娃了!

 int num;

 printf("请输入上课人数:");

 scanf("%d",&num);   //跟上一个scanf隔开,格式化字符串前面加个空格

 if (num>60) {

 printf("你们的学习氛围倍儿好!");

 }

 else{

 printf("没来的去当葫芦娃了!");

 }

 如果1.只有两个条件可以选择,2.并且有两个可能发生的结果;3.再并且分支结构里面没有嵌套使用其他内容;4.可以使用三目运算。⬇️

 五、三目运算

 三目运算不要多个嵌套使用

 可以理解为 一重if判断的简写

 三目运算的公式:表达式?(问电脑表达式是不是真的)

 第一个结果(真的):

 第二个结果(假的);

 //第一种方式

 int a=33;

 char *sss;//char * 字符串(一段文字)

 scanf("%d",&a);

 if (a<33) {

 sss="是滴";

 }

 else{

 sss="FP";

 }

 printf("%s\n",sss);

 //三目运算

 int a;

 char *r=a<33?"是滴":"FP";

 scanf("%d",&a);

 printf("%s\n",r);

 六、枚举

 枚举:逐个的列举  他本身是有顺序的 当打破默认的顺序  会按照打破顺序的地方继续按顺序排列

 枚举:列举 一个一个按顺序罗列出来

 enum  默认从0开始按顺序罗列出来

 当有一个元素值发生改变,如(0、1、(2)、3)突然2改变成3,则接着按顺序罗列(0、1、3、4)

 枚举用字符串来表示这些数字,这样的好处:1.很直观的了解这个数字的含义;2. 当改变字符串对应的数字的时候,不会影响到程序里面的代码;⬆️

 枚举的公式之一:⬇️

 enum 枚举的名字{

 枚举的例子,(使用逗号隔开,默认从0开始)

 枚举的例子,(当这个元素的值改变成5,下个元素默认是6)

 枚举的例子(最后一个元素没有逗号)

 };

 eg:

 enum Type{

 Red,

 Orange=5,

 Yellow,

 Green

 };

 enum 枚举名 变量名 = 枚举值;

 enum Type type = Yellow;

 printf("%d\n",type);

 (输出为6)

 枚举的公式之二:

 typedef 用来替代(enum枚举的名字)

 typedef enum 枚举的名字

 {

 枚举的例子,(使用逗号隔开,默认从0开始)

 枚举的例子,(当这个元素的值改变成5,下个元素默认是6)

 枚举的例子(最后一个元素没有逗号)

 }要替代的名字;

 eg:

 typedef enum Type{

 Red,

 Orange=5,

 Yellow,

 Green

 }Color;

 Color color = Green;

 printf("%d\n",color);

 什么情况下使用枚举:

 1.当某些数字具有一定意义的时候,可以使用枚举,直观的体现这些数字的意义;2.在编程过程中有可能修改需求,把具有特定意义的数字修改成别的数字,防止修改大量代码,节省工作量。

  七、分支结构之二 switch

 当有多个条件可以提供选择的时候,可以使用switch,来替代if;

 当条件变量满足第某个条件的时候,会跳到对应的条件里面去执行代码➡️遇到(break)会跳出switch继续执行

switch的判断条件只能是short char int long 类型;

 switch常与枚举配合使用;

 switch (条件变量) {

 case 条件1:

 具体代码

 break;

 case 条件2:

 具体代码

 break;

 case 条件3:

 具体代码

 break;

 default:

 break;

 }

 注意:每一个分支条件后面必须跟一个break来跳出花括号,如果没有跳出,会继续往下执行。

default:默认 任何条件 都不满足的时候  进入default

eg:

typedef enum LoginType{

        Acc = 10,

        QQ,

        Sina,

        WeiXin

    }LoginType;

    //定义LoginType这个枚举的变量

    LoginType type;

    //    输入一个数字来判断用户使用哪种方式登陆

    scanf("%d",&type);

    switch (type) {//表示type到底是多少

        case Acc:

            printf("账号登陆");

            break;

        case QQ:

            printf("QQ登陆");

                   break;

        case Sina:

            printf("Sina登陆");

            break;

        case WeiXin:

            printf("WeiXin登陆");

            break;

default:

printf("没有这种登陆方式");

break;

}

 while 循环:

 先判断再执行

 格式:while(表达式){

          循环体

 }

 作用:循环执行某段代码

 int a = 10;

 while (a < 15) {

 a++;

}

 //如果条件正确才会执行这里,并且一直循环执行,知道不再满足这个条件为止

 eg:1-100中7的倍数

int a = 0;

    while (a<100) {

        a++;

        if (a % 7==0) {

            printf("0-100中7的倍数: %d\n",a);

        }

    }

eg: int num = 0;

    while (num<100) {

        num++;

        if (num % 10==7) {

            printf("个位为7的数:%d\n",num);

        }

    }

 do - while :先执行后判断

 格式:do{

    循环体

 }while(表达式);

 用法:不管条件如何,先执行一遍,接着判断表达式,如果条件成立,继续执行。

 eg:输出5次“I am handsome”

 int a=0;

 do {

 a++;

 printf("I am handsome %d\n",a);

 } while (a<5);

 eg:1-100中7的倍数

 int a=0;

 do {

 a++;

 if (a%7==0) {

 printf("7的倍数:%d\n",a);

 }

 } while (a<100);

**代码是按照顺序执行的

eg:1-100中7的倍数

int a=1;

    do {

        if (a%10==7) {

            printf("个位为7: %d\n",a);

        }

        a++;

    } while (a<=100);

**使用随机数需要导入#include

**随机数函数:arc4random()

     a-b的范围              arc4random()%(b-a+1)+a

**取1-5的随机数:arc4random()%5+1

**取100-500的随机数:arc4random()%401+100

   1、要想取一个随机数 (确定 取随机数的范围)

10 - 15 (确定随机数的范围 包含10 和15 以及他们之间的范围)

// 了解随机数 :随机数的值 是从0开始 取随机数的范围是多少(10 - 15 的范围是6)随机数 取余的数 就是6

// 使用随机函数:arc4random()%6(取出来的值 是0 1 2 3 4 5)(随机数 取值 是从0开始 一直到 范围(6)结束(不包括范围(6)))

// 如果想取10 - 15 的随机数 在取出来的随机数 后面加最小的那个数字(10)即可

continue 语句:用在循环语句中

 当符合某个条件的时候,跳过这个条件***继续执行***

 break 语句:当符合某个条件的时候,直接跳出循环。

 eg: int a=0;

 while (a<5) {

 a++;

 //当a的值为4的时候

 if (a==4) {

 //跳过并继续执行

 continue;

 }

 printf("%d\n",a);

 }

 ****在不知道循环多少次的时候用while或者do - while

 如果知道循环次数,可以选择使用for循环*****

for循环语句:

 for (初始值变量;循环的条件;改变变量){

       循环语句

 }

eg:

 //打印十年经历的春夏秋冬,并标记是第几年的

    for (int i =1; i<=10; i++) {

        printf("这是第%d年的\n",i);

    }

for 步骤

1、初始化变量并赋值

2、判断变量是否满足循环条件

3、*如果满足循环条件,进入循环,执行循环语句

4、执行完循环语句里面的代码,让变量改变

   第一次循环执行完毕

5、第二次循环,再次判断变量是否满足循环条件

6、如果满足,进入第三次,不满足跳出循环

相关文章

  • C语言(二)分支结构

    一、程序的执行顺序 1、程序是顺序执行一行行代码逐条语句执行 *行数呈深蓝色//断点:调试的时候使用程序执行到这个...

  • Python基础(三)——程序结构

    与c语言类似,Python的程序结构包括分支结构、循环结构和函数。 1.分支结构 语句为if....elif......

  • 2017.11.24

    今天是C语言培训第二天,上午老师讲了C语言的结构规范,分支语句的应用,输入输出语句,顺序结构等。对于今天的内容,...

  • 循环与分支

    流程控制 选择分支结构 C语言支持两种选择结构: 1.if选择分支结构(if判断语句) 也有if-else if ...

  • 2017.11.28

    C语言第五天,上午讲解了周二的作业题,巩固了if选择结构,for循环结构和break语句的知识。if是二分支结构...

  • [iOS]开发技术相关技术教学视频(Swift系列视频语法部分)

    知识点系列视频 C语言知识点系列视频 目录 C语言技术视频-01-变量的定义 C语言技术视频-02-程序分支结构(...

  • Swift—分支

    *分支if* * Swift 提供了类似 C 语言的流程控制结构(if/switch/for/while/dowh...

  • 培训第七天----数组

    昨日回顾 运算符优先级 C语言的三大结构 顺序结构、分支结构(if...else,switch...case)、循...

  • 女神悄悄告诉你:再不学C语言就晚了

    c语言入门 程序设计-算法-运算符-顺序 分支 循环结构。 C语言精通 数组-函数字串符 -指针-构造类型-预处理...

  • C语言学习之二——顺序程序设计

    程序的基本结构(从程序流程角度):1)顺序结构;2)分支结构;3)循环结构 C语言的程序功能是由执行语句实现的,语...

网友评论

    本文标题:C语言(二)分支结构

    本文链接:https://www.haomeiwen.com/subject/tcttvftx.html