c++超详细基础教程(快速入门)

❤作者:那些年丶我们逃过的课

❤博客主页:那些年丶我们逃过的课的博客_CSDN博客-c++题目,c++学习记录,c++小游戏领域博主

❤码云gitee:我的码云 - Gitee.com

❤期待你的关注,如果觉得还可以的话,可以点赞评论支持一下,每个评论我都会回访的🎉

目录:

  1. 教程简介
  2. c++初步了解
    1. c++简介
    2. 我的第一个程序
    3. 标准库
    4. 编译器及编译环境
    5. 注释
  3. c++数据类型
    1. 数据类型
    2. 数据类型占用空间大小
    3. 变量
    4. 常量
  4. 运算符
    1. 算数运算符
    2. 关系运算符
    3. 逻辑运算符
    4. 位运算符
  5. 头文件
  6. 输入输出流
  7. 分支语句
    1. if-else语句
    2. switch语句
  8. 循环
    1. for循环
    2. while循环
    3. do-while循环
    4. 嵌套循环
    5. 循环控制语句
  9. 数组
  10. 字符串
    1. cstring
    2. string
  11. 函数
  12. 总结

1.教程简介

本文是 那些年丶我们逃过的课 根据各种教程总结的c++基础教程🎉,可以让新手小白快速入门🎊。

新人博主,如文章有何问题,请大佬指出🙏

总结不易,如果觉得还行的话,请不要吝惜你的点赞👍,谢谢各位大佬了🎈

本教程适用人群:c++的初学者,帮助他们快速入门。

本文大量参考于:C++ 教程 | 菜鸟教程 (runoob.com)新手跟着这里面学习也是很方便的


2.c++初步了解

2.1c++简介

[C++](C++_百度百科 (baidu.com))是一种计算机高级程序设计语言,由C语言扩展升级而产生 ,最早于1979年由本贾尼·斯特劳斯特卢普在AT&T贝尔工作室研发。

C++既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计。

C++拥有计算机运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

总的来说,c++是c语言的升级版,更加实用和简便。

在众多编程语言中,c++不是最简单的,但是确实数一数二的非常实用的,里面包含的各种库提供了丰富的功能。

2.2我的第一个程序

#include <iostream>
using namespace std;
int main()
{
    cout << "Hello, world!" << endl;	//程序从这里开始执行
    return 0;
}
效果:

在这里插入图片描述

press any key to exit… 点击任意键退出

在这里插入图片描述

  • using namespace std; 使用 std 命名空间。
  • int main()是主函数,程序从这里开始执行。
  • cout << “Hello World”;会在屏幕上显示消息 “Hello World”。
  • return 0;终止 main( )函数,并向调用进程返回值 0。
  • //或 ∗ ∗ * * 可以注释文本,详见2.5注释

2.3标准库

标准的 C++ 由三个重要部分组成:

  • 核心语言,提供了所有构件块,包括变量、数据类型和常量,等等。
  • C++ 标准库,提供了大量的函数,用于操作文件、字符串等。
  • 标准模板库(STL),提供了大量的方法,用于操作数据结构等。

2.4编译器及编译环境

目前主流的编译器有:**MSVC、GCC、Cygwin、MinGW、Visual Studio、Dev-c++**等等

可以选择免费的编译器,也可以为了实用性,实用付费的编译器。

编译环境新手不需要做过多了解。

需要详细了解的可以参考:

  1. 【c/c++】C/C++的编译器|编译环境(非常全面的比较)_StudyWinter的博客-CSDN博客_c++编译环境
  2. C++编译环境_na.na的博客-CSDN博客

2.5注释

  1. 单行注释://+注释内容
  2. 多行注释: ∗ * +注释内容+ ∗ *

注释内容可以被你看见但是系统不会运行注释内容


3.c++数据类型

3.1数据类型

类型关键字
布尔型bool
字符型char
整型int
浮点型float
双浮点型double
无类型void
宽字符型wchar_t

宽字符型新手不需要学习。

一些基本类型可以使用一个或多个类型修饰符进行修饰:

  • signed 符号型
  • unsigned 无符号型
  • short 短型
  • long 长型

例如: long int、unsigned long int等

3.2数据类型占用空间大小

