C/C++复习笔记

一、数据类型
int //整型
short //短整型
char //字符数据
long //长整型
long long //更长整型
float //单精度浮点数
double //双精度浮点数
printf //打印内容 用法printf("%d\n",变量名)
sizeof() //用于计算()内数据大小,单位为byte = 8bit 1kb=1024byte
scanf() // 从键盘获取用户输入 格式scanf("%d %d", &c, &d);叫用户输入c和d
%d 整型 %f float %lf double
strlen(" ") 计算字符串长度
typedef //类型重定义 typedef unsigned int u_int 使得 unsigned int num 等价于 u_int num
define 为预处理指令,不是关键字
getchar()从键盘输入一个字符 putchar()打印出一个字符
getchar和scanf 并不是直接从键盘取数据而是从缓冲区取数据,如果上一次输入导致缓冲区还有元素则下一次输入会自动读取。
比较两个字符串的长度 **不能使用==**需要使用特定函数strcmp(字符串1,字符串2);若两个字符串相等返回的是0

二、变量,常量
int main() {} int a = 10 // 全局变量在{}外定义的相反在{}内定义为局部变量
全局变量与局部变量冲突时局部优先
1.作用域:变量所在{}的范围整个范围
2.跨文件使用全局变量需要用extern 声名, extern还可以跨文件声名函数
3.const //定义常变量 #define 定义常量
4.enum //枚举常量打印出来的值从0开始
5.字符串由" "扩起来的一堆字符,字符串在结尾处隐藏了一个\0
6.char arr1[] = “abc” 与 char arr2[] = {‘a’,‘b’,‘c’}不一样 需要在{‘a’,‘b’,‘c’,’\0’}
7.字符串的结束标志是\0,但在计算字符串长度时不算入在内
8.register 寄存器关键字 register int num = 10 作用将 num放入寄存器中
一般用在大量频繁使用的变量中
9.a++ 先用a的值,再加1 ,++a 先加1,再用a的值
10.static修饰的全局变量不能跨文件使用

三、函数,数组
1.计算一个数组的元素个数 int sz = sizeof(arr)/sizeof(arr[0]);
2.int a = 10; int b= ++a 最后a=11,b=11; ++a表示先讲a+1再赋给b a++先把值给b,a再自己加1
3.写自定义函数且没有返回值时,需要传入外部参数的地址,函数接口处用指针来定义
4.函数中的参数分为形参和实参,其中实参可以是:常量、变量、表达式、函数
5.函数调用分为传值调用和传址调用
6.数组传到函数内只有第一个变量的地址
7.函数不能嵌套定义只能嵌套调用,函数的链式访问就是把一个函数的返回值作为另外一个函数的参数。经典例子:printf("%d\n",printf("%d\n",printf("%d\n",43)))这个代码的结果是4321
8.函数的递归,将一个大型的问题层层化小变成一个类似的小问题,且递归存在限制条件,
9.在写递归时:

1.不能死递归,必须有跳出条件,且每次递归应该更逼近条件
2.递归层次不能太深

四、指针

int a = 10; int* pa = &a;其中&a为取a的地址,int* pa 指 a的类别为int 且将a的地址传给pa
而*pa = 20 就是指通过a的地址找到a并将a的值给改变

五、结构体

struct Stu			//结构体格式
{
	char  name[20];
	int age;
	double score;
};
怎么用:struct Stu s = {"老王"2085.5}//结构体初始化
结构体打印变量前需要加上. 例如s.name

六、分支语句
else 自动找离其最近的if进行匹配

switch语句例子   switch (int类型)
				{
					case 1:
					...
					case 2:
					...
					case 3:
					...
					default:
					...
					break;
				}

七、循环语句
while (表达式成立) 一直循环,在while循环中break可以永久的终止循环,在while循环中,continue的作用是跳过本次循环continue后边的代码。

int tmp =0;
while ((tmp = getchar()) != '\n')  //该循环可用于清理缓冲区中的多余字符
{};

do while 循环 格式 do { 语句 } while(条件); 该循环至少执行一次
利用go to 语句可以用来跳出多层嵌套循环如:

for()
		for()
		{	for()
			{
					if()
					go to error;
			}
         }
error:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值