2025年编程入门(c加加编程入门)

编程入门(c加加编程入门)p id main toc strong 目录 strong p 1 初识 c 1 1 第一个程序 1 1 1Hello world 1 1 2 运行结果 1 2 注释 2 数据类型 2 1 数据类型 2 3 标识符命名规则 2 2 变量 2 4 常量 2 5 输入输出流 2 6 关键字 3 运算符 3

大家好,我是讯享网,很高兴认识大家。



 <p id="main-toc"><strong>目录</strong></p> 

讯享网

1、初识c++

1.1第一个程序

1.1.1Hello world

 1.1.2运行结果

1.2注释

2、数据类型

2.1数据类型

2.3标识符命名规则

2.2变量

2.4常量

2.5输入输出流

2.6关键字

3、运算符

3.1算术运算符

3.2关系运算符

3.3逻辑运算符

3.4位运算符

4、程序流程结构

4.1顺序结构

4.2选择结构(分支结构)

4.2.1if-else语句

4.2.2switch语句

4.2.3多条件的if分支结构

4.3循环结构

4.3.1for循环

4.3.2while循环

3.3.3do...while循环

 3.3.4嵌套循环

4.4三目运算符

4.5跳转语句

5、数组

5.1一维数组

5.2二维数组

 5.3数组增删改查

 6排序

6.1桶排序

6.2选择排序

6.3冒泡排序

7、字符串

7.1c++字符串输入总结

7.2 字符串处理函数

8、函数

9、指针

9.1一维指针

9.2const修饰

9.3二维数组

9.4指针与数组、函数

10、结构体

10.1结构体概念与定义

10.2结构体数组

10.3结构体指针

10.4结构体嵌套(含数组)

10.5结构体作函数参数

11、查找 

1、二分查找


编写一个C++程序,总共包含4个步骤

  • 创建项目
  • 创建文件
  • 编写代码
  • 运行程序

dev安装

1.1.1Hello world

讯享网

 1.1.2运行结果

作用:在代码中加一些说明和解释,方便自己或其他程序员阅读代码

两种格式:

1、单行注释: / /  相关描述 

通常放在某行代码的上方,或者某一条语句的末尾,对该行代码说明

2、多行注释: / * 相关描述 * / 

通常放在一段代码的上方,对该段代码做整体说明

注:编译器在编译代码时,注释不会执行,会忽略注释的内容

数据类型 类型 关键字 样例 布尔型 bool true、false 字符型 char 'a'、‘3’、‘%’ 整型 int -5、0、1002 浮点型 float 12.345、3.141 双精度浮点型 double 12.345、3.141 无类型 void / 宽字符型 wchar_t
数据类型占用空间大小 类型 位(n个字节) 范围 char 1 -128 到 127 或者 0 到 255 int 4 -21 4748 3648 到 21 4748 3647 float 4 7位有效数字 double 8 15~16位有效数字 unsigned char 1 0 到 255 signed char 1 -128 到 127 unsigned int 4 0 到 42 9496 7295 signed int 4 -21 4748 3648 到 21 4748 3647 short int 2 -3 2768 到 3 2767 unsigned short int 2 0 到 6 5535 signed short int 2 -3 2768 到 3 2767 long long 8 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 signed long int 8 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 unsigned long int 8 0 到 18,446,744,073,709,551,615 long double 16 wchar_t 2或4 1个宽字符

一个字节 = 8bit = 8 个位

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

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

字符型

作用:存单个字符

语法: char  ch = '单个字符' ;        如:   char  ch = 'p' ;  


讯享网

注: 1、用单引号将字符括起来,不要用双引号   

         2、单引号内只能有一个字符,不可以是字符串

字符串型

作用:存多个字符组成的字符串

语法:   string   str = "字符串"       如:    string  str = "abc123";   

布尔型(bool)

作用:布尔数据类型代表真或假的值

bool类型只有两个值:

  • true -- 真(本质是1)
  • false -- 假(本质是0)

即变量、常量、函数的命名规则:

  1. 标识符只能由字母、数字、下划线组成
  2. 第一个字符必须为字母或下划线,不能是数字
  3. 标识符中字母区分大小写
  4. 标识符不能是关键字

正确命名:abc_、a1、c3、_t 、Char 、 int4  等

错误命名:int、4ab、long、"abc"  等

大写字母和小写字母是不同的,因为 C++ 是大小写敏感的。所以Char可以当作变量使用。

变量:

