分支结构
先来复习下运算符:
>:大于
<:小于
>=:大于等于
<=:小于等于
!=:不等于
==:等于
&&:逻辑与
......太多 链接留着忘了在看http://www.slyar.com/blog/c-operator-priority.html
注:1、sizeof()与strlen()的区别:<1>sizeof()是运算符,在程序编译时就已经计算好了,strlen()是函数,在函数调用时候起作用;<2>、sizeof()意思是所建立对象的最大字节大小,参数可以是变量、指针、数组等,strlen()意思是字符串的长度,参数只能是字符串,即char *类型,参数以'\0'结尾;
exmple:
char str = "hello";
sizeof(str) = 7; //sizeof计算建立对象的最大长度,即包括结束符'\0'
strlen(srt) = 6; //strlen()计算字符串的长度,不包括’\0'
2、三目运算符 ?:
c语言中惟一一个三目运算符 作用相当于 if- else语句
example:
A < B ? A : B
上式意思即为,如果A小鱼B成立,结果为A ,不成立 则结果为B
等价于
if(A < B){
result = A;
}
else{
result = B;
}
分支语句主要有if else语句和 switch case语句
if else:
形式:
if(判断条件)
{
//执行语句;
}
else
{
//执行语句;
}
exmple:
int a = 10; //定义一个int型变量a ,并初始化为 a = 10
if(a == 10) //判断条件a == 10是否成立,如果成立则执行if执行语句,不成立则执行else语句
{
printf("a 等于 10\n");
}
else
{
print("a 不等于 10\n");
}
上述运行结果为:a 等于 10
switch case语句:
形式:
switch(控制表达式)
{
case 常量表达式:
语句列表;
break;
case 常量表达式:
语句列表;
break;
case 常量表达式:
语句列表;
break;
。。。。。。
dafault:
语句列表;
break;
}
注:1、case后面必须跟常量表达式;
2、case后面必须是整型常量表达式;
3、case语句后面如果没有break语句就会继续执行下一个case的语句,直到遇见break为止或者执行到整个分支语句末尾。
exmple:
#include <stdio.h>
int main (int argc, char *argv[])
{
int a;
printf("输入一个数字(0~7)\n");
scanf("%d", a);
switch(a)
{
case 1:
printf("Monday\n");
break;
case 2:
printf("Tuesday\n");
break;
case 3:
printf("Wednsday\n");
break;
case 4:
printf("Thursday\n");
break;
case 5:
printf("Friday\n");
break;
case 6:
printf("Saturday\n");
break;
case 7:
printf("Sunday\n");
break;
default:
printf("错误的数字\n");
break;
}
}
if else语句与switch case语句都可以判断,但是switch语句判断只能是整型常量,不能判断浮点型数据;switch语句会使程序看起来更加清晰