c语言需要掌握的知识有哪些 初学者必备的c语言需要掌握的知识知识点?

C语言是当代人学习及生活中的必备基础知识,应用十分广泛,下面为大家带来C语言基础知识梳理总结,C语言零基础入门绝对不是天方夜谭!算法结构:一、顺序结构、选择结构、循环结构;二、循环结构又分为while型、until型、for循环结构;程序流程图;结构化程序设计方法:(1)自顶向下;(2)逐步细化;(3)模块化设计;(4)结构化编码。数据类型:常量:常量包括字面常量、直接常量和符号常量;变量:C语言规定标志符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或者下划线;必须压迫先定义后使用;每一个变量被定义以确定类型后,在编译时就能为其分配相应的存储单元;整数类型:整数常量有十进制、八进制和十六进制;“%d”整形变量:数据在内存中存放形式是以二进制形式存放;有int型、short int型和long int型,无符号整型变量的范围是-32768—32767,有符号型为0~65535.通常把long定义为32位,把short定义为16位,int可以是32位也可以为16位,这都主要取决于机器字长。实型常量的表示方法:(1)十进制,0.0;(2)指数形式,123e3实型变量:实数型数据在内存中的存放形式,一般在内存中占4个字节,分成整数部分和小数部分存放。实型变量分为float型、double型long double型。实型数据会存在舍入误差。实型常量的类型:C编译系统将实型常量作为双精度来处理。字符型数组:(一)字符常量:转义字符(\n——换行,\t——tab,\r——回车,\f——换页,\b——退格,\ddd——1到3位8进制的数代表的字符)(二)字符变量:字符数据存储形式实际是以ASCII码存储。“%c”字符串常量:双撇号括起来的一系列字符序列。C的运算符有以下几种:1、算术运算
2019年06月10日 06:00--浏览 ·
--喜欢 ·
--评论良好习惯之规范在写C语言程序的时候为了书写清晰、便于阅读、便于理解、便于维护,在编写程序时应遵循以下规则:1、一个说明或一个语句占一行,例如:包含头文件、一个可执行语句结束都需要换行;2、函数体内的语句要有明显缩进,通常以按一下Tab键为一个缩进;3、括号要成对写,如果需要删除的话也要成对删除;4、当一句可执行语句结束的时候末尾需要有分号;5、代码中所有符号均为英文半角符号。以一个例子来看:程序解释——注释注释是为了使别人能看懂你写的程序,也为了使你在若干年后还能看得懂你曾经写的程序而设定的。注释是写给程序员看的,不是写给电脑看的。所以注释的内容,C语言编译器在编译时会被自动忽略。C语言注释方法有两种:多行注释: /* 注释内容 */单行注释: //注释一行以下是使用多行注释与单行注释的例子:c语言的命名编程时给变量或者函数起的名字就是标识符,就好比我们慕课网的每一位童鞋都有姓名,姓名就是这位童鞋的标识符。C语言的标识符是不可以随便起名字的,必须遵守一定的规则。C 语言规定,标识符可以是字母(A~Z,a~z)、数字(0~9)、下划线_组成的字符串,并且第一个字符必须是字母或下划线。在使用标识符时还有注意以下几点:(1)标识符的长度最好不要超过8位,因为在某些版本的C中规定标识符前8位有效,当两个标识符前8位相同时,则被认为是同一个标识符。(2)标识符是严格区分大小写的。例如Imooc和imooc 是两个不同的标识符。(3)标识符最好选择有意义的英文单词组成做到''见名知意'',不要使用中文。(4)标识符不能是C语言的关键字。想了解更多C语言关键字的知识,请查阅WIKI。例如:变量及赋值变量就是可以变化的量,而每个变量都会有一个名字(标识符)。变量占据内存中一定的存储单元。使用变量之前必须先定义变量,要区分变量名和变量值是两个不同的概念。就好比:住在房间里的客人与房间号是两个不同的概念。变量定义的一般形式为:数据类型 变量名;多个类型相同的变量:数据类型 变量名, 变量名, 变量名...;变量名和标识符的命名规范完全相同。%d在后面会有详细讲解注意:在定义中不允许连续赋值,如int a=b=c=5;是不合法的。变量的赋值分为两种方式:1.先声明再赋值 2.声明的同时赋值,例如:基本数据类型在我们玩游戏的时候,游戏中的角色是有类型的,有敏捷型、力量型、法术型等等。同样C语言中的数据也是有类型的,C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。如图所示:这里我们先给大家讲解基本数据类型中最简单也是最常用的整型、实型与字符型。整型数据是指不带小数的数字。生活中有很多信息适合使用整型数据来表示,比如:人的年龄、班级的人数、书的总页数等等。因此整型的类型比较多:注:int、short int、long int是根据编译环境的不同,所取范围不同。而其中short int和long int至少是表中所写范围,但是int在表中是以16位编译环境写的取值范围。另外 c语言int的取值范围在于他占用的字节数 ,不同的编译器,规定是不一样。ANSI标准定义int是占2个字节,TC是按ANSI标准的,它的int是占2个字节的。但是在VC里,一个int是占4个字节的。浮点数据是指带小数的数字。生活中有很多信息适合使用浮点型数据来表示,比如:人的体重(单位:公斤)、商品价格、圆周率等等。因为精度的不同又分为3种:注:C语言中不存在字符串变量,字符串只能存在字符数组中,这个后面会讲。任务小明今年15岁,身高只有162CM,可是体重已经有82.5公斤了,小明是否属于肥胖儿童呢?我们如何用程序描述这个情形呢?在右边编辑器中在第4、5、6行中将变量的类型补全运行结果:格式化输出语句格式化输出语句,也可以说是占位输出,是将各种类型的数据按照格式化后的类型及指定的位置从计算机上显示。这样做的好处,是有利于计算机能够准确的将我们所要类型数据给我们。其格式为:printf(''输出格式符'',输出项);C语言中的常用格式化符:当输出语句中包含普通字符时,可以采用一下格式:printf(''普通字符输出格式符'', 输出项);例如:输出结果为: a=10如果要输出多个变量的并指定变量的位置时候,格式符还可以连用,变量之间需要用逗号隔开,如:输出结果为: 整数:10,小数:7.560000,字符:c注意:格式符的个数要与变量、常量或者表达式的个数一一对应任务小明的个人信息如下:不可改变的常量在程序执行过程中,值不发生改变的量称为常量。C语言的常量可以分为直接常量和符号常量。直接常量也称为字面量,是可以直接拿来使用,无需说明的量,比如:整型常量:13、0、-13;实型常量:13.33、-24.4;字符常量:‘a’、‘M’字符串常量:”I love imooc!”下面的代码分别打印这四种直接常量:在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义,其一般形式为:#define 标识符 常量值符号常量的标示符一般习惯使用大写字母,变量的标示符一般习惯使用小写字母,加以区分。下面是一个使用符号常量的小例子:运算结果为: 圆周率:3.140000注意:常量是不可改变的自动类型转换有这么一个词叫“狸猫换太子”,变量的数据类型就存在这样的情况。数据类型存在自动转换的情况,比如:自动转换发生在不同数据类型运算时,在编译的时候自动完成。自动转换遵循的规则就好比小盒子可以放进大盒子里面一样,下图表示了类型自动转换的规则。char类型数据转换为int类型数据遵循ASCII码中的对应值,ASCII码请查看WIKI。注:字节小的可以向字节大的自动转换,但字节大的不能向字节小的自动转换任务小伙伴们这里有个字符型的变量c,我们将它自动转换为整型和实型来看看效果,你会惊呆的在右侧编辑器中第5、6、7行中分别将c赋给各变量运行结果:9797.00000097.000000强制类型转换强制类型转换是通过定义类型转换运算来实现的。其一般形式为:(数据类型) (表达式)其作用是把表达式的运算结果强制转换成类型说明符所表示的类型,例如:注意:double类型的数据的格式符 %f或%lf输入结果:6.7770006在使用强制转换时应注意以下问题:1、数据类型和表达式都必须加括号,如把(int)(x/2+y)写成(int)x/2+y则成了把x转换成int型之后再除2再与y相加了。2、转换后不会改变原数据的类型及变量值,只在本次运算中临时性转换。3、强制转换后的运算结果不遵循四舍五入原则。任务小编在这出了一道题,考考童鞋们,如何使代码编辑器中的程序输出结果: num的整数部分是2在代码编辑器中,第5行将num强制转换为整型运算符那么C语言中又有哪些运算符呢?如下所示:※ 算术运算符※ 赋值运算符※ 关系运算符※ 逻辑运算符※ 三目运算符算术运算法C语言基本算术运算符如下表:除法运算中注意:如果相除的两个数都是整数的话,则结果也为整数,小数部分省略,如8/3 = 2;而两数中有一个为小数,结果则为小数,如:9.0/2 = 4.500000。取余运算中注意:该运算只适合用两个整数进行取余运算,如:10%3 = 1;而10.0%3则是错误的;运算后的符号取决于被模数的符号,如(-10)%3 = -1;而10%(-3) = 1。注:C语言中没有乘方这个运算符,也不能用×,÷等算术符号。另:关于自增自减运算符,会在下一小节讲解。任务根据输出提示,进行算术运算符的使用在代码编辑器中将7至11行的代码补全运行结果如下注意:取余运算中;运算后的符号取决于被模数的符号自增与自减运算符自增运算符为“++”,其功能是使变量的值自增1;自减运算符为“--”,其功能是使变量值自减1。它们经常使用在循环中。自增自减运算符有以下几种形式:注意:无论是a++还是++a都等同于a=a+1,在表达式执行完毕后a的值都自增了1,无论是a--还是--a都等同于a=a-1,在表达式执行完毕后a的值都自减少1。请分析如下代码输出结果:小伙伴们,别急着看运行结果,自己先想想看结果是什么?运行结果:练习题注意:%、*、/是同一优先级的算术运算符赋值运算符在前面的小节中接触过简单的赋值运算符“=”,如:那么C语言中的赋值运算符又是什么呢?C语言中赋值运算符分为简单赋值运算符和复合赋值运算符,之前我们已经接触过简单赋值运算符“=”号了,下面讲一下复合赋值运算符:复合赋值运算符就是在简单赋值符“=”之前加上其它运算符构成,例如+=、-=、*=、/=、%=。看一个小例子:分析:定义整型变量a并赋值为3,a += 5;这个算式就等价于a = a+5; 将变量a和5相加之后再赋值给a注意:复合运算符中运算符和等号之间是不存在空格的。关系运算符下面是C语言中的关系运算符:关系表达式的值是“真”和“假”,在C程序用整数1和0表示。如:其结果为:10注意:>=,<=,==,!=这种符号之间不能存在空格。逻辑运算符下面我们看一下C语言中的逻辑运算符:三木运算符C语言中的三目运算符:“?:”,其格式为:表达式1 ? 表达式2 : 表达式3;运算符大比拼之优先级比较那么我们来看看我们学习的各种运算符号的顺序吧!
前方干货预警!!C语言同C++、Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多。C语言主要用于底层开发,Windows、Linux、Unix 等操作系统的内核90%以上都使用C语言开发,开发硬件驱动,让硬件和操作系统连接起来,这样用户才能使用硬件、程序员才能控制硬件。借用我一个朋友的名言:“现在的程序员,不掌握好几门语言都不好意思跟别人打招呼。”就目前的企业的岗位设置来说,只会C语言的话(当然,能达到深究算法、操作系统、数据库、网络协议的C语言工程师除外),基本上是找不到工作的。首先我们要选定一个方向,继续学习其他知识,后面就会发现,C语言不过是冰山一角,是一项基本求生技能而已,除此以外,程序员要学习的东西还有很多。对于很多C语言初学者,都会存在如下误区:学习C语言之后今后就要在C语言这条路上走到黑。其实学习C语言并不一定要从事与C语言有关的开发工作。C语言是一门简单、底层、较早的编程语言,后来的很多语言在语法上都和C语言类似,称为“类C语言”,例如 Java、C++、C#、PHP、JavaScript 等,学完C语言再学这些语言都很容易上手。或者也可以这么理解,学好C语言,可以奠定我们今后学习其他编程语言(类C语言)的基础。如果你是零基础学习C语言的小白,我建议大家先想明白以下几个问题:▌未来从业方向:学习C语言能干什么?C语言既有高级语言的特点,又有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。C语言是面向过程语言,C语言通过windows平台下编译的,是直接运行在windows平台下的,而Java始终是运行在他的虚拟机之上的;所以理论上C语言能做一些相对于比较底层的工作。一句话概括:如果要利用编程来做一些windows优化工作的话,建议还是利用C语言。C语言是目前世界上流行、使用最广泛的高级程序设计语言。▌需要掌握哪些技能才能满足企业用人需求?先说一些基础的技能,像服务器软件开发、项目架构设计、性能调优这些都是必须掌握的。随着工作经验的增长,在技术上一定要对自己有更高的要求才能应对企业的岗位要求,例如熟悉Linux系统编程,多线程和多进程编程;熟悉epoll、select等服务器端异步高并发模式,libevent或者libev等应用,一些企业会优先考虑能处理数据库连接池性能瓶颈的程序员,所以“活到老,学到老”真的是亘古不变的真理。▌零基础学习C语言,怎么入门?这个问题是广大小白最关心的问题,个人认为能接受枯燥学习法的初学者,啃书肯定是奏效的,但前提是你至少要把一本经典基础入门书籍完全吃透。《C程序设计语言》、《C primer plus》、《C陷阱与缺陷》等书籍都是值得拜读的C语言工具书,尤其是《C陷阱与缺陷》这本书让我很多同事都深陷其中,这本书分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。看书名咋一感觉是要把C语言说得一无是处,实际上出发点并不是要批判C语言,而是写给C程序员的避坑指南,对于解决工作中一些棘手的问题还是非常实用的。虽然开卷有益,但是我还是要强调一下看书学习必要条件是一定要把书吃透,对于看书=催眠的同学,我还是建议大家先找一套系统且靠谱的课程来学习,近期看到一套不错的C语言入门课程《C语言不挂科》,墙裂推荐给大家,下面分享一下我的学习心得和推荐理由(对课程感兴趣的同学可以关注【夜曲编程】gong号,回复【C语言】进行了解学习):首先,这套课程完全针对零基础小白设计,通俗易懂,很容易上手,属于新手友好型课程,所以完全不用担心跟不上、学不会的问题。其次,有的同学一定想问有一定基础是不是就不用看这套课程了,我是觉得这套课程包容性还是蛮强的,对于夯实基础、冲刺高分的同学也有很好的辅助作用。一些学校老师讲不清楚的编程逻辑,可以在这套课程里换个思路和方式理解,有助于大幅度提升学习效率。最后说一下这套课程打卡返学费的机制,对于拮据的学生党来说简直就是送温暖!目前市面上大多数课程都是交费后自行学习,至于达到何种学习效果完全没有保证,说好的知识付费最后都变成了做慈善。这套课程虽然也收费,但是价格非常亲民合理,学习打卡有助于让缺乏自律性的同学养成主动学习的好习惯,学到知识,返还学费,课程定位完全是为了让学生党真正学到知识。值得一提的是,此套课程图文卡片讲解基础语法等内容设置和一些小细节也做得非常不错。从课时时长来看,5小时10节课浓缩了C语言基础知识精华。课程精简,无论是期末冲刺还是利用碎片化时间学习都很适用。每节课前用思维导图梳理课程目标,让课程重点一目了然,个人认为这样学起来课程体系和架构会比较清晰。整套课程讲解通过图文并茂的形式展开,抽象的编程语法也能解释的生动有趣,女生学不会?脑子笨听不懂?通通不存在。边学边练也是我个人比较推崇的学习方法,毕竟很多时间经常是脑子听懂了手还是很残。这套课程的练习题精选了各大高校C语言考试原题,边学边巩固,记忆留存率超高。相信期末考试前学了这套课程的同学,不仅不挂科,高分也不是梦。听了我的学习测评,如果大家也对这套课程感兴趣,欢迎关注【夜曲编程】gong号,回复【C语言】进行了解学习,相信我更相信你自己搞定C语言,真得没有想象中那么难。码字不易,真诚无价,觉得内容有用的小伙伴千万不要吝啬点赞和收藏哇(*^▽^*)

我要回帖

更多关于 c语言需要掌握的知识 的文章

 

随机推荐