文章目录

初识c语言


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

文章目录

  • 1.1 c语言起源
  • 1.2 c语言的特点,应用范围
  • 1.3 使用c语言的七个步骤(编程的基本流程)
  • 1.4 编程机制
  • 1.5 总结

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

1.1

吃水不忘挖井人!虽然c语言是一个工具,但也得去了解工具的由来,即使不会有多大帮助,就像开车一样,你只用会开车就行了,如果你了解车的构造,比如离合,发动机,油门,刹车,会让你有进一步的了解,了解更深层的东西。

在1972年贝尔实验室的丹尼斯,肯,两人在开发unix操作系统时设计了c语言,顺便一提贝尔实验室诞生了许多发明,数字计算机,太阳能计算机,通信卫星。他两设计c语言的目的是为了更好的让程序员使用,有更多的实际使用价值。

1.2

c的特点:

广泛性(因为c是很早的一门编译语言,使用者众多,发展时间长,很多系统都是c编写的,甚至机器上的系统,单片机等等)

具有设计性(采用结构化编程和模块化设计,更方便的去阅读代码)

高效性(c语言具有汇编语言才有的微调控制能力,也就是能调用硬件。可以根据具体情况微调程序以获取最大运行速度。我在b站上看到一个博主是这样说的,c语言是介于汇编语言,编译语言之间,既拥有面向用户的功能,也有直接向下的能力,在系统中处于承上启下的作用)(相关up主视频地址:【5分钟通俗讲解面向对象编程】 https://www.bilibili.com/video/BV1pq4y1t7nA?share_source=copy_web&vd_source=15e2942f7ec170bdf424d32f458f7ac1)

可移植性 (从八位微处理器到超级计算机都可以使用c,只需稍微修改或者不修改)

缺点  (复用性差,维护性差,扩展性差,可读性差)(这是书上是这么写的,但我目前也就感受到复用性差,拓展性差,这是相较于python来说的)

应用范围:unix操作系统,游戏,计算机语言,嵌入式系统,机器人,pc应用等

1.3

在学习c之前我学过一段时间的python,在这个过程中看书上的代码是都能看懂,一离开资料自己编写就完全没有想法不知从何下手。这就是我没有分析步骤的下场。

第一步:定义程序的目标(在敲代码之前要明确自己想要什么,想要这个程序实现什么功能,什么样的界面,那些负责计算和控制) 用一般语言来描述

第二步:设计程序(以什么样的方式实现功能,需要那些数据,在程序运行过程中该传输什么信息,用什么算法来解决问题,什么样的数据格式,把功能模块化,控制模块化,)用一般术语描述

第三步: 编写代码,用它来实现。

第四部:编译,在这块是编译器把源代码转换成执行代码的过程,可执行代码是计算机的机器语言。这块得注意编译环境,如果代码没有问题大概率是编译环境出了问题

第五步:运行程序

第六步:测试和调试程序(程序会碰见很多情况的使用,会出现错误也就是Bug,如果错了就得修改)(关于这点我深有体会,如果代码写完了报错,不要先查资料,先根据编译器告诉的错误进行修改,一遍一遍看,实在不行了再查资料,找出自己错误的地方)

第七部:维护和修改代码(如果发现程序有错,或者说在某一块上想到了更好的方法,要在程序上进行修改,所以在编写代码的时候要留出一定“空间”,要标记注释,要养成写注释的习惯)

1.4

编程机制:(编写程序时,编写的内容被存储在文本文件中,该文件叫做源代码文件,要求文件名以.c结尾。c编程的基本策略是,用程序把源代码文件转换为可执行文件也就是可直接运行的机器语言代码。典型的c是通过编译和链接两个步骤来完成这一过程,编译器其把源代码转换成中间代码,连接器把中间代码和其他代码合并生成可执行文件)

1.5

对我来说c语言是一门学习路上的经典路标,是不可或缺的知识。由他扩展出来众多语言,众多技术。如果想要对编程有更深的理解,c语言是绝对要学的。

《c primer plus》学习笔记第一章 :初识c语言相关推荐

  1. 编译原理(龙书)学习笔记 第一章

    编译原理(龙书)学习笔记 第一章 1.1语言处理器 解释器(interpreter) : 编译器(compiler): 一个语言处理系统 练习 1.1.1:编译器和解释器之间的区别 1.1.2:相对优 ...

  2. 《Go语言圣经》学习笔记 第一章 Go语言入门

    Go语言圣经学习笔记 第一章 Go语言入门 目录 Hello, World 命令行参数 查找重复的行 GIF动画 获取URL 并发获取多个URL Web服务 本章要点 注:学习<Go语言圣经&g ...

  3. 小吴的《机器学习 周志华》学习笔记 第一章 绪论

    小吴的<机器学习 周志华>学习笔记 第一章 绪论 近一年时间接触到不少机器学习的知识,虽然断断续续学了一些,总感觉还没有入门(只学会了疯狂调包).因此,最近开始系统学习Machine Le ...

  4. 计算机网络学习笔记---第一章

    计算机网络学习笔记 第一章 文章目录 计算机网络学习笔记 第一章 前言 一.计算机网络的概念 (一)计算机网络的功能 1.数据通信(连通性) 2.资源共享(硬件 软件 数据) 3.分布式处理 (Had ...

  5. 机器人导论(第四版)学习笔记——第一章

    机器人学导论(第四版)学习笔记--第一章 1. 概述 1.1 背景 1.2 操作臂力学和控制 1.3 符号 1. 概述 1.1 背景 工业自动化的发展带来了工业机器人的高速发展.本书聚焦机械臂的力学和 ...

  6. PhalAPI学习笔记 ——— 第一章自定义HelloWorld接口

    PhalAPI学习笔记 --- 第一章自定义HelloWorld接口 前言 自定义接口 项目实例 结果 分布解析 结束语 前言 公司业务需要转学PHP,而PHP中一个功能强大且生态链完整的PHP接口框 ...

  7. c生万物【第一章 初识c语言】

    c生万物---第一章 初识c语言 前言 1.什么是C语言 2.第一个C语言程序 3.数据类型 4.变量.常量 4.1定义变量的方法 4.2变量的分类 4.3变量的使用 4.4 变量的作用域和生命周期 ...

  8. [go学习笔记.第二章] 2.go语言的开发工具以及安装和配置SDK

    一.工具介绍: 1.Visual Studio Code 一个运行于Mac,Windows,和linux上的,默认提供Go语言的语法高亮的IED,可以安装Go语言插件,还可以支持智能提示,编译运行等功 ...

  9. [go学习笔记.第一章] go可以做什么

    go可以做什么,go有以下三大学习方向: Golang的应用领域 1.区块链应用 区块链技术,简称BT(Blockchain technology),也被称之为分布式账本技术,是一种互联网数据库技术, ...

最新文章

  1. 使用iText库创建PDF文件
  2. DNS 截持模拟及环境搭建
  3. php代码升级更新机制,php如何实现更新功能
  4. openfire消息通知推送_APP消息推送功能之前端后台设计
  5. HDOJ1166 敌兵布阵【线段树】
  6. win7电脑共享硬盘分区的方法
  7. mysql四种事务级别_【MySQL 知识】四种事务隔离级别
  8. Python-DDoS攻击
  9. 13.罗马数字转整数-LeetCode
  10. 微信小程序实现datamatrix(dm)码
  11. STM32开发环境搭建——Keil5
  12. ribbon的注解 @LoadBalanced 报错 No instances available for [IP]
  13. Spark处理数据倾斜问题
  14. P1967 货车运输( 最大生成树+LCA or Kruskal重构树)
  15. 注册一家互联网公司基本流程
  16. ARM裸机篇(二)——i.MX6ULL启动过程
  17. flash制作游戏_如何使用Flash制作简单的装扮游戏
  18. 管理 Office com 加载项
  19. 如何知道计算机显示器尺寸,如何查看电脑显示器尺寸?
  20. 数据流图(Data Flow Diagram ,简称DFD)

热门文章

  1. python计算均方误差_Python:如何计算分布的均方误差?
  2. 【安防系列】之基本产品概念NVR/DVR/IPC/SD
  3. 【搜索】[SCOI2009] 生日快乐 BZOJ 1024
  4. AXI_lite代码简解(三)-AXI-LITE 自定义IP
  5. gslb(global server load balance)技术的一点理解
  6. R语言【SPSS的sav数据导入Rstudio】
  7. 无线路由器实现多台主机共享上网
  8. 百度自然语言处理部招人啦!正式、实习都要!研究、落地都有!
  9. 使用vscode,控制台显示“无法初始化设备 PRN”的解决方法
  10. _TCHAR在java中怎么用_char 与 TCHAR之间转换