从 入 门 到 入 土 , 从 出 征 到 出 殡 , 冰 块 萌 兔 带 你 学 习 C + +(1)

今天我们来学习c++入门到入土第一节课——不花钱

古人有一句话,叫:“工欲善其事,必先利其器。” 所以你要先准备好c++的集成开发环境IDE


我个人比较推荐的IDE是 Dev C++
在Windows竞赛里面,应该会准备好Dev-c++,也有可能是 VSCode


下载好了吗?
接下来,让我们一起来编写第一个c++程序吧!!

Hello, World!

输出 Hello, World!
请读者先自行编写(在您已经下载好的IDE上编写)

//c语言代码
#include <stdio.h>          // 引用头文件
int main()                  // 主函数    
{
  printf("Hello,world!");  // 输出 Hello, world!
  return 0;                 // 返回 0,结束 main 函数
}
//c++代码
#include <bits/stdc++.h>         // 引用头文件
using namespace std;             // 命名空间
int main()                       // 主函数    
{
  cout << "Hello,world!";        //输出 Hello, world!
  return 0;                     // 返回0,结束main函数
}

是Dev-c++的话,请按下f11编译并运行
您可能遇到这样的报错:
捕获


仔细观察第五行,cout << "Hello,world!"后没有加分号




也可能是这样:
image

image
您以为加了分号,实际上您使用中文输入法加的分号






您最好把这个框架背下来:

#include <bits/stdc++.h>
using namespace std;
int main() 
{
  // do something...
  return 0;
}
什么是#include?

#include 其实是一个预处理命令,意思为将一个文件「放」在这条语句处,被「放」的文件被称为头文件。也就是说,在编译时,编译器会「复制」头文件 iostream 中的内容,「粘贴」到 #include <iostream> 这条语句处。这样,你就可以使用 iostream 中提供的 std::cinstd::coutstd::endl 等对象了。
如果你学过 C 语言,你会发现目前我们接触的 C++ 中的头文件一般都不带 .h 后缀,而那些 C 语言中的头文件 xx.h 都变成了 cxx,如 stdio.h 变成了 cstdio。因为 C++ 为了和 C 保持兼容,都直接使用了 C 语言中的头文件,为了区分 C++ 的头文件和 C 的头文件,使用了 c 前缀。
一般来说,应当根据你需要编写的 C++ 程序的需要来确定你要 #include 哪些头文件。但如果你 #include 了多余的头文件,只会增加编译时间,几乎不会对运行时间造成影响。目前我们只接触到了 iostreamcstdio 两个头文件,如果你只需要 scanfprintf,就可以不用 #include <iostream>
可以 #include 自己写的头文件吗?答案是,可以。
你可以自己写一个头文件,如:myheader.h。然后,将其放到和你的代码相同的目录里,再 #include "myheader.h" 即可。需要注意的是,自定义的头文件需要使用引号而非尖括号。当然,你也可以使用编译命令 -I <header_file_path> 来告诉编译器在哪找头文件,就不需要将头文件放到和代码相同的目录里了。(摘自oi wiki)

什么是main()?

可以理解为程序运行时就会执行 main() 中的代码。
实际上,main 函数是由系统或外部程序调用的。如,你在命令行中调用了你的程序,也就是调用了你程序中的 main 函数(在此之前先完成了全局 变量 的构造)。
最后的 return 0; 表示程序运行成功。默认情况下,程序结束时返回 0 表示一切正常,否则返回值表示错误代码(在 Windows 下这个错误代码的十六进制可以通过 Windows Error Codes 网站 进行查询)。这个值返回给谁呢?其实就是调用你写的程序的系统或外部程序,它会在你的程序结束时接收到这个返回值。如果不写 return 语句的话,程序正常结束默认返回值也是 0。
在 C 或 C++ 中,程序的返回值不为 0 会导致运行时错误(RE)。(摘自oi wiki)



注释

注释也是c++中一种很常用的东西
比如:
image
就是一种注释
再比如:
image
也是一种注释
总的来说:
在 C++ 代码中,注释有两种写法:

  1. 行内注释以 // 开头,行内位于其后的内容全部为注释。
  2. 注释块以 /* 开头,*/ 结尾,中间的内容全部为注释,可以跨行。

注释对程序运行没有影响,可以用来解释程序的意思,还可以在让某段代码不执行(但是依然保留在源文件里)。
在工程开发中,注释可以便于日后维护、他人阅读。
在 OI 中,很少有人写许多注释,但注释可以便于在写代码的时候理清思路,或者便于日后复习。而且,如果要写题解、教程的话,适量的注释可以便于读者阅读,理解代码的意图。希望您能养成写注释的好习惯。

输入和输出

1.输入

c++中,最常见的输入是cin和scanf

cin >> 变量1 >> 变量2 >> …… >> 变量n;
scanf("%d%d%d……%d(n个)", &变量1,&变量2,……&变量n); // 其中&代表取地址,有一个快递,你要寄给小明,你必须写上门牌号,不然送不到。&也是一样,以后会有不用&的,下次再说

2.输出

c++中,最常见的输出是cout和printf

cout << 变量1 << 变量2 << …… << 变量n;
printf("%d%d%d……%d(n个)",变量1,变量2,……变量n); //输出就不用加&号了

题目

输入三个数,请输出它们,并以空格为间隔。

#include <bits/stdc++.h>
using namespace std;
int x1, x2, x3;
int main()
{
	cin >> x1 >> x2 >> x3;
	cout << x1 << " " << " " << x2 << " " << x3;
	return 0;
}

image

什么是变量?

变量

什么是std

std 是 C++ 标准库所使用的 命名空间 。使用命名空间是为了避免重名。

%什么 标识符

  1. %s 表示字符串。
  2. %c 表示字符。
  3. %lf 表示双精度浮点数 (double)。
  4. %lld 表示长整型 (long long)。根据系统不同,也可能是 %I64d
  5. %u 表示无符号整型 (unsigned int)。
  6. %llu 表示无符号长整型 (unsigned long long),也可能是 %I64u
    除了类型标识符以外,还有一些控制格式的方式。许多都不常用,选取两个常用的列举如下:
  7. %1d 表示长度为 1 的整型。在读入时,即使没有空格也可以逐位读入数字。在输出时,若指定的长度大于数字的位数,就会在数字前用空格填充。若指定的长度小于数字的位数,就没有效果。
  8. %.6lf,用于输出,保留六位小数。

#define 命令

#define 是一种预处理命令,用于定义宏,本质上是文本替换。例如:

1 2 3 4 5 6 7 8 9 10

#include <bits/stdc++.h>
using namespace std
#define n 233
// n 不是变量,而是编译器会将代码中所有 n 文本替换为 233,但是作为标识符一部分的
// n 的就不会被替换,如 fn 不会被替换成 f233,同样,字符串内的也不会被替换
int main()
{
  cout << n;  // 输出 233
  return 0;
}

下一节课—— 运算等等
点赞,点赞,点赞!!!!!!!
球球了!!!!
求求了!!!!
:slight_smile:
QwQ QwQ

5 个赞

啥?可以骗刚入门oier的点赞???

1 个赞

到后面,可以骗大佬点赞

1 个赞

因为讲主席树

1 个赞

确实讲的很详细

1 个赞

似乎太详细了点(可以骗赞?!

1 个赞

啥时候讲快读快写

1 个赞