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

文章目录

  • 前言
  • 一、C语言是什么?
  • 二、使用C语言编程
    • 1.编译的过程
    • 2.编程的基本要求
  • 其他细节

前言

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


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

一、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》

C语言学习开篇 对C语言和编程的认识相关推荐

  1. Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)—命令提示符cmd的几种方法

    Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)-命令提示符cmd的几种方法 目录 利用python语言实现调用内部命令-命令提示符cmd的几种方法 T1. ...

  2. C语言学习宝典下载,C语言学习宝典

    C语音学习宝典手机版是一款很好用的C语音移动学习工具,为用户带来了C语音真题联系及学习课程,让用户可以充分利用碎片时间进行联系.C语音学习宝典手机版还提供了非常强大的手机编程工具,很多代码手机上就能完 ...

  3. c语言注释语句执行吗,C语言学习笔记之C语言概念解析(附资料分享)每一个语句都必须以分号结尾但预处理命令函数头和花括号“}”之后不能加分号...

    [[怪兽爱C语言]C语言学习笔记之C语言概念解析(附资料分享)]https://toutiao.com/group/6582429294901854728/?iid=15906422033&a ...

  4. 如何用计算机辅助语言学习英语,计算机辅助下语言学习教学模式研究

    计算机辅助下语言学习教学模式研究 0引言 在现代我国高等职业教学规模不断扩大的过程中,其教学结构和体系也在不断的完善,人们也逐渐认识到高等教育中教学与学习活动的改革重要性.计算机辅助语言学习属于现代教 ...

  5. C语言学习笔记:C语言的指针函数与函数指针??

    前言 在C语言里函数.指针这两个词结合的顺序不同其意义也不同,即指针函数与函数指针的意义不同,这是什么情况呢?估计许多学习C语言的小伙伴已经感觉自己懵懵的了,别急且听小编来说个明白. 指针函数 指针函 ...

  6. 如何用计算机辅助语言学习英语,浅析计算机辅助语言学习在高职高专英语教学中的运用研究...

    浅析计算机辅助语言学习在高职高专英语教学中的运用研究 [论文关键词]计算机辅助语言学习 英语教学 优势 问题 [论文摘 要]本文通过对河北外国语职业学院181名学生的问卷调查,对目前计算机辅助语言学习 ...

  7. C语言学习宝典下载,C语言学习宝典app下载-C语言学习宝典 v5.6.4 手机版 - 下载吧...

    C语言学习宝典app是一款可以使用手机就能编程的软件:这款软件包含了C语言课程的全部章节内容,含有C语言计算机二级考试的题库和考试的历年真题,并且具有C语言数据类型.控制语句.循环.数组等基础,以及C ...

  8. GO语言学习(一)之Go语言环境

    Go的应用领域 1.可以做区块链 区块链简称BT被称为分布式账本技术是一种互联网的数据库技术其特点是去中心化,公开透明让每一个人均可参与数据库记录.----区块链与数字货币 2.后台的服务应用 美团主 ...

  9. 二级c语言学习软件,二级C语言学习app下载-二级C语言学习 安卓版v3.1.1-PC6安卓网...

    二级C语言学习app是一款专为想要学习c语言的朋友开发的手机应用,通过二级C语言学习app,我们随时随地都可以学习c语言了哟,二级C语言学习app非常的方便,有需要的赶紧来下载吧. 软件介绍 二级C语 ...

最新文章

  1. l-lsblk查看设备可用块设备
  2. rea t插件 vscode_推荐VSCode12个比较实用的插件
  3. EigenUbuntu下的配置
  4. 苹果公司有“内鬼”!ID被盗后每条只卖10元钱
  5. Eclipse配置外部Tomcat
  6. 世界三大顶级音响_世界三大汽车赛事是什么?一起来了解一下
  7. 启动Cognos时报0106错误
  8. 【CodeVS - 3639】(树的重心模板,裸题)
  9. springboot的yaml属性配置文件注入
  10. 迷你世界远古机器人_迷你世界:第三款机器人即将上线,网友5000迷你币抽新坐骑,哭了...
  11. poj 1860 bellman 求正环
  12. Quartz-第三篇 quartz-misfire 错失,补偿执行
  13. 新中大银色快车服务器重装,新中大简约型ERP软件银色快车SEV9.0版安装说明.doc...
  14. 无法正常启动,错误0xc0150002
  15. 三款较好的代码比较工具Beyond compare、DiffMerge、WinMerge
  16. 面试总结:测试常见面试题汇总
  17. SSH密匙key介绍
  18. Codeforces Gym 100015A Another Rock-Paper-Scissors Problem 找规律
  19. 深度揭秘 Promise 微任务和执行过程
  20. 简单的LED交替闪烁程序

热门文章

  1. 面向未来,我们来聊一聊什么是现代化数据架构
  2. windows环境搭建MQTT
  3. selinux-001
  4. 05-Python 元祖及字典
  5. java与模式孙悟空_由孙悟空的七十二变看Java设计模式:装饰者模式
  6. WPS for Linux提示“系统缺失字体symbol、wingdings、wingdings 2、wingdings 3、webding”的解决方法
  7. 随笔小记-12.31
  8. XiaoHu日志 9/2
  9. XiaoHu日志 4/17
  10. 软件-DiskSpeekUp:DiskSpeekUp(磁盘整理工具)