全国做网站公司排名,家电网站建设方案,wordpress微信,wordpress是主流cms系统目录
一、软件使用
二、C基础规则补充
关键字
整型取值范围
浮点型取值范围
字符型使用规则
字符串型使用规则
布尔类型
常用的转义移字符
三、数组、函数、指针、结构体补充
1.数组
2.函数
声明#xff1a;
分文件编写#xff1a;
值传递#xff1a; 3.指…目录
一、软件使用
二、C基础规则补充
关键字
整型取值范围
浮点型取值范围
字符型使用规则
字符串型使用规则
布尔类型
常用的转义移字符
三、数组、函数、指针、结构体补充
1.数组
2.函数
声明
分文件编写
值传递 3.指针
空指针
野指针
利用指针访问数组中的元素
利用指针在函数修改实参的值
地址传递
const修饰指针
1const修饰指针--常量指针 2const修饰常量--指针常量 3const既修饰指针又修饰常量
以冒泡排序为例三者的结合应用
4.结构体
结构体嵌套
结构体做函数参数
结构体const使用场景
四、C语句及函数
三目运算符 switch语句
goto语句
system(pause)的使用
sizeof()的使用
stoi( )函数 一、软件使用
Visual Studio
打开在右侧的管理器源代码下创建文件 二、C基础规则补充
关键字
定义常量变量标识符不可使用关键字作名字
标识符字母区分大小写 整型取值范围
short1*10^4
int1*10^9
long long1*10^19
以上为约数
浮点型取值范围
float7位有效数字
double15位有效数字
字符型使用规则
1用单引号将字符括起来
2单引号中只能有一个字符不能是字符串
3其实际上储存的是字符的ASCII码
char name a;
字符串型使用规则
加头文件#includestring
布尔类型
true为1false为0
bool a true;
cout a;
输出结果为1
常用的转义移字符
\\输出\
\t水平制表符一共占8个位置不满用空格补齐
主要为了整齐的输入数据
cout aa\t123 endl;
cout aaa\t123 endl;
cout aaaa\t123 endl; 三、数组、函数、指针、结构体补充
1.数组 直接输出数组名可以查看数组的首地址
若想具体查看其中某一个具体元素的地址则在输出的时候前加 取址符
2.函数
声明
函数的声明可以写多次但定义只有一次
声明即为函数的第一行
分文件编写 值传递
即在函数调用时实参将数值传入给形参
值传递时如果形参发生改变并不会影响实参
比如在写到交换函数时会存在这样的错误写法
#includeiostream
using namespace std;
void swap(int x, int y)
{int f x;x y;y f;
}
int main()
{int a 10;int b 20;swap(a, b);cout a b;return 0;
}
这时运行结果输出的ab的值并没有发生交换
原因在于形参只在函数内有用当实参传递值给形参时形参只是作为实参的临时拷贝 值传递时并没有改变实参。改变值需要传递地址进行调用使函数内部可以操纵函数外部的变量
如果函数不需要返回值声明可以写void且可以不写return 3.指针
通过指针间接访问内存
int a 10;
int * p;
p a;
*p 1000;
这里输出p为a的地址
在指针前加*代表解引用找到指针指向的内存中的数据
空指针
指针变量指向内存中编号为0的空间
用途初始化指针变量
空指针指向的内存不可访问(0~255之间的内存编号是系统占用的)
int * pNULL;
野指针 指针变量指向非法的内存空间一种错误
空指针和野指针都不是用户申请的空间不要进行访问
利用指针访问数组中的元素
int a[10] { 1,2,3,4,5,6,7,8,9,10 };
int* p a;//a就是数组的首地址
cout *p endl;//访问第一个元素
p;//让指针向后偏移四个字节
cout *p endl;//访问第二个元素
return 0;
利用指针在函数修改实参的值
地址传递
#includeiostream
using namespace std;
void swap(int *x, int *y)
{int f *x;*x *y;*y f;
}
int main()
{int a 10;int b 20;swap(a,b);cout a b;return 0;
}
const修饰指针
分三种情况
1const修饰指针--常量指针
指针的指向可以改指针指向的值不可以改
const int * p a; 2const修饰常量--指针常量
指针的指向不可以改指针指向的值可以改
int * const p a; 3const既修饰指针又修饰常量
指针的指向指针指向的值都可以改
const int * const p a;
以冒泡排序为例三者的结合应用
#includeiostream
using namespace std;
void Paixu(int*a, int len)
{for (int i 0; i len - 1; i){for (int j 0; j len - 1 - i; j){if (a[j] a[j 1]){int f a[j];a[j] a[j 1];a[j 1] f;}}}
}
void Prin(int* a, int len)
{for (int i 0; i len; i){cout a[i];}
}
int main()
{int a[10] { 4,3,6,9,1,2,10,8,7,5 };int len sizeof(a) / sizeof(a[0]);Paixu(a, len);Prin(a, len);return 0;
}
4.结构体
#includeiostream
using namespace std;struct Student
{string name;int age;double score;
}stu;//stu作为结构体变量给结构体赋初始值
int main()
{
//方法一stu.name 小明;stu.age 18;stu.score 99.7;
//方法二struct Student stu[3] {{ 小七, 19, 100},{ 小可, 23, 90 },{ 小时, 18, 80 }};
//方法三结构体指针Student* p stu[0];cout p-age;return 0;
}
结构体嵌套 赋值时结构体变量1.结构体变量2
结构体做函数参数
构造函数
//值传递
void printStudent1(struct Student stu)
{//cout......
}
//地址传递
void printStudent2(struct Student* p)
{//cout......
} 传递
//值传递
printStudent1(stu);
//地址传递
printStudent2(stu); 结构体const使用场景
在使用函数对结构体进行地址传递时在函数中误改结构体中的值会影响到实参本身当在函数中对传递的指针使用const则使函数无法影响实参。
void printStudent(const Student *stu)
{//cout....
}
四、C语句及函数
三目运算符
格式表达式1?表达式2:表达式3
如果表达式1成立则执行表达式2不成立则执行表达式3
其返回的变量可以继续赋值 switch语句
执行多条件分支语句
格式switch表达式 { case 结果1执行语句break ……………… default执行语句break前面的都不符合 }
goto语句
无条件跳转语句
格式goto 标记
即如果标记名称存在在执行到goto语句时会跳转到标记的位置 system(pause)的使用
1通常用于在命令行窗口中暂停程序的执行等待用户按下任意键继续
2目的在于在程序执行完毕后保持命令行窗口打开以便用户能够查看程序的输出结果
sizeof()的使用
显示数据类型占用内存的大小字节
括号里放数据类型或变量
常用于求数组中元素的个数
int num[5] { 1,2,3,4,5 };
int a sizeof(num);
int b sizeof(num[0]);
int sum sizeof(num) / sizeof(num[0]); stoi( )函数
Ⅰ.在头文件#includestring中
Ⅱ.其作用将数字字符串转化为int输出可自动去除前导0
Ⅲ.存在范围限制int