第一章 C语言概述

1.C语言历史背景

  • C语言是在B语言的基础上发展起来的,兼具一般高级语言和低级语言的优点,可用来编写系统软件或应用软件。
  • 1972-1973年,贝尔实验室在B语言基础上设计出C语言。
  • 1975年,UNIX第6版发布,C语言突出特点引起广泛关注。
  • 1977年,不依赖于具体机器的可移植的C语言编译文本。
  • 1978年后,C语言先后移植到大、中、小、微型计算机上,独立于 UNIX 和 PDP。
  • C语言与UNIX在发展过程中是相辅相成的。
  • 以1978年发布的 UNIX第7版 中的C语言编译程序为基础,Brian W.Kernighan 和 Dennis M. Ritchie (K&R)合著了《The C Programming Language》。
  • 1989年,ANSI公司发布第一个完整的 C语言标准,C89。(American National Standard Institute 美国标准化协会)
  • 1990年,国际标准化组织 ISO(International Standard Organization)接受 C89 为ISO C标准,C90。 C90与C89基本相同。
  • 1999年, ISO 重新修订了C语言标准,简称 C99。

2.C语言特点

  1. **语言简洁、紧凑,使用方便、灵活。**32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。
  2. **运算符丰富。**C语言运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理,从而使C语言的运算类型极其丰富,表达式类型多样化。语法限制不太严格,程序设计自由度大
  3. **数据类型丰富。**C语言提供的数据类型有:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型等,能用来实现各种复杂的数据结构的运算(如链表、树、栈等)。尤其是指针类型数据,使用十分灵活和多样化。
  4. 具有结构化的控制语句(if…else语句、while语句、do…while语句、switch语句、for语句)。用函数作为程序的模块单位,便于实现程序的模块化。C语言是完全模块化和结构化的语言。
  5. **语法限制不太严格,程序设计自由度大。**程序员需仔细检查程序,保证其正确。
  6. 允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。
  7. **生成目标代码质量高,程序执行效率高。**C语言一般只比汇编程序生成的目标代码效率低10%~20%
  8. 程序可移植性好(与汇编语言相比)。

3.简单的C语言程序介绍

  • **C语言是有函数构成的。**一个C元源程序至少且仅包含一个main函数,也可以包含一个main函数和若干个其他函数。**函数是C程序的基本单位。**被调用的函数可以是系统提供的库函数(如printf 和 scanf 函数),也可以是用户根据需求自己编制设计的函数。 C中的 函数 相当于其他语言中的 子程序。用函数来实现特定的功能,程序的全部工作都是由各个函数分别完成的。
  • 一个函数由两部分组成,函数的首部 和 函数体。
  1. 函数首部:函数的第一行,包括函数名、函数类型、函数参数(形式参数)名、参数类型

    1. 例如: int max (int x, int y)
    2. ​ 函数类型 函数名 函数参数类型 函数参数名
  2. 函数体:函数首部下面的花括号内的部分。如果一个函数内有多个花括号,则最外面的为函数体范围。
    1. 声明部分:定义所用到的变量和对所调用函数的声明
    2. 执行部分:由若干个语句组成
  • 一个C程序总是从main函数开始执行的,main函数的位置任意。
  • **C 程序 书写格式自由。**多数C编译系统允许一行内写几个语句,一个语句可以分写在多行上,C程序没有行号。C99标准不支持一行内写多个语句。
  • **每个语句和数据声明的最后必须有一个分号。**分号是C语句的必要组成部分,即使是程序中的最后一个语句也应包含分号。
  • **C语言本身没有输入输出语句。**输入和输出的操作是由库函数scanf和printf等函数完成。
  • *可以用 / ······ */ 对C程序的某行或某几行做注释。**一个好的,有价值的程序都应该有注释,以增加程序的可读性。

4.C语言程序的运行

  • 运行C程序的步骤

    • 程序:一组计算机指令,每一条指令使计算机执行特定的操作。
    • 编辑 → 编译 → 链接 → 执行
    • 源程序 → 目标程序 → 连接 → 可执行的目标程序
  • C 程序运行流程图

  • VC6.0 常见文件格式

    • .c .exe .NCB .PCH
    • .cpp .DSP .PLG .PDB
    • .obj .DSW .ILK
#include <stdio.h>
void main ()
{printf("This is a C program. \n ");
}

