一、C程序

1.什么是程序设计语言?

计算机是一种具有内部存储能力、由程序自动控制的电子设备,人们将需要计算机做的工作写成一定形式的指令,并把它们储存在计算机内部的存储器中,当人们给出命令之后,它就按指令顺序自动进行操作。人们把这种可以连续执行的一条指令的集合称为“程序”,可以说,程序就是人与机器“对话”的语言,也就是我们常说的“程序设计语言”。

2.什么是机器语言?

对于计算机本身来说,它并不能直接识别由高级语言编写的程序,它只能接受和处理由0和1的代码构成的二进制指令或数据。由于这种形式的指令是面向机器的,因此被称为“机器语言”。

3.高级语言是如何转化成机器语言的?

我们把由高级语言编写的程序称为“源程序”,把由二进制代码表示的程序称为“目标程序”。

为了将源程序转换成机器能接受的目标程序,软件工作者编制了一系列软件,通过这些软件可以把用户按规定语法写出的语句一一翻译成二进制机器指令,这种具有翻译功能的软件称为“编译程序”。

我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。由C语言构成的指令序列称为C源程序,按C语言的语法编写C程序的过程,称为C语言的代码编写。

C源程序经过C编译程序编译之后生成一个后缀为.OBJ的二进制文件(目标文件),然后由“连接程序”把此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件,在操作系统环境下,只需点击或输入此文件的名字,即可执行该文件。

二、程序设计

简单的程序设计一般包含以下几个部分。

(1)确定数据结构:根据任务书提出的要求,指定的输入数据和输出结果,确定存放数据的数据结构。

(2)确定算法:针对存放数据的数据结构来解决问题,完成任务的步骤。

(3)编码:根据确定的数据结构和算法,使用选定的计算机语言编写程序代码,输入到计算机并保存到磁盘上,简称编程。

(4)在和计算机上调试程序:消除由于疏忽而引起的语法错误或逻辑错误;用各种可能的输入数据对程序进行测试,使其对各种合理的数据都能得到正确的结果,对不合理的数据能进行适当的处理。

(5)整理并写出文档资料

三、算法

1.算法是指为解决某个特定问题而采取的确定且有限的步骤,一个算法应具有一下五种特性:

(1)有穷性:一个算法包含的操作步骤应该是有限的,即在执行若干个操作步骤以后,算法将结束,而且每一步都应在合理的时间内完成。

(2)确定性:算法中每一条指令必须具有确切的含义,对于相同的输入必须能得到相同的执行结果。

(3)可行性:算法中指定的操作,都可以通过已经验证过可以实现的基本运算执行有限次后实现。

(4)有零个或多个输入:在计算机上实现的算法是用来处理数据对象的,在大多数情况下这些数据对象需要通过输入来得到。

(5)有一个或多个输出:算法的目的是为了求解,这些“解”需要通过输出得到。

2.算法的描述方法

算法可以用各种描述方法来进行描述,最常用的是伪代码和流程图。

(1)伪代码是一种近似于高级语言但又不受语法约束的一种语言描述方式。

(2)流程图是一种描述算法很好的工具,一般的流程图由以下几种基本基本图形组成。

由这些基本图形中的框和流程线组成的流程图来表示具有形象直观,简单方便的优点,但流程图对于流程线的走向没有任何限制,可以任意转向,造成了在描述复杂算法是所占篇幅较多,费时费力且不易阅读的缺点。

(3)随着结构化程序设计方法的出现,N-S流程图出现,这种流程图完全去掉了流程线,算法的每一步都用一个矩形框来描述,把一个个矩形框按执行的次序连接起来就是一个完整的算法描述。

四、结构化程序

结构化程序由三种基本结构构成

(1)顺序结构:将按语句在程序中的先后顺序逐条执行没有分支没有转移。

(2)选择结构:当只写到这些语句时,将根据不同的调试去执行不同分支中的语句。

(3)循环结构:它们将根据各自的条件,是同一组语句重复执行多次或一次也不执行。

当型循环的特点是:当指定的条件成立时,就执行循环体,否则就不执行。

直到型循环的特点是:执行循环体直到指定的条件成立时就不在执行循环体。

已经证明,由三种基本结构组成的算法可以解决任何复杂问题。由三种基本结构所构成的算法称为结构化算法;有三种基本结构所构成的程序称为结构化程序。

五、模块化程序

在程序设计时,常常把复杂的任务分解成若干个子任务,每个子任务又分成很多个小子任务,每个小子任务只完成一项简单的功能。在程序设计时,用一个个小模块来实现这些功能,每个程序设计人员分别完成一个或多个小模块。我们称这种程序设计方法为“模块化”的方法,由一个个功能模块构成的程序结构为模块化结构。

软件编制人员在进行程序设计的时候,首先应当集中考虑主程序中的算法,写出主程序后在逐步完成子程序的调用,对于这些子程序也可以用调试主程序的方法逐步完成下一层子程序的调用。这就是自顶向下、逐步细化、模块化的程序设计方法。

C语言是一种结构化程序设计语言。它提供了三种基本结构的语句;提供了定义“函数”的功能,在C语言中没有子程序的概念,它提供的函数可以完成子程序的所有功能;C语言允许对函数单独进行编译,从而可以实现模块化,此外C语言还提供了丰富的数据类型。

[1]田淑清. 全国计算机等级考试二级教程.C语言程序设计[M]. 北京:高等教育出版社,2020.1-5.

