当前位置: 首页 > news >正文

C++基础语法

1 常量和变量
常量
定义:#define 变量名 变量值 (无分号)
const 数据类型 变量名 = 变量值;
变量
定义:数据类型 变量名 = 变量初始值;(计数用)
数据类型 变量名 ;
变量分为局部变量和全局变量
全局变量可以在任意位置使用(但当局部有与其同名变量,全局变量会被屏蔽)
局部变量一般指在循环结构或顺序结构中的变量
2 关键字与注释
注释:
// 单行注释
/**/ 多行注释
关键字:
由字母数字下划线组成(首字符不可为数字)
区分大小写
不可用标识符命名
3 数据类型
整形:
长长整形 long long 范围-2的63次方到2的63次方
长整形 long
整形 int 两者范围均为-2的31次方到2的31次方(一般使用,当出现数字过大相乘要longlong)
短整型 short
实型:
单精度float 六位小数(一般当double满足不了需求使用) 赋值要在后面加f不然默认双精度
双精度double 十五到十六位小数
C++中保留n位小数:
头文件
使用:cout<<fixed<<setprecision(n)
cout<<a<<endl;
C++中的小数取整:
头文件
floor(x)向下取整
ceil(向上取整)
round(x)四舍五入
trunc(x)想0取整,小数为0
字符型:
定义:char 变量名 = ‘’(单引号,单字符)
字符型变量中字母对应ASCII值:A为65,@为64
转整可以得到ASCII码值:cout<<(int)ch<<endl;(转整方法)
a = 97,b = 98,.......z
字符串型:
定义:头文件 string 变量名 = “”(字符串)
理解举例:string s = "x,y,z"3个字符加一个字符串 一共4个字符
string s ="'x','y','z'" 3个独立字符 共3个
C++中的字符数组:
string s = ""
大小:s.length()
读取元素:cin
截取字符串:string s = substr(开始下标,多少个字符)
拆分并输出字符的方法:
isdigit() 判断是否为数字,不为数字返回字符
遍历字符数组:
for循环
范围for循环:
for(数据类型 变量(用来代替容器中的一个单位,如在字符数组中为字符变量):容器)
转义字符:
/t 输出并对齐
/n 输出并换行
// 输出/并换行
举例理解:
十六进制转义字符:”/xhhh“
八进制:”/37“
求内存:sizeof(容器,变量名,数据类型)
4 运算符
算数运算符:+-*/
注释:整数除法自动省略小数
小数除法会保留小数
%两个小数不能取模
赋值运算符: (int a=b=值 不可连续赋值,加逗号则可)
= += -= *=/=
比较运算符:

<
= <=
== !=
逻辑运算符:(适用于各种数据类型)
非!
与&&
或||
三目运算符
a?b:c
a真则b否则c

