欧易

欧易(OKX)

国内用户最喜爱的合约交易所

火币

火币(HTX )

全球知名的比特币交易所

币安

币安(Binance)

全球用户最多的交易所

「期末考试」一篇文章带你系统回顾C语言,轻松应对考试

时间:2022-10-09 17:10:21 | 浏览:1802

前言c 语言是一种底层语言,是一种系统底层级的语言,例如Windows、Linux、Unix等操作系统就是使用c语言编写的。所以由此看来,不论是火爆的Java,还是近年来愈来愈流行的Python,它们虽外表光鲜亮丽,但c语言就是内在的灵魂,

前言

c 语言是一种底层语言,是一种系统底层级的语言,例如Windows、Linux、Unix等操作系统就是使用c语言编写的。所以由此看来,不论是火爆的Java,还是近年来愈来愈流行的Python,它们虽外表光鲜亮丽,但c语言就是内在的灵魂,朴实无华。

c 语言特性

c 语言既然这么重要,但是它有什么值得我们去学的地方呢?难道我们就因为听到别人说它重要我们才去学习吗?我想我们更加在意的是学完我们能掌握些什么,能让我们获得什么。

c 语言的设计

c 语言是1972年,贝尔实验室在开发Unix操作系统是设计了c 语言。c 语言是一门流行的语言,它把计算机科学理论和工程实践完美的融合在一起,使用户能够完成模块化的编程和设计。

c 语言具有高效性

c 语言是一门高效的语言,它被设计用来充分发挥计算机的优势,因此c 语言程序运行速度很快,c 语言能够合理的通过操纵内存来获取最大的运行速度。

c 语言的可移植性

顾名思义,可移植性就意味着,对于在一台计算机上编写的c语言程序可以在另外一台计算机上轻松地运行,从而极大的减少了程序移植的工作量。

c 语言特点

简洁:因为c语言设计更加靠近底层,因此不需要有像Java、c# 等高级语言才有的特性,程序的编写要求不是很严格。

结构化:它提供的控制语句具有结构化特征,如for循环、if.... else 判断语句和switch语句等。

数据类型丰富:不仅有传统的字符型、整形、浮点型、数组 类型等数据类型,还有其他编程语言没有的数据类型,例如指针。

c 语言能够直接对内存地址进行读写,因此可以实现汇编语言的主要功能,并直接可以操作硬件。

c 语言速率快,生成的目标代码执行效率高。

下面着重整理下c 语言知识点

程序的环境和预处理

环境

环境分为执行环境和翻译环境——预编译、编译、汇编、链接;

预处理

预定义符号:

_ FILE _ //进行编译的源文件

_ LINE _ //文件当前的行号

_ DATE _ //文件被编译的日期

_ TIME _ //文件被编译的时间

_ STDC _ //如果编译器遵循ANSI C,其值为1,否则未定义

数据

数据类型

整形:

(1)char:

unsigned char , signed char;

(2)short:

unsigned short [int]

signer short [int]

(3)int :

unsigned int

signed int

(4)long :

unsigned long [int]

signed long [int]

浮点型:

(1)单精度浮点型:float

(2)双精度浮点型:double

构造类型:

(1)数据类型

(2)结构体类型 struct

(3)枚举类型 enum

(4)联合类型 union

指针类型:

空类型;存储类型

整形:在内存中存放的是补码

常量变量

常量

常量分为:字面常量、const定义的常量、#define定义的标识符常量、枚举常量。

变量

变量需要注意变量的命名规则,变量的初始化和赋值、以及根据是否有static修饰分为:全局变量和局部变量。

作用域

作用域分为:代码块作用域、文件作用域、原型作用域、函数作用域。

链接属性

至于这个概念我们应该基本了解什么是外部链接属性,什么是内部链接属性以及什么是无属性即可。

语句

表达式语句:在表达式结尾加上分号称之为表达式语句;

循环语句:例如while语句,do .... while 语句,for 语句,以及 break 和 continue 的用法;

分支语句:if 语句,switch 语句,goto 语句(少用);

空语句(特别注意):只有一个分号的语句,不执行任何操作的语句。

操作符

操作符在实际编程中用到的也比较多,在这里仅仅采用提示性的方式列举一部分。

算术运算符:(+ - * / %)、移位操作符(<< 左移 ; >> 右移)、 位操作符(& 按位与,| 按位或 ,^ 按位异或)、 赋值操作符( = )、 复合操作符(+= , -= ,*= ,/= ,%=,>>=,<<= ,&=,|=,^=,)。

单目运算符的回顾

