C 语言基础速通版及Dev-C++

这是一份基础版的c语言学习笔记 在这里你可以快速学习到 如何使用devc++来实现c语言的绝大部分功能 由于是速通基础版 所以其中出现不理解其中原理的部分很正常 (建议学习时记好自己的疑惑,先学完所有内容记住其用法即可,在后面进阶版笔记以及b站课程

https://www.bilibili.com/video/BV1dr4y1n7vA/?spm_id_from=333.337.search-card.all.click

中你可以更加深入了解其中原理)

一、Dev-C++ 快速上手

  1. 下载安装:DevC++ 软件下载及安装教程(详细、具体)_devc++下载-CSDN博客
  2. 新建 C 语言文件:打开 Dev-C++ → 左上角菜单栏 “文件”→“新建”→“源代码”→ 弹出编辑区。
  3. 编译运行:写完代码后,点菜单栏 “运行”→“编译运行”(或按 F11),弹出黑窗口看结果。

二、第一个程序:输出文字

代码(注意符号使用英文!尤其是“;”):

1
2
3
4
5
6
7
#include <stdio.h>  // 必须加,否则不能输出

int main() { // 程序入口,固定格式
printf("你好,世界!\n"); // 输出文字,\n是换行
return 0; // 固定结尾
}
//的意思为注释,即//后的内容不会算作代码内容

操作:F11 运行,黑窗口会显示 “你好,世界!”。

三、变量与输入输出

功能:定义变量,从键盘输入内容,再输出。

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>

int main() {
int a; // 定义整数变量a
float b; // 定义小数变量b
char c; // 定义字符变量c(单个字母/符号)

// 从键盘输入(按提示输入,用空格或回车分隔)
printf("输入一个整数、一个小数、一个字符:");
scanf("%d%f%c", &a, &b, &c); // %d对应int,%f对应float,%c对应char,&不能漏

// 输出结果
printf("整数:%d\n小数:%f\n字符:%c\n", a, b, c);
return 0;
}

操作:F11 运行,按提示输入(例如:10 3.14 a),黑窗口会显示你输入的内容。

四、条件判断(if-else)

功能:根据条件执行不同代码。

代码(判断成绩等级):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>

int main() {
int score;
printf("输入成绩:");
scanf("%d", &score);

if (score >= 90) { // 如果分数≥90
printf("优秀\n");
} else if (score >= 60) { // 如果分数不≥90,且≥60 则
printf("及格\n");
} else { // 否则(<60) // 如果分数不≥90,且不≥60 则
printf("不及格\n");
}
return 0;
}

五、循环(for/while)

功能:重复执行{}内的代码。

1. for 循环:输出 1-10
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>

int main() {
int i;
for (i = 1; i <= 10; i++) { // 从i=1开始,i≤10时进行循环,每运行完成{}中内容后i+1
//用 ;分开的三个部分不能调换顺序
printf("%d ", i); // 输出当前i值,加空格
}
return 0;
}
2. while 循环:输入数字直到 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>

int main() {
int num;
printf("输入数字(0结束):");
scanf("%d", &num);

while (num != 0) { // 只要num不是0,就重复
printf("你输入了:%d\n", num);
printf("继续输入(0结束):");
scanf("%d", &num);
}
printf("结束\n");
return 0;
}

六、数组(批量存数据)

功能:储存多个同类型数据(如 5 个整数)。

代码(存 5 个成绩,求平均分):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>

int main() {
int scores[5]; // 定义能存5个整数的数组(下标0-4)scores为该数组的名字
int i, sum = 0;

// 输入5个成绩
for (i = 0; i < 5; i++) {
printf("输入第%d个成绩:", i+1);
scanf("%d", &scores[i]); // 存到数组第i个位置
sum += scores[i]; // 累加
}

printf("平均分:%d\n", sum / 5);
return 0;
}

七、函数(复用代码)

功能:把一段代码封装成函数,多次调用。

代码(用函数求两数之和):

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>

// 定义函数:求a+b的和,返回结果
int add(int a, int b) { // int是返回类型,a、b是参数
return a + b; // 返回计算结果
}

int main() {
int x = 3, y = 5;
int s = add(x, y); // 调用函数,传x和y
printf("%d+%d=%d\n", x, y, s); // 输出3+5=8
return 0;
}

八、指针

功能:通过指针修改变量的值。

代码:

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>

int main() {
int a = 10;
int *p; // 定义指针p(指向int类型)
p = &a; // p指向a的地址(&是取地址)

*p = 20; // 通过指针修改a的值(*是“指向的值”)
printf("a现在是:%d\n", a); // 输出20
return 0;
}

九、结构体(把多个不同类型数据储存在一起)

功能:存一个学生的信息(学号、姓名、成绩)。

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>

// 定义结构体(固定格式)
struct Student {
int id; // 学号
char name[20]; // 姓名(最多19个字符)
float score; // 成绩
};

int main() {
// 定义结构体变量并赋值
struct Student stu = {1001, "张三", 92.5};

// 输出信息
printf("学号:%d\n姓名:%s\n成绩:%f\n", stu.id, stu.name, stu.score);
return 0;
}

关键注意事项

  1. 所有代码必须有 #include <stdio.h> 和 int main(){...return 0;}。
  2. 代码里的括号、分号必须是英文半角(中文符号会报错)。
  3. 编译报错时,看黑窗口提示的 “第几行”,回去检查拼写或格式。