类型范围
char1 个字节-128 到 127 或者 0 到 255
unsigned char1 个字节0 到 255
signed char1 个字节-128 到 127
int4 个字节-2147483648 到 2147483647
unsigned int4 个字节0 到 4294967295
signed int4 个字节-2147483648 到 2147483647
short int2 个字节-32768 到 32767
unsigned short int2 个字节0 到 65,535
signed short int2 个字节-32768 到 32767
long int8 个字节-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
signed long int8 个字节-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
unsigned long int8 个字节0 到 18,446,744,073,709,551,615
float4 个字节精度型占4个字节(32位)内存空间,+/- 3.4e +/- 38 (~7 个数字)
double8 个字节双精度型占8 个字节(64位)内存空间,+/- 1.7e +/- 308 (~15 个数字)
long double16 个字节长双精度型 16 个字节(128位)内存空间,可提供18-19位有效数字。
wchar_t2 或 4 个字节1 个宽字符

3.3变量

变量其实只不过是程序可操作的存储区的名称。C++ 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。

变量的名称可以由字母、数字和下划线字符组成,并且不能是关键字。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C++ 是大小写敏感的。

tip:关键字:各种数据类型、函数名等等(大小写不一样就不算关键字了)

变量声明:

在这里插入图片描述

3.4常量

一下可进行了解,不必深究:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

常量声明:

在 C++ 中,有两种简单的定义常量的方式:

  • 使用 #define 预处理器。
  • 使用 const 关键字。
  1. #define + 常数名 + 常数
  2. const + 数据类型 +常量名 = 常数

4.运算符

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C++ 内置了丰富的运算符,新手需要了解如下运算符:

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符(只需了解,以后要讲)

4.1算数运算符

运算符描述实例
+把两个操作数相加A + B 将得到 30
-从第一个操作数中减去第二个操作数A - B 将得到 -10
*把两个操作数相乘A * B 将得到 200
/分子除以分母B / A 将得到 2
%取模运算符,整除后的余数B % A 将得到 0
++自增运算符,整数值增加 1A++ 将得到 11
自减运算符,整数值减少 1A-- 将得到 9

4.2关系运算符

运算符描述实例
==检查两个操作数的值是否相等,如果相等则条件为真。(A == B) 不为真。
!=检查两个操作数的值是否相等,如果不相等则条件为真。(A != B) 为真。
>检查左操作数的值是否大于右操作数的值,如果是则条件为真。(A > B) 不为真。
<检查左操作数的值是否小于右操作数的值,如果是则条件为真。(A < B) 为真。
>=检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。(A >= B) 不为真。
<=检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。(A <= B) 为真。

4.3逻辑运算符

运算符描述实例
&&称为逻辑与运算符。如果两个操作数都 true,则条件为 true。(A && B) 为 false。
||称为逻辑或运算符。如果两个操作数中有任意一个 true,则条件为 true。(A || B) 为 true。
!称为逻辑非运算符。用来逆转操作数的逻辑状态,如果条件为 true 则逻辑非运算符将使其为 false。!(A && B) 为 true。

4.4位运算符(只做了解)

