博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言笔记(第一章:C语言编程)
阅读量:7231 次
发布时间:2019-06-29

本文共 1659 字,大约阅读时间需要 5 分钟。

第一章:C语言编程

标签(空格分隔): C语言学习


本章主要内容

  1. C语言标准
  2. 标准库的概念
  3. 如何创建C程序
  4. 如何组织C程序
  5. 如何编写在屏幕上显示文字的程序

1.C语言标准

任何物品事件的使用都需要一个大家都认同的使用规则,如同游戏一样,大家需要遵守同一个游戏规则,才能更好的使用。

  1. 1989 年国际标准组织 ISO 采纳了美国国家标准协会(ANSI)对于C语言的标准化,此时C语言又被称为 ANSI C。正式发布后官方名称——ISO/IEC 9899: 1990,简称:C89/90 标准
  2. 1999 年C语言标准委员会对C语言进行了改进,正式发布了 ISO/IEC 9899: 1999,简称:C99 标准
  3. 2007 年,C语言标准委员会又重新开始修订C语言,到了 2011 年正式发布了 ISO/IEC 9899 : 2011,简称:C11 标准。


2.标准库的概念

概念: 标准库定义了编写C程序时常常需要的常量、符号和函数。同时提供了基本C语言的一些可选扩展。

位置:标准库在一系列标准文件——头文件中指定,头文件的扩展名总是.h。例如: < assert.h >—定义awwert和static_asssert宏

C标准库也称为ISO C库,是用于完成诸如输入/输出处理、字符串处理、内存管理、数学计算和许多其他操作

系统服务等任务的宏、类型和函数的集合。它是在C标准中(例如C11标准)中定义的。


3.创建C程序

创建C程序有四个基本的过程

  1. 编辑
  2. 编译
  3. 链接
  4. 执行

1.编辑

编辑的过程就是创建和修改C程序的源代码——我们编写的程序指令称为源代码。

编译器:是提供了编写,管理,开发与测试的环境

也称为集成开发环境(Integrade Developmen Environment,IDE)

2.编译

编译器将源代码转换成为机器语言,并且在编译的过程中,找出并报告错误。

编译器能找出程序中很多的无效或无法识别的错误,以及结构错误。

源文件就是用汇编语言或高级语言写出来的代码保存为文件后的结果。扩展名为:.C

编译器的输出结果称为——对象代码(object code),存放对象代码的文件称为对象文件(object file)

如果程序有错误则阻止对象程序和文件的创建

如果程序没有错误则编译成功,会生成一个与源文件同名的文件

扩展名为.obj(Windows环境)/.o(Linx/UNIX环境)

3.链接

通过链接器把源文件和对象文件以及必须的代码模块组合成一个新的文件。
链接器:将源代码文件中由编译器产生的各种对象模块组合起来,再从C语言提供的程序库中添加必要的代码模块,将他们组合成一个可执行的文件。扩展名为:.exe
连接器可以检测和报告错误。

4.执行

当成功完成了上述三个阶段后,运行程序。

程序运行的流程图如下:

st=>start: 开始e=>end: 成功op1=>operation: 
<编辑>
创建/修改程序源代码op2=>operation: 源文件(.C)op3=>operation:
<编译>
生成机器指令cond1=>condition: 成功?op4=>operation: 对象文件(.obj)op5=>operation:
<链接>
链接源代码文件库等cond2=>condition: 成功?op6=>operation: 可执行文件(.exe)op7=>operation:
<执行>
运行程序cond3=>condition: 成功?st->op1->op2->op3->cond1cond1(no)->op1->op2->op3->cond1cond1(yes)->op4->op5->cond2cond2(no)->op1->op2->op3->cond1cond2(yes)->op6->op7->cond3cond3(no)->op1->op2->op3->cond1cond3(yes)->e

转载地址:http://lzcfm.baihongyu.com/

你可能感兴趣的文章
分享超级给力的一个外发光Shader
查看>>
oblog_4.6_SQL 语句
查看>>
通过Git WebHooks+脚本实现自动更新发布代码之shell脚本
查看>>
对象实例化、字符串的使用方法
查看>>
keepalived基于LVS实现高可用,实现web服务的高可用
查看>>
80端口被Microsoft-HTTPAPI/2.0占用的解决办法
查看>>
无法抗拒Minecraft给予超高的自由度和探索-微访谈
查看>>
数据结构之串
查看>>
我的友情链接
查看>>
lvs+keepalived+nginx+tomcat高可用高性能集群部署
查看>>
实验:搭建主DNS服务器
查看>>
org.gjt.mm.mysql.Driver与com.mysql.jdbc.Driver区别
查看>>
部署exchange2010三合一:之五:功能测试
查看>>
nginx编译安装参数
查看>>
代码托管
查看>>
第一次给ThinkPHP5核心框架提pull request的完整过程
查看>>
U-Mail邮件系统何以誉为信息整合中转枢纽
查看>>
强大的vim配置文件,让编程更随意
查看>>
崛起于Springboot2.X之配置文件详解(10)
查看>>
定时执行程序-Quartz简单实例
查看>>