第4章 控制语句
来源:互联网 发布:淘宝怎么申请退保证金 编辑:程序博客网 时间:2024/05/12 09:12
4.1顺序结构
4.2选择结构
4.2.1 if语句
格式
if (表达式)
语句块1
else
语句块2
常见形式
1)简化形式
if(表达式) 语句块 例如: if(x>y) printf(“%d”,x);
2)阶梯形式
格式:
if(表达式1) 语句块1
else if(表达式2) 语句块2
else if(表达式3) 语句块3
else if(表达式4) 语句块4
…
else 语句块n
注意:
语句块:当有若干条语句时,必须用{…}括起来。
表达式:
1)if语句的表达式一般情况下为逻辑表达式或关系表达式。
如:if(a= =b && x= =y) printf(“a=b,x=y”);
2)也可以是任意类型(包括整型、实型、字符型、指针类型)
例如:if(‘a’) printf(“%d”,’a’);
if(‘3’) printf(“OK!”);
注意:“非零”与“零”的用法
思考:请区分if(x=1)与if(x= =1)的不同
3) 嵌套形式
格式
if语句的嵌套
if()
if() 语句块1
else 语句块2
else
if() 语句块3
else 语句块4
注意:
if语句中if与else的配对关系为:
else总是与它上面的最近的if配对.书写格式的缩进与否与它们之间的配对无关.
要实行强行的配对关系可以利用{ }
如: if()
{if() 语句块1}
else 语句块2
4.2.2条件运算符
在if语句中,表达式为真和假时都执行一条赋值语句并且都是给同一个变量赋值.这时可以把if语句简化为条件运算符.
表达式1?表达式2:表达式3;
if (a>b) max=a;
else max=b; max=(a>b)?a:b;
注意:
1)条件运算符的执行顺序:
先求表达式1,若为真则求解表达式2,整个表达式的值为表达式2的值;若表达式1的值为假则求解表达式3,整个表达式的值为表达式3的值。
2)比较条件运算符与其他运算符的优先级别和结合性。
3)条件表达式中表达式1的类型可以与表达式2和表达式3的类型不一致.表达式2与表达式3的类型也可以不一致。
4.2.3 switch语句
格式
switch (表达式)
{
case 常量表达式1:语句块1;break;
case 常量表达式2:语句块2; break;
….
case 常量表达式n:语句块n; break;
default :语句块n+1;
}
使用:
1)switch中的表达式可以是整型或字符型表达式
(也可以是枚举类型,新标准的c语言允许为任意类型.)
2)每个常量表达式的值必须各不相同,否则将会出现矛盾。
3)当表达式的值与case后面的常量表达式值相等时就执行此case后面的语句。
4)“case 常量:”只起语句标号的作用。
5)break语句在switch中的作用:强行跳出switch体转到其它某条语句,每个case后面应有一个break语句(否则程序的执行顺序将改变),default分支后的break可以省略。
6)各个case出现的先后顺序不影响程序的执行结果.
7)多个case可以执行一组语句.
4.3循环语句
4.3.1 for语句
格式
for(变量;条件;表达式)
{语句}
4.3.2 while语句
格式:
while(表达式)
{语句}
4.3.3 do while语句
do
{语句}while(条件)
4.4.其他
break语句
1)用于从循环体内跳出循环体,即提前结束循环。
2)break只能用在循环语句和switch语句中.
continue语句
结束本次循环,接着判定下一次是否执行循环。
continue与break的区别:
continue直结束本次循环,而break终止本层循环.
return语句
return语句主要用于终止包含它的函数的执行,当然终止包含return语句的分支语句或循环语句,执行完return语句之后,将把控制转移给调用函数。
若return终止的为主函数,控制返回到操作系统。根据它所在函数返回值的类型,return对<表达式>运算后,将其数值转换为相应的函数类型,返回给调用函数。
return语句的一般形式:return ( <表达式> ) ;
小贴士:
1.static 用法
1)
#include <stdio.h>void fun(){ int i=0; i=i+5; printf(“%d”,i);} int main (int argc,char **argv){ fun(); fun(); return 0;}
结果为:
5
5
2)
#include <stdio.h>void fun(){ static int i=0; i=i+5; printf(“%d”,i);} int main (int argc,char **argv){ fun(); fun(); return 0;}
结果为:
5
10
3)
#include <stdio.h>void fun(){ static int i; i=0; i=i+5; printf(“%d”,i);} int main (int argc,char **argv){ fun(); fun(); return 0;}
结果为:
5
5
4)
#include <stdio.h>void fun(){ int i; i=0; i=i+5; printf(“%d”,i);} int main (int argc,char **argv){ fun(); fun(); return 0;}
结果为:
5
5
- 第4章 控制语句
- 第2章 控制语句
- 第20章、控制语句foreach用法
- 第6章 C控制语句:循环
- 第 3 章 流程控制语句
- 第6章 流程控制语句
- 第五天 流程控制语句
- 程序设计与C语言学习笔记_第三章第4章 语句及控制结构
- 【慕课笔记】第四章 流程控制语句 第4节 JAVA条件语句之嵌套if
- Thinking in Java 第4章 控制执行流程 【Foreach 语句】
- 第14章 事务控制和锁定语句
- 第4天 流程控制语句与函数初识
- Java基础第4讲--逻辑控制语句
- 【慕课笔记】第四章 流程控制语句 第1节 JAVA条件语句之if
- 【慕课笔记】第四章 流程控制语句 第5节 JAVA条件语句之switch
- 【慕课笔记】第四章 流程控制语句 第6节 JAVA条件语句之while
- 【慕课笔记】第四章 流程控制语句 第8节 JAVA循环语句之for
- 第12课 pl/sql控制语句
- linux上安装elk
- Java中commons-beanutils的介绍
- MYSQL整理1(常用)
- Json-lib JsonConfig
- 助你快速踏入高薪职场——2017面试集锦之XML
- 第4章 控制语句
- 在全志r40平台tinav2.1系统下调通ov5640(分色排版)V1.1
- PAT乙级1056 组合数的和
- JavaScript中的ArrayBuffer 理解
- HITS算法的Java实现
- Java用正则表达式判断输入的电话号码格式是否正确
- 事务-分布式事务
- Servlet
- koa2 笔记