第一种形式为基本形式:if
基本语句:if(表达式) 语句
如果表达式的值为真,则执行其后的语句, 否则不执行该语句
例如
#include<stdio.h>
int main(){
int a, b, max;
printf("input two numbers: ");
scanf("%d%d", &a, &b);
max = a;
if (max < b) max = b;
printf("max=%d", max);
return 0;
}
程序中,输入两个数 a,b。把 a 先赋予变量 max,再用 if 语句判别 max 和 b 的大小,如 max 小于 b,则把 b 赋予 max。因此 max 中总是大数,最后输出 max 的值。
第二种形式为: if-else
基本语句:
if(表达式)
语句 1;
else
语句 2;
如果表达式的值为真,则执行语句 1,否则执行语句 2
例如
#include<stdio.h>
int main(){
int a, b;
printf("input two numbers: ");
scanf("%d%d", &a, &b);
if (a > b)
printf("max=%d\n", a);
else
printf("max=%d\n", b);
return 0;
}
输入两个整数,输出其中的大数。 改用 if-else 语句判别 a,b 的大小,若 a 大,则输出 a,否则输出 b
第三种形式为 if-else-if 形式
基本语句
if(表达式 1)
语句 1;
else if(表达式 2)
语句 2;
else if(表达式 3)
语句 3;
…
else if(表达式 m)
语句 m;
else
语句 n;
依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个 if 语句之外继续执行程序。如果所有的表达式均为假,则执行语句 n。然后继续执行后续程序。 if-else-if 语句的执行过程如图所示
例如
#include<stdio.h>
int main(){
char c;
printf("input a character: ");
c = getchar();
if (c < 32)
printf("This is a control character\n");
else if (c >= '0' && c <= '9')
printf("This is a digit\n");
else if (c >= 'A' && c <= 'Z')
printf("This is a capital letter\n");
else if (c >= 'a' && c <= 'z')
printf("This is a small letter\n");
else
printf("This is an other character\n");
return 0;
}
本程序中用 if-else-if 语句编程,判断输入字符 ASCII 码所在的范围,分别给出不同的输出
关系运算符
运算符 | 含义 | 运算符 | 含义 |
< | 小于 | <= | 小于或等于 |
> | 大于 | >= | 大于或等于 |
== | 等于 | != | 不等于 |
关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。 在六个关系运算符中,<,<=,>,>=的优先级相同,高于==和!=,==和!=的优先级相同
逻辑运算符
&& 与运算
|| 或运算
! 非运算
逻辑运算符和其它运算符优先级的关系可表示如下:
!(非)
算术运算符
关系运算符
&& 和 ||
赋值运算符
!(非)→&&(与)→||(或)
“&&”和“||”低于关系运算符,“!”高于算术运算符。
按照运算符的优先顺序可以得出: a>b && c>d
等价于 (a>b)&&(c>d)
!b==c||d<a
等价于 ((!b)==c)||(d<a)
a+b>c&&x+y<b
等价于 ((a+b)>c)&&((x+y)<b)
作者: 路羽, 转载或复制请以 超链接形式 并注明出处 路羽博客。
原文地址: 《C语言-选择结构程序设计(一)》 发布于2022-7-26
评论