优秀的编程知识分享平台

网站首页 > 技术文章 正文

从零开始学C++(我自己) day1(自学c++有多难)

nanyue 2024-07-20 00:00:04 技术文章 4 ℃


省流环节:

(如果能回答出这些问题本文对你几乎无用)

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可以理解为“输入流”;

免责声明:有问题可以讨论,或者自个儿想办法弄明白,嘻嘻,总之别骂我

Tags:

最近发表
标签列表