文章目录
- 一、C语言
- 1、计算机结构组成
- 二、第一个C语言程序:hello world
- 1、编写C语言代码:hello.c
- 2、通过gcc编译C代码
- (1)gcc编译器介绍
- (2)Window平台中gcc环境配置
- 3、代码分析
- (1)#include <stdio.h>与#include "stdio.h"区别
- (2)main函数
- (3){}括号,程序体和代码块
- (4)注释
- (5)printf()函数
- (6)return 0
- 三、system函数
- 1、system函数的使用
- 四、C语言编译过程
- 1、C语言编译步骤
- (1)预处理:
- (2)编译
- (3)汇编
- (4)链接
- 五、visual studio的快捷键
一、C语言
语言是用来交流沟通的,有一方说,有一方听,必须有两方参与,这就是语言最重要的功能。
- 说的一方传递信息,听的一方接收信息;
- 说的一方下达命令,听的一方遵循命令做事情
语言是任何人交流,C语言是人与机器交流。
1、计算机结构组成
二、第一个C语言程序:hello world
1、编写C语言代码:hello.c
#include <stdio.h>
int main()
{
// 这是第一个C语言代码
printf("hello, world!\n");
return 0;
}
C语言的源代码文件是一个普通的文本文件,但是扩展名必须是.c
2、通过gcc编译C代码
(1)gcc编译器介绍
编译器(如vim,记事本等)是指我们用它来写程序的(编辑代码),而我们写的代码语句,电脑是不懂的,我们需要把它转换成电脑能懂的语句,编译器就是这样的转换工具。也就是说,我们用编辑器编写程序,由编译器编译后才能运行!
编译器是将易于编写、阅读和维护的高级计算机语言翻译为计算机能解读、运行的低级机器语言的程序。
gcc原本作为GNB操作系统的官方编译器,现在已经被大多数类Unix操作系统采纳为标注你的编译器,gcc同样适用于微软的windows。
编译命令格式:
gcc [-option1] ... <filename>
g++ [-option2] ... <filename>
- 命令、选项和源文件之间使用空格分隔。
- 一行命令中可以有0个、一个或多个选项
- 文件名可以包含文件的绝对路径,也可以使用相对路径
- 如果命令中不包含输出可执行文件的文件名,可执行文件的文件名会自动生成一个默认名。如a.exe,a.out等。
(2)Window平台中gcc环境配置
- 直接进入QT安装目录,如我们路径为:
Z:\Qt\Tools\mingw1120_64
,将其添加至环境变量。 - 输入
cmd
,进入命令提示行,在里面输入gcc -v
如果出现一下画面,就表示gcc可以正常使用。
3、代码分析
- include头文件包含,
#include <stdio.h>
代表包含stdio.h
这个头文件 - 使用C语言库函数需要提前包含库函数对应的头文件,如这里使用了printf()函数,则就需要包含
stdio.h
头文件 - 可以通过
man 3 printf
查看printf头文件——linux系统中。
(1)#include <stdio.h>与#include "stdio.h"区别
<>
表示系统直接按系统指定的目录检索。
""
表示系统现在""
指定的路径查找头文件,如果找不到,再按系统指定的目录检索。
(2)main函数
- 一个完整的C语言程序,是由一个、且只能有一个main()函数(又称主函数,必须有)和若干个其他函数结合而成。
- main函数是C语言程序的入口,程序是从main 函数开始执行
(3){}括号,程序体和代码块
- {}叫做代码块,一个代码块内部可以有一条或者多条语句。
- C语言每句可执行代码都是
";"
分好结尾。 - 所有由
#
开头的行,都代表预编译指令,预编译指令行结尾是没有分号的 - 所有可执行语句必须在代码块中
(4)注释
- //叫做行注释
- /**/叫做块注释
#if 0
#endif
(5)printf()函数
- 是C语言库函数,是向标注输出设备输出一个字符串
printf("hello, world!\n");
(6)return 0
三、system函数
1、system函数的使用
#include <stdlib.h>
int system(const char *command);
函数功能:在已经运行的程序中执行另外一个外部程序
参数:外部可执行程序名字
返回值:
成功:0
失败:任意数字
示例代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
system("cls");
return 0;
}
四、C语言编译过程
1、C语言编译步骤
C语言编译成可执行程序经过4步:
(1)预处理:
宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法。
可以通过gcc
工具实现
gcc -E hello.c -o hello.i
生成的是.i
文件。
预处理过程的作用有几个,分别是:
(1)完成头文件展开
(2)宏定义替换
(3)替换注释
(4)展开条件编译
(2)编译
会逐行检查语法错误,将代码翻译成汇编语言。
(3)汇编
作用是将汇编语言翻译成二进制语言。
(4)链接
实现的功能有几个:
(1)数据段合并
(2)数据地址回填
(3)库引入
五、visual studio的快捷键
快捷键 | 含义 |
---|---|
Ctrl + k,Ctrl + f | 自动格式化代码 |
Ctrl + k,Ctrl + c | 注释代码 |
Ctrl + k,Ctrl + u | 取消注释代码 |
F9 | 设置断点 |
F5 | 设置断点 |
Ctrl + F5 | 不调试运行 |
Ctrl + Shift + b | 编译,不运行 |
F10 | next调试 |
F11 | step调试 |