教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高中教育 >

2-2(1)基本数据类型和表达式

来源:网络收集 时间:2026-07-14
导读: C++课件,适合初学者。 2.2基本数据类型和表达式 综述:类型是所有程序的基

C++课件,适合初学者。

2.2基本数据类型和表达式

综述:类型是所有程序的基础。类型告诉我们数据代表什么意思以及可以对数据执行哪些操作。

C++中的数据类型分为两类:基本类型和自定义类型,基本类型是C++编译系统内置的,比如:字符型、整型、双精度型。C++还提供了可用于自定义数据类型的机制,标准库正是利用这些机制定义了许多更复杂实用的类型,比如可变长字符串string、vector等。

2.2.1基本数据类型

C++标准规定了基本数据类型的最小存储空间(表2-1),但它并不阻止编译器使用更大的存储空间。

表2-1 C++基本数据类型

C++还定义了一种称为void的特殊类型。void类型没有对应的值,通常用作无返回值函数的返回类型。 注意:不同编译器实际分配空间不同,对于数值类型数据,推荐使用int类型和double类型。 练习1:使用sizeof操作符测试自己所用编译器对C++基本类型存储空间分配情况。

sizeof操作符的作用是返回一个对象或类型名的长度(单位为字节),语法格式:

sizeof(类型名或变量名);sizeof 变量名

exa2-3:

#include<iostream> //using namespace std; int main() { using std::cout; using std::endl; //使用名字空间的另一种方式 int m=12;

cout<<"the size of an int is:"<<sizeof(int)<<endl; cout<<"the size of an short is:"<<sizeof(short)<<endl; cout<<"the size of an long is:"<<sizeof(long)<<endl; cout<<"the size of an char is:"<<sizeof(char)<<endl; cout<<"the size of an float is:"<<sizeof(float)<<endl; cout<<"the size of an double is:"<<sizeof(double)<<endl; cout<<"the size of an bool is:"<<sizeof(bool)<<endl; cout<<sizeof m<<endl; //测试变量m所分配存储空间 cout<<sizeof(m)<<endl; system("pause"); return 0; }

小结命名空间的三种使用方式:(1)using namespace std; (2)using 命名空间名::对象名,比如using std::cout;(3)

C++课件,适合初学者。

形如std::cout<<“the sum is:”<<std::endl;

练习2:编写简单的小程序,理解命名空间的三种使用方式。

2.2.2常量(字面常量)和符号常量

C++有两种常量:字面常量与符号常量。直接显式地使用的值称为常量,也称字面常量。称之为字面是因为只能用它的值称呼它,称之为常量是因为它的值不能修改。符号常量指用名字表示的常量,就像表示一个变量一样。但与变量不同的是,常量一旦被初始化,其值就不能改变。例如: #include<iostream> using namespace std; int main() { const double pi=3.14159; //定义了一个名为pi的符号常量,且初始化值为3.14159 double r,s=0;

// pi=3.1416; 错,符号常量的值一旦初始化,就不能再改变 cout<<"please input r:"; //"please input r:"为字符串常量,用一对双引号将字符序列括起来 cin>>r; s=pi*r*r; //通过符号常量名pi代替常量3.14159,利于程序修改,可读性强 cout<<s<<endl; return 0; }

1. 整型常量

可以使用三种进制形式:十进制(默认)、八进制(以数字0开头的常量)和十六进制(以0x或0X开头)。 Eax2-4:

#include<iostream> using namespace std; int main() { int m=12; //12为十进制常数,系统默认 int k=012; //12为八进制常数 int n=0x12; //12为十六进制常数 cout<<"m="<<m<<endl; cout<<"k="<<k<<endl; cout<<"n="<<n<<endl; system("pause"); return 0; }

默认情况下,cout以十进制格式显示整数(系统自动进行进制转换),而不管这些整数在程序中是如何书写的,程序运行结果如下:

m=12 (12的十进制形式)

k=10 (八进制12的十进制形式) n=18 (十六进制12的十进制形式)

但是,可以使用控制符dec、hex和oct以指定进制格式显示整数。 Exa2-5:修改exa2-4 #include<iostream> using namespace std; int main() { int m=12; //12为十进制常数,系统默认

C++课件,适合初学者。

int k=012; //12为八进制常数 int n=0x12; //12为十六进制常数 cout<<"m="<<m<<endl; cout<<"k="<<oct<<k<<endl; //以八进制形式输出 cout<<"n="<<hex<<n<<endl; //以十六进制形式输出

cout<<12<<endl; //仍以十六进制形式输出十进制数12 cout<<dec; //恢复默认的十进制输出形式 system("pause"); return 0; }

也可以用后缀字母L(或l,但不提倡使用小写l,容易和数值1混淆)表示长整型;后缀字母U(或u)表示无符号型。

思考:能否以八进制或十六进制输入?

练习3:练习十进制、八进制和十六进制形式的输入和输出。

2. 实型常量

两种形式:一般形式和指数形式。 一般形式:例如12.5

2

指数形式:例如,0.345E+2表示0.345×10 注意:指数形式中不能出现空格;字母E可大写也可小写。 实型常量默认为double类型。 3. 字符常量

字符常量是单引号括起来的一个字符,比如’a’,占一个字节内存,两种:一般字符和特殊字符。

特殊字符:两种情况。其一为非打印字符,不可显示,不能直接通过键盘输入到程序中,比如响铃、换行等,其二本身有特殊含义的字符,比如单引号,C++通过特殊的表示方法——转义序列来解决。(见P26表2-2) Exa2-6:转义序列(程序使用振铃字符来提请注意,使用换行符使光标前进,使用退格字符使光标向左退一格)

#include<iostream> using namespace std; int main() { cout<<"\aOperation \"HyperHype\" is now activated!\n"; cout<<"Enter your agent code:____\b\b\b\b"; int code; cin>>code; cout<<"\aYou entered "<<code<<"...\n"; cout<<"\aCode verified! Proceed with Plan z3!\n"; return 0; }

提示:在可以使用数字转义序列或符号转义序列(如\07和\a)时,应使用符号序列。数字表示与特定的编码方式(如ASCⅡ码)相关,而符号表示适用于任何编码方式,其可读性也更强。 练习4:调试、修改Exa2-6,理解转义序列。

4. 字符串常量

用双引号括起来的字符序列。注意与字符常量的区别。 (1) 定界符不同; (2) 字符数不同;

(3) 存储方式不同,比如’a’分配一个字节,”a”含两个字符,字母a和结尾标记字符\0,分配两个字节。 5. 布尔常量

两个:true(真)和false(假)。

…… 此处隐藏:2818字,全部文档内容请下载后查看。喜欢就下载吧 ……
2-2(1)基本数据类型和表达式.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1732416.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)