C语言三大结构——顺序,选择,循环

1〉顺序结构

        顺序结构是按照代码的书写顺序从上到下执行的结构。

顺序结构是C语言最简单、最基本的结构。

举个栗子:打印个人信息

d4b8483df1ef4d88a2831d3f4c4db591.jpg

bab0661f20c64e94958270361a10c319.jpg

 1>C语言在使用scanf()函数读取用户输入的字符串时,如果遇到第一个空白字符(空格,制表符、换行符),就认为完成数据读取工作,后面的数据不再写入当前变量,而是保存在输入缓冲区中,等待下次scanf函数的输入。

2>%4d表示以4位的宽度显示整型数据

3>%4.2f表示以4位的宽度显示浮点型数据,且保留两位小数

4>%-20s表示以20位的宽度显示字符串,并且左对齐

5>在输入时,如果忽略字符串,可以通过*修饰字符串转换说明符。

例如: int age;scanf("%*s%d",&age);

2〉选择结构

选择结构主要分为两类if语句switch语句。

1〉if语句

1)单分支语句

   语法结构:  if(表达式){     语句块   }

含义:如果表达式的结果为真,则执行语句

70bf44e6bd2d42eb844e973c502e9ee8.jpg

 553026fad9644c41a2fc18fdb82a4497.jpg

 2)双分支语句

  语法结构:if(表达式){     语句块   }

                    else{   语句块   }

e3b674cbecb54fffbce63081d48eccdc.jpg

8b92ae9474d5433fa95a1309d7a1097c.jpg

 含义:如果表达式的结果为真,则执行语句块1;否则,执行语句块2。

3)多分支语句

语法结构:if(表达式1){     语句块 1  }

             else   if(表达式2){     语句块2   }

              else   if(表达式3){     语句块3  }

                    else{   其他情况的语句块   }

d580e78603e74ccd895e56770ec911bb.jpg

b1b39bca03fc4deda2dbba72f9f94893.jpg

 含义:如果表达式1的结果为真,则执行语句块1;否则,如果表达式2的结果为真,则执行语句块2; 否则,如果表达式3的结果为真,则执行语句块3; 其它情况,执行其它情况的语句块

        注意:语句块的含义就是有多条语句,多条语句必须要用{}进行包裹;如果语句块中只有一条语句,可以省略{}。但C语言建议不要省略。
    思考:上面的代码是否可以进行优化?

有一种简化结构:悬空else

20037a2d3e5b46e1b1fc1b4ec5c66508.jpg

       但将其打印运行时,我们发现什么都没有打印,这是为什么?

27e031f7bcbb4ef88318681775196c37.jpg

        我们将代码格式化后发现else与和它最近的if进行匹配。

0d811f6968ac409fb663236c8b5b9166.jpg

我们将其改正 879f9fcf8211490fb83093d48549c0ba.jpg

       由此在简化代码时我们要注意语句是否对应正确。

2〉switch语句

它是一种多分支结构,其结构为

efa0c8275e53418a9575e53cf5f79208.jpg

 59f37a37313a4701a02331d9553f92e8.jpg

 注意:
<1>switch语句中应该在每个选项的最后都添加 break ;
<2>break的实际效果是把语句列表划分为不同的部分;

<3>switch-case结构中声明局部变量要在每个case下加一个大括号;

<4>default子句
如果表达式的值与所有的case选项都不匹配,怎么办?
其实也没什么,结果就是所有的语句都被跳过而已,程序并不会终止,也不会报错,因为这种情况在C语言中并不认为是错误。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值