知识分享:C语言知识干货系列——基础篇

时间:2022-10-09 17:11:40 | 浏览:1968

文章来源:博客园丨 CharmchinC 语言的特点C 语言程序设计就是结构化程序设计,它的主要观点是采用自顶向下、逐步细分和模块化的程序设计方法,使用顺序、选择、循环三种基本控制结构来构造程序。世间万物都有两面性,C 语言既有简洁性、灵活

文章来源:博客园丨 Charmchin

C 语言的特点

C 语言程序设计就是结构化程序设计,它的主要观点是采用自顶向下、逐步细分和模块化的程序设计方法,使用顺序、选择、循环三种基本控制结构来构造程序。

世间万物都有两面性,C 语言既有简洁性、灵活性、高效性等优点,又有如 若标识命名不得体,代码编排不规范,使用了野指针,出现内存泄漏等情况就会使得它原本的优点变成糟糕的缺点。

为何学习C 语言

我们天天使用的操作系统,数据库,游戏引擎等大多都是使用C 语言实现的,还有很多经典算法、框架也是用C语言来编写的。除此之外,在已经进入了“物联网”时代,嵌入式开发已经非常广泛,学好C 语言也是为嵌入式开发打基础的。同时只有当我们懂得了C语言面向过程的结构化程序设计后,当我们在继续学习其他像Java 这样基于面向对象思想的语言时,我们才能更好地真正理解它。

C 语言基础

1,基本数据类型

C 语言里面有不少数据类型,这里先建议大家从最简单的三类基本数据类型开始了解:整型、实型与字符型。

2,常量与变量

从名字上我们就可以看出他们之间是互斥的关系。“常”有恒久的意思,即在C 语言中能够保持恒久不变的量就叫做常量,反之,若其值能够发生变化的量就称为变量。

常见的「常量」有:整型常量、实型常量、字符常量、字符串常量等;「变量」与常量除了其值是否能发生变化之外,两者之间的形态也有所不同。常量通常以值的形式存在,而变量看上去却像一个“容器”。不同类型的变量就像不同大小的“容器”,里面可以放置不同类型和大小的数据。

3,C 语言运算符

什么是运算符呢?当然是能进行相关运算的一些符号啦!就像小学数学里所学到的“+、-、×、÷”四则运算符。C语言中还有大量的运算符,这些运算符若从所需要的操作数个数上看,可分为一目、二目和三目运算符。例如赋值运算符,它需要左右两个操作数,所以它就是二目运算符;对于用作说明一个数是正数还是负数的正号运算符“+”和负号运算符“–”,由于它只需要一个操作数,所以它就是一目运算符!至于三目运算符,就是同时需要三个操作数了。其实C语言中只有一个三目运算符,物以稀为贵,下面就重点说一下~

不过先提醒一句,C语言中的所有运算符都需要使用英文字符,千万不要使用中文的标点符号了(初学者常犯的错误)。

那这个运算符如何使用呢?简单地说就是,根据操作数1 是真是假这个条件,来决定结果是操作数2还是操作数3,二者必选其一。如下例:

4,标准 I/O 函数

一个好的程序应该会将运行的状态和执行的结果以信息的形式告知用户,甚至在某些情况下会要求得到用户的特定信息,这种与程序进行交流的行为就称为交互。

我们把一个程序获取用户的信息称为程序的输入,将信息告知用户称为程序的输出,拥有这种功能的函数就称为I/O函数(Input/Output),即输入/输出函数。如果是通过控制台窗口来完成这些I/O操作的,即为标准I/O函数,C语言中有许多标准I/O函数,其中使用最广泛、功能最强大的是printf函数和scanf函数了。

C 语言流程控制

大家是否记得这样一个经典小品呢?是有关脑筋急转弯的,其中有宋丹丹问赵本山:“把大象装进冰箱需要几步?”。赵本山顿时一懵,答不出来,宋丹丹笑着说:“只需要3 步:第一步打开冰箱门,第二步把大象装进去,第三步把冰箱门关上。” 惹得观众哄堂大笑····

为了简单起见,下面直接通过简单的实例来体会如下3 种结构: 顺序结构、分支结构和循环结构。

1,顺序结构

顺序结构是最简单的一种流程结构,它采用自上而下的方式逐条执行语句。如下:

2,分支结构

C 语言的分支结构可以控制程序的部分流程是否被执行,或是从多条执行路径中选择一条来执行。

用另外一种分支语句(switch...case) 来实现:

3,循环结构

循环结构平常用得比较多,下面就列举循环结构样式:

函数

就跟玩积木一样,一座壮观的城堡是有许多块不同的小积木搭成的,一个大的程序也是由若干个小的子程序构成的,这种以大化小、化整为零的程序设计过程就是模块化,而那一个个模块就是我们这里所说的主角—— 函数。

1,函数的定义

就像变量在使用前是要定义的一样,函数在使用前也是需要定义的。函数的定义格式如下:

关于自定义函数的两个注意点:

在c 语言中,函数是不允许嵌套定义的,即不能在一个函数中定义另外一个函数,所有的函数都是平行关系、平等的地位。但可以在一个函数中调用另外一个函数。

特别需要注意你定义的函数所在的位置,如果函数的定义是在函数调用代码之后我们还要进行函数声明,否则在编译时会报错。

2,函数的分类

从函数的撰写者的角度,可以把函数分为库函数和自定义函数;从有无返回值的角度,可以分为有返回值函数和无返回值函数;而从函数有无参数的角度,还可以把函数分为有参函数和无参函数。

上面说的这些基本就是些简单的概念,写出来的唯一作用就是提醒大家回想一下,加之篇幅限制,所以这里就不在给出具体实例进行分析了~~~

