(一)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编译,不运行
F10next调试
F11step调试
  • 25
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风栖柳白杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值