运算符描述实例
&按位与操作,按二进制位进行"与"运算。运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;(A & B) 将得到 12,即为 0000 1100
|按位或运算符,按二进制位进行"或"运算。运算规则:`00=0; 0
^异或运算符,按二进制位进行"异或"运算。运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0;(A ^ B) 将得到 49,即为 0011 0001
~取反运算符,按二进制位进行"取反"运算。运算规则:~1=-2; ~0=-1;(~A ) 将得到 -61,即为 1100 0011,一个有符号二进制数的补码形式。
<<二进制左移运算符。将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。A << 2 将得到 240,即为 1111 0000
>>二进制右移运算符。将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。A >> 2 将得到 15,即为 0000 1111

5.头文件

头文件引用方法:
#include<头文件名>

详细的头文件介绍及作用见:C++头文件的作用以及用法_陌千浔的博客-CSDN博客_c++头文件


6.输入输出流

使用输入输出流(cin、cout)需要引用iostream头文件

istream:常用于接收从键盘输入的数据;
ostream:常用于将数据输出到屏幕上;
ifstream:用于读取文件中的数据;
ofstream:用于向文件中写入数据;
iostream:继承自 istream 和 ostream 类,因为该类的功能兼两者于一身,既能用于输入,也能用于输出;
fstream:兼 ifstream 和 ofstream 类功能于一身,既能读取文件中的数据,又能向文件中写入数据。
————————————————
原文链接:https://blog.csdn.net/ccc369639963/article/details/122905471

#include<iostream>
using namespace std;
int main(){
    int a;
    cout<<"输入:";
    cin>>a;
    cout<<"输出:";
    cout<<a;
    return 0;
}

实现效果:

定义一个整型a,键盘输入a,再在屏幕上打印出a

在这里插入图片描述


7.分支语句

分支语句分为种:

  1. if-else
  2. switch

7.1if-else语句

在这里插入图片描述

if语句1:
if(条件1)
{
    执行语句1
}
else
{
    执行语句2
}
if语句2:
if(条件1)
{
    执行语句1
}
else if(条件2)
{
    执行语句2
}
else
{
    执行语句3
}

tip:else if可以无限添加,分成你想要的分支

7.2switch语句

switch(一个变量)
{
    case 条件1:执行语句1;break;//加break是为了执行完这一种情况后不会再执行下面的语句
    case 条件2:执行语句2;break;
    case 条件3:执行语句3;break;
    default:执行语句4;	//如果上面条件都不满足,就执行语句4
}

8.循环

有的时候,可能需要多次执行同一块代码。一般情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。

在这里插入图片描述

图片引用自:C++ 循环 | 菜鸟教程 (runoob.com)

循环类型基本有4种:

  1. for循环
  2. while循环
  3. do-while循环
  4. 嵌套循环
循环类型描述
while 循环当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。
for 循环多次执行一个语句序列,简化管理循环变量的代码。
do-while 循环除了它是在循环主体结尾测试条件外,其他与 while 语句类似。
嵌套循环您可以在 while、for 或 do…while 循环内使用一个或多个循环。

循环控制语句:

控制语句描述
break 语句终止 loopswitch 语句,程序流将继续执行紧接着 loop 或 switch 的下一条语句。
continue 语句引起循环跳过主体的剩余部分,立即重新开始测试条件。
goto 语句将控制转移到被标记的语句。但是不建议在程序中使用 goto 语句。

8.1for循环

for(设置变量;循环条件;每次循环后执行语句2)
{
    执行语句1;
}
#include<iostream>
using namespace std;
int main(){
    for(int i=1;i<=5;i++)//i从1开始循环,每次循环后i加1,直到i大于5结束
    {
        cout<<i<<endl;//每次循环输出i,endl为换行
    }
    return 0;
}

在这里插入图片描述

tip:死循环: f o r ( ; ; ) for(;;) for(;;)

8.2while循环

while(条件)//如果满足条件,则执行,如果不满足,则退出循环
{
    执行语句;
}
#include<iostream>
using namespace std;
int main(){
    int i=1;
    while(i<=5)//如果i小于等于5,则执行,如果不满足,则退出循环
    {
        cout<<i<<endl;
        i++;
    }
    return 0;
}

在这里插入图片描述

tip:死循环:while(1)

8.3do-while循环

do{//先执行语句
    执行语句;
}while(循环条件);//如果满足条件,继续执行
#include<iostream>
using namespace std;
int main(){
    int i=1;
    do{
        cout<<i<<endl;
        i++;
    }while(i<=5);
    return 0;
}

在这里插入图片描述

8.4嵌套循环

for循环嵌套:
for(设置变量;循环条件;每次循环后执行语句)
{
    for(设置变量;循环条件;每次循环后执行语句)
    {
        执行语句;
    }
    执行语句;
}
while循环嵌套:
while(条件)
{
    while(条件)
    {
        执行语句;
    }
    执行语句;
}
do-while循环嵌套:
do{
    执行语句;
    do
    {
        执行语句;
    }while(条件);
}while(条件);

8.5循环控制语句

控制语句描述
break 语句终止 当层循环switch 语句,程序流将继续执行紧接着 loop 或 switch 的下一条语句。
continue 语句引起循环跳过主体的剩余部分,立即重新开始测试条件。
goto 语句将控制转移到被标记的语句。但是不建议在程序中使用 goto 语句。

tip:break只能结束当层循环,也就是只能结束掉一个for或一个while(do-while),嵌套循环需要break多次,每次一层


9.数组

数组定义:
变量类型 数组名称[数组大小]

注意:定义数组要多定义一些,比如int a[5],你不能操作a[5],因为这样定义只定义了a[0]到a[4]共5个

初始化数组:
int a[5]={1,2,3,4,5}

如果[ ]内不填数字,则后面{ }初始化中有多n个就会默认定义a[n+1]

#include <iostream>
using namespace std;
 
int main ()
{
   int n[10];
    // 初始化数组元素       
   for (int i=0;i<10;i++)
   {
      n[i]=i+100; // 设置i为i+100
   }
   // 输出数组中每个元素的值                     
   for (int j=0;j<10;j++)
   {
      cout<<j<<" "<<n[j]<<endl;
   }
   return 0;
}

在这里插入图片描述


10.字符串

字符串有两种定义方式:

  1. 数组定义cstring
  2. c++标准库中的string

详解见:C++ 字符串 | 菜鸟教程 (runoob.com)

10.1cstring

定义:

char a[6] = {'h', 'e', 'l', 'l', 'O','\0'};

\0为字符串结尾,系统检测到后会认为字符串到此结束

也可以这么写:

char b[] = "hello";
#include<iostream>
using namespace std;
int main(){
    char a[6] = {'h', 'e', 'l', 'l', 'O','\0'};
    char b[] = "hello";
    cout<<a<<endl<<b;
    return 0;
}

在这里插入图片描述

在引用cstring头文件来操作数组:

#include<cstring>
序号函数 & 目的
1strcpy(s1, s2); 复制字符串 s2 到字符串 s1。
2strcat(s1, s2); 连接字符串 s2 到字符串 s1 的末尾。连接字符串也可以用 + 号,例如: string str1 = "runoob"; string str2 = "google"; string str = str1 + str2;
3strlen(s1); 返回字符串 s1 的长度。
4strcmp(s1, s2); 如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回值小于 0;如果 s1>s2 则返回值大于 0。
5strchr(s1, ch); 返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
6strstr(s1, s2); 返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。

10.2string

使用string要先引用string头文件

#include <iostream>
#include <string>
 
using namespace std;
 
int main ()
{
   string str1 = "runoob";
   string str2 = "google";
   string str3;
   int  len ;
 
   // 复制 str1 到 str3
   str3 = str1;
   cout << "str3 : " << str3 << endl;
 
   // 连接 str1 和 str2
   str3 = str1 + str2;
   cout << "str1 + str2 : " << str3 << endl;
 
   // 连接后,str3 的总长度
   len = str3.size();
   cout << "str3.size() :  " << len << endl;
 
   return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

str3 : runoob
str1 + str2 : runoobgoogle
str3.size() :  12

11.函数

函数是一组一起执行一个任务的语句。每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。

内容较丰富,详解可见:C++函数详解_问号小朋友的博客-CSDN博客_c++函数,这篇博客总结得比较好,建议看看

#include <iostream>
using namespace std;
 
// 函数声明
int max(int num1, int num2);
 
int main ()
{
   // 局部变量声明
   int a = 100;
   int b = 200;
   int ret;
 
   // 调用函数来获取最大值
   ret = max(a, b);
 
   cout << "Max value is : " << ret << endl;
 
   return 0;
}
 
// 函数返回两个数中较大的那个数
int max(int num1, int num2) 
{
   // 局部变量声明
   int result;
 
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
}

在这里插入图片描述


12.总结

本教程到此结束了,如果觉得还行的,请留下你的三连😁,谢谢支持!

本文大量参考于:C++ 教程 | 菜鸟教程 (runoob.com)

  • 219
    点赞
  • 1000
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
### 回答1: 本章主要针对初学者,简要介绍了c/c++的基本语法和常见的编译错误。首先,介绍了程序的基本结构和常用的数据类型。c语言的基本语句包括赋值语句、条件语句和循环语句等,这些语句都可以组成程序的逻辑结构。接下来,介绍了函数的定义和调用,以及参数传递的方式。对于c++,还介绍了一些面向对象的概念,例如类、对象、成员函数等。同时,也提到了头文件和命名空间的使用方法。 在编程过程中,常常会出现各种编译错误,例如语法错误、类型不匹配、语义错误等,需要学会如何查看和解决这些错误。此外,还介绍了调试工具和各种常用的运算符和表达式,这些都是初学者必须掌握的基础知识。 总的来说,本章是关于c/c++快速入门的一篇简介性文章。虽然只是涉及到了基础的语法和知识点,但对于初学者而言是一个很好的起点。在学习过程中需要不断实践,积累经验,并不断深入了解更高级的编程技术和工具。 ### 回答2: C/C++是一种广泛使用的编程语言,它具有高效、灵活、可移植等特点,在各个领域得到广泛应用。C语言C++语言的基础,在学习C++之前,需要先掌握C语言的基础知识。 本文介绍的是C/C++教程中的第二章——快速入门C/C++。在这一章节中,我们将介绍C语言的基本语法、变量、运算符和流程控制语句等基础知识。以下是C语言的一些基本知识点。 C语言的基本语法: C语言程序由多个函数组成,其中一个函数必须命名为main(),程序从该函数开始执行。C程序中的语句以分号结束,注释使用“//”表示单行注释,“/* */”表示多行注释。 变量和数据类型: C语言中变量的定义格式为“数据类型 变量名”;数据类型包括基本类型和用户自定义类型。C语言中的基本类型有int类型、char类型、float类型和double类型等。其中,int类型表示整型,char类型表示字符型,float类型和double类型表示浮点型。 运算符: C语言中的运算符包括算术运算符、关系运算符、逻辑运算符等。例如,“+”表示加法运算符,“>=”表示大于等于运算符,“&&”表示逻辑与运算符。 流程控制语句: C语言中的流程控制语句包括if语句、switch语句、while语句、do-while语句和for语句等。这些语句可以根据条件执行相应的语句块。 总之,本章节的快速入门C/C++,具有基本语法、变量、运算符和流程控制语句等基础知识。初学者可以通过这些基础知识,轻松入门C/C++,为后续学习打下基础。同时,要注意编写代码的规范和逻辑性,才能更好的理解和使用C/C++语言。 ### 回答3: C语言是一门广泛使用的编程语言,具有高效、灵活、稳定等特点,被广泛应用于嵌入式系统、操作系统、驱动程序、多媒体应用等领域。学习C语言是程序员的必备技能之一。 第二章的快速入门C/C++教程,主要介绍了C/C++语言的基础知识,重点是程序的结构和输入输出。其中程序结构包括函数、语句、变量、表达式等,而输入输出则包括scanf、printf、getchar和putchar等函数。 # 程序结构 程序结构是指程序的基本构成单元,包括函数、语句、变量、表达式等。C语言中的程序结构主要包含以下几个方面。 ## 函数 C语言中,函数是程序的基本组成单元。一个C程序可以由一个或多个函数组成,每个函数可以完成一个任务。函数的格式如下: ```c 返回类型 函数名(参数1, 参数2, ...){ // 函数体 return 返回值; } ``` 其中,返回类型指函数执行后的返回值类型;函数名是由程序员定义的,用于调用函数时识别函数;参数列表是函数的输入参数,可以有多个参数,每个参数由类型和变量名组成;函数体是函数要执行的代码块;return语句可以返回函数的执行结果。 ## 语句 语句是完成特定功能的一组指令。C语言中的语句包括赋值语句、条件语句、循环语句等。C语言中通常使用花括号来表示语句块。例如,下面是一个if语句的例子。 ```c if(条件){ // if语句块 }else{ // else语句块 } ``` 如果条件为真,则执行if语句块中的代码;否则执行else语句块中的代码。 ## 变量 变量是用于存储数据的一种容器。在C语言中,一个变量包括变量名、类型和值。变量名由程序员定义,用于识别变量;类型指变量的数据类型,如整型、字符型、实型等;值是存储在变量中的数据。变量的定义格式如下。 ```c 数据类型 变量名 = 值; ``` 例如,下面是一个整型变量的定义。 ```c int num = 10; ``` ## 表达式 表达式是由变量、运算符和常量组成的一个具有返回值的语句。C语言中的运算符分为算术运算符、关系运算符、逻辑运算符等,例如加号、减号、乘号、除号等。下面是一个简单的表达式。 ```c a = 5 + 6 * 3 / 2 - 1; ``` 这个表达式将计算5加6乘3除以2减1的值,并将结果赋给a变量。 # 输入输出 输入输出是程序中非常重要的部分,可以让程序与用户进行交互。C语言中有多种输入输出函数,其中一些最常用的是scanf、printf、getchar和putchar函数。 ## scanf函数 scanf函数用于从标准输入读取格式化数据,并将读取的数据存储到变量中。它的格式如下。 ```c scanf("格式控制字符串", 变量列表); ``` 其中,格式控制字符串指示scanf函数需要读取的数据类型和格式,变量列表指向要读取的变量。下面是一个scanf函数的例子。 ```c int num; scanf("%d", &num); ``` 这个代码段将从标准输入读取一个整数,并将其存储到num变量中。 ## printf函数 printf函数用于将格式化数据输出到标准输出。它的格式如下。 ```c printf("格式控制字符串", 参数列表); ``` 其中,格式控制字符串指示printf函数需要输出的数据类型和格式,参数列表包含要输出的变量和常量。下面是一个printf函数的例子。 ```c int num = 5; printf("num的值是%d\n", num); ``` 这个代码段将输出“num的值是5”。 ## getchar和putchar函数 getchar函数用于从标准输入读取一个字符,putchar函数用于将一个字符输出到标准输出。它们的用法非常简单,例如下面的代码将读取一个字符并将其转换成大写字母后输出。 ```c char c = getchar(); putchar(toupper(c)); ``` 以上就是第二章中的快速入门C/C++教程的主要内容,包括程序结构和输入输出方面的基础知识。熟练掌握这些内容,对于学习C语言来说是非常重要的。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值