3,递归调用与递归函数

递归调用的原理很简单,就是函数的自身调用。他其实是一种特殊的函数嵌套调用。为了防止死递归的发生,需要有效地控制递归调用,那怎样才能让死递归调用终止呢?那只有依靠我们的老朋友——return 语句了呀~

那下面我们自己编写一个递归函数实现一个求和的小功能吧

4,库函数

如求幂、平方根、三角函数等我们就可以调用c 语言的数学库函数即可,只需要包含一个"math.h" 这个头文件,就可以使用这些和数学有关的函数啦。类似的还有"时间函数"、"随机数函数"、"字符处理函数"(包含“ctype.h"头文件) 等等。

C 标准库中的函数有几百个之多,更多的函数需要我们在编程中自己去学习和研究。毕竟库函数都是大师们的精华之作,经历了千锤百炼,多多熟悉和掌握它们,我们会受益匪浅的 ~ ~

持续分享中······

写在最后:对于准备学习C/C++编程的小伙伴,如果你想更好的提升你的编程核心能力(内功)不妨从现在开始!

编程学习书籍分享:

编程学习视频分享:

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

对于C/C++感兴趣可以关注小编在后台私信我:【编程交流】一起来学习哦!可以领取一些C/C++的项目学习视频资料哦!已经设置好了关键词自动回复,自动领取就好了!

相关资讯

终于升级?89年的Linux内核C语言“跟上时代”转成现代C

整理 | 章雨铭 责编 | 屠敏出品 | CSDN(ID:CSDNnews)上周《LINUX设备驱动程序第三版》的第一作者、LWN网络杂志创始人兼主编Jonathan Corbet发表了对于Linux内核的一些看法,他认为虽然内核项目总体发

学习嵌入式开发之C语言基础知识

学习嵌入式开发之C语言基础知识1 C语言简介C语言是一门面向过程的计算机编程语言,具有可读性好、易于调试、修改和移植,而代码质量与汇编语言相当;目前绝大数的嵌入式程序开发基本上都是采用C语言进行编写的。因此我们想要学好嵌入式就必须要先掌握C

C语言:一种高效、易学的编程语言

C语言是一种通用的程序设计语言。它同UNIX系统之间具有非常密切的关系。C语言是在UNIX系统上开发的,且无论是UNIX系统本身还是其上运行的大部分程序,都是C语言编写的。但是C语言并不受限于任何一种操作系统或机器。由于C语言使用用来编写编

计算机C语言好学吗?要是想自学应该怎么办?大学挂科赶紧恶补

C语言放在之前都是必备的基础语言,由于指针的存在很多人觉得C语言是一门特别难编程语言,放在十年前C语言是学习编程的必备语言,但整个软件行业发展趋势,趋向于高度集成化,所以编程语言集成度越来越高,目前非常流行的编程语言都高度集成化的编程语言。

笑哭,原来C语言还有这些作用!程序员你知道吗?

随着互联网的发展以及编程技术的不断更新,编程语言的种类也是越来越多,甚至现在的话针对每一个互联网的领域,都有不同的适合它的编程语言。不同的语言是为了实现不同的目标而设计的。不过无论你是一个有经验的程序员,还是你是这个编程网络中的新手,有一

「必读」超全的C语言基础知识大全

学习资料:

学习编程,为什么98%的程序员都会从C语言开始?C语言这么强?

在互联网蓬勃发展的时代,有一类人做出了巨大的贡献,这一群人被大家称之为程序员,怎样才能成为一名优秀的程序员呢,为什么每一个程序员都需要学习C语言呢?就让我来跟大家分享分享:第一:相比较其他的编程语言(像C++,JAVA),C语言是个低级语言

程序员都要学C语言,因为它是编程基础语言吗?原因你意想不到

随着互联网的发展以及编程技术的不断更新,编程语言的种类也是越来越多,甚至现在的话针对每一个互联网的领域,都有不同的适合它的编程语言。不同的语言是为了实现不同的目标而设计的。不过无论你是一个有经验的程序员,还是你是这个编程网络中的新手,有一

Quora热议:如果有强大的C++编译器,请不要使用C语言

如果手头有一个强大的C++编译器,切勿使用C。如果需要,可以使用禁止C++的所有功能的编码约定,包括标准C ++库,异常,RTTI以及C++符号修饰。但是,C++具有许多可以编写代码的功能。更具可读性…无需额外费用,更易于维护...无需额外

既然C++能做C语言大部分事情,为什么C++不能淘汰C语言

原文链接:https://baijiahao.baidu.com/s?id=1693215018575246509这是一个复杂的问题,结合在一起:事实,过时的事实,夸大的说法和根深蒂固的未经证实的信念。事实:-学习C比C ++容易得多:一个

友情链接

SEO域名抢注宝宝起名网妈妈知道币圈东鹏瓷砖资讯网登山运动网奶茶培训网芬迪奢侈品贵州旅游网于文文歌迷网羽毛球运动网马嘉祺歌迷网斯洛文尼亚旅游网巴塞罗那旅游网租车网雅培奶粉评价网攀枝花今日新闻网iphone资讯网千里达自行车
c语言中文官网-零基础c++从入门到精通pdf、c语言编译器、C/C++开发工具、c语言入门自学零基础、c++入门自学、c/c++软件下载、c语言编程软件、c语言自学免费网站、c语言零基础自学视频教程、c++手机编程软件、c语言入门程序设计、初级编程视频教程、c语言在线编程平台、C语言线上作业网站。
c语言中文官网 chuxinxin.cn ©2022-2028版权所有