逻辑反操作(!)、负 值(-)、正值(+)、取地址(&)、操作数的类型长度(以字节为单位 sizeof)、对一个数的二进制按位取反(~~)、间接访问操作符(解引用操作符 *)、(类型)强制类型转换。

还有一些较为常见的关操作符,逻辑运算符 :逻辑与(&&)、逻辑或(||),条件操作符、逗号表达式、下标引用、函数调用和结构成员等也要进行联想,明白各个术语到底是怎么回事。同时我们也要明白操作符的优先级、结合性以及是否控制求值顺序这些属性。

函数

函数的分类:

函数是由函数名、函数参数、语句项和返回类型构成的为了单独实现某种功能而编写的子程序。函数一般分为库函数和自定义函数。比较常见的库函数有IO函数,字符串操作函数,字符操作函数,内存操作函数,时间/日期函数,数学函数,其他库函数等。同时在自定义函数时像函数的参数不要过多,代码的可复用性以及函数参数和返回值的设计是否满足功能的要求等都需要注意。

函数的声明和定义:

函数的声明就是要告诉编译器有一个函数叫什么,参数是什么,返回类型是什么,但是具体是不是存在,无关紧要;同时,声明一般出现在函数使用之前,要满足先声明后使用这一条件;另外,函数的声明一般要放在头文件中。

函数的调用:分为传值调用,地址调用,嵌套调用和链式访问。

数组

数组创建和初始化后在内存中从低地址到高地址连续存放。数组又分为一维数组,多维数组(存放着n-1 维的一维数组)和指针数组(数组里存放着指针元素)——例如:int *arr[10] 。

创建数组后需要使用时,这就需要我们对数组进行访问。数组的访问有下标访问和指针访问两种形式。

指针

指针就是用来存放地址的变量。指针除了常见的基本类型外,还有数组指针,函数指针,如果想要详细的学习下指针,可以参考下我之前写过的一篇文章。在这篇文章里可以较为深入的了解下指针。同时在这里也要特别提起两个名词:解引用和二级指针。解引用就是取出指针所指向地址处的值;二级指针就是存放一级指针地址的指针。

字符函数和字符串函数

c 语言中对字符和字符串的处理很是频繁,但是 c 语言本身是没有字符串类型的,字符串通常放在常量字符串或者字符数组中。

动态内存管理

动态内存函数有 “malloc,calloc,realloc,free”。动态内存一般有如下常见的错误:

对NULL指针的解引用操作

对动态开辟空间的越界访问

对非动态开辟内存使用free释放

对同一动态内存多次释放

动态开辟内存忘记释放(内存泄露)


如果你也喜欢编程,想学C/C++的话!如果你也想让自己成为一个具有真材实料的厉害的程序员,不妨从现在开始!

编程学习书籍分享:

编程学习视频分享:

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

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

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

相关资讯

C语言入门:深度解析C语言学习体系,一文吃透C语言

01.介绍篇操作系统及开发系统02. 入门篇03.提高篇03.精通篇C语言精通大牛阶段C语言EasyX图形编程如果你与我志同道合于此,很愿意与你交流如果你喜欢我的内容,欢迎关注和支持C语言基础入门资料:素材资源:想要资源的小伙伴可以可以【点

一个资深C语言工程师:浅说C语言的重要性以及如何学好C语言

前言C语言属于高级程序语言的一种,它的前身是“ALGOL”。其创始人是布朗·W·卡尼汉和丹尼斯·M·利奇。C语言问世时是带有很大的局限性,因为它只能用于UNIX系统上。然而随着科学技术的进步,计算机工业的发展,C语言逐渐脱离UNIX。198

知道并没有什么用的C语言背景,了解C语言是一种结构化的编程语言

C语言是一种结构化的编程语言。它也称为面向函数的编程语言。C语言是由美国贝尔实验室(AT&T)的Dennis Ritchie于1972年开发的。1968年,丹尼斯·里奇(Dennis Ritchie)开始研究诸如BCPL,CPL之类的编程语

C语言编程:最常见7道C语言面试题,还是有不少人弄不明白?

C语言是一门面向结构化的高级编程语言(也有人认为它是中级语言),用于通用编程需求。基本上,C语言是其基本语法和库函数的集合,因此程序员定义自己的函数并且将其包含在C语言库中也是很方便的。C语言的主要用途是编写其他编程语言的编译器、操作系统、

从零开始学习C语言丨C语言简介和VSCode配置全解

