# 函数的概念 在C语言当中,main表示主函数。 * main函数必须有,且只能有一个。 * main函数可以位于程序函数间的任意位置。 * main函数是程序的入口和出口。 * main必须小写。 * () 不能省略。 主函数返回值 ```c #include 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 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 #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 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 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语言中,提高算式运算的优先级都统一加小括号。