1 变量代表一个有名字的、具有特定属性的一个存储单元;

2 变量用来存放数据,也就是存放变量的值;

3 变量的值可以改变;

4 变量有特定的类型,类型决定了存储单元的大小和变量值的范围,运算符可应用于变量上

语法: 数据类型    变量命  =  初始值 ;

注:每个变量名都是唯一,不能重命名。

作用:用于记录程序中不可更改的数据

两种方式:

1、宏定义:# define  常量名 常量值

  • 位于头文件后,主函数前。

2、const修饰的变量: const   数据类型   变量 = 常量值

  •   修饰该变量为常量,不可修改。

        

输出:cout

 
    

输出:cin

讯享网

新手主要学习一下三种运算符:

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符(新手不学)
符号 描述 示例(a = 5,  b = 2) 结果 + 把两个操作数相加 a + b 7 - 把两个操作数相减 a - b 3 * 把两个操作数相乘 a * b 10 / 把两个操作数相除,取整 a / b 2 % 把两个操作数相除,取余(取模) a % b 1 ++ 自增运算符,整数值增加 1 a++  、++a 5、6 -- 自减运算符,整数值减少 1 b--、 --b  2、1

注:

  • 只有整型变量可以进行取模运算
  • 在除法运算中,除数不能为0

a++:先赋值,后自增

++a:先自增,后赋值

a--、--a 同理

符号 描述 示例(a=5、b=2、c=2) 结果 ==

判断两个操作数的值是否相等,如果相等则条件为真。

a==b、b==c 假、真 !=

判断两个操作数的值是否不相等,如果不相等则条件为真。

a != b、b != c 真、假 > 判断左操作数的值是否大于右操作数的值,如果是则条件为真。 a>b、b>c 真、假 < 判断左操作数的值是否小于右操作数的值,如果是则条件为真 a<b、b<c 假、假 >= 判断左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 a>=b、b>=c 真、真 <= 判断左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 a<=b、a<=c 假、假
 
    
符号 描述 示例 结果 && 与 a && b 如果a和b都为真,则结果为真,否则为假。 || 或 a || b 如果a和b有一个为真,则结果为真,二者都为假时,结果为假。 ! 非 !a 如果a为假,则!a为真; 如果a为真,则!a为假。

(后续更新)

三大基本结构:

  1. 顺序结构:程序按照顺序一次执行,不发生跳转
  2. 选择结构:判断条件是否满足,执行相应的程序
  3. 循环结构:判断条件是否满足,对某段程序重复执行

如上图所示。

4.2.1if-else语句

讯享网
 
    

4.2.2switch语句

注意:

  • switch语句中表达式数据类型只能是整型或者字符型
  • case里如果没有break,那么程序会一直向下执行

总结:与if语句比,对于多条件判断时,switch的结构清晰,执行效率高,缺点是switch不可以判断区间

讯享网
 
    

4.2.3多条件的if分支结构

c++中有三种循环,

for循环:一边用于已知循环次数

while循环:未知循环次数

do...while循环:第一次不用进行条件判断

4.3.1for循环

语法:

for(表达式1;表达式2;表达式3){    // 表达式2为真继续循环,否则结束循环

                循环体语句;

       }

其中:

表达式1:初始条件     

表达式2:循环条件     

表达式3:初始条件变化

讯享网

 

4.3.2while循环

语法:

while( 循环条件 ){    // 条件为真继续循环,否则结束循环

        循环体语句

}

 
    

 ​​​​

3.3.3do...while循环

语法:

do{

        循环体语句

}while( 循环条件);

注:该循环与while循环有区别,这是先循环一次,再进行判断  

讯享网

 3.3.4嵌套循环

在某循环体中再嵌套一层循环。

一个变量相当于输出一个点,一个循环相当于输出一条线,双重循环相当于输出一个平面,三重循环相当于输出一个立体图形

语法:由for、while、do...while循环,其中两个或以上的组合

 
    

语法:

解释:

  • 当表达式1的值为真,执行表达式2,并返回表达式2的结果;
  • 当表达式1的值为假,执行表达式3,并返回表达式3的结果。
讯享网
符号 描述 break
  1. 在switch条件语句中,终止case并跳出switch
  2. 在循环语句中,跳出当前的循环
  3. 在嵌套循环中,跳出最近的内层循环
continue 不执行下面的语句,回到前面。在循环中时,跳过剩下的程序不再执行,重新开始下一轮循环。 goto 无条件跳到指定位置。