上一篇文章中,简单地介绍了一下什么是编程,以及编程根据编译运行的方式有哪些分类,还附带一些些小小的学习建议。从这篇文章起,就正式进入了C语言学习中。C语言简述首先来认识一下,什么是C语言?C语言是一种计算机程序设计语言,于1972年诞生于美

C语言入门了解篇—C语言发展史

前言作为理工科的我们,看到一些理论、概念和一些术语,就是脑瓜疼。在大学时,这些知识,很多时候都是作为填空题,最终的答案就跟四级作文差不多,答案脑洞大开。回归正题,其实,有很多东西我们只需要了解一下就好了,知道有这么一回事。例如,C语言是谁搞

经验分享丨如何用最短的时间学会C语言,并掌握C语言的精髓所在?

看了此文后,我想对于您学习此语言一定有很大的帮助,同时也能了知晓如何用最短的时间学会C语言以及掌握C语言的精髓所在。谈及C语言,我想凡是学过它的朋友都有这样一种感觉,那就是“让我欢喜让我忧。”欢喜的是,C语言功能非常强大、应用广泛,一旦掌握

如何学习C语言?很容易,C语言从入门到入土,从长发飘飘到秃顶

学C语言不知道从哪儿下手?学习框架都帮你列好了!在未来计算机专业讲又要迎来一批新生小鲜肉!C语言入门到入土,从长发飘飘到秃顶的老铁也越来越多,其中,想自学成才的也占了不少数;想笨鸟先飞的也占有不少数。传说中的C语言就是那么刺激和高挑战没有基

C语言入门了解篇—C语言编译流程

C语言入门了解篇-C语言编译流程(面试常见问题)当我们安装了集成环境之后,编写.c文件,一按下图红色框框的按键即“编译并运行”,就可以得到一个“.exe”后缀的可执行的C程序文件,这期间并非只有一道工序,而是分别经过了预处理、编译、汇编和链

C/C++编程笔记:C语言编程知识要点总结!大一C语言知识点(全)

一、C语言程序的构成与C++、Java相比,C语言其实很简单,但却非常重要。因为它是C++、Java的基础。不把C语言基础打扎实,很难成为程序员高手。1、C语言的结构先通过一个简单的例子,把C语言的基础打牢。C语言的结构要掌握以下几点:(1

C语言从入门到精通:C语言的发展进程

C语言是一种计算机程序设计语言,它既有高级语言的特点,又具有低级汇编语言的特点。它可以作为系统设计语言来编写工作系统应用程序,也可以作为应用程序设计语言来编写不依赖计算机硬件的应用程序。因此,它的应用范围非常广泛。C语言的诞生及发展历程如图

C语言多关卡推箱子,兄台了解一下?没错,C语言完整简单项目实战

很高兴你能光临小编寒舍首先感谢百忙之中你能从万千文章中点小编得专属页面。这不是娱乐篇,这是学习道场。开始前,小编就做一个简单得自我介绍:(开启装逼模式)我就是传说中写文章通俗而不庸俗,说话风流而不下流,智慧与美貌并重,英雄与侠义得化身得小编

C语言基础之C语言概述

C教程更多C/C++学习资料 私密我“代码”,即可获取C是贝尔电话实验室的Dennis M. Ritchie于1972年开发的一种通用的,程序性的,命令式的计算机编程语言,用于开发UNIX操作系统。C是使用最广泛的计算机语言。它与Java编

什么是C语言?C语言的简介

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都

C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言

真不难C语言难不难?这个问题是相对的,对于找到合适方法学习C语言的同学想必是觉得很简单;但对于一部分同学来说,没有众观全局就会误以为刚入门就需要学习庞大的知识,学着学着开始看不懂,由于心理作怪,感觉内容巨多,之后就真的一直看不懂了。但C语言

友情链接

网址导航 SEO域名抢注宝宝起名网妈妈知道币圈飞盘运动俱乐部瑰夏咖啡品鉴网雅培奶粉评价网象鼻山旅游攻略天山雪莲花网南昌交友聚会网上海新闻资讯网北方稀土A股今日大同意大利旅游网路特斯纯电超跑丽江旅游网今日宿州处女座星座网以色列旅游网
数字藏品系统开发网是目前国内领先的数字艺术品、nft、元宇宙、数字藏品、nft开发、数字藏品平台、数字藏品平台建设、数字藏品平台开发、nft平台开发数字收藏品交易业务、NFT艺术品交易业务专用系统平台,为品牌提供一站式建设数字藏品平台服务,拥有丰富的数藏平台建设与运营经验。
数字藏品系统开发 hezua.cn ©2022-2028版权所有