1.很多学生想学C语言,却学不会,是方法不对!
2.网上的讲方法的资料很多,都是纸上谈兵
3.计算机的知识晦涩难懂,不容易自学
1. 选择工具 —— VS2019
1.VS2019是集成开发环境,对新手友好,不要配置环境,上手就可以使用
2.VS2019是主流的集成开发环境,企业中使用率比较高
2.怎么学习C语言?
(1)必须实践 --- 敲代码
学习语法
如if的语法:
#include<stdio.h>
int main()
{
int a = 35;
if(a > 18)
printf("你成年了\n");
getchar();
return 0;
}
方法:①看书:《明解C语言-入门版》
在线试读:图灵社区
习题参考答案:VividColors-CSDN博客
《C语言程序设计现代方法》
在线试读:图灵社区
②听网课(笔者推荐)
③动手写一些代码:模仿--自己上手(借鉴思路,不是抄写,思维和解决方法很重要)
比如:求10个整数的较大值:
//求10个整数的较大值
#include<stdio.h>
int main()
{
int arr[10] = {0};
/*int arr[10]:声明了一个名为arr的整型数组,
//= {0}:这部分是对数组进行初始化的操作。大括号{}中包含了初始化值。
在这个例子中,大括号里只有一个值0,这意味着数组的所有元素都将被初始化为0。
如果初始化列表中的值的数量少于数组的元素数量,那么未明确初始化的元素将自动被初始化为该类型的默认值。
对于整型(int),默认值也是0。
//这行代码创建了一个包含10个元素的整型数组,名为arr,并将所有元素的值都设置为0 */
int i = 0;
for(i = 0;i < 10;i++)
{
scanf("%d",&arr[i]);
}
//输入10个数
int max = arr[0]; // 初始化max为数组的第一个元素
for(i = 1;i < 10;i++)
{
if(max<arr[i])
{
max = arr[i]; // 更新max的值
}
}
printf("max = %d\n",max);
return 0;
}
自主实践:求10个整数的平均值
笔者尝试:
#include<stdio.h>
int main()
{
int arr[10];
int i = 0;
int sum = 0;
int ave = 0;
for(i = 0;i < 10;i++)
{
scanf("%d",&arr[i]);
sum = sum + arr[i];
}
avg = sum / 10;
printf("average = %d\n",avg);
return 0;
}
(2)必须画图理解内存布局
C语言是一门偏底层的语言,可以直接操作(访问)内存的
所以我们要清楚的知道,写出的代码所对应的内存布局
比如:(若部分还未学到,可以保存等学到该部分再问自己来巩固)
局部变量创建在哪里?
数组是怎么创建的,随着下标的增长地址是怎么变化的?
一维数组、二维数组在内存中的布局是怎样的?
指针和内存的关系是啥?
指针和数组的关系是啥?怎么通过指针访问数组?
怎么通过指针访问任意内存?
函数的调用逻辑?
函数是怎么传递参数的?
实际参数和形式参数的关系是怎么样的?
函数调用的栈帧是怎么创建和销毁的?
函数递归是怎么调研的?
全局变量、静态变量?
动态内存开辟都是那些区域?
柔性数组是怎么样的?
可变参数是怎么实现的?
(3)调试、调试、还是调试 (打开监视,一次一次按F10)
学会调试就是锻炼自己心中有数的能力。
写代码前有清晰的思路,写代码后运行正确,是我们期望的。
有时候,还是会因为逻辑复杂,出了问题,这时候就得借助于调试,找出代码的问题,
在初学时,调试帮我们更好的理解代码的运行逻辑。
在学成后,调试有助于我们找出代码中的BUG