1、进制的概念 逢R进一
2、自然语言和程序设计语言的定义
人与人之间沟通所用的语言笼统称为自然语言 人用来指挥计算机的工具叫做程序设计语言
3、程序设计语言分类
机器
汇编
高级
翻译程序:
汇编程序 : 将汇编源程序转换为机器语言的程序
编译器: 把高级语言转换机器或者汇编语言的翻译程序
编写程序的要求
正确性
可读性
高效率
4、C++的由来与发展
1、1963年英国剑桥大学推出了CPL(Combined Programming Language)语言,后来经简化为BCPL语言。
2、1970年美国贝尔(Bell)实验室的K.Thompson以BCPL语言为基础,设计了一种类似于BCPL的语言,取其第一字母B,称为B语言。
3、1972年美国贝尔实验室的Dennis M.Ritchie为致力于开发UNIX操作系统,它希望有一种语言能将低级语言(汇编语言等)的效率、硬件访问能力和高级语言的通用性融合在一起,于是他在B语言的基础上开发了C语言。
4、C作为UNIX操作系统的开发语言而广为应用和流行。1989年制定为ANSI C标准。 ANSI C标准不仅仅定义了C语言,还定义了ANSI C实现必须支持的标准C库。最新标准C99。
5、和C语言一样,C++也是在贝尔实验室诞生的。Bjarne Stroustrup于20世纪80年代在这里开发出C++语言。用他自己的话来说:“C++主要是为了我的朋友和我不必要再使用汇编语言、C语言或其他现代高级语言来编程而设计的。它的主要功能是可以更方便地编写出好程序,让每个程序员更加快乐” 。
6、C++改进了C的不足之处,支持面向对象的程序设计,同时保持了C的简洁性和高效性。
美国国家标准局在1990年设立了一个委员会(ANSI X3J16),专门负责制定C++标准。
(1)1998年发布了C++标准第一版(ISO/IEC 14882:1998),该标准添加了:异常、运行阶段类型识别(RTTI)、模板和标准模板库。
(2)2003年发布了C++标准第二版(ISO/IEC 14882:2003),对第一版作了修订。版本称为C++03, C++03 中修复的缺陷报告(核心 92 个,库 125 个)
(3)2011年发布新标准,版本称为C++11 ( ISO/IEC 14882:2011 ),引入大量更改, C++11 中修复的缺陷报告(核心 741 个,库 685 个)。
(4)2014年发布新标准,版本称为C++14( ISO/IEC 14882:2014 ),C++ 标准的次要版本, C++14 中修复的缺陷报告(核心 276 个,库 149 个)。
(5)2017年发布新标准,版本称为C++17( ISO/IEC 14882:2017 ), C++17 中修复的缺陷报告(核心 ? 个,库 281 个)
(6)2020年发布了新标准,版本称为C++20.https://zhuanlan.zhihu.com/p/137646370
5、C语言的特点
C语言优点:(1)语言简洁、紧凑,使用方便、灵活。(2)运算符和数据类型丰富。(3)访问内存地址、寄存器、进行位操作,具有汇编语言的功能。(4)生成的目标代码质量高、程序运行效率高。
C语言的局限性:(1)对类型的检查机制相对较弱、程序中的一些错误不能在编译时发现;(2)无支持代码重用的语言结构;(3)当程序规模达到一定的程度时,难以控制程序的复杂性;
(1)C++是C的扩展,C是C++的子集,C++ 包括C的全部特征、属性和优点。同时,增加了对面向对象编程的完全支持。(2)与C 一致, C++程序结构采用函数驱动机制实现。(3)C++实现了类的封装,数据隐藏、继承及多态,使其代码可重用并容易维护。(4)C++是一门高效的语言,既可进行过程化程序设计,又可进行面向对象程序设计。
6、C语言的基本组成
C语言中 注释用// 或者/* ……*/(多行)
预处理命令 #include <iostream>
主程序
int main()
{
std::cout << “hello everyone” << std::endl; return 0;
}
编译预处理
C++的编译分成两个阶段:预编译和编译 预编译处理程序中的预编译命令,即那些以#开头的指令 编译预处理主要有:
库包含:用#include实现,表示程序使用了某个库
宏定义 :用#define实现。宏包括不带参数的宏和带参数的宏。不带参数的宏通常用来定义符号常量。带参数的宏用来定义一些较为复杂的操作。
库包含的格式
库是预先做好的一些工具程序。
每个库要提供一个接口,告诉库的用户如何使用库提供的功能。
库包含就是把库的接口文件放入源文件,以便编译器检查程序中对库的调用是否正确。
库包含格式:#include <filename>:包含了一个系统库 #include “filename”:包含了一个用户自定义的库
主程序
主程序由一个或多个函数组成每个程序都必须有一个名为main的函数,它是程序的入口。
输出流对象std::cout
“流”指的是设备之间传递的数据流输出流是传给输出设备的数据流cout代表显示器格式将hello显示在屏幕上:std::cout << “hello”std::cout << “hello, everyone” << std::endlstd::endl表示换行
名字空间
在大型的程序时,每个源文件可能由不同的开发者开发。不同的源文件中可能有同样的名字。
当这些源文件连接起来形成一个可执行文件时,就会造成重名。名字空间是把一组程序实体组合在一起,构成的一个作用域。
一个名字空间中不能有重名,不同的名字空间中可以定义相同的实体名。当引用某个实体时,需要加上名字空间的限定 程序中的std是C++中所有标准库的名字空间名。
使用名字空间的指令
格式: using namespace 名字空间名;一旦用了使用名字空间的指令,该名字空间中的所有的实体在引用时就不需要再加名字空间的限定了。 第一个程序可以改写为:
// file: hello.cpp
// This program prints the message “Hello world.”
// On the screen
#include <iostream>
using namespace std;
int main()
{
cout << “Hello world.” << endl; return 0;
}
这里就不用反复再输入std了
程序的组成
变量定义:C++中的变量在使用前都必须被定义。变量定义严格指出变量中可以存放的数据类型。
输入阶段 :获取执行时才能确定的用户数据。输入过程一般包括两步 :显示提示信息 读取数据
计算阶段 :由输入推导出输出的过程。通常通过各种计算得到。
输出阶段:显示程序执行的结果
让我们上机练习把