省流环节:
(如果能回答出这些问题本文对你几乎无用)
1.C++代码最基本的结构是什么?
2.C语言中如何注释?
3.如何声明一个变量并初始化?
4.常量分为哪些种类?
5.宏定义可能产生的问题?
6.cin 和 cout 的基础用法如何?
一、基本结构
1.最常用的头文件:iostream;
具体语句为#include<iostream>;
2.using namespace std;
①作用:为使得之后使用cin,cout之类的东西时不用前缀,使得输入代码时更简便,也使得代码更简单,但是在大型代码中,如果不当得使用using namespace可能会产生名称空间冲突;
②名称空间冲突:如果两个库中含有相同名称的函数(设为abab),并且在代码中同时对两个库都using namespace了的话,就会导致直接使用abab的时候编译器无法判断abab说的是哪一个库中的那个函数了,就会产生问题。
以下为一个现实中的例子辅助理解名称空间冲突:(源AI)
二、注释
1.单行注释:
(1)格式://注释内容;
(2)作用:将代码中当前行“//”(双斜杠)后的文本都转为注释,不参与编译;
2.多行注释:
(1)格式:/* 巴拉巴拉 ...... (中间可以包括多个行)*/
(2)作用:将两端符号中间的内容都转为注释;
三、变量与常量及其命名
(1)变量:
①声明格式:
a.仅声明:数据类型 变量名;
b.声明且初始化:数据类型 变量名 = 变量初始值;
②变量作用:给一段内存空间起名,方便调用这段内存空间中的东西;
③变量命名规则:
a.不能为关键字(如:类型名、已定义函数名);
b.只能由字母(区分大小写)、数字、下划线组成;
c.第一个字符必须为字母或者下划线;
(2)常量:
①宏常量(宏定义,一种预处理指令,生成的的常量):
a.格式:#define 名 东西(值或式子) (注意:无分号)
b.辨析:代码中所有宏定义的名都会在编译的时候被替换为对应的东西,注意:此替换为纯文本替换,所以可能导致许多问题 ;
c.可能的问题:
仅举一个实例:
#define a 3+3;
/*(主函数中)*/
int b = a/2;
//最终b并不会等于3,而是会等于3+3/2,结果为4;
//解决办法为在适当的位置加括号,例如把3+3换成(3+3)
②const修饰的变量:
a.格式:const 数据类型 变量名 = 值(声明的时候必须赋值,否则会报错);
b.示例:const int a = 5;
c.辨析:const修饰的变量在之后不能被重新赋值;
四、基础输入输出:
(均在#include<iostream>;using namespace std;前提下)
1.cout(流输出):
(1)格式:cout<<内容1<<内容2<<......(<<endl);
(2)说明:
①“内容”可以是字符串、各类变量、endl(换行符)等;
②cout可以理解为“输出流”;
③<<为(流)插入运算符,用于向输出流中插入数据。与cout搭配使用的时候的输出流为标准输出流(屏幕);
2.cin(流输入):
(1)格式:cin>>变量1>>变量2>>......;
(2)说明:
①“变量”包含整型变量、浮点型变量、字符变量、字符串等,如果期望输入的类型与实际输入的类型不一致(比如期望输入数字但实际输入字符),会卡住(输入流会进入失败状态),直到这个错误状态被清除(可以用cin.clear()函数);
实例:
if (!(std::cin >> someVariable)){
cin.clear(); // 清除错误状态
}
②>>为(流)提取操作符,用于从输入流中提取数据,第一个数据会被赋给变量1,第二个被赋给变量2......(以此类推),注意:输入的数据之间用分隔符(空格、制表符、换行符)分隔;
③cin可以理解为“输入流”;
免责声明:有问题可以讨论,或者自个儿想办法弄明白,嘻嘻,总之别骂我