之前只学过python,在这里我的本意是想学C++,但是没有C语言的基础,听起来比较吃力,所以就快速过一下C语言。这是一个零基础入门的笔记,高手可以绕过。
0.Visual studio2022的使用
创建第一个C语言项目和源文件
https://blog.csdn.net/qq_45037165/article/details/124520286
1.第一个C语言项目
#include<stdio.h>
int main() {
printf("Hello World");
return 0;
}
运行结果:
- 第一行为库函数,提供例如屏幕打印的调用服务。
- 第二行为主函数,int为主函数返回类型,main()为函数头,每个程序都只有一个main函数,并且为程序的入口。其中大括号{}里面的内容为函数体,里面包含具体程序段。
- 第三行为屏幕打印函数,改行代码的意义是在屏幕中打印双引号里面的内容。
- 第四行为函数返回值,由于main函数返回值为int型,因此一定要有一个返回值。
注意:每行代码结束要用英文状态下的分号;结束。
2.数据类型
为什么出现这么多的类型?
因为编程是来解决生活中的问题,生活中就有这么多类型。
每种类型的大小是多少?
我们注释掉之前写的代码,注释快捷键是:Ctrl+shift+/ 重新写一段代码看看:
单位为字节。
计算机的世界是二进制,我们生活的世界是十进制
8个bit比特位 = 1个byte字节
其他都是1024倍
当我们知道了这个之后,上面的代码就很好算了
3.变量
变量的自定和使用
int main() {
int myNum = 15;
printf("%d", myNum); //格式说明符 %d 或 %i 用双引号括起来
return 0;
举例:求和
int main()
{
int num1 = 0;
int num2 = 0;
//请输入两个整数:
scanf_s("%d" "%d", &num1, &num2);
//求和,写求和表达式的同时定义sum变量
int sum = num1 + num2;
//输出结果
printf("%d\n", sum);
return 0;
}
修改变量
int main()
{
int a = 10;
a = 20; //修改变量
printf("%d\n", a); //20
}
4.常量
const修饰的常变量,不允许被修改
int main()
{
const int a = 10; //加了const就不允许倍改
a = 20; //如果修改,则程序报错
printf("%d\n", a); //报错
}
define 定义的标识符常量
#define MAX 100
int main()
{
printf("%d\n", MAX);//100
int a = MAX;
printf("%d\n", a);//100
MAX = 200;//报错
return 0;
}
5.运算符
C 将运算符分为以下几组:
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
举例:求和
int main()
{
int sum1 = 100 + 50; // 150 (100 + 50)
int sum2 = sum1 + 250; // 400 (150 + 250)
int sum3 = sum2 + sum2; // 800 (400 + 400)
printf("%d\n", sum1);//150
printf("%d\n", sum2);//400
printf("%d\n", sum3);//800
return 0;
}
赋值运算符
赋值运算符用于为变量赋值。
在下面的示例中,我们使用 assignment 运算符 (=) 将值 10 分配给 一个名为 x 的变量:
#include <stdio.h>
int main() {
int x = 10;
x += 5;
printf("%d", x);//15
return 0;
}
逻辑运算符
逻辑运算符用于确定变量或值之间的逻辑:
#include <stdio.h>
int main() {
int x = 5;
int y = 3;
printf("%d", x > 3 && x < 10);//1,即可true
return 0;
}
6.条件判断
If … Else 条件语句
C 支持数学中的常见逻辑条件:
小于:a < b
小于或等于:a <= b
大于:a > b
大于或等于:a >= b
等于 a == b
不等于:a != b
您可以使用这些条件为不同的决策执行不同的操作。
C 有以下条件语句:
使用if指定要执行的代码块,如果指定条件为真
使用else指定要执行的代码块,如果相同条件为假
如果第一个条件为假,则使用 else if 指定要测试的新条件
使用 switch 指定要执行的许多替代代码块
#include <stdio.h>
int main() {
if (20 > 18) {
printf("20大于18");
}
return 0;
}
也可以测试变量
#include <stdio.h>
int main() {
int x = 20;
int y = 18;
if (x > y) {
printf("x is greater than y");
}
return 0;
}
else 语句
#include <stdio.h>
int main() {
int time = 20;
if (time < 18) {
printf("Good day.");
} else {
printf("Good evening.");
}
return 0;
}
在上面的例子中,时间(20)大于18,所以条件是false。 因此,我们转到 else 条件并打印到屏幕"Good evening"。 如果时间小于 18,程序将打印"Good day"。
else if 语句
如果第一个条件为 false,则使用 else if 语句指定新条件。
#include <stdio.h>
int main() {
int time = 22;
if (time < 10) {
printf("Good morning.");
} else if (time < 20) {
printf("Good day.");
} else {
printf("Good evening.");
}
return 0;
}
在上面的例子中,时间 (22) 大于 10,所以 第一个条件 是 false。 else if 语句中的下一个条件也是 false,所以我们继续进行 else 条件,因为 condition1 和 condition2 都是 false - 并打印到屏幕上"Good evening"。
但是,如果时间是 14 点,我们的程序会打印"Good day"。
Switch 语句
#include <stdio.h>
int main() {
int day = 4;
switch (day) {
case 1:
printf("Monday");
break;
case 2:
printf("Tuesday");
break;
case 3:
printf("Wednesday");
break;
case 4:
printf("Thursday");
break;
case 5:
printf("Friday");
break;
case 6:
printf("Saturday");
break;
case 7:
printf("Sunday");
break;
}
return 0;
}
break 关键字
当 C 到达 break 关键字时,它会跳出 switch 块。
这将停止块内更多代码和案例测试的执行。
找到匹配项并完成工作后,就该休息一下了。 无需进行更多测试。
default 默认关键字
#include <stdio.h>
int main() {
int day = 4;
switch (day) {
case 6:
printf("Today is Saturday");
break;
case 7:
printf("Today is Sunday");
break;
default:
printf("Looking forward to the Weekend");
}
return 0;
}
循环语句
While 循环
#include <stdio.h>
int main() {
int i = 0;
while (i < 5) {
printf("%d\n", i);
i++;
}
return 0;
}
Do/While 循环
#include <stdio.h>
int main() {
int i = 0;
do {
printf("%d\n", i);
i++;
}
while (i < 5);
return 0;
}
For循环
实例1:将打印数字 0 到 4:
#include <stdio.h>
int main() {
int i;
for (i = 0; i < 5; i++) {
printf("%d\n", i);
}
return 0;
}
实例2:打印 0 到 10 之间的偶数
for (i = 0; i <= 10; i = i + 2) {
printf("%d\n", i);
}
Break 和 Continue 语句
break 跳出整个循环。
#include <stdio.h>
int main() {
int i;
for (i = 0; i < 10; i++) {
if (i == 4) {
break;
}
printf("%d\n", i);
}
return 0;
}
Continue 跳过其中1次循环。如果指定条件发生,continue 语句会中断一次迭代(循环中),并继续循环中的下一次迭代。
#include <stdio.h>
int main() {
int i;
for (i = 0; i < 10; i++) {
if (i == 4) {
continue;
}
printf("%d\n", i);
}
return 0;
}