如何学习C语言?很容易,C语言从入门到入土,从长发飘飘到秃顶
在未来计算机专业讲又要迎来一批新生小鲜肉!C语言入门到入土,从长发飘飘到秃顶的老铁也越来越多,其中,想自学成才的也占了不少数;想笨鸟先飞的也占有不少数。
传说中的C语言就是那么刺激和高挑战
没有基础的人也可以直接学习,速度会慢一点
C语言上手可能不是很容易,首先你的花费一周时间掌握最基本的内容。(PS:没有基础的人也可以直接学习,速度会慢一点)
- 常用的基本数据类型(int,float,double,char)的使用,必然包含常用的输入和输出函数。
- 程序的三大结构学习:顺序结构,选择结构,循环结构。
- 模块化程序设计的函数了解下
你再花2周学习些:
- 指针
- 结构体
- 文件
此时,有些人就在简历中得意的自称\”会\”C语言了。
但是学到如此程度,在实际编程中会经常遇到挫折,主要源自理解不够深入,仅仅体验了一下C语言语法而已。
随意列举一些新手普遍存在的问题:
- 不了解C语言模块化设计,变量名, 指针概念含混。
- 更换编译器,程序出现怪异的结果。
- 怎样定义和声明C语言全局变量和函数最好?
- 在C语言中,一个结构不能包含指向自己的指针吗?
- 什么是C语言最好的代码布局风格?
- 为什么不能向接受const char **的函数传入char **?
- 用缩写“if(p)”检查空指针是否可靠?
- char *指针指向一些int变量,如何跳过?
- 怎样建立和理解非常复杂的声明?
师傅给我剃个光头
拥有某项技能的程序员的价值,可以用学习技能所需的成本来衡量。你用2周学习达到的这种程度,对于企业就是没有价值的,因为老板可以让一个公司里任意其他语言的程序员经过2-3周的学习就能达到你现在的程度。
C语言的 简洁紧凑、灵活方便。快速开发对项目有价值,但这不是你的价值,是C语言的价值。所以提高自身价值,也就是不让别人轻易追上你。以极低的成本替代你。
你只能快跑,进一步学习,C语言语言层面还需要学习下面一些内容:
- 1.C语言运行机制,编译过程。
- 2.C语言模块化思想。
- 3.深入理解C语言面向过程的设计思路。
- 4.C语言编程思维。
- 5.C语言文件同步操作
上述都是语言层面的,属于内功。实战中当然也需要一些更为具体的外功,训练外功可以从熟悉C语言标准库开始,这些模块能进入标准库说明他们足够好并且在实际项目中足够常用,列举一些极为常用的:
- 1.正则表达式
- 2.Socket网络编程
- 3.读取PE文件操作
- 4.进程内存查询与修改
- 5.常用的数据结构与算法
老板我要换种洗发水
无论练习内功或外功,结合实战都是最好的训练方式和检验手段,可以根据个人情况以及喜好选择,如:
- 网络编程借用第三方网站为跳板做实时信息查询.(例如身份证查询)
- 使用第三方库开发小游戏案列,例如推箱子,扫雷,连连看,消消乐
- 编写小应用,个人词典啊
- 使用C语言做算法题,ACM,还有各种地方的什么杯(飞机杯,罩杯)
- 使用C语言做数学建模或者数学计算
- 使用第三方库做终端模式的播放器
- OpenGL做图形处理
个人建议选择小项目进行实训,有些新手上来就想定一个大目标,做的时候很挫折,往往半途而废。把小东西先实现,然后优化。接下来添加新功能,慢慢迭代把小东西做大。这样在做的时候,每实现一个小功能你都会有成就感,激励继续前进。
可能经过比较漫长的一段时间,你成为了一个熟练的C语言小瘪三,还有些高级话题可以继续学习:
- windows编程
- Linux编程
- Qt框架编程
这些高级话题在开发中经常使用, 它们可以帮你更便利实现功能。
通常自称一个月光速学了会C语言的人基本都不是天才,只是浮躁,目标定的比较低而已,认知局限而已。不要太过急功近利,慢慢玩,精进。
当然啦,自学C语言想拔高精进大多都是困难的
- 没有良师讲解,有些知识点和技术没法消化
- 自身理解力不够,稍微高深一些的就看不懂了
- 还有的……
- 时间不够,自制力也不够
如果你基础比较差,不妨关注视频教程专栏教程《C语言51课视频教程合集片》:
通俗易懂,深入浅出,文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。
图文并茂,通俗易懂《C语言项目视频集锦》
世上唯一不能复制的是时间,唯一不能重演的是人生。该怎么走,过什么样的生活,全凭自己的选择和努力。
单片机入门必备知识,c语言基础来了
C语言是一种中级语言,易于移植,既具有高级语言的通用性及易写易读的特点,又具有汇编语言的\”位处理\”、“地址操作\”等能力,允许直接访问无力物理地址,能进行位运算操作,能实现汇编语言的大部分功能!
C语言的特点:
1.C语言是一种结构化语言
2.C语言语言简洁、紧凑,使用方便、灵活
C语言程序结构:
第一个C语言程序
main表示主函数,void为函数类型,每个程序必须有且只能有一个main函数,函数体(功能语句)放在{}中。
#include:表示明程序中用到C语言系统提供的标准
功能。
printf是C语言的输出函数,/**/为注释,增加程序可读性。一般情况下,C语言程序由5部分组合而成
1.文件包含部分(预处理部分)
2.变量说明部分
3.函数原型声明部分
4.主函数部分
5.自定义函数部分
不是每一个C语言程序都包含上面的5个部分,最简单的C语言程序可以只有文件包含和主体部分
重点来了,程序结构说明!
1. C语言程序可以由多个函数构成,但是只能有一个main函数,程序从main函数开始执行,然后通过函数调用完成部分功能,最后在main函数结束。
2. main函数位置任意,函数时C程序的基本单位
3.被调用的函数可以是系统提供的库函数,也可以是用户自己编制设计的函数,因为这种特点使得很容易实现程序的模块化。
一个函数由两部分组成:
函数说明部分:包括函数类型、函数名,形式参数类型、函数参数(形参)名
函数体:即函数说明部分下面{}中的部分,如果一个函数内有多个大括弧,则最外面的一对{}为函数体的范围
函数体通常包括:
1. 变量定义(声明),如:inta,a,b,c;
2.执行部分在某些情况下也可以没有变量定义部分,如:第一个C语言程序。甚至既无变量定义也无执行部分,如:
1 temp()
2 { }
他是一个空函数,什么也不干,但这是合法的。
每一条语句由分号结束
书写格式自由,一行可以写多句,一句可以写多行,但是要注意不要将字符串整体分开!!
大小写敏感,大小写不能混用,一般程序语句用小写字母,符号常量要用大写
C语言本身没有输入输出语句,输入输出的操作是由库函数scanf和printf等函数来完成的,C语言对输入输出实行函数化。
C语言程序的是怎么执行的?
1. C语言程序主要通过编译、链接后生成可加载模块(执行文件),才能在计算机上运行。
2. 完整的程序生成过程:
源代码→编译器→目标程序→连接器→载入模块→加载→执行程序
程序开发的具体步骤:
编译源程序:将C语言源程序用一个后缀为.c的文件保存。如:myfile.c
编译:检查源程序中的语法错误,生成目标代码文件(.obj)。如:myfile.obj
链接:将多个目标程序(包含C语言函数库)链接到一个程序中,生成可执行文件。如:myfile.exe
运行可执行文件,验证程序正确性。
C语言基本数据类型、运算符和表达式
C语言的数据类型
不同类型的数据在内存中占用的字节数是不同的,数据类型的长度和取值范围会随着机器的CPU类型和编译器的不同而不同。
无符号的整数指不带符号的整数,即零或正整数
储存有符号的整数时,储存单元的最高位是符号位,其余各位表示数值,储存无符号的整数时,储存单元的全部用于表示数值
标识符
1. 所使用的字符:字母、数字、下划线
2. 标识符只能由字母数字下划线组成,且第一个字符必须为字母或下划线关键
注:C语言中选用变量名、函数名等标识符时,不能与关键字发生冲突。
常量和符号常量
程序运行中其值可以改变的量为常量,存储输入数据,中间结果,最终结果
变量三要素:变量名称,变量的数据类型,变量的值。
变量的数据类型决定了他在内存中占据的储存单元个数,在储存单元中存放的数据即为变量的值!
变量的名字是标识符,C语言里面所有的名字都用标识符表示!
变量的基本操作:
将数值存入变量中,称为赋值
将变量中的值取出,称为取值
变量特性:喜新厌旧,取之不尽,变量必须先定义后使用!!
注意:在同一个作用域中,不要定义同名变量!!尽量避免定义与库函数名同名的变量!!
回复“入门资料”获取单片机入门到高级进阶教程
以上就是对c语言的一个基础入门知识的简单讲解,有想掌握各种c语言基础语法结构的朋友们关注我,每天更新一些小知识分享给大家
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。