黑马程序员--IOS基础第四天(C语言)
来源:互联网 发布:软件开发价格评估 编辑:程序博客网 时间:2024/06/07 04:08
变量易出问题:1)使用前未初始化 2)两个整形数做减法(b=1-1.5;//b=0)
程序的结构有三种:顺序结构、分支结构、循环结构
分之语句if的使用:
格式:
if(表达式/常量/变量)
{语句块1; }
原理:先计算小括号中的表达式的值。为真(1),会执行大括号语句,为假(0),不执行
if。。。else。。。语句:
格式:
If(表达式/常量/变量)
{ 语句块1; }
else
{语句块2;}
原理:先计算小括号中表达式的值。为真(1),会执行块语句1,为假(0),执行语句块2
注意:不管真假,都会执行一个语句块
if语句的高级用法:
如果表达式1位真,则执行语句块1,否则判断表达式2,如果为真执行语句块2,否则再判断表达式3,如果真执行语句块3,当表达式1,、2、3都不满足,会执行最后一个else语句
if语句使用注意点:、
if(条件)可以直接写分号”;”,表示什么也不干。例如:if(a>3);
如果if之后的代码块只有一句话,可以省略大括号。例如:if(a>2)printf(“a>2”)
永真式和永假式:if(1){永远执行};if(0){绝不执行};
if语句结合return语句:
int a=3;if(a==3)return 0;//在一个函数中,return语句之后的语句都不会执行
if作用域的问题:
if(a==3){ int num=10;}
printf(“%d”,num);//打印不出num,因为num仅在if语句中,if结束后,内存清空,不再有num
容易疑惑的地方,作用域的紊乱:if(a==3)int num=10;//错误
Switch分之语句:
使用格式
Switch(表达式){
Case 常量表达式1:语句1;
Case 常量表达式2:语句2;
。。。。
case 常量表达式n:语句n;
default:语句n+1;
}
语义是:计算表达式的值,并逐个与其后的常量表达式比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
Case语句的穿透问题:某个case语句执行后,并没有结束,而直接向下执行其他的case语句。这种现象就称之为case穿透。
如何方式case穿透?:我们只需在每一个case语句结束之后,加上一句break。
Break 作用是结束switch语句
Switch(表达式){
Case 常量表达式1:语句1;break;
Case 常量表达式2:语句2;break;
。。。。
case 常量表达式n:语句n;break;
default:语句n+1;
}
If语句和switch语句的选择:
分之比较多且无法穷尽或进行大量列举时,最好用if
如果分支不是很多,但是使用if代码代码量比较大时,可以选用switch。
Switch使用注意事项:
switch语句的表达式类型:a可以放一个整型变量b可以放一个整型常量switch(10)
c 可以放一个返回值是整型的表达式switch(5+5)
d 可以放可以转化为int类型的表达式switch(‘a’)
功能代码部分可以写任意多句:
Case语句可以有任意多句,可以不用加括号“{}”
break语句是可选的,可以加,也可以不加。
case语句的注意事项:
可以是常量 case 10;
如果放表达式,那么只可以是常量表达式 case 5+5;
Default语句的位置可以任意放,不一定要放在最后
Case的穿透问题,同样适用于default语句
如果default语句放在switch语句的最后,可以不加break。放其他位置,必须加break
Case后面不能是实数
Case 语句之后,默认的第一句话不能定义变量。如果第一句话非要定义,应该加大括号
编译器bug:
- 黑马程序员--IOS基础第四天(C语言)
- 黑马程序员--IOS基础第二天(C语言)
- 黑马程序员--IOS基础第六天(C语言)
- 黑马程序员--IOS基础第十天(C语言)
- 黑马程序员--IOS基础第十二天(C语言)
- 黑马程序员-iOS基础-C语言基础(二)
- 黑马程序员-iOS基础-C语言基础(五)指针
- 黑马程序员-iOS基础-C语言基础(二)
- 黑马程序员-IOS-C语言基础
- 黑马程序员 -- IOS C语言 基础语法
- 黑马程序员IOS-C语言-基础
- 黑马程序员—IOS基础(C语言流程控制)
- 黑马程序员--IOS基础第一天(C语言)
- 黑马程序员--IOS基础第三天(C语言)
- 黑马程序员--IOS基础第五天(C语言)
- 黑马程序员--IOS基础第七天(C语言)
- 黑马程序员--IOS基础第八天(C语言)
- 黑马程序员--IOS基础第九天(C语言)
- Bootstrap 模态框、轮播 结合使用
- 托管代码 VS 非托管代码
- yarn-web应用代理
- web.xml加载顺序
- angularJS常用指令
- 黑马程序员--IOS基础第四天(C语言)
- POJ 3518 Prime Gap(数论)
- 2012年5月SAT香港真题解析
- C语言中关键字auto、static、register、const、volatile、extern的作用
- java 去除空行程序 以及set接口的使用特征
- 【动态规划】【树形DP】[BZOJ 1040]骑士
- Netty系列之Netty百万级推送服务设计要点
- Android中百度地图的Lcom/baidu/a/a/a/a错误
- Linux报错-------ln: 无法创建符号链接"***": 只读文件系统