C语言switch分支语句和循环语句
类型转换
只有相同类型的数据才能运算,如果类型不相同的数据需要先转换相同类型后再进行计算。
1.自动类型转换:
转换规则:(1,2,3为优先级)
以不丢失数据为基础,可以适当地牺牲一些空间
1、字节少的向字节多的转
char int
2、有符号的向无符号的转
3、整型向浮点型转
注意:char short 如果与不同类型的数据运算时,会先提升为int类型后参与运算
2.强制类型转换:
(新类型名)数据;
这种方式有可能会丢失数据,慎重使用
switch开关分支语句
switch(n) //n可以是数值、表达式,运算结果必须是整数
{
case val: //如果val==n,则打开执行开关
... //val必须是常量
break; //关闭执行开关。结束swicth
//如果每个case后都加break,形成了分支结构
//switch中不能使用continue
//case a ... b:可以代表[a,b],但是只有GNU编译器才支持该语法,不建议使用
case val1:
...
default:
//如果所有的case都没有打开,则最后打开default,并且放在任何位置都可以最后打开
}
for循环语句
循环就是一种让代码反复执行的一种方法,达到你想要的效果。
for循环是一种非常灵活、变样多样且危险(相比其他循环而言)的循环
for循环一般使用一个变量来引导循环的执行,该变量叫做循环的变量i
for([1];[2];[3])
{
[4]
}
[1]、给循环变量赋初始值,C99以上标准才可以在此处定义循环变量 -std=gnu99
[2]、判断循环变量是否到达边界,如果没有到达,进入循环
[4]、被反复执行的代码,成为循环体。
[3]、改变循环变量的值,防止出现死循环,一般对循环变量进行自加、自减
for循环各种写法:
for(;;) //死循环
{
}
int i=0;
for(; i<10;i++)
{
}
for(int i=0; ;i++)
{
if(i>=10)
{
break;
}
}
for(int i=0; i<10;)
{
...
i++;
}
while循环语句
while(表达式)
{
//循环体
}
当表达式为真时执行循环体,执行完后重新判断表达式,以此类推,直到表达式为假,结束循环。
while循环相当于for的精简版本 for(;表达式;)
for循环专门负责解决明确知道循环次数的问题
while循环专门负责解决不确定循环次数的问题
do-while 循环语句
do{
//循环体
}while(表达式);//表达式为真循环继,为假结束循环
先执行循环体,再判断循环条件,该循环体至少执行一次
适合先干活、后检查的特殊情况,例如输入密码、文件的内容判断
循环嵌套
循环语句中包含了循环语句
外层循环执行一次,内存循环执行n次