171016—if与switch语句&初次实验。
2017-10-16 22:58
169 查看
今日进入程序控制结构部分。
所有程序都只能包含三种控制结构:
顺序结构、选择结构和循环结构。
选择控制:
1.if语句:
if语句有两种形式:一个分支的if语句 和 两个分支的if-else语句。
1) if (表达式)
{语句块;
} 表达式为逻辑表达式,【若果是其他类型的表达式,则将其结果作为逻辑值处理】这里可以好好理解逻辑表达式的意义!!
表示执行的条件,当变量
满足这一逻辑表达式时,执行语句,如果不满足,则跳过if这个语句块,去执行后续语句。也就是说,这种if语句可能被执行,也可能不被执行。
2)
这时,if语句有且只有一个被执行。且必须有一个被执行。
·····else不可单独存在,有else必有if。
3)if的嵌套语句:
当处理的情况大于两种的时候,上述两种单独使用不能解决问题时,可以复合起来使用,此式要注意else和if的配对问题。
······else必须与在它上面的,离他最近的,且没有和其他else配对的if配对。
2.switch语句。
说实话我还没特别领悟他用switch命名的含义…….
它用于根据一个整型变量的不同值决定程序分支的情况。
看到没,这里的“常量表达式”和“表达式”一起起到了if语句中“表达式”的作用,即判断输入值满足的条件,并选择后续语句去执行。
而且!!【swtich的条件判断是一个萝卜一个坑,死死把控!!】
“常数表达式”:这就已经体现它的严(死)格(板)了,你绝对不能像if那样扯个范围出来。
而且!!!【switch是很勤劳的,只要它从某个语句开始了,它会一直跑下去知道结束。】
为了应对这些问题。switch有三大法宝:
break
类型转换
多个case共用一个语句
1)在某一语句的末尾加上break即可使程序做完此步运算之后跳出switch语句,化解由于其过于勤奋而造成的尴尬。
2)思考如何表达1≤X<2?因为X是浮点数,当他在12之间是,对其做强制类型转换为整数型数据,则可得到1,这可是个常数啊!,下面的如法炮制,最绝在2≤X<4时,转换出来不是两个数吗?那我就共用一个语句呗。。而这个例子:
更是很好的体现了类型转换和逻辑表达式的代数值的特点。十分值得玩味。
3.初次实验。
题目:输出四位数中所有的超完全数字不变数。比如1634=1*1*1*1+6*6*6*6+3*3*3*3+4*4*4*4。
昨天刚看到题目,分析可能需要用到if和for的相关结构。呃。。。试着自学写了个for语句。果断失败。
今天再次尝试,一次成型。原码如下:
一旦加了结构。这代码看起开就好多了。
明日计划:继续学习其他语句。
所有程序都只能包含三种控制结构:
顺序结构、选择结构和循环结构。
选择控制:
1.if语句:
if语句有两种形式:一个分支的if语句 和 两个分支的if-else语句。
1) if (表达式)
{语句块;
} 表达式为逻辑表达式,【若果是其他类型的表达式,则将其结果作为逻辑值处理】这里可以好好理解逻辑表达式的意义!!
#include<iostream> using namespace std; int main()//写这个就是为了测试书上所说的:条件语句“若为其他类型表达式,则作为逻辑值处理。 { int a; cin>>a; if(a) cout<<a<<endl; else cout<<"哈哈"<<endl; }
表示执行的条件,当变量
满足这一逻辑表达式时,执行语句,如果不满足,则跳过if这个语句块,去执行后续语句。也就是说,这种if语句可能被执行,也可能不被执行。
2)
if(表达式) {语句一; else 语句二;}
这时,if语句有且只有一个被执行。且必须有一个被执行。
·····else不可单独存在,有else必有if。
3)if的嵌套语句:
当处理的情况大于两种的时候,上述两种单独使用不能解决问题时,可以复合起来使用,此式要注意else和if的配对问题。
······else必须与在它上面的,离他最近的,且没有和其他else配对的if配对。
2.switch语句。
说实话我还没特别领悟他用switch命名的含义…….
它用于根据一个整型变量的不同值决定程序分支的情况。
switch ( 表达式 )【表达式为非浮点型数据】 { case 常量表达式 1 : 语句 1 case 常量表达式 2 : 语句 2 … case 常量表达式 n : 语句 n default : 语句 n+1
看到没,这里的“常量表达式”和“表达式”一起起到了if语句中“表达式”的作用,即判断输入值满足的条件,并选择后续语句去执行。
而且!!【swtich的条件判断是一个萝卜一个坑,死死把控!!】
“常数表达式”:这就已经体现它的严(死)格(板)了,你绝对不能像if那样扯个范围出来。
而且!!!【switch是很勤劳的,只要它从某个语句开始了,它会一直跑下去知道结束。】
为了应对这些问题。switch有三大法宝:
break
类型转换
多个case共用一个语句
1)在某一语句的末尾加上break即可使程序做完此步运算之后跳出switch语句,化解由于其过于勤奋而造成的尴尬。
2)思考如何表达1≤X<2?因为X是浮点数,当他在12之间是,对其做强制类型转换为整数型数据,则可得到1,这可是个常数啊!,下面的如法炮制,最绝在2≤X<4时,转换出来不是两个数吗?那我就共用一个语句呗。。而这个例子:
switch(int(a>b)) case 1:巴拉巴拉; case 0:巴拉;
更是很好的体现了类型转换和逻辑表达式的代数值的特点。十分值得玩味。
3.初次实验。
题目:输出四位数中所有的超完全数字不变数。比如1634=1*1*1*1+6*6*6*6+3*3*3*3+4*4*4*4。
昨天刚看到题目,分析可能需要用到if和for的相关结构。呃。。。试着自学写了个for语句。果断失败。
今天再次尝试,一次成型。原码如下:
#include<iostream> using namespace std; int main() { int x,a,b,c,d,m; for(x=1000;x<=9999;x++) { a=x/1000; b=(x-a*1000)/100; c=(x-a*1000-b*100)/10; d=x-a*1000-b*100-c*10; m=a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d; if(m==x) cout<<m<<endl; } }
一旦加了结构。这代码看起开就好多了。
明日计划:继续学习其他语句。
相关文章推荐
- 11.26语句 程序流程变量 if & switch 的总结
- Java 笔记 之 流程控制语句( if & switch & for & while)
- Java基础第一阶段——03_Java语言基础_运算符&if&while&switch&for语句
- 黑马程序员——java基础知识篇——>if语句、switch语句
- 重构第四天 : 用多态替换条件语句(if else & switch)
- Java基础--->08.判断语句(if、else if、switch、while、do while)。
- matlab if&&for&&switch语句
- swift 2.0 分支语句 if...else & switch
- if,switch语句的用法
- C语言中流程控制语句(if,switch,for,while,do-while,continue,break,return)
- 黑马程序员 java基础--》 if语句与switch语句 小结
- if语句与switch的使用
- 有两个变量a 和 b,不用if、?: 、switch 或者其他判断语句,找出两个数中比较大的那个
- JS:1.2控制语句(if,if else,for,switch,while,do while)
- 比较两个整数的大小,不能使用 &quot;if&quot;, &quot;?:&quot;, &quot;switch&quot; 等
- 不用”if“,”?:“,”switch“或其他判断语句,求两个数中较大的数或较小的数
- JavaScript基础学习笔记(三)——JavaScript 比较和逻辑运算符、JavaScript If...Else 语句、JavaScript Switch 语句
- java条件语句if和switch比较
- 两个变量a,b,不用“if”,“? :”,switch或者其它判断语句,找出两个数中间比较大的
- java流程控制语句&if...else