注意:continue并不会终止整个循环,而break会跳出循环

 goto语句示例:

 
    

 注意:不建议使用goto语句,容易造成程序流程混乱

定义:是一个集合,存放相同数据类型的数据元素。

特点:数组中的每个元素都是相同的数据类型,内存是连续的。

语法:   数据类型    数组名称 [ 数组大小 ]      

讯享网

 注:数组中下标是从0开始索引

 
    

 获取数组大小及地址

&:取地址符号

讯享网

语法:   数据类型   数组名[ 行数 ] [ 列数 ]   

          

 
    

学生成绩 :

姓名 语文 数学 英语 张三 89 95 98 李四 79 78 56 王五 90 99 93
讯享网

 

初始化只有一列:

 
    

讯享网

求字符数组的长度:  strlen( 数组名 )   

  •  按值删除
  • 按下标删除
  • 某元素,插入某个位置
  • 修改某个位置的值 
  • 查找某个元素的位置
  • 找某下标的值
 
    

思想:在已知数据范围的情况下,分配相应范围大小的数组空间。遍历所有数据,遇到对应下标时,计数增一。

讯享网

思想:

  1. 在待排序的一组数据中,选出最小(最大)的一个数与第一个位置的数交换。
  2. 然后在剩下的数中,再找最小(最大)的数与第二个位置的数交换位置。
  3. 依次类推直到第 n-1 个元素与第 n 个元素交换位置,选择排序结束。
 
    

思想:

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。这一趟比较完后,最后的元素会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。(排好序的数不再进行比较)
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

如:气泡在水中上浮时,气泡越来越大

 基本解法:

讯享网

 优化程序:

 
    

讯享网

 直接输出string类型,须加<string>

分为:cin、getchar和scanf、cin.get()、gets、cin.getline()、getline

1、cin:  接收字符串时,遇“空格”、“TAB”、“回车”都结束

 
    

2、scanf:  接收字符串时,遇“空格”、“TAB”、“回车”都结束

      getchar:   接收一个字符

讯享网

3、 cin.get():  接收字符串时, 可以接收空格

 
    

4、gets():  接收字符串时, 可以接收空格 

讯享网

5、cin.getline():接收字符串时,可以接收空格并输出 

 
    
讯享网

6、getline() :  接收字符串时,可以接收空格并输出,需包含头文件“  #include<cstring>  ” 

 
    

头文件:#iclude<cstring>

strcpy(s1,s2)、strcmp(s1,s2)、strlen(s1)、strcat(s1,s2)、strlwr(s1)、strupr(s1)

 1、strcpy(s1, s2)

说明:把字符串s2拷贝到s1,即s1的数据变成了s2的数据

注意:必须保证s1的内存空间大于或等于s2

讯享网

 2、strcmp(s1, s2)

说明:按照ASCII码顺序,s1和s2中的每个字符进行比较,

注意:当遇到某个字符不等时结束判断

返回值:比较结果。

  • 字符串1=字符串2,返回值=0;
  • 字符串1>字符串2,返回值>0,即 1;
  • 字符串1<字符串2,返回值<0,即 -1。
 
    

3、strlen(s1)

作用:求字符数组或字符串的长度

讯享网

 4、strcat(s1, s2)  

作用:把s2拼接到s1后面

 
    

5、strlwr(s1)  大写转小写

6、strupr(s1) 小写转大写

作用: 将一段经常使用的代码封装起来,减少重复代码

讯享网
 
    
  • 形参数据改变时,实参不会改变。
  • 形参和实参可以同名,也可以不同名

语法:  数据类型  * 指针变量  

指针所占内存:32位电脑占4字节,64位电脑占8字节。所有数据量类型都一样。

示例:

讯享网

 输出时可以简单的理解成:* 号取值,& 号取地址

 
    

指针与数组:

讯享网

指针与函数:

  传地址会改变实参的值,穿值不改变  

 
    

结构体就像excel表格一样,可以存不同类型的元素。数组只能存一种类型的元素。

语法:

struct  结构体名{
    结构体成员列表 
}; 

struct是关键字不能省略。 

结构体的使用有三种方式:

讯享网
 
    
讯享网

嵌套时也可以使用数组。

 
    

传值的时候不改变实参的值,穿地址会修改实参的值。

讯享网

 
    


小讯
上一篇 2025-06-13 07:38
下一篇 2025-06-15 11:20

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/197996.html