前言
对于很多孩子在学习C++语言时,都会面临的问题,对于基础知识难以理解,不会使用,在实际应用中不知道语法的选择。
本文章将会从0开始,将C++基础的输入输出语法知识和数据类型、变量、输入输出的关系,详细向同学们讲解。
一、C++程序必写的代码——框架
所有的C++程序都需要一个程序框架,首先我们要明白的是计算机在执行我们的程序时,一定是按照一定的规则进行执行的,我以我们在编写程序时要遵循计算机执行的规则——计算机只执行主函数中的C++程序
框架——头文件、std命名空间、主函数、返回值
#include<iostream>//头文件(工具包)
using namespace std;//std名字命名空间(表明作用域在{}内)
int main(){//主函数(计算执行的入口)
//程序编写区域
return 0;//返回值(整个程序结束并返回0)
}
头文件
可以看做是一个工具包,在我们编写程序时,会用到很多语法或函数(工具包),这些语法和函数存在于不用的头文件中,需要在程序开始前提前引入(#include),在编写程序时我们才能更高效的完成项目程序。
suing namespace std名字命名空间
1.using是一个编译指令;可以只展命名空间中的某个变量
2.namespace是关键字,定义一个命名空间;
3.C语言存在命名冲突(同一域中有同名变量)
4.命名空间可嵌套,同名空间会合并
5.命名空间不同于结构体,只会影响变量的作用范围,不会影响生命周期
6.std是C++的标准库的命名空间;
简单来讲:std名字命名空间就是区分同一空间中的重复名称
举个栗子:学校有两个小明,他们都在不同的班级,当我们要找小明时,就会出现两个小明,这个时候为了区分开,学校就会在小明前面标识号这是A班的小明和B班的小明,这个时候我们在寻找小明时就不会出现重复的小明,std就相当于这个机制,在计算机中使用的都是空间,使用std机制去区分开不同的小明
主函数
计算机在执行的过程中,只会执行我们主函数中写好的程序,当我们编写的代码出现在主函数之外,那么这个时候他就会报错,但是我们要明白,一个程序中只允许有一个主函数,但是函数可以有多个。
总之:我们的程序中必须有一个主函数,这个主函数是唯一的。
return 0; 返回值为0
结束整个程序
整个程序给出的反馈为0
重点:程序中所有代码、符号,都必须是英文。在一条代码结束后一定要加上分号(; );
二、输入与输出
1、输出语句 cout
输出语句能够将需要反馈的内容展示在控制台,不同的写法和输出不同的内容,会得到不同的结果。
#include<iostream>
using namespace std;
int main(){
cout << "Hello ward!";
return 0;
}
结果
可以看到,输出的内容是将双引号里面的所有内容原封不动的输出了
流符号 << (注意输出流符号朝向)
这里的流不用去理解,我们只需要知道,在输出一个内容时,需要加上一个输出流符号就好了,如果要输出多个不同的内容时也需要加上对应数量的输出流符号
示例:
#include<iostream>
using namespace std;
int main(){
cout << "Hello ward!" << 123654 ;
//前一个是有双引号的,后面一个是没有的
return 0;
}
回车换行符——endl、\n
\n:严格来讲 \n 他是一个字符,所以他是需要在双引号里面才能使用
endl :他是一条独立的语句
当我们输出两个不同的cout时,我们会发现输出的内容他们是连在一起的,我们希望他们输出的时候是在不同行时,这个时候就需要加上换行符,cout不会自动给我们换行
换行时一定是在需要换行的位置加上去,而不是随意的加在某一个位置
#include<iostream>
using namespace std;
int main(){
cout << "Hello ward! \n" << 123654 << endl ;
return 0;
}
结果
在需要换行的地方加上换行符;
2、数据与变量
2.1、数据类型
在C++中,所有的数据都有严格类型区分,不同的类型数据,只能存在自己对应类型的变量中,如果存入的数据不是该变量的类型,则会自动转换为该变量的类型数据
常用的数据类型:
类型 | 关键字 |
---|---|
整型 (整数) | short 、int 、long 、long long |
浮点型(小数) | float 、 double |
字符型 | char |
布尔型 | bool |
2.1-1、整型
类型 | 占用字节数 | 范围 |
---|---|---|
1.short(短整型) | 2字节 | -32768 – +32767 |
2.int (整型) | 4字节 | -2147483648 – +2147483647 |
3.long(长整型) | 4字节 | -2147483648 – +2147483647 |
4.long long(长长整型) | 8字节 | -9223372036854775808 – +9223372036854775807 |
2.1-2、浮点类型
类型 | 占用字节数 | 精度 | 范围 |
---|---|---|---|
1.float(单精度浮点型) | 4字节 | 小数点后5~7位 | -3.4E-38 ~ 3.4E+38 |
2.double (双精度浮点型) | 8字节 | 小数点后15~16位 | -1.7E-308 ~ 1.7E+3.08 |
2.1-3、字符型
类型 | 占用字节数 | 规定 |
---|---|---|
char | 1字节 | 单个字符单引号 |
字符串 | 字符数量+1 | 带了双引号的都叫字符串 |
示例:
#include<iostream>
using namespace std;
int main(){
char c='a';
'a' '0' '1' '-' ' ' 他们都是字符
"a" 、 " 123 15 1" 他们都是字符串
'12'这个什么都不是,因为单引号里面有两个字符
return 0;
}
2.1-4、布尔值
类型 | 占用字节数 | 范围 |
---|---|---|
bool | 1字节 | 0(false)、1(true) |
布尔值只有两个值,1和0,表示成立、不成立,或者真或假
2.2、变量与常量
变量:我们可以把他看作是盒子,用于存放数据的地方,盒子里面的东西是可以变的,但是盒子还是那个盒子,所以叫做变量
常量:不可变化的量,如:1 ,2,3,‘a’,‘z’,“123” ,1.2,0.2,对于他们本身来说都是不可变化的量
特性:变量只能存储一个数据,且变量有严格的类型区分
2.2-1、声明变量
声明变量:也叫做定义变量,申请变量,是在使用时,提前开辟好的空间
声明变量的方式:数据类型 + 变量名
在声明变量时,需要告知计算机这个盒子要装的是什么东西,在给这个盒子命名,这个盒子的名字就叫做变量名(标识符)。
变量名的命名规则:只能是字母、数字、下划线(_),且数字不能开头,关键字不能作为头文件。
一个程序中的变量名不可重复,也就是一个程序中不能有两个小明
示例:
#include<iostream>
using namespace std;
int main(){
int n,n1,n_1;//声明三个整数型变量,用来存储整数
float _f;//声明一个浮点数类型变量为_f,用来存储小数
char c1;//声明一个字符类型变量为c,用来存储字符
char n; 错误,与上面的int类型变量重名
int 1f;错误,数字不能开头
int a*;错误,*号不符合命名规则
return 0;
}
喜新厌旧:变量具有迭代的特性,只会去存储最新的值,以前的值将会丢失
2.3、输入语句cin
输入:从键盘上获取数据,存入计算机(变量)中
语法:
#include<iostream>
using namespace std;
int main(){
int n;//声明一个整数型变量为n,用来存储整数
float f;//声明一个浮点数类型变量为f,用来存储小数
char c;//声明一个字符类型变量为c,用来存储字符
cin >> n; //从键盘上获取一个整数,存入变量n中
cout << "变量n的值为:" << n;//注意写法,可以直接抄作业
return 0;
}
这里的输入流符号( >> )要和输出流符号( << )进行区分,他们的方向是不一样的。
输入多个数据
方法一
#include<iostream>
using namespace std;
int main(){
int n;//声明一个整数型变量为n,用来存储整数
float f;//声明一个浮点数类型变量为f,用来存储小数
char c;//声明一个字符类型变量为c,用来存储字符
cin >> n; //从键盘上获取一个整数,存入变量n中
cin >> f; //从键盘上获取一个浮点数,存入变量f中
cin >> c; //从键盘上获取一个字符,存入变量c中
cout << "变量n的值为:" << n <<endl;
cout << "变量f的值为:" << f <<endl;
cout << "变量c的值为:" << c <<endl;
return 0;
}
方法二
#include<iostream>
using namespace std;
int main(){
int n;//声明一个整数型变量为n,用来存储整数
float f;//声明一个浮点数类型变量为f,用来存储小数
char c;//声明一个字符类型变量为c,用来存储字符
cin >> n >> f >> c ;
//注意输入顺序
cout << n <<endl;
cout << f <<endl;
cout<< c;
return 0;
}
在同一行输入时,需要加上多个输入流符号,且输入顺序一定要按照从左到右变量的类型开始输入,上面的输入顺序就必须是按照
整数 --> 浮点数 --> 字符 类型之间用空格隔开
注:输入字符可以不用分隔
如果输入时不按照代码编写时的类型顺序进行输入,那么就会造成变量无法接收到输入的数据,变量中就没有值
在输入中,其实就是从键盘上获取一个数据存到变量中,在使用的时,只需要使用这个变量就可以使用这个数据,
强调:使用输入语句时,后面只能写变量,因为只有变量是用来存数据,其他的没有办法存储输入的数据。
错误写法
#include<iostream>
using namespace std;
int main(){
int a,b,c; //定义3个整型变量
cin >>a,b,c; //每个变量之间需要用 >> 符号连接
cin >> n; //没有定义变量n,使用变量前必须先定义
cin >> 12; //输入只能是变量,不能是常量
cin >> 'a'; //输入只能是变量
return 0;
}
如果看完了上面的内容你还在写错,输入、输出,还不明白C++中的数据类型与变量的关系 那么emmmmmmmm~ 在多读两遍