一.条件语句就是一般说的选择结构
选择结构-
if语句;
-
- 第一种结构:if(条件){语句1;语句2;...}
- 第二种结构 :if(条件){语句1;语句2;...}else{语句3;语句4;...}
- 第三种结构:if(条件){语句1;语句2;...}else if(条件2){语句3;语句4;... }else if(条件3){语句4;语句3;...}else if(条件4){语句4;语句3;...}else{语句4;语句3;...}
- 第四种结构:if(条件)语句1;没有大括号;前面的条件语句就结束了;如果有语句2,则和if没有关系;
- 注意:if的使用注意:任何数值都有真假性;int a = 10;if (a = 0){}其中a =0 为赋值操作,我们这里不能这么用,我们是判断a是否等于0,而不是给a赋值;为了避免这种错误可以写成if (0 == a){},可以避免自己少些了=号;
- 判断值是否相等,把常量值写左边;
- 注意赋值运算符只有一个等号,不是两个等号;==是关系运算符;
- 不可以写:if(10>6) int a = 5;没有大括号,就不知道int a的作用域;代码的作用域不明确;
- 因为int a在if后面,所以只限于if语句使用,但if的作用域不明确;
- 书写格式:
switch语句;
-
- 结构:switch(数值){}
- 例:switch(数值){case (数值1);语句1;break;case(数值2);语句2;break;default:语句3;break;}
- break是退出switch函数;return是退出main函数;
- break的重要性:如果case后面没有break,就会执行后面所有case中的u,知道遇到break为止;case如果判断过一次,后面如果没有break,后面的条件都不会判断;
- 如果要在case后面定义新的变量,要加上大括号;不然会导致作用域不明确;--(注:视频在switch2中;)
- if和switch的区别:if在实现大小比较的时候,switch就不能做到;switch里面能实现的功能,在if中都能实现;
- 变量内存分析
1)、字节和地址:1GB有多少字节:每一个字节都有自己的地址;
2)、数据越大,暂用的字节越大;
3)、内存寻址由大到小;
4)、变量的地址是字节中最小的那一个;越先定义的变量,内存地址越大;
5)、&是地址运算符;用来取得变量;
6)、优先分配后面的地址给前面的变量;%p是输出变量的地址;
7)、变量没有进行初始化,就拿来使用是不正确的;
scanf函数:
1)、和printf函数相反;这个是输入的;让用户输入;
2)、使用scanf的时候,取地址用&;空格的符号是\