计算机二级C语言程序设计 第一章 程序设计基本概念相关推荐

  1. 全国计算机二级python考试(第一章 程序设计基本方法 )

    1.1 程序设计语言 1.1.1 程序设计语言概述 什么是程序设计语言? 程序设计语言也叫编程语言,是计算机能够理解和识别用户意图的一种交互体系,它按照特定的规则组织计算机指令,使用计算机能够自动进行 ...

  2. 第一章 程序设计与C语言

    C语言作业 第一章 程序设计与C语言1.1 引例编写程序,输出两个整型数中的最大值.C语音是由函数组成的.程序涉及4个函数:main().max().scanf()和printf().其中,main( ...

  3. C++语言程序设计全真模拟试卷,2017年全国计算机二级C++语言程序设计考试试题...

    2017年全国计算机二级C++语言程序设计考试试题 一.选择题(每小题1分,共40分) 1有如下程序: #include using namespace std; class Base{ protec ...

  4. 计算机二级程序设计题和答案不同,计算机二级C语言程序设计测试题及答案

    计算机二级C语言程序设计测试题及答案 计算机二级考试是用于考查应试人员计算机应用知识与技能的全国性计算机水平考试,下面是小编整理的计算机二级C语言程序设计测试题及答案,欢迎大家练习! 1[单选题] 设 ...

  5. 超女选秀C语言程序设计,结构体数组 2013年计算机二级C语言程序设计考试大纲...

    2013年是什么年?蛇年吗?答:2013年1月1日-2013年2月9日是农历壬辰年(龙年):2013年2月10日-2013年12月31日是农历癸巳年(蛇年).由于2013年指的是公历年,所以要给它转换 ...

  6. 计算机二级C语言-C程序设计题

    计算机二级C语言-C程序设计题 原文链接:https://blog.csdn.net/weixin_43323830/article/details/106317383 /* Author: Booh ...

  7. c语言二重循环的盒图怎么画,全国计算机二级C语言程序设计讲义 循环嵌套.ppt...

    全国计算机二级C语言程序设计讲义 循环嵌套 第7讲 循环的嵌套 一.continue 语句和 break 语句 1.continue语句 2.break语句 二.循环的嵌套 三.goto语句 葛挑破隶 ...

  8. 未来教育python视频百度云-2019年计算机二级Python语言程序设计考试大纲

    2019年计算机二级Python语言程序设计考试大纲 浏览次数: 时间:2019/03/14 从各省教育考试院公布的2019年计算机等级考试报名通知中可知2019年计算机等级考试所有大纲均为2018年 ...

  9. 湖南vb程序设计二级计算机考试题库答案,计算机二级VB语言程序设计考试题及答案...

    计算机二级VB语言程序设计考试题及答案 不论从事何种工作,如果要想做出高效.实效,务必先从自身的工作计划开始.有了计划,才不致于使自己思想迷茫.头脑空洞,不知从哪里着手开展工作.下面是小编搜索整理的计 ...

  10. c语言将结果原模原样输出到文件,2013年9月全国计算机二级C语言程序设计上机模考试卷1.docx...

    2013年9月全国计算机二级C语言程序设计上机模考试卷1 一.填空题 请补充main函数,该函数的功能是:计算每个学生科目的平均分,并把结果保存在数组bb中. 例如,当score[N][M]={{78 ...

最新文章

  1. OutofMemory之PermGen介绍
  2. 抖音小程序微信小程序五角星型评分插件自定义分数组件
  3. jquery ajax error函数和及其参数详细说明
  4. appium python unittest_appium+python+unittest自动化测试
  5. VMware相关的缩略语和缩略语
  6. inlfuxdb版本_InfluxDB安装及配置
  7. 拓端tecdat|R语言K-means和层次聚类分析癌细胞系微阵列数据和树状图可视化比较
  8. Anaconda的安装与使用(Windows下)
  9. 选择排序——Java排序算法
  10. 指纹识别算法MZFinger5.0
  11. 英语读音(四)--自然拼读法 Phonics --- 最常见字母发音 /The pronounciation of most common letters
  12. compass watch出错
  13. 关于域名用下划线的一个问题
  14. 非平衡电桥电阻计算_用非平衡电桥如何测量电阻_非平衡电桥测量电阻详解
  15. 从零搭建自动化测试平台
  16. 我的理想高中作文理想是计算机,我的理想高中优秀作文范文
  17. Kinect_0:项目背景
  18. ASP.NET Core2.1 你不得不了解的GDPR(Cookie处理)
  19. LiteOS学习(一)任务
  20. 【ORACLE】详解oracle数据库UTL_RAW包各个函数的模拟算法

热门文章

  1. GTK、Qt和wxWidgets
  2. Vb.net遍历一个窗口中的所有某类对象 (窗体中的控件) 的方法
  3. office visio 替代_5款替代微软Visio的开源免费软件
  4. PMBOK第七版即将来袭!你是否做好准备迎接新考纲+新教材的PMP考试?
  5. 【数据库学习】——从零学习SQL语句(含SQL数据类型、SQL语句实例操作)
  6. 地图投影和矢量瓦片详解
  7. ArcView GIS 应用与开发技术(3)-地理要素的显示和标注
  8. UI设计师常用500多款字体和73款手写字体打包
  9. Asp.net页面生命周期详解任我行(3)-服务器处理请求详细过程
  10. tiledmap 图块属性_cocos2dx[3.4](25)——瓦片地图TiledMap