🌈 style:

This commit is contained in:
lzy
2024-06-23 17:45:58 +08:00
parent 5598552b22
commit a5172579e3
16 changed files with 138 additions and 393 deletions

View File

@@ -1,4 +1,5 @@
# 目录
- [目录](#目录)
- [第三章 输入输出专题](#第三章-输入输出专题)
- [内容](#内容)
@@ -6,26 +7,22 @@
- [`printf`](#printf)
- [`scanf`](#scanf)
- [字符输入输出函数](#字符输入输出函数)
- [字符串输入输出函数](#字符串输入输出函数)
- [练习专题](#练习专题)
- [夸脱水](#夸脱水)
- [三角形面积](#三角形面积)
- [求根公式](#求根公式)
# 第三章 输入输出专题
input & output -> I/O(标准IO文件IO)
## 内容
1. 格式化输入输出函数:`scanf`, `printf`
2. 字符输入输出函数:`getchar`, `putchar`
3. 字符串输入输出函数:`gets(!)`,`puts`
## 格式化输入输出函数
![标准输出格式字符](https://s2.loli.net/2024/03/18/OMiu6CUDZy5RH3P.png)
@@ -39,8 +36,6 @@ int printf(const char *format, ...);
format: "%【修饰符】格式字符"
```
- 有关`l`修饰符的提醒
```C
@@ -63,16 +58,12 @@ int main()
}
```
传输一个5G的文件
```c
5LL*1204LL*1204LL*1204LL
```
定义一个宏,表示一年有多少秒
```c
@@ -80,16 +71,12 @@ int main()
#define SEC_YEAR (60LL * 60LL * 24LL * 365LL)
```
- 函数 变参与定参重载的区别
- 变参:编译器只报警告,函数自己都不知道自己有多少个参数
- 定参重载:编译报错
- `\n`的作用
强制刷新缓冲区,以死循环调试举例。
@@ -105,8 +92,6 @@ while (1)
printf("[%s:%d]after while().\n", __FUNCTION__, __LINE__);
```
- 完整代码
```c
@@ -200,8 +185,6 @@ int main()
#define SEC_YEAR (60LL * 60LL * 24LL * 365LL)
```
### `scanf`
```c
@@ -211,8 +194,6 @@ format:抑制符*
```
- 完整代码
```c
@@ -301,8 +282,6 @@ int main()
}
```
## 字符输入输出函数
```c
@@ -357,8 +336,6 @@ char *fgets(char *s, int size, FILE *stream);// 最多读到'size-1'个
`getline``GNU libc`的方言,可以动态内存保证读取一整行。
## 练习专题
### 夸脱水
@@ -430,13 +407,13 @@ SRC=test.c
OBJ=$(SRC:.c=.o)
$(TARGET): $(OBJ)
$(CC) -o $@ $^ $(LDFLAGS)
$(CC) -o $@ $^ $(LDFLAGS)
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
$(CC) $(CFLAGS) -c $< -o $@
clean:
rm -f $(TARGET) $(OBJ)
rm -f $(TARGET) $(OBJ)
```
### 求根公式
@@ -474,4 +451,3 @@ void root(void)
printf("x2 = %f\n", x2);
}
```