博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Visual C++ 2008入门经典 第二章 数据 变量和计算
阅读量:5364 次
发布时间:2019-06-15

本文共 4072 字,大约阅读时间需要 13 分钟。

/*第二章 数据 变量和计算2.1 C++程序结构    2.1.1 程序注释	2.1.2 #include 指令---头文件	2.1.3 命名空间和using声明	2.1.4 main()函数	2.1.5 程序语句	2.1.6 空白	2.1.7 语句块	2.1.8 自动生成的控制台程序2.2 定义变量    2.2.1 命名变量	2.2.2 声明变量	2.2.3 变量的初始值	//变量写入初值还有另外一种方法,称作函数表示法,	//int val(0);	//int count(10);2.3 基本数据类型   //其基本的类型分为3类,即存储整数的类型,存储非整数值的类型--它们称为浮点类型,以及指定空的值集或者不指定任何类型的void类型   2.3.1 整型变量	   short feetPerPerson=2;	   short int feetPerPerson=2;	   表示是一样的,short是短整型变量,二个字节	   long bigNumber(1000000L); 长整型变量,四个字节      2.3.2 字符数据类型       可以存储在char型变量中的整数的值域是从-128~127 一个字节长度	   wchar_t宽字符类型 值域为0~65535      2.3.3 整型修饰符       默认情况下,char int short或long将存储有符号的整数值 signed	   unsigned 无符号说明,无符号数不能表示负数,最小表示数为0,但他表示的整数比有符号的要多一位      2.3.4  布尔类型       //注意: TRUE和FALSE 写成大写字母,不是C++中的关键字,它们只是在MFC内部定义的符号,还要注意,TRUE和FALSE不是合法的bool值	   //所以不能混淆true和TRUE      2.3.5 浮点类型       double in_to_mm = 25.4; 8个字节位置	   float pi = 3.14159f; 占用4个字符位置	   ISO/ANSI C++中的基本类型	   bool            1    trua或者false	   char            1    -128~+127	   signed char     1    -128~+127	   unsigned char   1    0~255	   wchar_t         2    0-65525	   short           2    -32768~+32768	   unsigned short  2    0~65525	   int             4    -2147483648~+2147483648	   usinged int     4    0~4294967295	   long            4    -2147483648~+2147483648	   unsigned long   4    0~4294967295	   float           4 	   double          8	   long double     8      2.3.6 字面值   2.3.7 定义数据类型的同义词   typedef关键字能够使您为现有的类型定义自己的类型名称   typedef long int BigOnes;   BigOnes mynum = 100;   2.3.8 具有特定值集的变量   有时需要一些具有一个有限的可能值集的变量,标记有效地引用这些值,C++中有一种处理这种情况的工具,称之为枚举   enum Week{Mon, Tues, Wed, Thurs, Fri, Sta, Sun} thisWeek;   日期的每个名称都被定义表示一个固定的整数值,这个表中的第一个名称Mon具有值0,Tues是1,依此类推   thisWeek = Week::Tues;   这样thisWeek的值为1   也可以这样编写下列语句   enum Week{Mon=1, Tues, Wed, Thurs, Fri, Sta, Sun} thisWeek;   那么上面的thisWeek的值就为22.4 基本的输入/输出操作   2.4.1 从键盘输入   2.4.2 到命令行的输出   2.4.3 格式化输出   2.4.4 转义序列   转义序列     作用   \a           发出蜂鸣声   \n           换行   \'           单引号   \\           反斜杠   \b           退格   \t           制表符   \"           双引号   \?           问号2.5 C++中的计算   2.5.1 赋值语句   了解lvalue和rvalue   lvalue是一种涉及内存地址的变量,之所以这样称呼它,是因为所有产生lvalue的表达式都可以出现在赋值语句中等号的左边。大多数变量都lvalue,因为它们指定内存中的一个位置,但是,由于一些变量的值已经被定义为常量,所以它们不是lvaue   2.5.2 算术运算	   1 const修饰符	   2 常量表达式	   3 程序输入	   4 计算结果	   5 显示结果      2.5.3 计算余数 %   2.5.4 修改变量   2.5.5 增量和减量运算符   2.5.6 计算的顺序2.6 变量类型和类型强制转换   2.6.2 赋值语句中的类型强制转换   int num = 0;   float decimal = 2.5f;   number = decimal;   注意变量2.5f末尾的字母亲f,它告诉编译器这个常量是单精度浮点型,如果没有f,默认的类型将是double,任何包含小数点的常量都是浮点型,如果不希望它成为双精度浮点型,那么就需要附加字母f,大写字母F具有相同的作用   2.6.3 显式类型强制转换   static_cast
(expression) dynamic_cast将对转换进行动态检查,也就是说,在执行程序时进行检查 const_cast用于删除表达式中的const属性 reinterpret_cast是一种无条件的强制转换 2.6.4 老式的类型强制转换 (要转换成的类型)表达式 strips_per_rool = (int)(rolllength/height); 2.6.5 按位运算符 & 按位与(AND) | 按位或(OR) ^ 按位异或(EOR) ~取反(NOT) >>右移 <
<左移 1 and运算符 2 or运算符 3 eor运算符 4 not运算符 5 移位运算符 向左移动n位相当于这个值和2相乖n次,换句话说,相当于以2n,类似地,向右移动n位相当于除以2n2.7 了解存储时间和作用域 变量的生存期和作用域是两个不同的概念,重要的是不要混淆两个概念, 生存期是执行过程中的一个期间,从创建这个变量时开始,到销毁这个变量并且释放共占用的内存空间结束 变量的作用域是可以在其中访问这个变量的程序代码区域 2.7.2 决定变量声明的位置 2.7.3 全局变量 2.7.4 静态变量 static int count; 如果在声明一个静态变量时没有给它提供初始值,那么程序将对它进行初始值 静态变量的默认初始值始终为02.8 命名空间 using namespace std; 2.8.1 声明命名空间 mystuff { .... } 2.8.2 多个命名空间 2.9 c++ cli编程 cli功能包括 在c++ cli程序中,前面讨论的所有iso ansi基本数据类型都可以使用,但是在某些上下文中,它们具有一些额外的属性 在控制台程序中,c++ cli对键盘输入和命令行输出提供了它自己的机制 cli引入了safe_cast运算符,确保类型强制转换操作能够了生成可检验的代码 cli提供了另外一种基于类的枚举功能,它的灵活性超过了前面所介绍的iso ansic++enum声明 2.9.1 cli特有的基本数据类型 long 8个字节 unsigned 基本类型 大小姐 cli值类 bool system::bollean char system::sbyte signed system::byte short system::int16 system::uint16 system::int32 system::uint32 8 system::int64 system::uint64 float system::signle double system::double duble wchat_t system::char 2.9.3 cli特有的功能--格式化输出 packagecount="25;" console::writeline(l"there are {0} packages.", packagecount) 格式说明符 c或c 把值作为货币输出 d或d 把整数作为十进制值输出,如果指定的精度大于位数,那么将在数字的左边填充0 e或e 按照科学记数法输出浮点值,即利用指数,精度值表示在小数点后输出的位数 f或f 把浮点值作为开式为+dddd.dd.....的定点输出 g或g 以最紧湊的形式输出值,这取决于值的类型和是否指定了精度,如果没有指定精度,那么将使用默认的精度 n或n 把值作为定点十进制值输出,必要时,将以每3位为一组用逗号分隔开 x或x 把整数为十六进制值输出,根据是否指定x或x,将输出十六进制数字的大写或小写形式 2.9.4 cli的键盘输入 console::read() console::readline(); console::readkey() string^ line="Console::ReadLine();" 类型名称string后面的字符^表示这是引用string类型对像的句柄, ch="Console::Read();" consolekeyinfo keypress="Console::ReadKey(true);" true导致按皱键不在命行上显示 2.9.5 使用safe_cast safe_cast 等于于static_cast 2.9.6 cli枚举 cli程序中的枚举和iso ansi c++程序有很大的不同,首先在c++ cli中定义一个枚举 enum class suit{clubs, diamonds, hearts, spades} suit suit="Suit::Clubs;" 指定枚举常量的类型 指定枚举常量的值 face : char{ ace="1," two,three, four, five, six, seven, eight, nine, ten, jack, queen, king}; 枚举常量运算 使用枚举器作为标识位* 练习题一: *#include
using std::cout;using std::endl;int main(){ int age; cout<<"请输入你的年龄:"<
>age; cout<
<
using std::cout;using std::endl;int main(){ int age; cout<<"请输入数值:"<
>age; int s = age / 8; int v = age - (s*8); cout<<"数值"<
<<"与8的正余数为:"<
<
using std::cout;using std::endl;int main(){ int s = (1 + 2) + (3 + 4); cout<<"s:"<
<
b) ? a : ((c> d) ? e : f);//6 cout<<"s:"<
<
using std::cout;using std::endl;int GreatestCommonDivisor ( int m, int n ){ //m1280 n:1028 int r; do { r = m % n; // 1280 % 1028 = 252 cout<<"r:"<
<
(width) / height; cout<<"aspect:"<
<
using std::cout;using std::endl;int main(){ unsigned s = 555; cout<<"sizeof(s):"<
<
> 4); // 34 cout<<"v:"<
<
> 4) & ~(~0<<3); cout<<"i:"<
<
using namespace std;int main(){ char packet[10]; //cout<<"packet[0]:"<
<
using std::cout;using std::endl;int main(){ unsigned s = 555; cout<<"sizeof(s):"<
<
>4):"<<(s>>4)<
>4)与后面的进行与操作 //值1: 0000 0000 0000 0000 0000 0000 0100 0010 //值2: 0000 0000 0000 0000 0000 0000 0000 0111 //值3: 0000 0000 0000 0000 0000 0000 0000 0010 return 0;}*/

  

转载于:https://www.cnblogs.com/xiangxiaodong/archive/2012/10/20/2732766.html

你可能感兴趣的文章
linux清空日志文件内容 (转)
查看>>
Ajax : load()
查看>>
MySQL-EXPLAIN执行计划Extra解释
查看>>
Linux自己安装redis扩展
查看>>
图片点击轮播(三)-----2017-04-05
查看>>
直播技术细节3
查看>>
《分布式服务架构:原理、设计于实战》总结
查看>>
java中new一个对象和对象=null有什么区别
查看>>
字母和数字键的键码值(keyCode)
查看>>
IE8调用window.open导出EXCEL文件题目
查看>>
01_1_准备ibatis环境
查看>>
JavaScript中的BOM和DOM
查看>>
360浏览器兼容模式 不能$.post (不是a 连接 onclick的问题!!)
查看>>
spring注入Properties
查看>>
jmeter(五)创建web测试计划
查看>>
1305: [CQOI2009]dance跳舞 - BZOJ
查看>>
将html代码中的大写标签转换成小写标签
查看>>
jmeter多线程组间的参数传递
查看>>
零散笔记
查看>>
信息浏览器从Android的浏览器中传递cookie数据到App中信息浏览器
查看>>