C++学习笔记

第一章、C++入门

1、工具安装

下载dev C++
安装时选英文
后面字体设置替换为中文

2、第一个C++程序

2.1、基础程序

#include <iostream> /*C++ 标准库的头文件
using namespace std; /*让编译器去std命名空间找(cout=std::cout)
int main()
{
cout << "Hello world!" << endl;
return 0; /*返回值语句,正常运行的中断
}

2.2、main函数

main函数是程序的入口,C++的程序不管有多少行代码,都是从main函数开始执行的,main函数也被叫做:主函数。main前面的int表示main函数执行结束的时候返回一个整型类型的值,而在main函数的最后写return 0;正好前后呼应。
main函数是程序的入口
main函数有且仅有一个
一个项目中可以有多个.cpp文件,但是只能有一个main函数(因为程序的入口只能有一个)

2.3、字符串

在C语言中,使用单引号括起来一个字符,表示字符字面值,比如:’1’,’a’,使用双引号括起来多个字符表示一个字符串,比如:”abcdef”,”helloworld”,字符串中可以有一个或者多个字符,也可以没有任何字符,””表示空字符串。
上面代码中的”hellowor1d!”就是一个字符串。这类字符和字符串表示的方式在C++也完全支持的。
在C++的STL中又引入了string来表示字符串,功能更加强大,C语言不支持。

2.4、头文件

前面的代码中,写的#include ,就是在包含头文件,头文件的名字叫:iostream,使用#include <>的形式进行包含。iostream文件中的io指的是输入(进入程序的信息,简单理解就是可以给程序输入数据)和输出(从程序中输出的信息,简单理解就是程序会打印数据在屏幕上)。
在C++程序中要完成输入和输出的操作会涉及到iostream文件中的多个定义,所以就要包含这个头文件的。比如:代码中的cout是输出流对象,就是用来完成数据输出的,就需要包含头文件。
C++的编译器自带了很多头文件,每个头文件都支持一组特定的工具。
C++库函数相关头文件:https://zh.cppreference.com/w/cpp/header
在代码中如果使用了某个头文件中的定义,就得包含对应的头文件。

注:
在C语言中头文件的扩展名是.h,但是C++中的用法发生了一些变化,对老式C的头文件保留了扩展名.h,但是C++自己的文件没有扩展名了。C语言头文件:https://zh.cppreference.com/w/c/header

有些C的头文件被转换成C++头文件,这些文件名被重命名,去掉了.h扩展名,并在文件名的前面加上了前缀c(表示来自C语言);例如:C语言中有关数学的头文件名字是math.h,在C++中就是cmath。当然还得注
意,有时头文件的C语言版本和C++版本相同,而有时候,新版本做了一些修改。
头文件的命名约定:
C++旧式风格:以.h结尾。如:<iostream.h> C++程序可以使用,一些新的IDE可能不支持
C旧式风格:以.h结尾。如:<math.h> C、C++程序可以使用
C++新式风格:没有扩展名。如<iostream> C++程序可以使用,使用namespace std
转换后的C:加上前缀,没有扩展名。<cmath> C++程序可以使用,可能包含不是C的特性

2.5 cin 和 cout 初识

cout << "hello world!" << endl;这句代码在上面的程序中是最重要的代码,其他所有的代码都是为了编写这句代码。
代码中的cout是标准输出流对象(针对控制台,也就是屏幕),其实还有标准输入流对象(针对的是键盘)cin
cout是告诉程序把后面双引号中的内容打印到标准输出设备(屏幕)上,双引号中的内容可以替换的。
#include
using namespace std;

int main()
{
int num;
cin >> num;//获取标准输入
cout << num << endl; //对获取到的结果标准输出
return 0;
}

  1. cincout是全局的流对象,cin负责输入数据,cout负责输出数。
  2. end1;是C++中一个特殊的操作符,效果是换行和刷新缓冲区,使用时必须包含在iostream头文件。
  3. <<是流插入运算符,和cout配合使用,>>是流提取运算符,和cin配合使用,两者容易混淆,要仔细区分,不可混用。
  4. 使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式。C++的输入输出可以自动识别变量类型。

2.6、命名空间

在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称如果都存在于全局作用域中,可能会导致很多冲突。使用名字空间的目的是对标识符的名称进行隔离,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。
std是C++标准库的名字空间名,C++将标准库的定义实现都放到这个命名空间中,当我们需要使用标准库中的内容时,就需要加上:using namespace std;当有了这句代码的时候,表示名字空间std中信息都是可见和可用的,比如:cin、cout、endl等。
代码中的std::cout的意思就是使用std名字空间中的cout。
注:
采用std::cout这种写法,如果频繁使用,在算法竞赛中比较麻烦,耽搁时间。
但是在企业中做软件开发基本上都这样写的,这样写更好的避免名字冲突的问题。

2.7、注释

C++里主要有两种形式:单行注释//和多行注释/* */
注释本来是对代码进行解释的文字,要放在代码中,但是又无需编译。注释是给程序员自己看的,编译器会忽略注释,基于注释是被编译器忽略的这个特点,在代码中有些代码不再需要的时候也会使用注释的方式屏蔽。
单行注释:
以//开头,所在行右侧内容作为注释存在
//和注释内容,建议相隔一个空格
如:using namespace std; // 选用命名空间std
多行注释:
以/*开头,*/结尾,中间全部内容作为注释
在/**/内部可以换行(也可以在每行开头加*)
如:
/*
*
* 雪狼破军拉了
*
*/

Dev C++中的快捷键:ctrl+/

评论

  1. 2 周前
    2026-9-01 2:04:30

    [212378]supplies professional anti-violence equipments and solutions for the whole world with strong and perfect production capacity. anti-violence.org

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