菜单栏 编译工标准工具栏 工作区窗口 输出窗口 源程序
1 .菜单栏 2.标准工具栏 3.工作区窗口 4.源程序编辑窗口 5.编译工具栏 6.输出窗口
编辑、编译和运行程序:
可执行程序 目标程序 源程序 结果 编辑 编译 连接 运行 Hello.cpp Hello.obj Hello.exe 有错误 无错误
1. 编辑
编辑是将写好的C++源程序输入到计算机中,生成磁盘文件的过程。默认文件扩展名为*.cpp。 2. 编译
编辑好的源程序必须经过编译,,计算机才能执行,这些二进制代码称为目标代码。将这些目标代码以.obj为扩展名保存成目标程序文件。 3. 连接
编译后生成的目标代码还不能直接在计算机上运行,其主要原因是编译器对每个源程序文件分别进行编译,如果一个程序有多个源程序文件,编译后这些源程序文件还分布在不同的地方。因此,需要把它们连接在一起,生成可以在计算机上运行的可执行文件。 4. 运行
可执行文件可以在Windows环境下直接双击运行,也可以在Visual C++ 6.0的集成开发环境下运行。 在生成可执行文件之前,一定要改正编译和连接时出现的致命错误和警告错误,这样才能保证运行结果是正确的。
参照教材练习C++程序的上机实现过程。
利用Debug调试功能调试程序:
Visual C++ 6.0集成开发环境为我们提供了辅助调试工具,可以实现单步运行、设置断点、观察变量和表达式的值等功能,使我们可以跟踪程序的执行过程,观察不同时刻变量值的变化情况。所谓断点就是程序运行时的暂停点,程序运行到断点处便暂停,这样就可以通过观察断点处变量的值来了解程序的执行过程。
参照教材练习利用Debug调试程序的过程。
作业
教材P18-19所有习题。
第2章 C++程序设计基础
本章课时:
16课时
本章重点: 运算符与表达式 控制语句 本章难点: 控制语句 教学内容及目标:
了解:
1. 为什么会有三种基本的程序控制结构 2. C++的基本数据类型 理解:
1.程序控制结构的控制方式:顺序结构,选择结构,循环结构 2.C++的运算符、关键字、标识符和分隔符、常量和变量语法规则 3.转向语句的使用
4.表达式中数据类型的转换规则 掌握:
1.选择控制的使用:if语句,switch语句
2.循环控制结构的使用:while语句,do_while语句,for语句,循环的嵌套 3.判断表达式的使用
第一节 词法符号
标识符:
标识符是程序员为命名程序中的一些实体而定义的专用单词。常见的有函数名,类名、变量名、常量名、对象名等。C++语言中标识符的命名规则如下: ⑴标识符是由英文字母(包括大写和小写)、数字和下划线组成,并且以字母和下划线开始,例如:Abc、X1、_x1、desk都是合法的标识符,而2A是非法的。 ⑵标识符中大写和小写字母是有区别的。
⑶标识符的长度是任意的,但有的编译系统仅识别前32个字符。 ⑷标识符不能和C++语言的关键字同名。
关键字:
关键字是一种有特殊用途的词法符号,是C++系统预定义的保留字,不能再用作其他用途。下面列举一些C++语言中常用的关键字: auto break bool case char catch class Const continue default delete do double else Enum explicit export extern false float for
friend goto if inline int long new Mutable name space operator private protected public register return short signed sizeof Static atruct switch this typedef true union unsigned typename void using virtual volatile while static_cast 运算符:
运算符是C++语言实现各种运算的符号,如+、-、*、/ 等。运算符根据操作对象个数的不同,可以分为单目运算符、双目运算符和三目运算符。
单目运算符又称一元运算符,它只对一个操作数进行操作。例如,求负运算符-、逻辑求反运算符!等。
双目运算符又称二元运算符,它可以对两个操作数进行操作。例如,加法运算符+、乘法运算符*等。
三目运算符又称三元运算符,它可以对三个操作数进行操作。C++语言中只有一个三目运算符,就是条件运算符? :。 分隔符:
分隔符又称标点符号,是用来分隔单词或程序正文的,它可以表示某个程序实体的结束和另一个程序实体的开始。在C++语言中,常用的分隔符有以下几个: ⑴空格符:常用来作为单词与单词之间的分隔符。
⑵逗号:用来作为多个变量之间的分隔符,或用来作为函数多个参数之间的分隔符。
⑶分号:用来作为for循环语句中for关键字后面括号中三个表达式的分隔符,或用作语句结束的标志。
⑷冒号:用来作为语句标号与语句之间的分隔符,或switch语句中关键字case<整型常量>与语句序列之间的分隔符。
第二节 基本数据类型
C++语言的数据类型是十分丰富的,大致可分为基本数据类型和非基本数据类型。基本数据类型包括整型、字符型、浮点型和布尔型。非基本数据类型主要包括数组类型、结构体类型、共用体类型、指针类型和空类型等,如图2-1所示。
数据类型决定了数据在内存中所占的空间大小,也确定了其表示范围。各种基本数据类型的长度和取值范围见表2-1。 基本整型(int)
整 型 短整型(short)
长整型(long)
字符型 基本数据类型 单精度型(float) 浮点型 双精度型(double) 布尔型(bool) 数据类型 构造数据类型 数组类型 结构体类型 共用体类型
第三节 常量与变量
常量:
1.整型常量
整型常量即整型常数,可以用十进制、八进制和十六进制3种形式来表示。 ⑴十进制整型常量不能以0开始。例如,234、-67为合法的十进制整型常量。 ⑵八进制整型常量以0为前缀。例如,0134、-076为合法的八进制整型常量。 ⑶十六进制整型常量以0X或0x为前缀。例如,0x2F、0xA3B4为合法的十六进制整型常量。 注意:整型常量中的长整型用L或l作后缀表示。例如,324L、076L等;整型常量中的无符号型用U或u作后缀表示。例如,431U、0x34DU等。 2.浮点型常量
浮点型常量又称实型常量,是由整数部分和小数部分组成的,只能用十进制表示。浮点型常量有两种表示方法:小数表示法和科学计数法。
⑴小数表示法:是由符号、数字和小数点组成。例如,9.55、.25等。 ⑵科学计数法:是用指数形式来表示浮点型常量,即在小数表示法后 面加上E或e表示指数。例如,3.2E-5,7e10,-34.5e2等。 3.字符常量
C++中有两种字符常量,即一般字符常量和转义字符常量。
⑴一般字符常量:一对单引号括起来的一个字符,其值为ASCII码值。例如,'a'、'A'、'$'、'5'等都是合法的字符常量。
⑵转义字符
转义字符是一个以“\\”开头的特定字符,表示其后的字符具有特殊意义。例如,‘\\n’中的n不是代表字符n,而是代表回车换行的意思。常用的转义字符见表2-2。 字符形式 ASCII码值 \\0 \\a \\b \\t \\f \\n \\v 0x00 0x07 0x08 0x09 0x0c 0x0a 0x0b NULL 响铃 退格(Backspace键) 水平制表(Tab键) 走纸换页 回车换行 垂直制表 功能 \\r \\\\ \\' \\'' \\? \\ddd \\xhh 0x0d 0x5c 0x27 0x22 0x3f 0ddd 0xhh 回车(不换行) 字符“\\” 单引号 双引号 问号 1~3位八进制数所代表的字符 1~2位十六进制数所代表的字符
表2-2 C++中常用的转义字符 4.字符串常量
字符串常量是用一对双引号括起来的字符序列。例如,\、\、\等都是字符串常量。这些字符在内存中连续存储,并在最后加上字符'\\0'作为字符串结束的标志。
例如,字符串“HELLO”在内存中占连续6个内存单元,存放示意图如图2-2所示。
H E L L O \\0
图2-2 字符串\在内存中的存放示意图
字符常量是用单引号括起来的一个字符。它在内存中只占一个字节。所以,\和'x'是不同的。
注意:不能将一个字符串常量赋给字符常量。例如,语句char c=\是错误的。 5.逻辑常量
在C++程序设计中经常会用到两个逻辑值(也称布尔值)0和1,逻辑值“0”代表“假”、“不成立”、“false”等,逻辑值“1”代表“真”、“成立”、“true”等。
6.符号常量
在C++中,可以用一个标识符来表示一个常数,这个标识符就是符号常量。使用符号常量可以增加程序的可读性和可维护性。C++语言提供了两种定义符号常量的方法: ⑴用const语句定义符号常量
一般格式为:const 数据类型 符号常量=表达式; 例如:const double pi = 3.1415926; 注意:在定义符号常量时必须进行初始化 ⑵ 用#define语句定义符号常量
#define是预处理指令,缺点是不能显示声明常量的类型。其一般格 式为:#define 常量名 常量值 例如:#define pi 3.1415926 变量:
变量是指在程序运行过程中其值可以改变的量。C++语言中使用变量前,必须先对它的数据类型进行说明,以便编译程序为变量分配存储空间。 1.变量的命名
变量的命名要遵循C++语言中标识符的命名规定 2.变量的定义
变量定义的一般格式为:数据类型 变量1,变量2,??;