想学习C语言,却学不会,网上的方法资料很多,大多是纸上谈兵。计算机的知识晦涩难懂,不容易自学,这次来用屠龙术学习吧!
1.工欲善其事,必须安利其器:选择vs2019,vs2019是集成开发环境,对新手友好,不用配置环境,上手就可以使用,VS2019是主流的集成开发环境,企业中使用率比较高vs2019的缺点就是:大,占用空间大,不过这个不是很大的问题。在百度自己搜索下载。为什么不用其他编译器?为什么不是vc6.0,这个编译器是98年的软件了,老旧而且不兼容。为什么Dev C++,这个软件1-多年前已经停止更新了,敲出来的代码不美观,不便于好的代码风格的养成。codeblocks,不主流,需要配置环境,不适合初学者。vscode也需要配置环境,很多初学者,仅仅是配置就放弃了如果要是配置c++也是需要去配置的。单单是指就放弃了。这就叫从入门到放弃。
学会一个、学好一个、把它系统的学会未来学会其他东西可能更加容易一些!至少把一个主流的编译器一定要用好吧!学一个,刚开始不要过于复杂。如果你是大佬,你也可以使用gcc,clang来学习C语言。建议使用vs2019编译器来学习C语言。
怎么学习C语言?第一条军规:必须实践+敲代码。第二条军规:必须画图理解,内存布局。第三条军规:调试,调试,还是调试。
第一条军规:必须实践-调代码。1.学习语法:语法就是规则,告诉你怎么来写出C语言的代码;假如:我吃饭 和 我饭吃 就定了什么可以做,什么不可以做。
int a = 10;
//c语言在书写的时候语法就规定if语句必须加()圆括号,圆括号里面放的是一个表达式,拿它(a>10)来判断的,圆括号不能省略,这就是语法规定。
学习语法的时候我们一定要实践,
/*if (a > 10)
printf("hello\n",a);*/
for()
{
//在学语法的时间一定要去时间,一定要写一写有感觉得东西,小的程序。
}
2.学习语法的方法:选择一本书学习语法(明解C语言 入门篇)按照书中介绍的语法,去学习,验证,掌握语法~,C语言程序设计现代方法。找一套靠谱的视频学习:鹏的C语言教程(分享):https://www.bilibili.com/video/BV1U44y1y7xN/。如果有视频一定是比书好的。书作为一个补充。3.动手写一些代码:想要掌握和巩固语法,动手写代码就是必须的。那具体怎么开始呢?模仿阶段(不是抄写)前期不是很熟练的时候,就去找别人优秀的代码去模仿。也可以模仿书上的代码。模仿不是抄写,抄写是没有意义的。A.理解别人实现代码的思路,理清别人代码的思路。B.不看别人的代码,按照别人的思路,按照语法写代码。比如:求10个整数的较大值!不要写很差的代码,别把自己写废了。自己上手写代码。#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
//求10个整数的较大值
int arr[10] = { 0 };
//输入10个数字
int i = 0;
//i在for循环里面是局部变量,除了循环后局部变量就失效了
for (i = 0; i < 10; i++) {
//arr[i]是我们的数组元素,scanf是一个输入函数,输入一个数字,scanf有规定arr[i]这里必须加地址加上地址符&arr[i]
scanf("%d",&arr[i]);
}
//找最大值
int max = arr[0];//下标是0,指第一个数值.假设它是最大值
//拿剩下的元素和max比较,如果找到比max大的值,那就更新max
for (i=1;i<10;i++)
{
//用i和最大值比,如果i大于max值就把i作为最大值
if (arr[i] > max)
{
max = arr[i];
}
}
//输出,打印
for (i = 0; i < 10; i++)
{
//打印输入的数字
printf("%d ",arr[i]);
}
//打印最大值
printf("max=%d\n ",max);
return 0;
}
//首先看明白别人代码的思路(输入,查找,输出):1.输入用了循环,查找用了循环和比较,输出用了循环2.数组的访问是下标,下标是0开始的,数组按照下标访问使用[]3.for循环的书写中使用分号。4.C语言代码从main函数开始-主函数的写法5.如果有打印的话,得使用什么头文件
自主学习阶段:慢慢建立自己解决问题的思路,例如:求10个整数的平均值。梳理思路:1.输入10个数,使用循环,存储数字可以使用素组。2.求10个数的和并算出平均值。3.输出结果,得使用库函数,包含头文件。写代码:1.main函数写出来2.创建数组3.循环输入4.循环求和并计算平均值5.输出。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//求10个整数的平均值。
int main()
{
//存储
//建立一个数组,简单初始化一下
int arr[10] = { 0 };
//输入
int i = 0;
for (i = 0; i < 10; i++)
{
//输入
scanf("%d", &arr[i]);
}
//循环,算出它的平均值
int sum = 0;
for (i = 0; i < 10; i++)
{
sum = arr[i] + sum;
}
//求平均值
int avg = sum / 10;
//打印
printf("ping=%d\n", avg);
return 0;
}
多写,多刷题才是解药!!!入门(分享):牛客网入门:https://www.nowcoder.com/ta/beginner-programmers PTA:https://pintia.cn/problem-sets/9948050046380707840/problems/type/7 进阶(分享):牛客网进阶刷题:https://www.nowcoder.com/activity/oj 力扣:https://leetcode-cn.com/
有了基本功的代码能力,可以写一写,小项目,更有成就感~比如:三子棋(分享):https://www.bilibili.com/video/BV1U44y1y7xN?p=61 扫雷(分享):https://wwww.bilibili.com/video/BV1U44y1y7xN?p=64 --一步步带你分析,梳理,最终实现