24_grade_C/笔记/第二课.md
2025-02-28 21:48:28 +08:00

139 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 函数的概念
在C语言当中main表示主函数。
* main函数必须有且只能有一个。
* main函数可以位于程序函数间的任意位置。
* main函数是程序的入口和出口。
* main必须小写。
* () 不能省略。
主函数返回值
```c
#include <stdio.h>
int main() {
int x;
x = 3;
return x + 3; // 运行完在程序返回结果那会显示6
}
```
运行结果如下图
![屏幕截图 2025-02-28 200413](C:\Users\11435\Pictures\屏幕截图 2025-02-28 200413.png)
如果程序在运行中出现错误,就会发现程序的返回值跟我们预期的返回值不一样
```c
#include <stdio.h>
int main() {
int x;
int i = 1 / 0; // 由于程序无法计算1/0的值所以会出错误然后在这里就直接结束掉程序了
x = 3;
return x + 3; // 运行完在程序返回结果那会显示6
}
```
运行结果如下图
![屏幕截图 2025-02-28 201109](C:\Users\11435\Pictures\屏幕截图 2025-02-28 201109.png)
# 常量
常量就是直接写在程序里的数据值。他们在程序的运行过程中永远都不会发生改变,故称常量。
```c
#include <stdio.h>
#define PI 3.1415926 // define常量定义之后使用PI时都会自动替换成3.1415926
// 使用常量的优点,提高可读性,方便程序的维护修改
int main() {
int a;
a = 10; // 这里的10就是常量程序无论怎样运行这里的10永远都是10
a = 20; // 20也是常量但此刻a就成为了变量因为a的值从10变为了20
printf("%d", a);
return 0;
}
```
# 变量
变量类型所对应的占位符号
| 变量类型 | 含义 | 对应占位符号 |
| -------- | ------------ | ------------ |
| int | 整数类型 | %d |
| float | 单精度浮点数 | %f |
| double | 双精度浮点数 | %lf |
| char | 字符型 | %c |
scanf函数和printf函数搭配变量使用的时候一定要确保变量占位符与变量类型是能对应上的
输出格式,在%f或%lf的中间加上小数点后面写上数字x代表小数点后保留x位小数
```c
#include <stdio.h>
int main() {
int i;
float f;
double d;
char c;
i = 3.99; // 整数类型变量遇到小数的时候会自动舍弃掉小数位
f = 3.1415926;
d = 3.1415926;
c = 'a'; // 字符变量需要用单引号括起来
printf("int类型变量值为%d \n", i);
printf("float类型变量值为%.20f \n", f);
printf("double类型变量值为%.20lf \n", d);
printf("char类型变量值为%c , 它的ASCII码为%d \n", c, c);
}
```
运行结果如下:(对比单精度浮点数和双精度浮点数的精度差别)
![屏幕截图 2025-02-28 203631](C:\Users\11435\Pictures\屏幕截图 2025-02-28 203631.png)
**实际案例**
```c
#include <stdio.h>
int main() {
int i;
float f;
double d;
char c;
printf("请输入整数,小数,小数,字符(中间用空格分开):\n");
scanf("%d %f %lf %c", &i, &f, &d, &c);
printf("int类型变量值为%d \n", i);
printf("float类型变量值为%.20f \n", f);
printf("double类型变量值为%.20lf \n", d);
printf("char类型变量值为%c , 它的ASCII码为%d \n", c, c);
}
```
运行结果:
![屏幕截图 2025-02-28 210826](C:\Users\11435\Pictures\屏幕截图 2025-02-28 210826.png)
# 算术运算符
\+ (加,或正号)
\- (减,或负号)
\* (乘)
/ (除)
% (取余数,求模)
17 % 5 = 2 | 3 % 10 = 3 | -5 % 3 = -2
在C语言中提高算式运算的优先级都统一加小括号。