1.1什么是计算机程序

程序,就是一组计算机能识别和执行的指令。每一条指令使计算机执行特定的操作。只要让计算机执行这个程序,计算机就会“自动地”执行各条指令,有条不紊地进行工作。

1.2什么是计算机语言

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

计算机语言的发展阶段:

机器语言 计算机工作基于二进制,从根本上说,计算机智能识别和接受由0和1组成的指令。在计算机发展的初期,一般计算机的指令长度为156,即以16个二进制数(0或1)组成一条指令,16个0和1可以组成各种排列组合。

这种计算机能直接识别和接受的二进制代码称为机器指令(machine instruction)。机器指令的集合就是该计算机的机器语言(machine language)。

显然,机器语言与人们习惯用的语言差别太大,难学、难记、难检查、难修改、难以推广使用、难写。因此初期只有极少数的计算机专业人员会编写计算机程序。

符号语言 为了克服机器语言的上述缺点,人们创造出符号语言(symbolic language),它用一些英文字母和数字表示一个指令,例如用ADD表示“加”,SUB代表“减”,LD代表“传送”等。

显然,计算机并不能直接识别和执行符号语言的指令,需要用一种称为汇编程序的软件,把符号语言的指令转换为机器指令。一般,一条符号语言的指令对应转换为一条机器指令。转换的过程称为:“代真”或“汇编”,因此,符号语言又称为符号汇编语言(symbolic assembler language)或汇编语言(assembler language)。

虽然汇编语言比机器语言简单好记一些,但仍然难以普及,只在专业人员中使用。

不同型号的计算机的机器语言和汇编语言是互不相通的。如,用甲机器的机器语言编写的程序在乙机器上不能使用。机器语言和汇编语言是完全依赖于具体机器特性的,是面向机器的语言。由于它“贴近”计算机,或者说离计算机“很近”,称为计算机低级语言(low level language).

高级语言 为了克服低级语言的缺点。创造出了高级语言。第一个高级语言为Fortran语言。

这种语言功能很强,且不依赖于具体机器,用它写出的程序对任何型号的计算机都是用(或只须作很少的修改),它与具体机器距离较远,故称为计算机高级语言(high level language)。

当然,计算机也是不能够直接识别高级语言程序的,也要进行“翻译”。用一种称为编译程序的软件把用高级语言写的程序(称为源程序,source program)转换为机器指令的程序(称为目标程序,object program),然后当计算机执行机器指令程序,最后得到记过。高级语言的一个语句往往对应多条机器指令。

高级语言也经历了不同的发展阶段:

(1)     非结构化语言。早期的BASIC、FORTRAN、ALGOL等都术语非结构化语言。

(2)     结构化语言。QBASIC、FORTRAN77和C语言等。

(3)     面向对象语言。C++、C#、visual、Basic、和java等

1.3 C语言的发展及其特点

C语言主要由以下一些主要特点;

1).语言简洁、紧凑,使用方便、灵活。

2).运算符丰富

3).数据类型丰富

4).具有结构化的控制语句

5).语法限制不太严格,程序设计自由度大

6).C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作

7).用C语言编写的程序可移植性好

8).生成目标代码质量高,程序执行效率高

1.4 最简单的C语言程序

1.4.1 最简单的C语言程序举例

例,要求在屏幕上输入以下一行信息

Hello world

编写程序

 #include <stdio.h>                //这是编译预处理命令

 int main()                        //定义主函数
{ //函数开始的标志
printf(" Hello world. "); //输出锁指定的一行信息
return ; //函数执行完毕时返回函数值0
} //函数结束的标志

Hello.c

/*程序分析

#include <stdio.h>

#include 编译预处理指令,把括号<>中的信息调入供使用

stdio.h 是系统提供的一个文件名

stdio是”standard Input & output“的缩写

文件后缀.h的意思是头文件(header file),因为这些文件都是放在程序个文件模块的开头

*/

说明:C语言允许两种注释方式:

1).以//开始的单行注释。可以嵌套使用 //xxxx//yyy

