(一)C语言概述

一、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调试

猜你喜欢

转载自blog.csdn.net/weixin_44463519/article/details/134723668