C++ 入门基础(一)
- 优点
1.实现了面向对象程序设计。在高级语言中,处理运行速度最快,大部分游戏的软件系统都是有C++编写
2.功能强大,嵌入式首选
3.C++加上严格的codereview可以用来开除一些猪一样的队友,这是所有其他语言都不具备的功能
- 缺点
1.学习门槛高、难学
2.知识点复杂,有声音说,C++标准委员会仅仅是为炫技并不考虑实际的工业需求
(1)修复以前的bug
(2)增加新的技术
1.入门实例
- 示例代码如下:
#include<iostream>
int main(){
std::cout << "hello, word" << std::endl;
return 0;
}
理解:
#include:引入输入输出库
#int main(){}:主函数入口
return 0:函数返回值,一般0表示正常执行返回。
2.main函数解释
main函数是C++程序的入口函数,C++标准要求main函数的返回值类型为int,0表示正常退出。
int main(){
return 0;
}
3.数据类型
除了下表给出的类型之外,其实还有short | long |long long等,C++提供了sizeof()函数来获取数据类型的占用空间。
数据类型 | 声明 |
---|---|
整数类型 | int |
单精度浮点数 | float |
双精度浮点数 | double |
字符 | char |
字符串 | string |
布尔 | bool |
int main(){
//空间的单位是字节,一个字节8位
std::cout << sizeof(char) << std::endl; // 1
std::cout << sizeof(int) << std::endl; // 4
std::cout << sizeof(float) << std::endl; // 4
std::cout << sizeof(bool) << std::endl; // 1
std::cout << sizeof(short) << std::endl; // 2
std::cout << sizeof(long) << std::endl; // 4
std::cout << sizeof(long long) << std::endl; // 8
return 0;
}
4.变量
C++是强类型语言,任何变量在使用前必须先声明,并且在声明的时候必须要指定该变量的数据类型。比如:int、char、bool等。
例如:
int main(){
//先声明
int age;
double price;
//后初始化
age = 10;
price = 20.3;
//声明即初始化
int age = 20;
return 0;
}
- 变量声明以及初始化常用手法:
int age; //声明,未初始化
int age = 21; //C方式初始化
int age (21); //构造方法初始化
int age {21}; //c++ 11标准方式
4.1变量名命名规则
1.可以包含字母、数字和下划线。
2.必须以字母或下划线开始。
3.不能与C++的关键字、系统函数名和类名相同。
注意:
在C++中,大写字母和小写字母被认为是两个不同的字符。因此, sum和SUM是两个不同的变量名,一般地,变量名用小写字母表示,与人们日常习惯一致,以增加可读性,应该注意变量名不能与C++的关键字、系统函数名和类名相同。
4.2常量
常量其实和变量没有多大的区别,有名字、占据存储空间,可以是任何的基本类型,但只有一点不同,常量的值不允许变更,c++中的常量的声明需要使用const关键字。
例如:
int main(){
//浮点类型
const double pi {3.1415926};
const int months_in_year {12};
pi = 2.5; //将会出现编译错误
return 0
}
效果:
4.3变量长度
sizeof除了可以作用域类型身上之外,也可以作用域变量身上
int main(){
double a = 20.0;
std::cout << sizeof(a) << std::endl; //打印结果:8
std::cout << sizeof(int) << std::endl; //打印结果:4
return 0;
}
5.输入和输出
C++使用 std::cin 和 std::cou t来操作输入和输出操作。使用时需要导入 iostream库。一般在输出后面跟上std::endl;来表示输出结束,含有换行功能也具备刷新数据打印缓冲区的功能
#include <iostream>
int main(){
std::cout << "请输入你的年龄" << std::endl;
int age;
std::cin >> age;
std::cout << "您的年龄是:" << age << std::endl;
return 0;
}
实例:输入三角形的边长,判断是否是三角形
int main() {
int line1 ;
int line2 ;
int line3 ;
std::cout << "输入第一条边" << std::endl;
std::cin >> line1 ;
std::cout << "输入第二条边" << std::endl;
std::cin >> line2 ;
std::cout << "输入第三条边" << std::endl;
std::cin >> line3 ;
//js
if( (line1 + line2) >= line3){
std::cout << "是三角形" << std::endl;
}else{
std::cout << "不是三角形" << std::endl;
}
return 0;
}
6.条件与循环
6.1 if语句
int main(){
std::cout << "请输入一个数字" << std::endl;
int num;
std::cin >> num;
if (num > 100){
std::cout << "该数字大于100" << std::endl;
} else if (num >50){
std::cout << "该数字大于50" << std::endl;
}else{
std::cout << "小于50" << std::endl;
}
}
6.2 switch语句
switch 和 if 语句很相似,它是完全等价条件判断,但是一旦满足某个case的条件,那么其他case就不会在进行判断。
int main(){
std::cout << "请输入此次考试成绩的评级:" << std::endl;
char level;
std::cin >> level;
switch(level){
case 'A':
std::cout << "优秀" << std::endl;
break;
case 'B':
std::cout << "良好" << std::endl;
break;
case 'C':
std::cout << "及格" << std::endl;
break;
default:
std::cout << "输入错误" << std::endl;
break;
}
}
6.3运算符操作
逻辑运算符
Operator | |
---|---|
并且 | && |
或者 | || |
非 | ! |
关系运算符
Operator | |
---|---|
等于 | == |
不等于 | != |
大于 | > |
小于 | < |
大于等于 | >= |
小于等于 | <= |
6.4 三元运算符
一般来说,非真即假的情况下,如果表达式比较简单,通常会采用三元运算符来实现,针对一个条件的判断,只有两种结果,那么使用三元表达式更简洁
int main(){
int score;
std::cout << "请输入此次语文老师的成绩:" << std::endl;
std::cin >> score;
//三元表达式
char result = score > 90 ? 'A':'B';
std::cout << "您此次成绩评级为" << result << std::endl;
return 0;
}
6.5循环控制 — while循环
#include <iostream>
int main(){
int count = 0;
while (count < 10){
std::cout << "红灯还在亮着" << std::endl;
//单位是毫秒
Sleep(1000);
count++;
}
return 0;
}
6.6 continue 和break
break:结束循环
continue:结束当前循环
#include <iostream>
int main() {
int number = 1;
while (number <= 20) {
if(number==12){
std::cout << "当前number=" << number << std::endl;
break; //结束函数,
}
if(number % 2 !=0){
// std::cout << "当前number=" << number << "是奇数" << std::endl;
number ++;
continue; //结束当前循环
}
std::cout << "当前---------number=" << number << std::endl;
number++;
}
}
6.7 do-while
do-while结果与while差不多,区别在于前者是先执行后判断,后者是先判断后执行
int main(){
do{
int count = 0;
std::cout << "红灯还亮着呢" << std::endl;
Sleep(1000);
count ++;
}while(count < 10);
return 0;
}
6.7 for循环
在众多循环语句中,for
循环是使用频率最高的一种。
int main(){
for(int count = 0; count < 10; count++){
std::cout << "红灯还在亮着" << std::endl;
Sleep(1000);
}
return 0;
}