From b141e57c4c770dae949e75302884bef0a0c73e59 Mon Sep 17 00:00:00 2001 From: y1143597749 <1143597749@qq.com> Date: Sun, 16 Mar 2025 20:51:38 +0800 Subject: [PATCH] 4 --- 笔记/第四课 作业解析.md | 87 +++++++++++++++++++++++++ 笔记/第四课.md | 141 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 228 insertions(+) create mode 100644 笔记/第四课 作业解析.md create mode 100644 笔记/第四课.md diff --git a/笔记/第四课 作业解析.md b/笔记/第四课 作业解析.md new file mode 100644 index 0000000..d1ef122 --- /dev/null +++ b/笔记/第四课 作业解析.md @@ -0,0 +1,87 @@ +### 作业1 + +| 薪水 | 涨薪幅度 | +| --------------- | -------- | +| 0-400.00 | 15% | +| 400.01-800.00 | 12% | +| 800.01-1200.00 | 10% | +| 1200.01-2000.00 | 7% | +| 超过 2000.00 | 4% | + +读取员工的工资,计算并输出员工的新工资,以及员工增加的收入和涨薪幅度。 + +```c +#include + +int main() { + double money; + scanf("%lf", &money); + if (0 < money && money <= 400) { + printf("涨工资后,工资为:%lf\n", money * 1.15); + printf("涨工资幅度是15%%\n"); + printf("涨了%lf元工资\n", money * 0.15); + } + if (400 < money && money <= 800) { + printf("涨工资后,工资为:%lf\n", money * 1.12); + printf("涨工资幅度是12%%\n"); + printf("涨了%lf元工资\n", money * 0.12); + } + if (800 < money && money <= 1200) { + printf("涨工资后,工资为:%lf\n", money * 1.1); + printf("涨工资幅度是10%%\n"); + printf("涨了%lf元工资\n", money * 0.1); + } + if (1200 < money && money <= 2000) { + printf("涨工资后,工资为:%lf\n", money * 1.07); + printf("涨工资幅度是7%%\n"); + printf("涨了%lf元工资\n", money * 0.07); + } + if (2000 < money) { + printf("涨工资后,工资为:%lf\n", money * 1.04); + printf("涨工资幅度是4%%\n"); + printf("涨了%lf元工资\n", money * 0.04); + } + return 0; +} +``` + +### 作业2 + +``` +零食种类 价格 +零食 1 R$ 4.00 +零食 2 R$ 4.50 +零食 3 R$ 5.00 +零食 4 R$ 2.00 +零食 5 R$ 1.50 +``` + +现在给定某种零食的编号和数量,请你计算总价值是多少。 + +输入包含两个整数 x 和 y,其中 x 为零食编号,y 为零食数量。 + +```c +#include + +int main() { + int x, y; + scanf("%d%d", &x, &y); + if (x == 1) { + printf("Total: R$ %.2lf", 4.0 * y); + } + if (x == 2) { + printf("Total: R$ %.2lf", 4.5 * y); + } + if (x == 3) { + printf("Total: R$ %.2lf", 5.0 * y); + } + if (x == 4) { + printf("Total: R$ %.2lf", 2.0 * y); + } + if (x == 5) { + printf("Total: R$ %.2lf", 1.5 * y); + } + return 0; +} +``` + diff --git a/笔记/第四课.md b/笔记/第四课.md new file mode 100644 index 0000000..8a19865 --- /dev/null +++ b/笔记/第四课.md @@ -0,0 +1,141 @@ +# 选择结构 + +1. **关系运算符** + + | 符号 | 作用 | + | ---- | -------- | + | > | 大于 | + | >= | 大于等于 | + | < | 小于 | + | <= | 小于等于 | + | == | 等于 | + | != | 不等于 | + +2. **逻辑运算符** + + | 符号 | 作用 | + | ---- | ------------------------------------------------------------ | + | && | 逻辑与(且)。两者都为真时,结果才为真,有一个为假,结果为假 | + | \|\| | 逻辑或。有一个为真,结果为真,两个都为假时,结果为假 | + | ! | 逻辑非(不是)。为真时,取反为假;为假时,非就为真 | + +在C语言中,关系表达式,**值为0代表假,非零代表真** + +| 关系表达式 | 值 | +| ----------------- | ----------------------------------- | +| 5 > 0 | 1 | +| 5 < 3 | 0 | +| 5 > 0 && 4 > 2 | 1 | +| 5 > 0 \|\| 5 > 8 | 1 | +| !(5 > 0) | 0 | +| (a = 3) > (b = 5) | 0 | +| x = (10 <= 20) | 1 | +| y = (10 >= 20) | 0 | +| y = (a = 30) | 30 | +| b % 7 == 0 | 0 表示b不能够被7整除,因为余数不为0 | + + + +各种不同运算符之间也是有优先级的,优先级如下,左边最高,右边最低 + +! > 算术运算符 > 关系运算符 > && > || > 赋值运算符 + + + +### 三目运算符 + +三目运算符,使用问号和冒号组成,共三个表达式,格式如下 + +**条件 ? 表达式 : 表达式** + +```c +max = (a > b) ? a : b +// 如果 a > b 为真,则把a的值存入max变量当中,否则就把b的值存入max变量当中 +``` + +### if语句 + +```c +// if 语句 条件为真则执行括号里面的内容,注意,if不需要分号结尾,如果if里只有一个语句,则可省略大括号 +if (条件) { + 语句; +} +``` + +### 交换两个变量的值 + +```c +#include + +int main() { + int a, b, t; + printf("a="); + scanf("%d", &a); + printf("b="); + scanf("%d", &b); + /* + a = b; + b = a; + 直接交换的方式,会导致两个变量里存着相同的值,所以在交换时,我们需要对其中一个变量的值做一个值的备份 + */ + t = a; // 备份a变量里的值 + a = b; // 改变a变量里的值,变为b变量的值 + b = t; // 把备份的值在存入b变量当中 + printf("交换a b值后:\n") + printf("a=%d\n", a); + printf("b=%d\n", b); + return 0; +} +``` + +# 练习 + +1. 输入三个整数,判断输入的前两个数加起来是否等于第三个数,如果是,则输出yes,否则输出no。 + ```c + #include + + int main() { + int a, b, c; + scanf("%d%d%d", &a, &b, &c); + if (a + b == c) { + printf("yes"); + } else { + printf("no"); + } + return 0; + } + ``` + +2. 输入两个整数,并判断其中一个数是否是另一个数的倍数,如果是,则输出yes,否则输出no。 + ```c + #include + + int main() { + int a, b; + scanf("%d%d", &a, &b); + if (a % b == 0 || b % a == 0) { + printf("yes"); + } else { + printf("no"); + } + return 0; + } + ``` + +3. 输入一个整数,代表年份,判断该年是否为闰年,如果是,则输出yes,否则输出no。(能被4整数,并且不能被100整除,或者能被400整除的年份被称为闰年) + ```c + #include + + int main() { + int year; + scanf("%d", &year); + if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { + printf("闰年"); + } else { + printf("平年"); + } + return 0; + } + ``` + +