博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Part2 数据类型与流程控制
阅读量:5213 次
发布时间:2019-06-14

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

2.1第二章导论


 

2.2C++的特点和程序实例

C++的发展和起源:
  从C语言发展演变而来,最初被称为“带类的C”
  83年正式取名C++
  98年成ISO批准为国际标准
  03年第二版
  11年第三版C++11
  14年C++14,作为C++11的小扩展,主要提供漏洞修复和小改进

C++的特点:

  兼容C,支持面向过程
  支持面向对象
  支持泛型程序设计

//2-1.cpp#include
using namespace std;int main(){ cout<<"Hello!"<

 


 

2.3基本数据类型、常量、变量

字符串类型:
  有字符串常量,基本类型中没有字符串变量。
字符串变量的表示:
  采用字符数组存储字符串(C风格的字符串)
  标准C++类库中的string类(C++风格的字符串)

2.4算数运算与复制运算

2.5实验二:简单的程序设计(上)

 

 


2.6数据的输入和输出

I/O流:

  在C++中,将数据从一个对象到另一个对象的流动抽象为“流”。流在使用前要建立,使用后要被删除。
  数据的输入与输出是通过I/O流来实现的,cin和cout是预定义的流类对象。
预定义的插入和提取运算符:
  <<是预定义的插入符,作用在流类对象cout上变可以实现向标准输出设备输出。
  >>是预定义的提取符,从键盘提取数据放到相应的变量中。
常用I/O流类库的操纵符:
  endl 插入换行符,并刷新流
  ends 插入空字符
  setprecision(int) 设置浮点数的小数位数(包括小数点)
  setw(int) 设置域宽
  例:cout << setw(5) << setprecision(3) << 3.1415; (setw和setprecision要引入头文件iomanip)

 

2.7if语句

2.8switch语句

 


2.9循环结构

//2-6从键盘输入一个数,将其反转后输出#include
using namespace std;int main(){ int n, right_digit, newnum = 0; cout << "Enter the number:"; cin >> n; cout << "The number in reverse order is "; do{ right_digit = n % 10; cout << right_digit; n /= 10; }while(n != 0); cout << endl; return 0;}//2-8输入一个整数,求出他的所有因子#include
using namespace std;int main(){ int n; cout << "Enter a positive integer:"; cin >> n; cout << "Number " << n << " Factors "; for(int k = 1; k <= n; k++) if(n%k == 0) cout << k << " "; cout << endl; return 0;}//2-10输入一系列整数,统计出正整数的个数i和负整数的个数j,读入0则结束#include
using namespace std;int main(){ int i = 0, j = 0, n; cout << "Enter some integers please(enter 0 to quit):" << endl; cin >> n; while(n != 0){ if(n > 0) i += 1; if(n < 0) j += 1; cin >> n; } cout << "Count of positive integers: " << i << endl; cout << "Count of negative integers: " << j << endl; return 0;}

 


2.10自定义类型

类型别名:
1 typedef 已有类型名 新类型名表 (从C继承而来)
  typedef double Area, Volume;
  typedef int Natural;
  Natural i1,i2;
  Area a;
  Volume v;
2 using 新类型名 = 已有类型名
  using Area = double;
  using Volume = double;
枚举类型:
  定义方式:将全部可取值一一列出来
  (这种是不限定作用域的枚举类型,从C中继承来)

不限定作用域枚举类型说明:

  枚举元素是常量,不能对它们赋值
  枚举元素具有默认值,它们依次为: 0,1,2,......。
  枚举值可以进行关系运算。
  整数值不能直接赋给枚举变量,如需要将整数赋值给枚举变量,应进行强制类型转换。
  枚举值可以赋给整型变量。(因为枚举是整型的子集)

//2-11#include
using namespace std;enum GameResult {WIN, LOSE, TIE, CANCEL};int main(){ GameResult result; enum GameResult omit = CANCEL; //声明枚举可以不带enum关键字 for(int count = WIN; count <= CANCEL; count++){
//枚举值可以赋给整型变量.枚举值可以进行关系运算。 result = GameResult(count); //整数类型赋值给枚举类型要进行强制转换 if(result == omit) cout << "The game was cancelled" << endl; else{ cout << "The game was played "; if(result == WIN) cout << "and we won!"; if(result == LOSE) cout << "and we lost."; cout << endl; } } return 0;}

auto类型与decltype类型

auto:编译器通过初始值自动推断变量的类型
  例如:auto val = val1 + val2;
  如果val1+val2是int类型,则val是int类型;
  如果val1+val2是double类型,则val是double类型。
decltype:定义一个变量与某一表达式的类型相同,但并不用该表达式初始化变量
  例如:decltype(i) j = 2;//表示j以2为初始值,但是j的类型和i一样。

转载于:https://www.cnblogs.com/leosirius/p/7900844.html

你可能感兴趣的文章
structs2
查看>>
关于二分图的(权值)匹配问题
查看>>
【推荐】UI培训
查看>>
如何测试一个网页登陆界面
查看>>
JQUERY 筛选 函数详解
查看>>
文档对象模型DOM
查看>>
IP作业
查看>>
Spring Cloud Alibaba基础教程:Sentinel Dashboard中修改规则同步到Nacos
查看>>
Restframework的版本及分页
查看>>
认识tornado(三)
查看>>
在nginx上用FastCGI解析PHP
查看>>
几种不同程序语言的HMM工具包
查看>>
Bootstrap 3 网格系统
查看>>
JS高级----------------->原型最终指向了哪里
查看>>
Android
查看>>
pc端引入微信公众号文章
查看>>
IOS 第三方库之-MBProgressHUD的使用详解
查看>>
测试各种方法读取xlxs文件
查看>>
实验2-2-9 计算火车运行时间
查看>>
第四周作业2.2
查看>>