当前位置:网站首页 > C++编程 > 正文

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



目录

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、多行注释: / * 相关描述 * / 

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

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

数据类型 类型关键字样例布尔型booltrue、false字符型char'a'、‘3’、‘%’整型int-5、0、1002浮点型float12.345、3.141双精度浮点型double12.345、3.141无类型void/宽字符型wchar_t
数据类型占用空间大小 类型位(n个字节)范围 char1-128 到 127 或者 0 到 255 int4-21 4748 3648 到 21 4748 3647 float47位有效数字 double815~16位有效数字unsigned char10 到 255signed char1-128 到 127unsigned int40 到 42 9496 7295signed int4-21 4748 3648 到 21 4748 3647 short int2-3 2768 到 3 2767unsigned short int20 到 6 5535signed short int2-3 2768 到 3 2767 long long8-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807signed long int8-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807unsigned long int80 到 18,446,744,073,709,551,615long double16wchar_t2或41个宽字符

一个字节 = 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 + b7-把两个操作数相减a - b3*把两个操作数相乘a * b10/把两个操作数相除,取整a / b2%把两个操作数相除,取余(取模)a % b1++自增运算符,整数值增加 1a++  、++a5、6--自减运算符,整数值减少 1b--、 --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开始索引

 

 获取数组大小及地址

&:取地址符号

 

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

          

 

学生成绩 :

姓名语文数学英语张三李四王五
 

 

初始化只有一列:

 

 

求字符数组的长度:  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是关键字不能省略。 

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

 
 
 

嵌套时也可以使用数组。

 

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

 

 

到此这篇编程入门(c加加编程入门)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • consoling翻译(consolidation翻译中文)2025-04-06 13:36:09
  • dhcp自动获取 dns(dhcp自动获取ip地址和宽带拨号上网)2025-04-06 13:36:09
  • std::ifstream头文件(c++ ifstream头文件)2025-04-06 13:36:09
  • hipc官网下载(hipaa官网)2025-04-06 13:36:09
  • can通讯接口带电源吗能用吗(can通讯接口带电源吗能用吗)2025-04-06 13:36:09
  • plc1200下位组件不同(plc下位组件不同怎么解决)2025-04-06 13:36:09
  • conda创建虚拟环境怎么删除(conda创建虚拟环境命令)2025-04-06 13:36:09
  • cp900墨盒尺寸错误(cp910 墨盒尺寸错误)2025-04-06 13:36:09
  • cnn神经网络(CNN神经网络全称)2025-04-06 13:36:09
  • msvcp140d.dll丢失(MSVCP140d.dll丢失下载)2025-04-06 13:36:09
  • 全屏图片