C语言学习-第一章 程序设计和C语音

234 阅读4分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第1天,点击查看活动详情

近日开始学习C语言啦,主要阅读书籍《C程序设计(第五版)》

什么是计算机程序

所谓程序:就是一组计算机能识别和执行的命令。每一条指令使计算机执行特定的操作。

计算机的本质是程序的机器,程序和指令是计算机系统中最基本的概念。

什么是计算机语言

计算机语言: 计算机和人都能识别的语言

计算机语言经理的几个发展阶段:

  • 机器语言: 计算机工作基于二进制,只能识别和接受由0和1组成的指令。一般计算机的指令长度为16 计算机能直接识别和接受的二进制代码成为机器指令(machine instruction) 机器指令的集合就是该计算机的机器语言(machine language)
  • 符号语言
  • 高级语言
    • 非结构化的语言
    • 结构化语言
    • 面向对象的语言

C语言的发展及其特点

目前由不同软件公司所提供的一些C语言编译系统并未完全实现C99建议的功能,它们多以C89为基础开发。

C语言有一些一些主要特点:

  • 语言简洁、紧凑,使用方便、灵活 —— 37个关键字、9种控制语句
  • 运算符丰富 —— 34种运算符
  • 数据类型丰富 —— 整型、浮点型、字符型、数组类型、指针类型、结构体类型和共用体类型等,C99又扩充了 复数浮点类型、超长整型(long long)和布尔类型(bool)
  • 具有结构化的控制语句 —— if...else...语句、while语句、do...while语句、switch语句、for语句
  • 语法限制不太严格,程序设计自由度大
  • ⑥C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作
  • ⑦用C语言编写的程序可移植性好
  • ⑧生成目标代码质量高,程序执行效率高

最简单的C语言程序

要求在屏幕上输出: This is a C program image.png

return 0; 的作用是:当main函数执行结束前将整数0作为函数值,返回到调用函数处。

C语言程序的结构

C语言程序的结构有以下特点:

  • 一个程序由一个或多个源程序文件组成。在一个源程序文件中可以包括3个部分

    • 预处理指令 如#include <stdio.h> #define
    • 全局声明 main函数前声明的变量,在整个源程序文件范围内有效。函数中声明的变量是局部变量,只在函数范围内有效
    • 函数定义
  • 函数是C程序的主要组成部分

  • 一个函数包括两个部分

    • 函数首部
    • 函数体
      • 声明部分
      • 执行部分
  • 程序总是从main函数开始执行的

  • 程序中要求计算机的操作是由函数中的C语句完成的

  • 在每个数据声明和语句的最后必须有一个分号

  • C语言本身不提供输入输出语句

  • 程序应当包含注释

运行C程序的步骤与方法

编写好一个C源程序后,上机进行编译和运行一般要经过以下几个步骤:

  • 上机输入和编辑源程序
  • 对源程序进行编译 编译的作用:首先是对源程序进行检查,判定它有无语法方面的错误。修改程序后重新进行编译,如果还有错,再发出“出错信息”。如此反复进行,直到没有语法错误为止

用编译系统对源程序进行编译时,自动包括了预编译和正式编译两个阶段

  • 进行连接处理
  • 运行可执行程序,得到允许结果

image.png 以上过程如图所示,实线表示操作流程,虚线表示文件的输入输出

程序设计的任务

程序设计是指从确定任务到得到结果、写出文档的全过程

从确定问题到最后完成任务,一般经历以下几个工作阶段:

  • 问题分析
  • 设计算法
  • 编写程序
  • 对源程序进行编辑、编译和连接
  • 允许程序、分析结果
  • 编写程序文档