5 程序结构:
顺序结构:主代码 从头到尾
选择结构:
if
单句if
多行if else
多条件 if elseif else
嵌套:if内加if
swith(整形 字符型)
swith(表达式){
不同结果
case1: 执行
case2:执行
case3:执行
}
循环结构:
while do while
while(条件){执行}
dowhile先运行一次
for循环:
for(起始式;条件式;循环式){执行}
嵌套for 外层运行一次内层运行一周
原则:为了避免死循环,while和for条件不可永真
跳转语句:break 可以退出选择和循环结构(一层循环)
continue:跳出此次循环中未完成的部分,重新循环
goto语句:无条件跳转
定义一个标志flag =
go to flag;
6 数组:
定义:连续内存位置组成的(每个数据元素类型都相同)
一维数组:
定义:数据类型 + 数组名【元素个数】 = {列举}
查找:arr[]
遍历:for(int i =0;i<n;i++){}
求内存:sizeof(arr)
首地址: arr
求个数: sizeof(arr)/sizeof(arr[0])
某元素地址:&arr[]
二维数组:
定义:数据类型 数组名 【】【】 = {(),()}
查找:arr[][]
遍历:for(int i =0;i<n;i++)
{
for(int j =0;j<n;j++)
{
cout<<arr[][]
}
}
数组中调换首尾元素:
int start = 0;
int end = sizeof(arr)/sizeof(arr[0])-1;
互换代码:
int temp = arr[start]
arr[start] = arr[end]
arr[end] = temp;
数组中计算最大值:
int max = 0;
for(int i = 0;i<sizeof(arr)/sizeof(arr[0]);i++)
{
if(arr[i]>max)
{
max = arr[i]
}
}
冒泡排序:(降序)
比较相邻元素,如果前一个元素大于后一个元素,则调换位置,直到找到第一个最大值为止,之后每次比较次数减一,直到无需比较
排序总轮数 = 元素总数-1
每轮比较数 = 元素总数-轮数-1
for(int i =0;i<n-1;i++)
{
for(int j = 0;j<n-i-1;j++)
{
if(arr[i]>arr[i+1]
{
int temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
}
数组中统计总和:
int sum = 0;
sum+= ;

7 函数:
定义: 返回值类型 函数名 (形式参数)
{
函数体语句
return 表达
}
调用:函数名 (实参);
函数的值传递与地址传递:
值传递:输入实参到形参的位置,不改变实参数值
地址传递:形参为指针,实参输入元素地址
函数分类:
有参有返 return
有参无返
无参无返
无参有返
函数的声明:
在函数定义前出现调用样式,使用声明提前告知系统存在函数
函数的分文件编写:
创建后缀为.h的头文件
创建后缀为.cpp的源文件
头文件中写函数声明
源文件中写函数定义
头文件#include
源文件中#include"函数名.h"
引用:主文件中加#include"函数名.h"
8 指针:
定义:储存元素地址编号的一个容器
指针变量可以通过地址得到数据
定义:数据类型 p = 元素(&a)
记录元素地址:p=&a
指针解释:
p 返回对应位置数值
指针内存:sizeof(p)
空指针和野指针:
空指针:指向内存编号为0的位置
int*p = NULL
向空指针输入数据会导致程序崩溃
0-255的内存编号为系统占用,不可访问

野指针:指向非法位置的指针
const修饰指针:
常量指针:const int p指向可变,大小不变
指针常量:int const
p指向不变,大小可变
常量:const int constp
指针与数组:
int
p = arr;
for(int i = 0;i<sizeof(arr)/sizeof(arr[0]);i++)
{
cout<<p<<endl;
遍历数组
}
指针与函数----地址传递:
void f (intp,int
p2)
f(&a,&b)
9 结构体
定义:使用者自定义的数据类型,包含多种元素
struct 结构体名 {结构体成员列表};
创建结构体变量:struct(C++中可省略) 结构体名 变量名
访问结构体变量:s.其中成员
结构体数组:
struct 数组名【】={{}{}{}}
赋值: arr[].
结构体指针:
structp =
访问: p ->
结构体嵌套:
结构体的一个成员为另一个结构体
结构体与函数:
结构体可以做形式参数:void f(struct
p或struct s)
const修饰结构体:
void f(const struct*p)
可以避免地址传递时实参被错误改变

http://www.jsqmd.com/news/63868/

相关文章:

  • 杭州助听器验配中心深度测评:从专业度到售后,4家优质机构帮你避坑
  • 喵喵喵序言
  • virtio windows驱动(virtio-win官方iso包)
  • PbootCMS后台登录验证码看不清怎么回事?
  • 2025年广州GEO,广州GEO训练营,广州GEO实战培训厂商推荐:行业盘点与品质红榜发布
  • 2025年12月无害化设备厂家推荐:五大企业综合实力对比排行榜单
  • 2025年12月无害化设备厂家推荐:行业领先企业排行榜单及选购指南
  • 2025年12月改性包覆设备厂家推荐:权威排行榜单及深度对比评测
  • pbootcms升级提示 执行SQL发生错误!错误:duplicate column name: picstitle
  • AI颠覆前后端配比
  • 2025年12月乐山美食店推荐:五大热门餐厅深度对比排行榜单与消费者选择策略指南
  • 2025年12月透水砖厂家推荐:五大品牌综合实力对比评测排行榜
  • 2025年12月透水砖厂家推荐:海绵城市建设工程核心供应商排行榜单
  • 2025年12月乐山美食店推荐:必吃榜深度评测与热门餐厅综合排行指南
  • 2025年12月佛山GEO软件系统,佛山GEO训练营,佛山GEO内容代运营厂商推荐:产业带适配方案与合规能力解析
  • PbootCMS登录失败:您登录失败次数太多已被锁定,请591秒后再试!
  • 2025年12月深圳GEO工具,深圳GEO软件系统,深圳GEO训练营品牌最新推荐:工具更新频率与优质品牌
  • 2025年12月改性包覆设备厂家推荐:专业排行榜单与深度对比评测分析指南
  • 2025年12月佛山GEO,佛山GEO软件系统,佛山GEO全案服务厂商推荐:AI算法与区域获客能力深度测评
  • 2025年高性价比微生物生长曲线分析仪品牌排名:看看哪家品牌
  • pbootcms模板报错提示PHP Warning: Unknown: open_basedir restriction
  • PbootCMS网站附件上传报错UNKNOW: Code: 8192; Desc: stripos()
  • 2025年12月乐山美食店推荐:五大热门品牌深度对比评测与口碑排行榜
  • 帝国cms备份数据库出现问题的解决方法
  • 2025年12月成都统招专升本培训机构综合实力排行榜单及精准选购决策指南
  • HTML笔记--动态表格
  • 河北诚铸机械集团有限公司联系方式: 使用指南与风险提示
  • 成都悦享源科技有限公司 联系方式: 了解课程安排及费用明细表
  • SQL数据查询语句
  • 成都悦享源科技有限公司 联系方式: 家政职业教育服务联系指南与提醒