学习回顾
-
a++ 当表达式结束之后再+1
++a 先+1再运算
++不同位置的区别.png
-
数据类型转换
隐形转换:当两种不同类型出现,类型自动从低到高转换
char->int
->float->double
->long
强制转换:
float bi=23.6;
int a3=b1;
int a3=int(b1); -
swich函数值进行判断只能用整形或者字符
-
.自定义头文件.h和实现文件.c
.h函数的声明 变量的声明(不能赋值)
可以将函数的声明和实现分离开来
封装:封装某些功能 便于移植==方便下次使用
①创建.h文件 *** 声明函数\暴露接口给外人使用
②创建.c文件 *** 函数的具体实现\不暴露给外部
③在.c文件里面导入.h文件
④在相同的地方导入.h文件即可多次利用
ps.尽量让对应的.h和.c文件名相同
头文件的相互引用可能会报错(进行循环) 解决方法:使用宏定义
#ifndef ATM_HHHHHHHHHHHH
#define ATM_HHHHHHHHHHHH
#endif 解决成功
- .宏定义(#define)
①给特定的数值一个特定的意义
②一般全部大写
③便于管理
④也可定义表达式
#if 0
#define Log(x) printf(x)
#else
#define Log(x)
#endif
数组
基本数据类型:只能存储一个数据(int float double long char bool)
- 数组:
需要存储多个同种类型的数据
①能够存储数据 就必须要有内存
②如何定义一个数组的同时 为它分配内存空间
③数组定义是必须明确知道数组的大小
a.初始化几个就是几个
b.在定义时明确指定数组的大小
c.明确指定大小 并且初始化部分数据
④数组的名字就是数组的首地址(第一个元素的地址)
#include <iostream>
int main()
{
//定义一个数组 里面存的都是float的值 可以存4个数据
float score[] = { 123,125,434,568 };
score[0];
//访问第一个元素的值 0.....n-1 从0开始
&score[0];
//使用%p打印地址 两个地址相同
printf("%p\n", &score[0]);
printf("%p", score);
}
- 如何使用数组:
1.访问 通过下标来访问 0 -> (n-1)
2.赋值
用数组计算1~100相加的值
- 使用while循环
#include <iostream>
int main(){
int num[100];
int i=0;
int sum = 0;
while (i<100)
{
num[i] = i + 1;
sum += num[i];
i++;
}
printf("sum = %d\n", sum);
}
- 使用for循环
#include <iostream>
intmain(){
int num[100];
int i;
int sum = 0;
for (i = 0; i < 100; i++) {
num[i] = i + 1;
sum += num[i];
}
printf("sum = %d", sum);
}
将十进制转换成二进制
- 搞清楚二进制的转换关系
- 打印数组时只可使用循环一个一个数打印不能将整个数组同时打出
- 一个数据需要同时进行两个操作时 先用另一个数据对其进行保存
#include <iostream>
int main()
{
int num;
printf("请输入数字:");
scanf_s("%d", &num);
int i = 0;
int score[20];
int temp=num;
printf("转换为二进制:");
while (temp != 0)
{
score[i] = temp % 2;
temp = temp / 2;
i++;
}
int j;
for (j = i-1; j >= 0; j--) {
printf("%d", score[j]);
}
}
PS.
- 经过函数进入数组有种刚上刀山又下火海的感觉,感觉每一项掌握的都不是很熟练,可能是应用练习的太少,要将休息的一天抽出时间用于练习了,能发现自己的不足终究是好的。读过一些文章,有些程序猿在吃饭洗澡这种无意识的闲暇时间也能够思考代码上的问题,我觉得这是一种很棒的能力,希望自己有朝一日能到达这个地步(用头发换也行)
- 最近上课精神不是太好,整体状态不佳,争取做到多读书多看报少吃零食多睡觉
后悔情绪的本质,是对自身实力的一种高估——《b乎》
网友评论