|
开班前言:
学好数据结构与算法的方法:读-仿-默-练-用
学好数据结构与算法的建议:学一个整体全局的观念,即线性结构、树状结构、几何结构、图状结构分别是解决什么问题的!以及每一种解决方案的特点以及使用场合。
1.编程入门
(1)Hello World!
C++语言是一门面向对象的语言,可维护性好,易于代码的复用,适合大型软件工程项目的设计。C++是从C语言发展演变而来的。C语言在程序设计时,它更强调需要执行的具体操作。面对更复杂的任务,会根据自顶向下的设计原则,对复杂任务进行拆分。
举例:打印hello, world!
//导入系统输入输出头文件 iostream
#include <iostream>
//使用标准命名空间 std,命名空间(namespace)是C++中的一项特性,便于管理重复命名的功能模块
using namespace std;
int main() {
//将 Hello, World! 打印在屏幕上,并且进行换行
cout << &#34;Hello, World!&#34; << endl;
return 0;
}
代码分为3个部分
- 编译预处理:所有#开头的代码,预处理指令include意思是找到后面跟随的头文件,并且加载文件内容到程序中
编写完源程序,在执行编译之前,编译器会首先调用预处理器,找到所有以#开头的代码进行处理。头文件是预先制造好的工具库。这里感觉就像是python中的第一步先及进行导入工具包。
- 使用using声明命名空间namespace
- 程序中的主函数main:主函数里面的内容就是程序主体;
- return语句代表了函数将会返回的内容
- 当主函数返回一个0时,说明程序正常运行结束
- 返回其他非0的数值会造成系统认为程序异常退出
问题:
1.为什么说C++是一门面向对象的语言呢?
2.装入变量中的数据本身不能再装入新的数据。感觉这句话说的有问题吧?数据本身不能再装入新的数据?数据本省就不能被修改被赋值,本来数据本身就不能装入新的数据呀?
(2)变量
变量是指会随着程序运算而改变的量。维护这些变量会用到计算机的存储功能。计算机的存储功能会使用内存实现。使用变量的过程中,需要注意变量的声明、变量的命名规则、变量的初始化、变量的输出。
举例:
//导入系统输入输出头文件 iostream
#include <iostream>
// 使用标准命名空间 std
using namespace std;
int main() {
// 声明可乐数量变量 coke
int coke;
// 声明爆米花数量变量 popcorn
int popcorn;
// 声明消费总额变量 money,并且初始化数值为 0
int money = 0;
// 将初始化好的消费总额打印在屏幕上,并且进行换行
cout << money << endl;
return 0;
}
(3)常量
常量是指不会随着程序运行而改变的量,分为两种:字面量和符号常量
字面量:存放在变量中的数据,把字面量装到变量中使用的操作叫赋值,字面量分为整数字面量、浮点字面量、字符自变量、字符串自变量
符号常量:随着程序运算不改变的量,赋予名称之后,有一个特定的名字,叫做符号常量,可以使用const关键字来定义并且初始化:const 数据类型 常量名称 = 初始值 or 数据类型 const 常量名称 = 初始值
举例:
#include<iostream>
using namespace std;
int main() {
// 字面量
cout << 1 << &#34; 是一个整型字面量&#34; << endl;
cout << 0.5 << &#34; 是一个浮点型字面量&#34; << endl;
cout << &#39;a&#39; << &#34; 是一个字符型字面量&#34; << endl;
cout << &#34;这句话就是一个字符串型字面量\n&#34; << endl;
// 定义符号常量表示可乐单价
const int kCokePrice = 5;
// 定义符号常量表示爆米花的单价
int const kPopcornPrice = 10;
// 将可乐与爆米花的单价分别打印在屏幕上,并且加上提示信息
cout << &#34;CokePrice is: &#34; << kCokePrice << endl;
cout << &#34;PopcornPrice is: &#34; << kPopcornPrice << endl;
2.顺序结构程序设计
(1)数据类型
C++中数据类型分为基本类型和复合类型;
- 基本类型包括:整数类型、浮点数类型
- 复合类型:在基本类型的基础上创建的,包括数组、字符串以及结构体等
举例:数值整数型
#include <iostream>
using namespace std;
int main() {
// TODO 声明 short 类型的变量 total_1,并初始化为48000
short total_1 = 48000;
cout << &#34;总价为:&#34; << total_1 << &#34;元。\n&#34;;
// TODO 声明 unsigned short 类型的变量 total_2,并初始化为48000
unsigned short total_2 = 48000;
cout << &#34;总价为:&#34; << total_2 << &#34;元。\n&#34;;
运行结果:字符整数类型
总价为:-17536元。
总价为:48000元。举例:字符整数类型
#include <iostream>
using namespace std;
int main() {
// 初始化一个 int 类型
int length = 76;
// TODO 用字符常量初始化一个 char 类型 size_1 为L
char size_1 = &#39;L&#39;;
// TODO 用整数常量初始化一个 char 类型 size_2 为L,字符L的ASCII编码值为76
char size_2 = 76;
cout << &#34;衣服的长度为:&#34; << length << &#34;厘米。\n&#34;;
cout << &#34;衣服的大小为:&#34; << size_1 << &#34;号。\n&#34;;
cout << &#34;衣服的大小为:&#34; << size_2 << &#34;号。\n&#34;;
return 0;
}
//运行结果:
//衣服的长度为:76厘米。
//衣服的大小为:L号。
//衣服的大小为:L号。
问题:
1.为什么第一个举例的结果是-17536元?
2.为什么float类型通常占用4个字节,有效位数只有6位?而double类型占用的空间是float类型的两倍,即8个字节,有效位数却有为15位?15不是6的2倍吧?
3.C++中的双引号和单引号有什么区别? |
|