一、关系运算
1. 关系运算符及意义
| == | 相等 |
| != | 不相等 |
| > | 大于 |
| >= | 大于或等于 |
| < | 小于 |
| <= | 小于或等于 |
2. 运算结果
关系运算的结果为整数1或0。
- 当两个值的关系符合运算符预期时,结果为1。
- 不符合预期时,结果为0。
示例
c
运行
printf("%d\\n",5==3); // 输出0
printf("%d\\n",5>3); // 输出1
printf("%d\\n",5<=3); // 输出0
3. 优先级
- 关系运算符的优先级低于算术运算符。
- 关系运算符的优先级高于赋值运算符。
示例
c
运行
7>=3+4 // 先计算3+4=7,再判断7>=7,结果为1
int r=a>0; // 先判断a>0,再将结果赋值给r
二、找零计算器程序示例
1. 程序功能
用户输入购买金额和支付票面,程序计算并打印找零,或告知余额不足。
2. 程序结构(注释划分)
以//开头的单行注释将程序分为三个部分:
3. 代码示例
c
运行
// 初始化
int price = 0;
int bill = 0;
// 读入金额和票面
printf("请输入金额:");
scanf("%d",&price);
printf("请输入票面:");
scanf("%d",&bill);
// 计算并打印找零
printf("应该找您:%d\\n",bill – price);
三、注释
1. 单行注释
以两个斜杠//开头,用于注释单行内容。
- 注意://是 C99 标准支持的注释方式,ANSI C 不支持。
2. 多行注释
以/*开头,以*/结束,可延续数行注释内容。
- 也可用于一行内的注释。
示例
c
运行
int ak=47 /*36*/,y=9; // 行内注释
/*
这是多行注释
可以写多行内容
*/
四、if 语句
1. 基本结构
由关键字if开头,括号内为条件逻辑表达式,后接大括号{}包裹的执行语句。
- 若表达式结果非 0,执行大括号内语句。
- 若表达式结果为 0,跳过语句继续执行后续代码。
- if行末尾无分号,执行语句行末尾有分号,执行语句通常缩进。
示例
c
运行
if ( total > amount)
total += amount + 10;
2. 嵌套的 if 语句
if或if-else的执行语句可以是另一个if或if-else语句。
示例
c
运行
if(code == READY)
if(count < 20)
printf("一切正常\\n");
else
printf("继续等待\\n");
3. else 的匹配规则
else总是和最近的那个if进行匹配。
示例
c
运行
if(code == READY){
if(count < 20)
printf("一切正常\\n");
}else
printf("继续等待\\n");
4. 分段函数实现示例
以分段函数 f(x)=⎩⎨⎧−1,0,2x,x<0x=0x>0 为例:
c
运行
if(x < 0){
f = -1;
}else if(x == 0){
f = 0;
}else{
f = 2 * x;
}
五、switch-case 语句
1. 基本结构
c
运行
switch(控制表达式){
case 常量:
语句;
break;
case 常量:
语句;
break;
default:
语句;
break;
}
2. 规则
- 控制表达式只能是整数型的结果。
- case后的常量可以是常数,也可以是常数计算的表达式。
3. break 的作用
- switch是基于计算的跳转,匹配到对应case后执行语句。
- 若没有break,程序会顺序执行后续 case的语句,直到遇到break或switch结束。
示例
c
运行
switch( type )
{
case 1:
case 2:
printf("你好\\n");
break;
case 3:
printf("晚上好\\n");
case 4:
printf("再见\\n");
break;
default:
printf("啊,什么啊?\\n");
break;
}
#include
<stdio.h>
int main() { int hour1, minute1; int hour2, minute2; scanf("%d %d", &hour1, &minute1); scanf("%d %d", &hour2, &minute2); int ih = hour2 – hour1; int im = minute2 – minute1; if ( im <0) { im = 60 + im; ih –; } printf("时间差是%d小时%d分。",ih,im); return 0; }
#include <stdio.h>
int main() { const int PASS=60; int score; printf("请输入成绩"); scanf("%d",&score); printf("你输入的成绩是%d.\\n",score); if(score < PASS) printf("很遗憾,这个成绩没有及格"); else printf("祝贺你,这个成绩及格了"); printf("再见\\n"); return 0; }
网硕互联帮助中心![[USACO06NOV] Roadblocks G(洛谷P2865)-网硕互联帮助中心](https://www.wsisp.com/helps/wp-content/uploads/2026/01/20260127140916-6978c70ca125d.png)

评论前必须登录!
注册