0
点赞
收藏
分享

微信扫一扫

C++第二章简单程序设计

例2-1

一、hello world认识C++

#include <iostream >

using namespace std;

int main()

{

cout << "hello!\n";

cout << "Welcome to c++!\n";

return 0;


}


1.cout 表示将XX输出到显示屏上,是C++自带的库函数之一

2.<<表示嵌入的内容,""内的东西直接输出文本而不运行,endl=\n使输出的东西换行,用;结束一段代码

3.int main(){XXX;

;

return 0;}表示主函数,C++中每个程序都必须有主函数,其中可以包含其他函数。简单函数中()常为空,后面学完可以调用其他指针;{}表示函数内容;int表示函数类型(整数类型)。函数必须要有计算结果,所以用return 0表示其返回的函数值。

二、I/O流

1.C++中将数据从一个对象到另一个对象的流动抽象为“流”,流在使用前要创建,使用后要删除。提取操作:从流中获取数据,插入操作:向流中添加数据。数据的输入输出通过I/O流实现,cin与cout是C++中预定义的流类对象。cin是标准输入,即键盘输入;cout是标准输出,即屏幕输出。

2.cout<<XXX<<xxx…;实现输出


int a,b;

cin>>a>>b;实现输入,二者都可同时用多个表达式

三、C++可用字符集

1.大小写英文字母

2.数字字符

3.特殊字符:

四、词法记号

• 关键字 C++预定义的单词,如int,if,return

• 标识符 程序员声明的符号,如a,b

• 文字 程序中直接使用符号表示的数据

• 操作符 实现各种运输所使用的符号,如<< >>

• 分隔符 {} , : ; ()

• 空白符 空格,制表符(TAB键产生的字符),垂直制表符,换行符,回车符和注释

标识符的构成规则:

• 以大小写字母或下划线开始

• 后跟大小写、下划线、数字

• 大小写敏感

• 不能是C++关键字或操作符

五、基本数据类型

1.C++能够处理的基本数据类型

• 整数

○ 基本的整数类型 in

○ 符号 signed 和无符号 unsigned(不分正负)

○ 数值范围 短整数short长整数long长长整数long long

○ Char 字符型

文字常量表示方法: 十进制 0-9

八进制 0+0-7

十六进制 0x+0-9/A-F

后缀 u LL S L

• 浮点数(实数)

○ 单精度 float

○ 双精度 double

○ 扩展精度 long double

文字常量表示方法: 一般形式 如12.5  -12.5

指数形式 如0.345E+2表示0.345乘以10的2次方,-34.4E-3表示-34.4乘以10的-3次方

浮点常量默认为double型,后缀为f可使其为float型,如12.3f

• 字符 表示汉字等

• 布尔 表示逻辑真假

字符和布尔都是非数值类型

2.程序中的数据

• 常量 源程序中直接写明的数据,值在整个程序中都不改变

• 变量 运行过程中可以改变的量

变量的定义:数据类型 变量名1;变量名2;…

同时还可以初始化变量,如int a=0;

int a(0);

int a={0};

使用{}的初始化方式称为列表初始化,不允许信息丢失.

C++基本数据类型没有字符串类型,只有字符类型,字符串必须用string类

• 符号常量

3.sizeof运算符

• 语法形式 sizeof(类型名)或sizeof 表达式

• 结果值 类型名所指定类型\表达式的结果类型所占字节数

• 例如 sizeof(short) sizeof x

4.auto类型与decltype类型

• auto让编译器通过初始值自动推断变量的类型

例如:auto val = val1+val2;

val的类型取决于表达式val1+val2的类型

• decltype让一个变量与某一表达式类型相同,但不用该表达式初始化这个变量

例如:decltype(i)j = 2; //表示j以2为初始值,类型与i一致

5.符号常量------由const修饰的对象(略)

六、算术运算符与算术表达式

1.基本运算符

+ - * /(只取商整数)

%(只取余数得到整数)

2.优先级与结合性

先乘除后加减,同级自左向右

3.自增自减

i++;--j;(前置自增自减和后置~,此处不讨论差别)功能是让自己的值加一或减一

七、赋值运算符和赋值表达式

“=”表示赋值

例如:n=n+5(就是高中程序框图)

八、逗号运算符和逗号表达式

1.格式 表达式1,表达式2,···

2.求解顺序和结果 依次求解表达式,最终结果为表达式n

3.例:a= 35,a4; return a;得到a=60

九、关系运算符与关系表达式

1.关系表达式是一种简单的逻辑运算,优先顺序为:

<    <=   >   >= 高优先级,优先级相同

==   != 低优先级,优先级相同

2.输出结果只能为true or false

十、逻辑运算符与逻辑表达式

1.运算符

!(非)  &&(与)    ||(或)

高优先 ----------低优先

2.表达式

如(a>b)&&(x>y),结果只能为true or false

3.与和或的短路特性

例如:表达式1&&表达式2.先求解1,若1为false,直接输出,不再求解2;若1为true,则求解2,以2的结果为最终结果.注意该特性可能导致2中变量数值不如预期般改变!

十一、条件运算符与条件表达式(推荐使用:if else、do while代替)

例如:x=a>b?a:b;运算a>b,若true,则x=a;若false,则x=b

优先级:赋值运算符<条件运算符<逻辑运算符

十二、位运算---将两个运算量的每一字节进行“与;或;异或;取反;移位"操作(略)

十三、混合运算时数值类型转换原则

1.非布尔变布尔:0变为false,其他全为true

2.布尔变非布尔:false变0,true变1

3.浮点数变整数,只保留整数部分,丢失小数部分

4.整数变浮点数,小数部分记作0(若整数超过存储空间,会有精度损失)

5.转换方式---显式转换和隐式转换

显式转换可以理解为强制转换,更安全,也利于后续代码阅读

• 语法:类型说明符(表达式)or(类型说明符)表达式or类型转换操作符<类型说明符>(表达式)

• 类型转换操作符例如:const_cast  dynamic_cast  static_cast

• 例如:(三种方式完全等价)int(z),(int)z,static_cast<int>(z)

举报

相关推荐

0 条评论