📄 c++2.dat
字号:
就比
if(today == 6)
nextday = 0;
清楚多了;另一个重要的原因是:它限制了变量取值的范围,如现在today只能取sun~sat中的值.
注意:enum在 C++和C中使用的不同.下面的C语言语句定义了名为day的变量:
enum Days { Monday, Tuesday, Wednesday, Thursday, Friday };
enum Days day;
在C++中,定义为:
enum Days { Monday, Tuesday, Wednesday, Thursday, Friday };
Days day;
C++中定义了枚举类型数据后,程序可以把它当作一种类型使用,不需在类型名Days前加enum关键字.
5.用户自定义数据类型
在C++中可以用typedef定义新的类型名来代替已有的类型名.用typedef重新定义数据类型可以提高程序的可靠性和可移植性.例如,下面的语句中用INTEGER来代表int类型:
typedef int INTEGER;
习惯上常把typedef定义的类型名用大写字母表示,以便与系统提供的标准类型标识符相区别.
基于Windows的程序还使用很多在Windows头文件中定义的结构化的数据类型
数据类型 意义
BITMAP 独立于逻辑设备的位图
LOGBRUSH 逻辑刷
LOGFONT 逻辑字体
LOGPEN 逻辑笔
MSG 窗口消息
POINT 点
RECT 矩形
WNDCLASS 窗口类结构
第三节 变量
在程序执行过程中,值可变的量称为变量.每一个变量都有一个由程序员给出的变量名,以此来识别该变量;同时每一个变量又具有一个特定的数据类型.
在定义变量时,应给出该变量的数据类型和名字,还可以给这个变量赋一个初始值(不是必须这样做),系统在编译时就会分配给该变量一个存储空间.
一个变量名是由标识符表示的,可以由字母、数字和下划线组成,但必须以一个字母或下划线开始.在组成变量名的元素中,大小写字母含义是不同的,也就是说,在C++中是区分大小写字母的.
C++中有一套只供语言专用的单词集,称为保留字集.如预先定义好的类型标识符都是保留字.作为保留字的单词,不能再作为其它名字使用(如不能作为变量名、函数名等).C++中的保留字如表1-4所示.
表1-4 C++中的保留字
auto const enum if protected sizeof true volatile
bool continue explicit inline public static_cast typedef while
break default extern int try static typeid
case delete false long reinterpret_cast struct typename
catch do float mutable register switch union
char double for new return template unsigned
class dynamic-cast friend operator short this virtual
const_cast else goto private signed throw void
为了使不同的程序员设计的程序能够很好的交流,在基于Windows的程序中广泛采用匈牙利表示法来标识变量.匈牙利表示法用小写字母作为变量名的前缀,以说明变量的数据类型,其余部分描述该变量的意义与功能.
表1-5 常用匈牙利表示法前缀的类型及其说明
前缀 类型 说明
ch char 字符
b BOOL 布尔值
n(I) int 整数
w WORD 16位无符号数
l LONG 32位有符号数
dw DWORD 32位无符号数
lpsz LPTSTR 指向字符串的32位指针
h Handle 窗口对象句柄
第四节 常量及其定义
常量是指用以表达有固定数值或字符值的单词符号,在程序中不允许修改.
通过使用关键字const,将能使一个变量定义为一个常量.例如,下面的语句中定义了一个表示缓冲区大小的常量.
const int bufSize=1024;
上面这一语句将使bufSize被定义为一个符号常量并初始化为1024,如果在程序中试图改变bufSize的值,则将引起一个错误.由于一个const类型的量一经定义后就不能改变它的值,因此在定义时必须同时初始化.例如,下面的语句中定义了一个double类型的常量,但是没有在定义的同时初始化,这样就会产生错误.
const double PI; //这条语句将产生错误
在C++中,试图把一个符号常量的地下去赋给一个指针同样会使编译器产生编译错误.为解决这一问题,程序员可以定义一个指向常量的指针.例如:
const double *pc;
pc是一个指向const double型的对象的指针,但pc本身并不是一个常量.也就是说,pc可以指向任何一个double型的对象,但由pc所指向的对象不可以通过pc来改变其值.
例如,下面的语句中定义了一个指向常量的指针,通过该指针可以访问不同的常量,但是不能改变各个常量的值.
pc=&mbBalance; //正确
double d;
pc=&d; //正确
d=3.14; //正确
*pc=3.14; //正确
常量还可以分为整型常量、浮点型常量和字符型常量等.例如,对于整数20来说,可以用下面三种形式表示:
20 //十进制表示
024 //八进制表示法
0x14 //十六进制表示法
一个浮点常量可以用科学计数法或通常的十进制表示法来表示.在使用科学计数法时,指数部分以字母E或e开始.一个浮点常量可用字母F或f标识为float型.如:
3.1415926F 0.1f 0.0 3e1 1.0e-3 2.
在C++中,可被输出的字符常量用单引号括起来.例如:
'A' '2' ' '(空格符)
若想使用不可打印输出的字符、单引号、双引号和反斜线等字符时,可以使用转义字符列表示法.C++中的转义字符如表1-3所示.
表1-3 C++中的转义字符
字符形式 功能
\n 换行
\t 横向跳格(即跳到下一个输出区)
\v 竖向跳格
\b 退格
\r 回车
\f 走纸换页
\a 响铃
\\ 反斜杠字符
\' 单引号字符
\" 双引号字符
\? 问号
\ddd 1-3位八进制数所代表的字符
\xhh 1-2位十六进制数所代表的字符
一个字符串常量是一个字符数组.组成它的元素除了给出的字符序列外,还包括一个在结尾处的null字符.这个字符由编译器自动添加,用于标识一个字符串的终结.
第五节 输入与输出
C/C++语言本身并不带输入和输出(即I/O)功能,而是提供了输入输出库,也称为I/O库.通过I/O库,我们可以完成输入和输出的操作.大多数C程序使用一种称为stdio(标准I/O)的I/O库,该库也能够在C++中使用.但是,在C++程序中,一种称为iostream(I/O 流库)的I/O库用得更多.
在C++中,I/O使用了流的概念-字符(或字节)流.每一个I/O 设备传送和接收一系列的字节,称之为流.输入操作可以看成是字节从一个设备流入内存,而输出操作可以看成是字节从内存流出到一个设备.流是输入输出设备的另一个名字-一个文件、屏幕、键盘等.要使用C++标准的I/O流库的功能,必须包括两个头文件:
#include<iostream.h>
#include<iomanip.h>
iostream.h文件提供基本的输入输出功能,iomanip.h 文件提供格式化的功能.通过包含iostream流库,内存中就创建了一些用于处理输入和输出操作的对象.标准的输出流(通常是屏幕)称为cout,标准的输入流(通常是键盘)称为cin.
输出变量d的值到标准输出设备的语法形式如下:
cout << d;
注意:(<<)是双小于号,不是左移操作符,它是一种输出操作符,指出程序哪个流发送数据.
本语句表示传送d的值到标准的输出设备(由cout表示).理解这个语句的一种方法是调用了函数operator<<,d是函数参数(关于函数调用,在第五章学习).明确地说,为了输出d的值到cout,可以使用语句:
cout.operator<<(d);
由于"cout.operator<<(d);"写起来繁琐,我们更喜欢把它写成"cout << d;".
1 标准输出
输出内置的数据类型到标准的输出设备,用<<运算符和cout输出流.例如:
cout << d; // 输出d
cout << d << endl; // 输出d并换行
cout << "This is the value of d : " << d << endl; // 输出字符串、d并换行
一个语句中多次使用<<等价于<<单独使用多次,即最后一个语句等价于:
cout << "This is the value of d : " ;
cout << d;
cout << endl;
符号endl的功能是换行,并清除输出缓冲区.变量的值以缺省的格式打印,改变打印格式方法在后面介绍.
2 标准输入
标准输入的用法与标准输出类似,使用>>运算符和cin输入流.语句:
cin >> d;
是从标准输入读(或抽取)一个值到变量d,并与语句中的数据类型匹配.例如:如果d是整型数,上面的命令读数字,直至没有遇到数字为止;如果d是浮点数,该命令读数字、小数点、指数,直至没有遇到合适的字符为止.
假如把输入和输出语句结合在一起使用,可能会发生问题.我们编写程序时,常常先用一个输出语句打印提示,然后要求用户输入数据.对于一些C++编译器,在输入语句抽取数据前,应先输出一个换行符.例如2-9:
否则,可能达不到目的.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -