commit 611314db2f9ae061c1738d268c873d5f5a791333 Author: y1143597749 <1143597749@qq.com> Date: Fri Feb 28 21:48:28 2025 +0800 commit diff --git a/笔记/第一课.md b/笔记/第一课.md new file mode 100644 index 0000000..86faa14 --- /dev/null +++ b/笔记/第一课.md @@ -0,0 +1,123 @@ +1. 简单程序(含输出) + ```c + // 双斜杠后面的内容代表注释,程序是看不到的,一般用作解释该条语句的作用 + #include // 导入标准的输入输出库 + + // 程序的主要入口,程序开始的地方,所有程序代码都要写到大括号里 + main() { //不要写成mian,函数名后加上括号格式要求 + + // C语言里出现的所有标点符号都用英文状态下的,每个语句结尾都需要分号 + // \n 转义字符,把他的含义转换为了换行符号。注意斜杠方向不要写错,正斜杠 / . 反斜杠 \ + // %d 整数类型的占位符号,有小数会被自动舍弃 + // printf 格式化输出 输出的是引号里面的内容。 + printf("TO C, or not to C: that is question."); + // 先有个印象,在C语言里双引号括起来的内容被叫作为字符串 + } + ``` + + + +2. 变量和赋值 + ```c + #include + + main() { + // 变量的作用:用于存储数据 + // 声明变量时,声明语句一定要放在程序开始的最上方。任何变量在使用前,都需要先声明 + // 声明变量的方法:先写变量类型,然后空格,写上变量名称 + // 变量类型:四种 + // int(整数) | float(单精度浮点数) + // double(双精度浮点数) | char(字符) + // 变量名称:取名时有以下四种规则 + // 1.只能是以数字、字母、下划线组合而成 + // 2.不能以数字开头 + // 3.区分大小写 + // 4.不能使用C语言已经使用的关键词 + int a; + int a1, a2; // 多个相同变量一起定义时,可以写成一行,中间用英文逗号隔开即可 + float b; + double c; + char d; + // 赋值符号 即等于号 + // 作用是将等号右边的算式运算完毕之后,存储到等号左边的变量当中去, + // 所以赋值符号的左边只能是一个变量名,右边最终结果一定是一个值 + // 对变量初始化 + a = 5; + a = 3; // 注意 新来的值会干掉老数值,鸠占鹊巢,所以现在变量a里的值就不在是5,变成3了 + b = 5.2; + c = 3.1415926; + d = 'a' // 字符需要用单引号括起来,多个字符连在一起叫做字符串,字符串需要用双引号括起来, + // 例如printf和scanf函数里使用的双引号括起来的就是字符串内容 + printf("%d", a); // 注意在使用变量时,一定要确定变量里有没有值, + // 定义变量没有给变量值,直接使用,最后算出的值一定会有问题 + } + ``` + + 简单C程序实例 + + ```c + #include + + main() { + int a, b, c; + a = 10; + b = 20; + c = a + b; + printf("%d", c); + } + ``` + +3. 输入 + ```c + #include + + main() { + int year, month, day; + // scan 扫描(引申为输入) f format 格式化 格式化输入 + // 我们用户输入的数据,电脑如若想要使用,则必须把输入的数据保存下来, + // 在编程语言中,有保存储数据能力的只有变量 + // 所以我们会把输入搭配变量一起使用 + // 注意在使用scanf函数时,一定要把占位符号与变量的个数一一对应上,有几个占位符, + // 后面写时就需要写几个变量名,并且在scanf函数里,每个变量名前都需要加上 & 符号 + scanf("%d.%d.%d", &year, &month, &day); + // 按照我们自己设定的格式去输入,每个数据中间要有.分割 + // 如若不设置格式,C语言会默认把空格与换行符当做内容的分隔符 + printf("生日是%d年%d月%d日", year, month, day); + } + ``` + +4. 作业 + ```c + /* + 打印出来一个勾的图形 + */ + #include + + main() { + printf(" *\n"); + printf(" * \n"); + printf(" * \n"); + printf("* * \n"); + printf(" * * \n"); + printf(" * \n"); + } + ``` + + ```c + /* + 输入两个数字,计算这两个数字的加减乘数结果 + */ + #include + + main() { + int a, b; // 多个相同变量一起定义时,可以写成一行,中间用英文逗号隔开即可 + scanf("%d%d", &a, &b); + printf("%d + %d = %d\n", a, b, a + b); // 有几个占位符,后面就写几个变量 + printf("%d - %d = %d\n", a, b, a - b); + printf("%d * %d = %d\n", a, b, a * b); + printf("%d / %d = %d\n", a, b, a / b); + } + + ``` + + \ No newline at end of file diff --git a/笔记/第二课 作业解析.md b/笔记/第二课 作业解析.md new file mode 100644 index 0000000..4878a73 --- /dev/null +++ b/笔记/第二课 作业解析.md @@ -0,0 +1,63 @@ +# 作业 + +1. 输入一个数字x(可能包含小数),要求用户计算下列公式的值,并且输出。 + ((((3x + 2)x - 5)x - 1)x + 7)x - 6 + + ```c + #include + + int main() { + double x; + double y; + printf("请输入x的值:"); + scanf("%lf", &x); + y = ((((3 * x + 2) * x - 5) * x - 1) * x + 7) * x - 6; + printf("计算出函数的值为:%lf", y); + return 0; + } + ``` + +2. 输入一个数字r,代表圆的半径,计算圆的周长和面积 + 周长公式为 3.14 \* r \* 2 + 面积公式为 3.14 \* r \* r + + ```c + #include + + int main() { + int r; + double PI = 3.14; + double c, s; + printf("请输入圆的半径r:"); + scanf("%d", &r); + c = PI * 2 * r; // 计算圆周长 + s = PI * r * r; // 计算圆面积 + printf("圆的周长为:%lf, 圆的半径为:%lf", c, s); + return 0; + } + ``` + + + +3. 输入九个数字,把他变成九宫格排列,输入的前三个数在第一行,中间三个数在第二行,后三个数在第三行,并且计算出每行每列的和,计算结果写在每一行每一列的最后一列, + ```c + #include + + int main() { + int a1, a2, a3; + int a4, a5, a6; + int a7, a8, a9; + scanf("%d %d %d", &a1, &a2, &a3); + scanf("%d %d %d", &a4, &a5, &a6); + scanf("%d %d %d", &a7, &a8, &a9); + + printf("%d %d %d | %d\n", a1, a2, a3, a1 + a2 + a3); + printf("%d %d %d | %d\n", a4, a5, a6, a4 + a5 + a6); + printf("%d %d %d | %d\n", a7, a8, a9, a7 + a8 + a9); + printf("——————\n"); + printf("%d %d %d", a1 + a4 + a7, a2 + a5 + a8, a3 + a6 + a9); + return 0; + } + ``` + + \ No newline at end of file diff --git a/笔记/第二课.md b/笔记/第二课.md new file mode 100644 index 0000000..6c8709e --- /dev/null +++ b/笔记/第二课.md @@ -0,0 +1,138 @@ +# 函数的概念 + +在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语言中,提高算式运算的优先级都统一加小括号。 +