C语言学习开篇 对C语言和编程的认识

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:开篇不讲语法,但对编程不是死记硬背,更多的是规则的领悟,既然是领悟,了解它的背景知识,是很有必要的


提示:以下是本篇文章正文内容,下面案例可供参考

一、C语言是什么?

 C语言是计算机科学理论体系的一部分,目的是让CPU运行你写的程序。最终C语言源程序要变成可执行程序
 C语言是面向过程的编程语言,C适合完成自顶向下、结构化编程和模块化设计。它更着重算法和语法的运用,比如设计不同的函数。一个C程序模块=数据结构+算法。
 C语言有一堆语法,究其根本就是“一堆规则”,正如《C Primer Plus》Page 6所说,C语言语法要保证,针对目标计算机来定义最合适的某种特定操作,语言无歧义,且保证效率。

二、使用C语言编程

1.编译的过程

 为什么需要编译器:编程语法很多,都有自己的特殊用途。编程语言可以划分为三类:
 (1)机器语言;(2)汇编语言;(3)高级语言。
 机器语言是二进制代码。汇编语言和高级语言需要转换成机器语言,cpu才能执行。汇编和高级语言都有标识符,汇编的每一个命令对应实际操作的一个微小动作。
 C程序经过编译生成机器代码(目标文件),再通过连接器合并机器码,即将目标文件、系统的标准启动代码和库文件来生成可执行文件。有的编译器会自动启动连接器。
在这里插入图片描述
最终,C语言编程的过程中,我们可能接触以下文件

  1. 头文件,函数声明和变量定义
  2. 源文件,主函数和功能函数
  3. 库文件,链接器会抽出源文件所引用的函数的机器码,将其和源文件编译后的目标文件和启动代码合成为一个可执行文件
  4. 启动代码。程序和操作系统的接口
    C程序的实现过程可以使用gcc来进行实验,链接如下:https://blog.csdn.net/qq_37924645/article/details/70147970

2.编程的基本要求

一门语言都需要关注的内容如下:

  • C语言语法和标准(C语言标准由C90,C99,C11)
  • 编译器(gcc,clang等)(并不是所有编译器都支持C99,C11)
  • 操作系统:编译的细节取决于操作系统,且最终程序的启动文件就是程序与操作系统的接口。有的语言在不同操作系统上不能直接移植
  • CPU:CPU都有自己对应的汇编指令集,编译器需要先把源文件翻译成汇编文件,最后翻译成机器码

其他细节

  1. 描述算法有算法流程图和N-S图。采用不同的描述方式,代表不同的观察角度。因为人的视角是狭隘的,有时候只能看到事物的冰山一角
  2. 标识符要用匈牙利命名法,提高代码可读性。结构是属性+数据类型+对象名。如pfMAX,表示一个叫MAX的指向float型数据的指针。
  3. 标识符与内存地址是相关的,《C Primer Plus》Page 24
  4. 操作系统和库文件常用_和两个下划线命名的标识符,所以源文件的标识符要避免下划线开头,产生冲突。

编译、链接概念的参考链接:http://c.biancheng.net/view/1736.html
C语言参考书建议是:
《Linux编程一站式学习》,作者宋劲杉;
《C Primer Plus》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值