一、关系运作符与关系表达式
1.c语言中有6中种关系运算符:
<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、==(等于)、!=(不等于)
【注】:
运算符的优先次序:
(由低到高):赋值运算符→→关系运算符→→算术运算符
二、逻辑运算符
1.&&(逻辑与)、||(逻辑或)、! (逻辑非)
a | b | !a | !b | a&&b | a||b | |
真 | 真 | 假 | 假 | 真 | 真 | |
真 | 假 | 假 | 真 | 假 | 真 | |
假 | 真 | 真 | 假 |
假 | 真 | |
假 | 假 | 真 | 真 | 假 | 假 |
一、选择结构程序
(一)if条件判断语句
1.if语句(单分支)
语法格式:
if(表达式)语句A;
当满足条件式,执行语句,当不满足条件式跳过语句。
例子:
输入一个非零数字a,当他大于0时输出“a为正数”。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a = 0;//a为非0数字
scanf("%d", &a);//输入想要的a值
if (a > 0)//如果a大于零
{
printf("%d是正数\n",a);//则输出a为正数
}
return 0;
}
2.if...else...语句(双分支)
语法格式:
if(表达式)语句A;
else 语句B;
当if中表达式为真时,执行A语句,放弃B语句,当if中表达式为假时,放弃A语句,执行B语句。
例子:
输入一个非零数字a,当它大于0时输出“a为正数”,当它小于0时输出“a为负数”。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a = 0;//a为非零数
scanf("%d", &a);//输入想要的a值
if (a > 0)//如果a大于零
{
printf("%d是正数\n",a);//则输出a为正数
}
else
{
printf("%d是负数\n",a);//则输出a为负数
}
return 0;
}
3.if...else if 语句
语法格式
if(表达式1)语句1;
else if(表达式2)语句2;
。。。。。。
else if(表达式n)语句n;
else 语句n+1;
多种情况进行处理时。
例子:
输入任意整数,判断其除三之后的余数。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
if (a % 3 == 0)
printf("能被3整除,余数为0\n");
else if (a % 3 == 1)
printf("余数为1\n");
else
printf("余数是2\n");
return 0;
}
(二)switch语句
用于复杂的判断结构,(有过多嵌套层次)。
语法格式:
switch(表达式C)
{
case常量表达式1:语句序列a1;
break;
case常量表达式2:序列a2;
break;
........
case常量表达式n:语序列an;
break;
default:语句a;
}
例子:
输入数字1-7,出去对应的星期。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a = 0;
sacnf("%d", &a);//输入1-7之间的数字
switch (a)
{
case 1://输入1时,输出“星期一”,以此类推。
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期日\n");
break;
default:
printf("输入错误,请重新输入,确保数字在1-7之间");
}
return 0;
}