C程序设计-谭浩强 第三版-学习笔记第1章 C语言概述相关推荐

  1. C程序设计-谭浩强 第三版-学习笔记 第2章 程序的灵魂 算法

    第 2 章 算法 --程序的灵魂 程序 = 算法 + 数据结构 (沃思,计算机科学家) 一个程序应该包括两方面: 对数据的描述:在程序中要指定数据的类型和数据的组织形式,即数据结构(data stru ...

  2. C程序设计谭浩强第五版课后答案 第三章习题答案

    C语言程序设计谭浩强第五版课后答案第三章 1.假如我国国民生产总值的年增长率为7%, 计算10年后我国国民生产总值与现在相比增长多少百分比.计算公式为p=(1+r)np = (1+r)^np=(1+r ...

  3. C程序设计(谭浩强第五版)总结

    C程序设计(谭浩强第五版)总结 本篇文章主要是总结谭浩强第五版C语言书上的重点和易漏点的知识点,其目的主要是给高校期末考试的同学们点参考.本文所参考的书籍是谭浩强的<C程序设计(第五版)> ...

  4. c语言考研题库谭浩强,C程序设计谭浩强第4版考研教材下载及真题视频讲解

    程序设计和C语言 1.1 复习笔记 一.计算机程序 1程序就是一组计算机能识别和执行的指令 2计算机的一切操作都是由程序控制的 二.计算机语言 1定义 人和计算机交流信息,要解决语言问题.需要创造一种 ...

  5. 类和对象的特性(C++谭浩强第三版笔记)

    0.0 从程序结构上看:   基于过程的程序中:围绕功能进行的,函数是构成程序的基本部分,程序面对的是一个个函数.   面向对象的程序中:除主函数外,其他函数基本上都出现在"类"中 ...

  6. C语言谭浩强第三版第九章例题及课后题:预处理命令

    目录 9.1定义一个带参数的宏,使两个参数的值互换 9.2输入两个整数,求它们相除的余数 9.3求三角形面积 9.4(5)判断闰年 9.5分析下面的宏所定义的输出格式 9.6设计输出实数的格式 9.7 ...

  7. C语言程序设计谭浩强第五版复习梳理2

    第2章 算法--程序的灵魂 前言:前两章都是c语言基础知识,软考还有考研笔试可能会考,下一章开始学的才是真正的编程. 2.1程序=算法+数据结构 算法+数据结构=程序 数据结构: 对数据的描述.在程序 ...

  8. C语言谭浩强第三版第十二章例题及课后题:位运算

    eg12.1取一个整数a从右端开始的4~7位 0000...000000        0 1111...111111       ~0  1111...110000       ~0<< ...

  9. C程序设计 谭浩强 第三章

    变量类型 常量 注:一般变量初始化不是在编译阶段完成的(只有静态存储变量和外部变量的初始化时在编译阶段完成的),而是在程序运行时执行本函数时赋予初值的,相当于执行一个赋值语句. 整型常量 实型常量:十 ...

最新文章

  1. (每日一题)P3768 简单的数学题(确信)(莫反 + 欧拉反演 + 杜教筛 )
  2. “深度学习之父”后悔投少了?90后华人学者:我们只卖AI软件
  3. Expression Blend 的点滴(4)--创建类似iPhone屏幕锁控件(上)
  4. resoult在python啥意思,python - __lt__而不是__cmp__
  5. android 从图片获取二维码
  6. 模板共享指针(shared_ptr)原理实现
  7. spring p2p项目html,springboot2.x项目实战视频教程p2p金融中等项目
  8. rpg制作大师2003_RPG制作大师MV 我们一起做游戏(十四)
  9. windows IDA 调试SO
  10. Spark SQL面试题
  11. (学习)如何科学合理的制定目标
  12. LAMP+haproxy+varnish实现网站访问的动静分离及静态资源缓存
  13. MySQL 修改报错 You can't specify target table 'tb_trade' for update in FROM clause
  14. OrangePi3开发板使用指南
  15. 安装neurokit 的艰难历程
  16. 力扣45跳跃游戏II(难)JAVA
  17. 福大计算机专硕扩招,【今日话题】福州大学数计学院研究生又又又扩招?什么是拟录取补录?...
  18. BOM制作系列之二:BOM合并
  19. 关于暴力女,玫瑰骑士
  20. python高级函数,将函数作为变量、返回函数

热门文章

  1. 2006中国富豪排行榜
  2. Vista下的支付宝安全控件
  3. Mega16_CN3083 and NOKIA_5110实现太阳嫩充电器
  4. 【Python 第7课】if的介绍和使用
  5. 利用Python入门编程
  6. COSMIC的后端学习之路——2.1 C++11新特性(1)
  7. Windows10安装.NET Framework3.5时失败的解决
  8. 什么是wrappers
  9. Python:正方系统抢课
  10. Ubuntu Desktop 自动获取 IP 地址