练习写代码求解简单问题
1.模仿写代码,得有自己的思路
2.不能完全照抄,思考语法逻辑
代码1:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//求10个整数中的最大值
//1.定义10个整数 数组
//2.找10个整数中的最大值 for if 比较
//3.输出这个最大值
int main()
{
int arr[10] = { 0 };
int i = 0;
int max = 0;
for (i = 0;i < 10; i++)
{
scanf("%d",&arr[i]);
max = arr[0];
}
//在数组中输入10个整数
for (i = 1; i < 10; i++)
{
if (max<arr[i])
{
max = arr[i];
}
}
//在10个整数中找最大值,先定义一个max 之后在数组内循环比较
printf("max=%d\n", max);
//格式化输出,注意引用头文件
return 0;
}
运行结果:
代码2
//求10个整数的平均值
//1,定义10个整数,用数组
//2.求10个整数的和,除以10
//3.输出
int main()
{
int arr[10] = { 0 };
int i = 0;
float sum = 0;
float avg = 0;
for (i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
sum = sum + arr[i];
}
avg = sum / 10;
printf("avg=%f\n",avg);
return 0;
}
//要想要avg为小数,需定义avg为浮点数,同样sum也要定义为浮点数
运行结果:
多实践 牛客网 PAT
必须画图理解,内存布局
C语言是一门偏底层的语言,可以直接操作访问内存的
所以我们要清楚的知道,写出的代码所对应的内存布局
比如:
1.局部变量创建在哪里
2.数组是怎么创建的,随着下标的增长地址是怎么变化的?
3.一维数组、二维数组在内存中的布局是怎么样的?
4.指针和内存的关系是啥?
5.指针和数组的关系是啥?
6.怎么通过指针访问任意内存
7.函数的调用逻辑
8.函数是怎么传递参数的
9.实际参数和形式参数的关系是怎么样的
10.函数调用的栈帧是怎么创建和销毁的
11.函数递归是怎么调研的
12.全局变量、静态变量、动态内存开辟都是那些区域
13.柔性数组是怎么样的
14.可变参数是怎么实现的
调试 调试 还是调试
VS环境调试技巧(分享)
https://www.bilibili.com/ideo/BV1U44y1y7xN?p=85