C++快速讲解(一):变量的使用、输入输出、条件与循环、命名空间和数组
前言:C++的入门博客,主要讲解数据类型以及变量的使用、输入输出、条件与循环、命名空间和数组。
1.C++简介
C++是C的升级版本,实现了面向对象程序设计。在高级语言当中,处理运行速度是最快的,功能强大,嵌入式首选,以及后面的ROS开发首选语言,如果你对C语言比较了解,学习C++也非常快。如果你对C语言比较感兴趣请移步我的博客《C语言系列博客》
2.编译环境和开发工具
编译环境推荐GCC下的MinGW,开发工具推荐IDEA的clion。
3.clion的使用注意事项
更改clion的编码
控制台输出有中文乱码的时候设置如图显示。
4.HelloWorld
#include <iostream> //引入输出输入库
int main() { //main函数
std::cout << "Hello, World!" << std::endl; //输出hello world
return 0; //默认返回0
}
5.数据类型和变量
- 数据类型
数据类型分为整数类型 int、单精度浮点数 float、双精度浮点数 double、字符 char、字符串 string、布尔 bool - 变量
任何变量在使用前必须先声明,并且在声明的时候必须要指定该变量的数据类型,即该变量未来能够存储的数据类型。 - 常量
常量用const来声明的,声明之后不能更改常量的值。 - 变量长度
用sizeof即可查看变量的长度。
#include <iostream>
int main() {
//先声明
int age;
double price;
//后初始化
age = 100;
price = 20.33;
//声明 初始化
float pi = 3.14;
std::cout<< "年龄:" << age <<"价格:"<<price <<"π:" <<pi << std::endl;
//声明常量
const double pai = {3.1415926};
const int months_in_year{12};
//pai = 5.5555;//会报错
std::cout<< "常量pai:"<<pai <<std::endl;
std::cout<< "常量months:"<<months_in_year <<std::endl;
//变量长度
double a = 18.88;
std::cout<<"a的长度:"<<sizeof(a) <<std::endl; //8
std::cout<<"int的长度:"<<sizeof(int) <<std::endl; //4
return 0;
}
6.输出输入
使用 std::cout<< 输出,使用std::cin>> 输入。
#include "iostream"
int main(){
//没有换行 两个单词会出现同一行
std::cout << "你好";
std::cout << " 世界";
//换行输出
std::cout <<"Hello" << std::endl;
std::cout <<"world" << std::endl;
//可以连续输出打印,这其实是一种叫做:链式调用的手法
std::cout << "你好 " << "世界" << " , 我是C++!"<< std::endl;
//输入
std::cout << "请输入您的年龄:"<<std::endl;
int age;
std::cin >> age;
std::cout << "您的年龄是:" << age <<std::endl;
std::cout << "请输入你得价格:"<<std::endl;
float price;
std::cin >> price;
std::cout << "价格:" << price <<std::endl;
return 0;
}
7.if用法
#include "iostream"
int main(){
//if用法
std::cout << "请输入你的年龄:" <<std::endl;
int age;
std::cin >> age;
if (age <0 || age > 100){
std::cout << "你输入的年龄不合法" <<std::endl;
} else if(age <18){
std::cout << "你还未成年" <<std::endl;
} else if(age >=18) {
std::cout << "你已经成年,可以喝酒了" << std::endl;
}
}
8.switch用法
#include "iostream"
int main(){
//switch用法
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;
case 'D':
std::cout << "仍需继续努力" << std::endl;
break;
default:
std::cout << "输入错误。" << std::endl;
break;
}
}
9.while用法
#include "iostream"
#include <accctrl.h>
int main(){
//while用法
int count = 0 ;
while(count < 10){
std::cout << "红灯还在亮着..." << std::endl;
//单位是毫秒
Sleep(1000);
count++;
}
std::cout << "绿灯亮了" << std::endl;
}
10.contine和break用法
#include "iostream"
int main(){
//continue break用法
int number = 1 ;
while(number <= 20){
if(number == 16){
break;
}
//满足条件,表示当前的number是奇数。
if(number % 2 != 0){
continue;
}
std::cout << "当前打印的数字是: " << number << std::endl;
number++;
}
std::cout << "循环已结束! "<< std::endl;
}
11.do-while用法
#include "iostream"
#include <accctrl.h>
int main(){
//do_while用法
int count01 = 0 ;
do{
std::cout << "红灯还在亮着..." << std::endl;
//单位是毫秒
Sleep(1000);
count01++;
}while(count01 < 10);
}
12.for用法
#include "iostream"
#include <accctrl.h>
int main(){
//for用法
for(int cout = 0 ; cout < 10 ; cout ++){
std::cout << "红灯还在亮着..." << std::endl;
//单位是毫秒
Sleep(1000);
}
}
13.命名空间和using的使用
自定义命名空间
#include "iostream"
//深圳的l
namespace shenzhen{
char name = 'l';
}
//武汉的l
namespace wuhan{
char name = 'l';
}
int main(){
std::cout << shenzhen::name << std::endl;
return 0;
}
using的使用
#include "iostream"
using namespace std;
int main(){
cout<< "hello world" << endl;
return 0;
}
14.数组和二维数组
常用的一维数组
#include "iostream"
int main(){
//声明数组
int scores [5];
scores[0] = 11;
scores[1] = 22;
scores[2] = 33;
scores[3] = 44;
scores[4] = 55;
//输出数组
std::cout << scores[0] << std::endl;
std::cout << scores[1] << std::endl;
std::cout << scores[2] << std::endl;
std::cout << scores[3] << std::endl;
std::cout << "--------" << std::endl;
//声明并初始化数组
int scores02 [5] = {100,89,95,70,80};//注意 = 可以省略
//遍历数组
//直接指定数组
for(int i = 0; i < 5; i++){
std::cout << scores02[i] << std::endl;
}
std::cout << "--------" << std::endl;
//手动计算数组长度
int length = sizeof(scores02) / sizeof(int);
std::cout << "----长度是----"<<length << std::endl;
for(int i = 0 ; i < length; i++){
std::cout << scores02[i] << std::endl;
}
std::cout << "--------" << std::endl;
//c++11 提供的for循环
for(int s : scores02){
std::cout <<s << std::endl;
}
std::cout << "--------" << std::endl;
return 0;
}
二位数组
#include "iostream"
int main(){
//二维数组
int scores4[3][5]{
{11,12,13,14,15},
{21,22,23,24,25},
{31,32,33,34,35}
};
for(int i = 0 ; i< 3 ; i++){
for(int j = 0 ; j < 5 ; j++){
std::cout << scores4[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}
结束!!!