目录
一,什么是C语言
二,编译环境
1.编译器下载
三,第一个C语言程序
1.#include <stdio.h>
2.main()函数
3.printf函数
4.关键字
5.字符和ASCII编码6.字符串和\0
6.字符串和\0
7.转义字符
四,语句和语句分类(了解即可)
1 空语句
2 表达式语句
3 函数调⽤语句
4 复合语句
5 控制语句
一,什么是C语言
二,编译环境
1.编译器下载
参考视频:VS2022安装使用教程,VS2022使用教程Visual Studio 2022详细安装使用调试教程C语言编译器C++编译器VS2022使用教程C语言软件安装_哔哩哔哩_bilibili
1.创建一个新工程
首先点击创建新项目
然后选择控制台应用,并为该项目命名和选择存放位置,(个人建议使用一个专门的文件夹来进行存放,便于日后进行管理)
完成以上这些那我们就可以来写一个小程序了
三,第一个C语言程序
#include <stdio.h>//包含头文件
int main()//主函数
{
printf("hello world\n");
return 0;
}
接下来我们来对这个程序进行解析;
注:vs专属注意事项:日后在使用scanf函数时是会出现报错这时候我们只要在最前面加上这一串字符就可以了#define _CRT_SECURE_NO_WARNINGS 0
1.#include <stdio.h>
这是一C语言个预处理命令,它的作用提前是让编译器在编译之前进行一下预处理操作,便于库函数的调用(你可以理解为提前和编译器打好招呼方便找人,调用库函数就是一个找人的过程)
2.main()函数
3.printf函数
int n = 100;
printf("%d\n", n); //printf打印整型
printf("%c\n", 'q'); //printf打印字符
printf("%lf\n", 3.14); //printf打印双精度浮点型
4.关键字
auto break case char const continue default do double else enum
extern
float for goto if int long register return short signed sizeof
static
struct switch typedef union unsigned void volatile while
(这些关键字暂做了解日后会系统的学习)
5.字符和ASCII编码
'a' '@' '1'

单个字符的打印可以使⽤%c来指定格式:
#include <stdio.h>
int main()
{
printf("%c\n", 'Q');
printf("%c\n", 81);//这⾥的81是字符Q的ASCII码值,也是可以正常打印的
return 0;
}
6.字符串和\0
#include <stdio.h>
int main()
{
printf("%s\n", "hello world");
printf("hello world");
return 0;
}
在C语言字符串的末尾中其实还隐藏着一个特殊字符\0(例中的"hello world"字符串的完整字符串为"hello world\0")那么他这里有什么作用和意义呢?
是字符串结束的标志,接下来来看这样一组代码
#include <stdio.h>
int main()
{
printf("hello world\n");
printf("hello world\n\0");
printf("hello\0 world");
return 0;
}
运行结果
根据对比printf函数打印字符串是在\0处停止的,说明\0是字符串结束的标志。
7.转义字符
#include <stdio.h>
int main()
{
printf("abcndef");//输出abcndef
printf("abc\ndef");//输出abc
// def
return 0;
}
#include <stdio.h>
int main()
{
printf("%c\n", '\'');
printf("%s\n", "\"");
printf("c:\\test\\code\\test.c\n");
printf("\a");
printf("%c\n", '\130');
//130是8进制,转换成10进制是88,以88作为ASCII码值的字符是'X'
printf("%c\n", '\x30');
//x30中的30是16进制,转换成10进制是48,以48作为ASCII码值的字符是'0'
return 0;
}
四,语句和语句分类(了解即可)
1 空语句
#include <stdio.h>
int main()
{
;//空语句
return 0;
}
2 表达式语句
#include <stdio.h>
int main()
{
int a = 20;
int b = 0;
b = a + 5; //表达式语句
return 0;
}
3 函数调⽤语句
#include <stdio.h>
int Add(int x, int y)
{
return x+y;
}
int main()
{
printf("hehe\n");//函数调⽤语句
int ret = Add(2, 3);//函数调⽤语句
return 0;
}
4 复合语句
#include <stdio.h>
void print(int arr[], int sz) //函数的⼤括号中的代码也构成复合语句
{
int i = 0;
for(i=0; i<sz; i++)
{
printf("%d ", arr[i]);
}
}
int main()
{
int i = 0;
int arr[10] = {0};
for(i=0; i<10; i++) //for循环的循环体的⼤括号中的就是复合语句
{
arr[i] = 10-i;
printf("%d\n", arr[i]);
}
return 0;
}
5 控制语句
五,注释
/* 注释 */
/*
这是⼀⾏注释
*/
//这种注释可以插在⾏内。
int fopen(char* s /* file name */, int mode);
//上⾯⽰例中, /* file name */ ⽤来对函数参数进⾏说明,跟在它后⾯的代码依然会有效执⾏。
//这种注释⼀定不能忘记写结束符号 */ ,否则很容易导致错误.
//注:/**/ 的这个注释也不⽀持嵌套注释, /* 开始注释后,遇到第⼀个 */ 就认为注释结束了。