控制类语句:
逻辑运算符:
选择语句:
if...else:
if()括号内的内容终究会被转换成0,1,满足的话即为1,不满足的话为0。因此要注意,()括号内因为条件语句,不能是赋值语句
示例一:比较两个数的大小,按照从小到大输出
#include<stdio.h>int main() //不管输入两个数的大小,保证data1存放其中较小的数
{int data1;int data2;int datatemp;printf("请输入你的数据:\n");scanf("%d%d",&data1,&data2);if(data1 > data2) //交换{printf("========\n"); //判断程序是否进入了循环,用来调试代码datatemp = data1;data1 = data2;data2 = datatemp;}printf("%d,%d",data1,data2);return 0;
}
示例二:输入一个字符,判别它是否为大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。
#include<stdio.h>int main()
{char cdata;printf("请输入一个字母:\n");scanf("%c",&cdata);if(65 <= cdata && cdata <= 90){ //判断输入是否是大写字母printf("它对应的小写字母是:%c",cdata+32);}else if(97 <= cdata && cdata <= 122){ //判断输入的是否是小写字母printf("它本来就是小写字母:%c",cdata);}else{printf("你输入的不是字母\n");}return 0;
}
switch...case:
存在意义:if语句只有两个分支可供选择,而实际问题中常常需要用到多分支的选择。例如,学生成绩分类(85 分以上为'A'等,70~84 分为'B'等,60~69 分为'C'等),人口统计分类(按年龄分为老、中、青、少、儿童),工资统计分类,银行存款分类等。当然这些都可以用嵌套的if语句来处理,但如果分支较多,则嵌套的if语句层数多,程序冗长而且可读性降低。C语言提供 switch 语句直接处理多分支选择。
结构示例:
#include<stdio.h>int main()
{int data;char cdata;printf("请输入一个数:\n");scanf("%d",&data);switch(data){case 1:printf("符合1的情况\n");break;case 2:printf("符合2的情况\n");break;case 3:printf("符合3的情况\n");break;default:printf("符合其他情况\n");}getchar(); //吸收掉上一个scanf函数输入后的换行符printf("请输入一个字符:\n");scanf("%c",&cdata);switch(cdata){case 'a':printf("符合a的情况\n");break;case 'b':printf("符合b的情况\n");break;case 'c':printf("符合c的情况\n");break;default:printf("符合其他情况\n");}return 0;
}
示例一:
#include<stdio.h>int main()
{float number;printf("请输入任意一个数x=:");scanf("%f",&number);if(number < 1){printf("对应的函数值y=:%.3f",number); //保留三位小数}else if(number >= 1 && number < 10){printf("对应的函数值y=:%.3f",2*number-1);}else{printf("对应的函数值y=:%.3f",3*number-11);}return 0;
}