控制类语句:
逻辑运算符:
选择语句:
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;
}