控制流程——学渣C语言再修之路
C语言的控制流程是基础中的基础,几乎没有程序不用到选择和循环控制的,今天又来看这些内容,以求入门。
选择结构:
只有一个选项:这个肯定很easy啊,就是
if(expression){
Statements;
}
这里就是要注意代码的简单易懂,expression一定不要写的太复杂,判断条件很多时就可以分开来写,不要写晦涩的代码。
两个选项:这个就是
if(expression){
Statements;
}else{
Statements;
}没有什么好说的。
其实这里可以用三目运算符来代替
condition?expression1 :expression2 如果condition为true就执行expression1。
这个极端简洁,但是只能是一个expression,不能像if那样里面写代码块。
然后这里有一道题大家做了无数次,就是把大写字母换成小写字母,可以使用stdrag.h中的两个函数,tolower()和toupper(),前者可以将大写字母变小写字母,后 者可以把大写变小写。如果要判断一个字符是不是字母可以用isalpha(),如果判断是不是大写字母用isupper(),如果判断是不是小写用islower()。
多项选择:
使用
if(expression){
Statements;
}else if{
Statements;
}else{
Statements;
}这个语句估计都用的出神入化了,那次写程序基本上都需要。
然后就是有很多人非常反感的Switch语句。说实话我也是不喜欢,可能就是教材上提了那么一句switch要惨遭淘汰什么的,但是该用还是要用的。
switch(expression){
case case1 :
statements;
break;
case case2 :
statements;
break;
default:
Statements;
break;
}这个语句特别不爽的就是那个break了,那个是必须有的,如果没有你就会得到一个垃圾答案,还有那个default后的break都可有可无,不过为了以后可以再加一些 case这个break还是加上好。default和break都是关键字,千万不要把它们当做函数。case后面的情况不能是变量,只能是常量,这个很扯淡的说,感觉没有if好用。
goto语句:
关键字goto,这看起来是if的好搭档,老师却说不要用,似乎大家都受到了这个思维,从来不用goto,百无一用是goto的时代啊,但是当你想跳出一个嵌套循环时, 不知道想起过goto没?感觉goto是最简单的方式了,就像你身陷重重包围,你的第一想法不是一层层突围,你的最美好的愿望是直接跳出包围圈,而在程序中如果循 环是包围圈,break就是一层层的突围,而goto无意可以实现你的美好愿望,所以goto有时候还是有用的。
感觉最不值得写的就是循环,这是一个使用才是王道的内容,还是得多练。
自己的逻辑思维很重要。
注意一些在控制流程中最容易犯的错误:如果两个循环是并列的那么基本上可以使用同一循环变量,如果是嵌套的就千万别使用同一循环变量,太容易错了,而且极度不易发 现。
总之,千万注意,不要马虎,不然程序的不会报错,就让你去找错误了,很扯淡。