2).以/*开始,以*/结束的块式注释。不可以嵌套使用/*xxxxx/*yyyy*/zzzzz*/这是错误的,最后的*/会没有匹配的/*。

 

1.4.2 C语言程序的结构

(1) 一个程序有一个或多个源程序文件组成。

在一个源程序文件中可以包括以下3部分:

①预处理文件

②全局声明

③函数定义

(2) 函数是C语言的主要组成部分。

函数是C语言的基本单位。编写C语言的工作主要就是编写一个个函数,C语言的这种特点容易实现程序的模块化。

(3) 一个函数包括两个部分

①函数首部

int    max       (int          x ,        int             y)

函数类型 函数名  函数参数类型 函数参数名 函数参数类型 函数参数名

②函数体

函数体一般包括以下两部分

·声明部分

·执行部分

(4) 程序总是从main开始执行的

(5) 程序中对计算机的操作都是由函数中的C语言完成的。

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

(7) C语言本身不提供输入输出语句

(8) 程序应当包含注释

1.5 运行C程序的步骤与方法

在编号一个C源程序后,怎样上机进行编译和运行呢?一般要经过以下几个步骤:

(1)    上机输入和编译源程序

(2)    对源程序进行编译,先用C编译系统提供的“预处理器”(又称“预处理程序”或“预编译器”)对程序中的预处理指令进行编译预处理。

编译的作用:首先是对源程序进行检查,判定它有无语法方面的错误;若有,则发出“出错信息error”。反复进行,直到没有无法错误为止。

At(Attention):语法错误能够被检查出来,不可以检查出逻辑错误。

在用编译系统对源程序进行编译时,自动包括了预编译和正式编译两个阶段。用户不必分别发出二次指令。

(3)    进行连接处理

必须把所有的编译后得到的目标模块连接装配起来,再与函数库相连接成一个整体,生成一个可供计算机执行的目标程序,称为可执行程序(executive program)。

在Visual C++中其后缀为.exe,如f.exe

(4)    运行可执行程序,得到运行结果。

1.6程序设计的任务

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

(1)    问题分析

(2)    设计算法

(3)    编写程序

(4)    对源程序进行编辑、编译和连接,得到可执行程序

(5)    运行程序,分析结果

(6)    编写程序文档

第1章 程序设计和C语言的更多相关文章

  1. 【C语言】第1章 程序设计与C语言

    第1章 程序设计与C语言 程序:一组计算机能识别和执行的 指令. 计算机语言:人和计算机交流信息的.计算机和人都能识别的语言 C语言允许用两种注释方式: //:单行注释 可单独占一行 可出现在一行中其 ...

  2. 第一章 程序设计和C语言(笔记)

    一.程序和程序语言 程序:完成某项事务所预设的活动方式和活动过程. 程序设计:人们描述计算机要做的工作. 对于工作过程的细节动作描述就是一个“程序”. 在一个程序描述中,总有一批预先假定的“基本动作” ...

  3. 01 C语言程序设计--01 C语言基础--第1章 C语言概述&第2章 GCC和GDB

    走进嵌入式开发的世界,企业级项目课程让你达到企业嵌入式应用开发要求.名师在线答疑,解决疑难.科学评测体系,系统评估学习.核心项目实........ 30 门课程 241小时12分钟 824 人学习 学 ...

  4. C语言——第一章,程序设计和C语言

    第一章,程序设计和C语言 一,程序和程序语言 程序:完成某项事物所预设的活动方式和活动过程 程序设计:人们描述(指程序)计算机要做的工作 程序设计语言及发展 1,机器语言    2,汇编语言    3 ...

  5. 程序设计入门——C语言 习题汇总

    <img width="108" height="40" alt="浙江大学" src="http://imgsize.ph ...

  6. 程序设计入门-C语言基础知识-翁恺-期中测试

    一.试题 程序设计入门—C 语言期中测评 试题下载地址: http://nos.netease.com/edu-lesson-pdfsrc/217E194E46A6595A3F554380337490 ...

  7. 第1章:程序设计和C语言(C语言入门)

    一.程序和程序语言 1,程序的概念:完成某项事物所预设的活动方式. 2,程序设计:人们描述计算机要做的工作. 二 .程序设计语言及其发展 1.机器语言,2汇编语言,3高级语言{a)编译,b)解释}: ...

  8. 第一章:程序设计和C语言

    一.什么是计算机程序? 所谓程序就是一组计算机能识别和执行的指令.计算机的一切操作都是由程序控制的,本质是程序的机器,程序和指令是计算机系统最基本的概念. 二.什么是计算机语言? 人和计算机交流信息要 ...

  9. 01 C语言程序设计--01 C语言基础--第3章 基本数据类型01

    01.1.3.1序言 00:02:17 01.1.3.2 C语言中的基本元素和常量的概念 00:08:54 01.1.3.3示例--常量 00:12:08 01.1.3.4变量的概念和命名规则 00: ...

随机推荐

  1. 2. Java面向对象之泛型-构造方法中使用

    package generic; class Construtgeneric<T> { private T value; public Construtgeneric(T value) { ...

  2. linux 显示当前所在文件位置 以及git 分支所在

    function git-branch-name {  git symbolic-ref HEAD 2>/dev/null | cut -d"/" -f 3}function ...

  3. TestNG entryset的用法及遍历map的用法

    以下内容引自 http://blog.csdn.net/bestone0213/article/details/47904107  (注: 该 url不是原出处.其博主注明转载,但未注明转自何处) k ...

  4. B20J_2243_[SDOI2011]染色_树链剖分+线段树

    B20J_2243_[SDOI2011]染色_树链剖分+线段树 一下午净调这题了,争取晚上多做几道. 题意: 给定一棵有n个节点的无根树和m个操作,操作有2类: 1.将节点a到节点b路径上所有点都染成 ...

  5. 猴子 JDFZ模拟赛

    猴子(弱) Description 话说NP做梦,梦见自己变成了一只猴子,并且有很多香蕉树,这些香蕉树都种在同一直线上,而NP则在这排香蕉树的第一棵树上.NP当然想吃尽量多的香蕉,但它又不想在地上走, ...

  6. linux学习之路(2)

    1.输入输出重定向  输入重定向中用到的符号及其作用 命令 < 文件 将文件作为命令的标准输入 命令 << 分界符 从标准输入中读入,直到遇见分界符才停止 命令 < 文件 1 ...

  7. 【爆料】-《悉尼科技大学毕业证书》UTS一模一样原件

    ☞悉尼科技大学毕业证书[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归 ...

  8. springboot redis多数据源

    springboot中默认的redis配置是只能对单个redis库进行操作的. 那么我们需要多个库操作的时候这个时候就可以采用redis多数据源. 本代码参考RedisAutoConfiguratio ...

  9. 基于思科模拟器的AAA配置与验证

    拓扑图: 地址表如图所示 三个路由器之间采用ospf协议达到互通 先做ping通测试 由ApingB 由ApingC 配置AAA认证 在R1上 R1(config)#username shuaiqiy ...

  10. DevOps实践之一:基于Docker构建企业Jenkins CI平台

    基于Docker构建企业Jenkins CI平台 一.什么是CI 持续集成(Continuous integration)是一种软件开发实践,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来 ...