第一章        程序设计和C语言

目录

第一章        程序设计和C语言

1.1        什么是计算机程序

1.2        什么是计算机语言

1.3        C语言的发展及其特点

1.4        最简单的C语言程序

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

1.6        程序设计的任务

1.7        第一章课后习题详解



1.1        什么是计算机程序

程序:一组计算机能识别和执行的指令

指令:可以被计算机理解并执行的基本操作命令

程序就是指令序列,指令是程序的基本单位

1.2        什么是计算机语言

计算机语言分为机器语言、汇编语言、高级语言

(1)机器语言:

计算机能直接识别和接受的二进制代码称为机器指令,机器指令的集合就是计算机的机器语言

工作方式是一种二进制的工作方式,只能接受0和1组成的指令

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

(2)汇编语言:

汇编语言又叫做符号语言、符号汇编语言

汇编语言是用一些英文字母和数字表示一个指令。但是计算机不能直接识别和执行汇编语言的指令,需要用汇编程序的软件将符号语言转换成为机器指令

一般地,一条符号语言的指令对应一条机器指令。转换的过程称为“代真”,“汇编”。

机器语言和汇编语言统称为计算机低级语言。

(3)高级语言:

使用人们日常生活习惯中的自然语言和数学语言来代替程序中的语句和指令。

优点:

1、容易理解和使用

2、语言功能很强,不依赖具体机器。

机器语言也不能直接识别高级语言程序,需要进行“翻译”。即用编译程序将用高级语言写的程序(源程序)转换为机器指令的程序(目标程序),然后让计算机执行机器执行命令,最后得到结果。

高级语言的发展阶段  1、非结构化的语言  2、结构化的语言  3、面向对象的语言

1.3        C语言的发展及其特点

诞生:1972年        D.M.Ritchie在B语言的基础上设计出了C语言

兴盛:1978年        C语言风靡全世界,成为世界上应用最广泛的程序设计高级语言

修订:1989年        C89标准        第一个完整的C语言标准并作为国际标准

1999年        C99标准      (保留原来C语言的基本特征,根据需要增加一些新的功能)

C语言有以下主要特点:

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

2、运算符丰富

3、数据类型丰富

4、具有结构化的控制语句

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

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

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

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

1.4        最简单的C语言程序

[例1.1]要求在屏幕上输出以下一行信息。

This is a program

【例1.2】求两个整数之和

【例1.3】求两个整数中的较大者

C语言程序的结构特点:

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

源程序文件包括三个部分1、预处理指令      #include <stdio.h>

2、全局声明        放在函数之外的数据声明

3、函数定义        指定函数的功能,调用函数时,完成函数定义时的功能

(2)函数是C程序的主要组成部分

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

1、函数首部:包括函数名、函数类型、函数属性、函数参数(形式参数)、参数类型

2、函数体:即函数首部下面花括号内的部分。

函数体包括两个部分(声明部分和执行部分)

声明部分:包括定义本函数中所用到变量;对函数所调用的函数进行声明。

执行部分:由若干语句组成,指定在函数中所进行的操作。

在某些特定情况下也可以没有部分,甚至可以既无声明部分也无执行部分。如

void dump()

{}

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

函数的定义是不能嵌套的,是一个个并行的

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

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

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

(8)程序应当包含注释

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

运行C语言的步骤:

(1)上级输入和编辑源程序

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

(3)进行连接处理

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

精华摘要:首先上机编写源文件,其次进行编译对程序进行加载。若出现错误,需要找出问题,修改源程序,并重新进行编译,直到无错为止。然后生成目标文件,将所有的目标文件与库函数连接起来,形成可执行程序。

1.6        程序设计的任务

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

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

(1)问题分析

(2)设计算法

(3)编写程序

(4)对源程序进行编辑、编译和连接

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

(6)编写程序文档

1.7        第一章课后习题详解

因篇幅限制,本书所有概念性习题均不再进行解答,答案在课本中的定义概念里。习题详解主要负责程序题。

编写一个C程序,运行时输出

Hello world!

编写一个C程序,运行时输出以下图形:
    *****
     *****
      *****
       *****

//编写一个C程序 运行时输入a,b,c三个值,输出其中值最大者

