版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章概述1.1程序设计语言发展1.2高级语言程序的编译1.3算法与程序设计1.4C&C++源程序示例1.5C&C++开发环境1.6实用知识:常见的编译和运行错误1.7练习与思考1.1程序设计语言发展
1.1.1机器语言到高级语言机器语言是由计算机能够理解的指令组成的,每条指令用一串0和1组成汇编语言的实质和机器语言是相同的,都是直接对硬件操作,指令采用了英文缩写的标识符,更容易识别和记忆高级语言去掉了与具体硬件环境有关的细节,语法比较接近自然语言,容易阅读和学习。一些高级语言增加了面向对象的特点,更易表达现实世界1.1程序设计语言发展
1.1.1机器语言到高级语言高级语言2019201620112006200119961991Java1111330-C2222111C++4333222C#745610--Python35672615-——来源于:/tiobe-index/C和C++应用广泛,可用于系统底层开发、嵌入式设备、网络通讯协议、图像处理、以及游戏和算法等Java主要应用于网络应用系统C#主要用于Windows程序设计和网络应用系统等Python是一种脚本语言,是目前大数据和人工智能的主要语言之一1.1程序设计语言发展
1.1.2C&C++的发展与特点C语言采用结构化编程方法,遵从自顶向下的原则,重点在于算法与数据结构如操作系统Unix/Linux是C语言开发的,Linux下可以直接用gcc命令编译C程序C语言执行速度快,接近于机器语言C++进一步扩充和完善了C语言,引入了重载、异常处理等。C++不仅包含C语言的面向过程的特点,还包含了解决复杂问题时需要的面向对象程序设计思想C++可重用性好、适合复杂程序开发C和C++语言都是跨平台的C语言与C++语言有多种版本的标准,完成程序时要注意操作系统以及开发环境支持的版本本书代码适用于C++11及C99标准1.2高级语言程序的编译
1.2.1编译大多数高级语言都使用编译编辑并保存源程序(如C语言的文件扩展名是.c,C++语言是.cpp)编译:检查语法错误,若正确则翻译成目标文件连接:多个目标文件连接成一个可执行文件执行:执行可执行文件(.exe)图1‑1C++程序的编译过程1.2高级语言程序的编译
1.2.2解释与脚本语言解释是将高级语言源代码逐条转换成目标代码同时逐条执行,每次执行都会做逐条解释、逐条执行的过程。脚本语言通常是一个解释性的语言,例如VBScript,Javascript,Python等一些批处理命令也经常写成脚本语言,如用Linux的shell脚本完成一些系统备份等工作1.3算法与程序设计
1.3.1算法与工程问题的求解解决工程问题主要包括几个步骤:1)理解问题;2)描述问题的输入和输出信息;3)设计必要的算法解决问题;4)使用一种计算机语言来解决问题;5)使用数据测试解决方案。只有4)的具体实现涉及到计算机语言算法是解决某个问题的方法和步骤一个算法应该具有以下五个重要的特征有穷性:有限个步骤确切性:每个步骤必须定义明确输入:一个算法有0或多个输入输出:一个算法有1或多个输出有效性:任何步骤都是可执行的1.3算法与程序设计
1.3.1算法与工程问题的求解(了解)传统流程图通过带有箭头的线段将不同的形状连接起来圆角矩形表示“开始/结束”平行四边形表示“输入/输出”菱形表示“条件判断”矩形表示“处理,如计算或赋值等”带有箭头的线段表示流程的方向1.3算法与程序设计
1.3.2面向过程的程序设计与面向对象的程序设计(简单了解)面向过程一般采用“自顶向下、逐步求精”的方法,将功能划分为若干个基本模块(函数),每个函数功能相对独立,每个模块内部由顺序、选择、循环三种基本结构组成面向对象一般将要处理的对象抽象出特征,形成类,类中封装了描述对象的数据特征和数据方法,对象通过类中的方法进行创建和处理操作1.4C&C++源程序示例
1.4.1程序示例【例1‑1】屏幕上输出“HelloWorld!”。行号C++源程序如下:行号C&C++源程序如下:1234567#include<iostream>usingnamespacestd;intmain(){cout<<"HelloWorld!";
return0;}1234567#include<stdio.h>
intmain(){printf("HelloWorld!");return0;}记住基本框架!!!1.4C&C++源程序示例
1.4.1程序示例【例1‑2】屏幕上输出下面的图形(三行符号)。***********@@***********行号C++源程序如下:行号C&C++源程序如下:1234567891011121314#include<iostream>usingnamespacestd;voidprint();intmain(){print();cout<<"@@\n";print();return0;}voidprint(){cout<<"***********\n";}1234567891011121314#include<stdio.h>
voidprint();intmain(){print();printf("@@\n");print();return0;}voidprint(){printf("***********\n");}定义函数实现功能主函数中允许多次调用(使用)函数调用之前要声明一个函数无法看到其它函数的实现过程(保证了封装)声明调用定义1.4C&C++源程序示例【例1‑2】屏幕上输出下面的图形(三行符号)。***********@@***********代码等价于:为什么要使用函数?printf就是stdio.h文件提供的标准输出函数,用户按照函数声明的要求完成即可,无需考虑如何实现的输出功能如果题目要改成输出:==========@@==========左边的程序要修改2条语句,而上一页用函数定义的程序中,只需要修改自定义函数print定义内部的一条语句即可函数能让主函数代码清晰,每个功能单独用一个函数封装起来,便于维护;第2章会介绍系统提供的标准库函数第4章会介绍自定义函数的用法#include<iostream>usingnamespacestd;intmain(){cout<<"***********\n";cout<<"@@\n";cout<<"***********\n";return0;}1.4C&C++源程序示例
1.4.2程序代码说明组成简介预处理命令以#开头的命令,编译时首先完成预处理,然后再进行语法检查库与命名空间C&C++语言有很多标准库,每个库文件的内部保存着一组相关的函数/类,完成一定的功能,如至少要包含实现输出功能的函数。C++标准库的定义分别放在不同的命名空间(namespace)中。最常用的是std命名空间,包含了所有的标准库,如iostream是其中的一个使用时要用预处理命令:#include的形式函数函数(Function)是程序的基本组成部分主函数是程序运行的起点,一个程序必须有而且只能有一个主函数标识符标识符(Identifier)是表示程序中实体名字的有效字符序列C&C++标识符由字母、数字、下划线组成,并且只能由字母或下划线开头C&C++的标识符是区分大小写的关键字C&C++中有一些特定含义的词,如int、return等,称为关键字(Keywords),系统赋予了指定的含义,可以直接使用。用户自定义的标识符不能与关键字同名语句每条语句占一行,也允许将多条语句放在一行,但每条语句必须以西文的分号(;)结尾包括表达式语句、空语句、复合语句、流程控制语句、函数调用语句注释块注释:/*开始,*/结束行注释://1.5C&C++开发环境DevC++:初学者,仅支持windows版本,免费CodeBlocks:初学者,多个版本适应Windows、Linux、MacOS,免费VSCode:微软提供,支持多种语言gcc/g++:Linux的命令行下直接运行,Windows环境下安装MinGW后也可以使用1.5C&C++开发环境DevC++为例:/projects/orwelldevcpp/下载,双击“Del-Cpp5.11TDM-GCC4.9.2Setup.exe”文件,默认配置安装新建一个源程序,保存文件时选择是C++语言文件(.cpp)或C语言文件(.c),注意一般保存到非C盘(非桌面),路径名不包含中文单击工具栏的图标可以一次性完成编译、连接、运行,要注意本机是32位或64位1.6实用知识:常见的编译和运行错误
1.6.1常见的编译错误提示信息编译错误[Error]missingterminating"character字符串缺少一个双引号"[Error]stray'\243'inprogram[Error]stray'\273'inprogram程序中出现中文字符'\243''\243'与'\273'组成中文字符的分号;[Error]'cout'wasnotdeclaredinthisscopecout是std命名空间的,要写成std::cout如果在#include后面加上usingnamespacestd;则可以直接用cout[Error]'return0'wasnotdeclaredinthisscopereturn0并未定义变量必须先定义后使用return是关键字,return0;表示函数返回整数0,return和0中间要有空格分隔[Error]expected';'before'return'return语句前面的语句缺少分号[Error]redefinitionof'intmain()'main()函数被重复定义,一个项目中必须有而且只能有一个main()函数,不允许有2个及以上的main()函数[Error]nomatchfor'operator>>'(operandtypesare'std::ostream{akastd::basic_ostream<char>}'and'int')不匹配的运算符>>>>与cin匹配,如果cin>>书写格式错误,或者输出时写成cout>>格式,都会出现此错误信息1.6实用知识:常见的编译和运行错误
1.6.2常见的运行错误常见的运行错误包括变量数据类型错误、输入与输出格式错误、计算错误等。程序中适当增加额外的输出语句,逐步检查程序运行中变量值的变化,进而找到问题1.7练习与思考1)高级语言编写的程序相比机器语言编写的特点是_____。计算机能直接识别和执行执行速度快可读性好,语法更接近自然语言依赖于具体机器,移植性差ABCD提交可为此题添加文本、图片、公式等解析,且需将内容全部放在本区域内。正常使用需3.0以上版本高级语言去掉了与具体硬件环境有关的细节,语法比较接近自然语言,容易阅读和学习。一些高级语言增加了面向对象的特点,更易表达现实世界高级语言必须翻译成机器语言后才能被计算机执行答案解析单选题1分答案解析1.7练习与思考2)编写C或C++高级语言程序一般需要经过的步骤依次是_____。编译、连接、运行、编辑编辑、编译、连接、运行编辑、连接、编译、运行编译、编辑、运行、连接ABCD提交可为此题添加文本、图片、公式等解析,且需将内容全部放在本区域内。正常使用需3.0以上版本编辑并保存源程序(如C语言的文件扩展名是.c,C++语言是.cpp)编译:检查语法错误,若正确则翻译成目标文件连接:多个目标文件连接成一个可执行文件执行:执行可执行文件(.exe)答案解析单选题1分答案解析1.7练习与思考3)引用C++语言标准库函数,一般要用预处理命令将其头文件包含进来,写法是#_____。usingimportdefineincludeABCD提交可为此题添加文本、图片、公式等解析,且需将内容全部放在本区域内。正常使用需3.0以上版本以#开头的命令,编译时首先完成预处理,然后再进行语法检查C&C++语言有很多标准库,每个库文件的内部保存着一组相关的函数/类,完成一定的功能,如至少要包含实现输出功能的函数使用时要用预处理命令:#include的形式答案解析单选题1分答案解析1.7练习与思考4)计算机高级语言程序设计的三种基本结构是_____。。顺序结构、选择结构、循环结构 递归结构、循环结构、转移结构嵌套结构、递归结构、顺序结构循环结构、转移结构、顺序结构ABCD提交可为此题添加文本、图片、公式等解析,且需将内容全部放在本区域内。正常使用需3.0以上版本将功能划分为若干个基本模块(函数),每个函数功能相对独立,每个模块内部由顺序、选择、循环三种基本结构组成顺序结构是指按照解决问题的顺序书写语句,计算机逐条顺序执行选择结构又称分支结构,程序执行中根据条件判断的结果选择不同的处理流程循环结构是指通过指定次数或限定条件来控制执行过程,实现多次重复某个操作答案解析单选题1分答案解析1.7练习与思考5)模仿例1-1,写一个程序,输出以下结果:***********Hello***********作答正常使用主观题需2.0以上版本雨课堂可为此题添加文本、图片、公式等解析,且需将内容全部放在本区域内。正常使用需3.0以上版本分析:程序按顺序输出3行字符第一行是10个星号+回车第二行是1个星号+Hello+3个空格+回车第三行是10个星号+回车例1-1中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 楼地面质量通病防治手册
- 楼地面变形缝处理方案
- 2026年绿色建筑创新材料市场展望报告
- 北京市首师附2027届高一上物理期中达标测试试题含解析
- 2027届江西省宜春市丰城九中高二上物理期中统考试题含解析
- 2027届浙江省宁波诺丁汉大学附中物理高一上期中教学质量检测试题含解析
- 高一劳动技术教学设计:基于花色多样性的蓍草栽培管理与创新应用
- 2025年河北省黄骅市小学一年级上册道德与法治期末考试真题带答案详解
- 2025年河北省黄骅市小学二年级下册道德与法治期末考试试卷及答案详解
- 2026氢能源技术路线比较与基础设施建设规划展望报告
- 初中语文九年级微专题教案:基于SOLO分层评价的文学类文本主旨探究教学设计
- 2026年建筑三类人员安全员c证考试题库及答案
- 2026年临床执业助理医师资格考试真题试卷含答案
- 2026电动重卡换电模式推广障碍与基础设施需求报告
- 心房颤动防治科普课件
- 2026年新教师备课说课评课指导课件
- 2026年秋季新教材沪教版小学数学四年级上册教学计划及进度表
- 2026年高职单招职业适应性测试试题题库(答案+解析)
- T∕CPIA 0156-2026 光伏行业成本核算模型通则
- 三角函数在音乐、艺术中的体现及其教学
- 腰椎间盘突出症的诊治和预防
评论
0/150
提交评论