2-2(1)基本数据类型和表达式
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.1
- [高中教育]中班美术活动——我的小手
- [高中教育]常用三极管参数大全
- [高中教育]计算机常见故障及解决办法
- [高中教育]风机基础环水平度控制方法探讨
- [高中教育]机械安全工程(专升本)阶段性作业3
- [高中教育]2009年安徽省高考语文考试说明刍议
- [高中教育]unit5 let's eat公开课教案设
- [高中教育]计算机网络原理课后习题答案
- [高中教育]2016-2022年中国新能源市场研究与投资
- [高中教育]2015-2020年中国会议行业市场评估及投
- [高中教育]经销商大会峰会主持人串词开场白
- [高中教育]2014新版北师大数学三年级上册小熊购物
- [高中教育]七年级第一学期体育与健康全套教案
- [高中教育]第三章:国际金融市场
- [高中教育]六年级下册数学单元测试-2.比例 北师大
- [高中教育]2016年上海海事大学法学院624刑法之《
- [高中教育]中国碳化钙产业竞争现状及未来五年投资
- [高中教育]网络时代,我们怎么玩
- [高中教育]圆锥曲线——高中数学基础知识与典型例
- 高集医院世界艾滋病宣传日活动方案
- 苏教版六年级英语上册期末试卷含答案
- 全民枪战生化英雄模式幽灵怎么玩 生化
- 灿烂的宋元文化一导学案
- 第2章货币资金与应收款项
- 北师大版八年级下册数学第三章《分式》
- 浅析高分子材料成型加工技术
- 华南理工大学2013年度共青团先进集体及
- 教师资格科目二小学教案模板(共合集)
- 工程扩建可研报告
- 中华人民共和国海事局2014年度招录公务
- 提高农村小学生作文能力的教学尝试
- 徒手心肺复苏术操作步骤
- 毛概试题库7-15章
- 2014-2015学年度(上)初中班主任工作计
- 企业驾驶员安全生产责任书
- 第07章 不等式测试题-2016年高考文科数
- 医疗器械经营企业工作程序
- 考研英语必背36篇_彩版_精华
- 初中9月13-15假期作业 (1)