谭浩强《C语言程序设计第五版》第一章学习笔记相关推荐

  1. 谭浩强c语言程序设计第五版---第一章

    5.编写程序,输出平行四边形**** (1) #include<cstdio> int main(){int i,j,k;for(i=0;i<4;i++){//确定形状的关键代码 f ...

  2. 谭浩强C语言程序设计代码示例第5章(笔记)

    谭浩强C语音程序设计代码示例第四章(新手入门笔记) 第一章包含参考书,在线编译工具,代码,注释等. 遵循共享互助原则 谭浩强C语言程序设计代码示例(1-3章) 谭浩强C语言程序设计代码示例第4章(笔记 ...

  3. 谭浩强C语言程序设计代码示例第6章(笔记)

    谭浩强C语音程序设计代码示例第六章(新手入门笔记) 第一章包含参考书,在线编译工具,代码,注释等. 遵循共享互助原则 谭浩强C语言程序设计代码示例(1-3章) 谭浩强C语言程序设计代码示例第4章(笔记 ...

  4. 谭浩强《C程序设计第五版》笔记㈠

    Ch1.程序设计和C语言 1.1 什么是计算机程序 1.2 什么是计算机语言 发展阶段 低级语言 机器语言 计算机能够识别和接受的二进制代码称为机器指令,而机器指令的集合就是机器语言. 符号语言 高级 ...

  5. 谭浩强c语言程序设计第四版课后习题:求Sn=a+aa+aaa+aaaa+...n个a ,a是数字 ,n表示a的位数

    题目: 计算 a+aa+aaa+aaaa+aaaaa+-+a-a(n个a)的值,n和a由键盘输入. 思路: 解决这种问题一般是找规律,找出通项.假设a=2 n=3那么就是2+22+222,其中22=2 ...

  6. 谭浩强《C程序设计第五版》笔记⑵

    Ch2 算法----程序的灵魂 2.1程序=算法+数据结构 数据结构:对数据的描述,在程序中要指定用到哪些数据,以及这些数据的类型和数据的组织形式,就是数据结构 对操作的描述,要求计算机进行操作的步骤 ...

  7. 谭浩强c 语言程序设计

    谭浩强c 语言程序设计  1 C语言概述  1.1  C语言的发展过程  1.2  当代最优秀的程序设计语言  1.3  C语言版本  1.4  C语言的特点  1.5  面向对象的程序设计语言  1 ...

  8. 谭浩强C语言程序设计 学习辅导练习题

    谭浩强C语言程序设计 学习辅导练习 第七章 函数 T14 输入N个学生M门课成绩,分别用函数实现下列功能: 1.计算每个学生的平均分 2.计算每门课的平均分 3.找出分数中最高分数所对应的学生和课程 ...

  9. 谭浩强C语言程序设计(1-3章代码学习)

    谭浩强C语言程序设计 参考书 C语言学习笔记记录,学习为主,新手小白入门 我所用的C语言在线编译器:lightly在线编译工具 可新建工程 谭浩强C语言程序设计书籍所包含的代码示例加注释说明如下: / ...

  10. c语言程序设计曾怡课件,谭浩强 C语言程序设计教程(由曾怡视频修改) 第8章 函数课件...

    谭浩强 C语言程序设计教程(由曾怡视频修改) 第8章 函数课件 一般搬家时转盘与大梁间是固定的,开钻前应根据转盘对井架进行校正,如果中途换转盘,则要在空负荷下根据井架对转盘进行校正 一般搬家时转盘与大 ...

最新文章

  1. Flash Builder 找不到所需的Adobe Flash Player调试器版本的解决办法
  2. DEDE文章列表加上序号效果
  3. Eclipse插件中的SLF4J登录
  4. 八大排序算法的python实现(三)冒泡排序
  5. python可变参数和关键字参数位置_python笔记——函数的参数(位置参数、默认参数、可变参数、关键字参数、命名关键字参数、参数组合)...
  6. mysql php 流式读取_PHP MySQL 读取数据
  7. apache启用gzip压缩方法
  8. Linux学习教程,Linux入门教程(超详细)| 网址推荐
  9. python实现邮件发送功能
  10. .NET 轻松实现HTML的绝对过滤之SafeHelper
  11. java 常用的五大包
  12. 未来的云计算基础设施长什么样?
  13. 光谱共焦的测量原理及厚度测量模式
  14. javac编译带有package的java文件
  15. matlab 矩阵白化,主成分分析中如何对矩阵进行白化处理
  16. 2020 MoDnet 视频抠图论文笔记
  17. Team Queue
  18. 深度学习方法(十五):知识蒸馏(Distilling the Knowledge in a Neural Network),在线蒸馏
  19. postgresql垃圾清理插件pg_repack
  20. 布法罗计算机专业怎么样,2019上海软科世界一流学科排名计算机科学与工程专业排名纽约州立大学布法罗分校排名第76-100...

热门文章

  1. 现代语音信号处理之线性预测分析
  2. 局部搜索算法 之 局部搜索算法,爬山法,模拟退火,集束搜索,遗传算法
  3. python下载过程中最后一步执行opencv出错怎么回事_PyCharm安装opencv-python和opencv-contrib-python的一些问题和解决方法_2018-09-27...
  4. iphone怎么查看wifi密码_怎么查看电脑连接的wifi密码?2种方法分享给大家!
  5. prepared statement mysql_MySQL之 Statement实现及PreparedStatement实现
  6. HP P2000 G3阵列故障经历
  7. 超级计算机贝利,5年华为架构师1小时把SpringBoot项目并发提升了10倍,网友:牛掰...
  8. 80X86寄存器详解
  9. 前端开发学java_Java前端开发需要学习什么
  10. CSDN下载频道1月最受欢迎资源强力推荐~!