C语言概述
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
怕
学习数据结构, C++的基石
绝对重要的基 石语言,Unix, Linux, Windows, JAVA,C++, C#底层实现都 靠C
1.2.1C/C++市场份额
为什么要学C语言呢?
C/C++是永不过时的贵族语言,请看世界计算机的权威排行榜
1.2.2 C语言适用的领域
计算机领域,C/C++大小通吃?
volatile while
const else goto return struct void
1.2.7C语言的9种控制语句
9种控制语句: if( )~else~ for( )~ while( )~ do~while( ) continue break switch goto return
1.2.8C语言的34种运算符
信息的存储单位
位(Bit):度量数据的最小单位
字节(Byte):最常用的基本单位, 一个字节有8位
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 1 0 1 0 1 = 27+ 24+ 22+ 20 =149
K 字节 M(兆)字节 G(吉) 字节 T(太)字节
1K = 1024 byte 1M = 1024 K 1G = 1024 M 1T = 1024 G
• 而今天,计算机遍布了我们生活的每一个角落,除了 人和人之间的相互交流之外,我们必须和计算机交流。 用什么样的方式和计算机做最直接的交流呢?人们自 然想到的是最古老也最方便的方式——语言
1.1基本常识
软件开发 人机交互方式 常用的DOS命令
1.1基本常识
什么是软件?
软件:一系列按照特定顺序组织的计算机数据和 指令的集合。
操作系统 语言处理系统 系统服务程序 数据库管理系统 文字处理软件 表格处理软件 辅助设计软件 实时控制软件
运算器 控制器
只读存储器 随机存储器
1.1.4二进制的概念
二进制概念
128瓦 64瓦 32瓦 16瓦 8瓦 4瓦 2瓦 1瓦
1
1
1
0
1
0
1
0
信息复制的精确性 运算规则简单
1.1.5计算机信息存储
1.2.6C语言的32关键字
32个关键字:(由系统定义,不能重作其它定义)
auto
break case char
continue default do
double
enum extern float
for
if
int
long register
short signed sizeof static
switch typedef unsigned union
供其他程序方便使用,从而让其他程序节省开发时间。 (4)C语言可以写出大型游戏的引擎。 (5)C语言可以写出另一个语言来。 (6)C语言可以写操作系统和驱动程序,并且只能用C语言编写,
Linux操作系统的全部源代码都可以从网上得到,要深入了解操作 系统的运行秘密,懂C语言,就能看懂。 (7)任何设备只要配置了微处理器,就都支持C语言。从微波炉 到手机,都是由C语言技术来推动的。
C语言的应用极其广泛,从网站后台,到底层操作系统,从多媒体 应用到大型网络游戏,均可使用C语言来开发。大公司职位,高薪 职位都要求C语言基础好。
(1)C语言可以写网站后台程序,诸如腾讯后台。 (2)C语言可以写出绚丽的GUI界面,诸如苹果界面。 (3)C语言可以专门针对某个主题写出功能强大的程序库,然后
当然听不懂了。
1.1.2计算机结构组成
输入(例 如鼠标 键盘)
(外)存储器 (内)存储器
输出(例 如声卡, 显卡)
数据流 地址 控制流
运算器
控制器
中央处理器(CPU)
1.1.3计算机系统组成
主机
硬件系统
计
算
外部设备
机
系
统
的
系统软件
组
成
软件系统
应用软件
中央处理器
内存储器
输入设备 输出设备 外存储器
C语言概述
C语言入门教程大纲
1.什么是语言,什么是C语言 2.为什么要学习C语言 3.如何学习C语言 4.C语言的学习目标是什么 5.C语言的课程概述 6.初学者的疑难解答
1.1什么是语言,什么是C语言
什么是语言,什么是C语言,有什么区别与 联系呢?
• 一提到语言这个词,人们自然想到的是像英语、汉语 等这样的自然语言,因为它是人和人相互交流信息不 可缺少的工具。大家听到我们之间交流的就是汉语, 英语。比如一些单词是英语,主要还是用汉语在交流。
1.3.1教学方法
教学理念
课堂教学课 问题驱动
模拟笔试机 试课
作业辅导课
1.4C语言学习目标
学会C语言
具备一定的编程能力,具备一定的调试能力,所有C语言的语法,关键 字,操作符都倒背如流,运用如飞
掌握编程的技巧与简单的算法
掌握编程技巧与简单的算法,具备解决问题的能力,
搞定世界五百强C语言面试部分
1.2.3 学习C语言的理由
掌握了C语言,学习其他编程语言将所向无敌?
当掌握了C语言后,再去学习其他面向过程的语言,最多一个星 期就能学会。因为万变不离其宗,只是语法上有些许更改,而思 想却没有更改。有些语言,甚至1个小时就明白如何使用。学习 C语言后,学习C++,Java ,Objective C ,PHP将事半功倍。微 软不招学.NET的,是因为.NET是C/C++做的,Oracle, Google不招学JAVA,Android,JAVA的底层都是C/C++实现 的。
1.1.7程序与指令
程序和指令
指令是对计算机进行程序控制的最小单位。 所有的指令的集合称为计算机的指令系统。电脑是X86,手机是ARM。
机器指令格式 操作码 操作数
机器执行什么操作
执行对象(具体数、存放位置)
程序是为完成一项特定任务而用某种语言编写的一组指令序列。
1.1.8机器语言与指令
计算机是一个忠实的仆人,时刻等候着主人的命令。如何
1.1.12主流语言进化史
主流语言进化史
第一 代
机器语言
第二 代
汇编语言
第三 代
C语言
第四 代
ObjectiveC 语言
C/C++语言
第五 代
Java C# PHP Lua Python vb
1.1.13 C语言特点
C语言特点.
优点
• 代码量小 • 执行速度快 • 功能强大 • 编程自由
C语言
1000000
加 1001000 减
要让计算机干活,就得用这样的语言去命令它。这样的命
令,不是一条两条,而是上百条。而且不同型号的计算机
其机器语言是不相通的,按着一种计算机的机器指令编制
的程序,不能在另一种计算机上执行。
1.1.9编译器的概念
机器语言编程是不是很令人蛋疼呢,终于出现了汇编语言, 就是一些标识符取代0与1。一门人类可以比较轻松认识的编 程语言。只是这门语言计算机并不认识,所以人类还不能用 这门语言命令计算机做事情。如同上文提到过的中国人和美 国人交流一样,如何才能让中国人说的话美国人明白呢?
1.1.6进制的概念
进制的概念
逢R进一,借当R
十进制 R=10, 数字集 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 二进制 R=2 , 数字集 0, 1 八进制 R=8 , 数字集 0, 1, 2, 3, 4, 5, 6, 7 十六进制 R=16 ,数字集 0, … , 9, A, B, C, D, E, F
,容易上手操作。 命令行方式:需要有一个控制台,输入特定的指令
,让计算机完成一些操作。较为麻烦,需要记录住 一些命令。
1.1.1语言与C语言的区别联系
通过DOS命令行的演示,发现原来操作计算机就如 同和计算机说话一样。
我们告诉它做什么,它就可以做什么。前提是,我 们和它说的内容它必须识别才可以。这就是计算机 语言。
缺点
• 编写代码实现周期长 • 可移植性较差 • 过于自由,经验不足易出错 • 对平台库依赖较多
顽强的毅力可以征服世界上任何一座高峰
1.2为什么要学习C语言
C语言是有史以来最为重要的编程语言,要挣钱必须要学 会C
所有大学理工科 必修课
名企,外企,高 薪程序员面试必
考
写外挂,做黑 客必须掌握的
语言
学会C/C++, 走遍全球都不
常见的软件:
系统软件:
如:DOS,windows,Linux,IOS,Android等。
应用软件:
如:微信,扫雷,迅雷,QQ等。
什么是开发?
制作软件
1.1基本常识
软件的出现实现了人与计算机之间的更好的交 互。
交互方式:
自然交互界面:声音控制,触摸屏手势识别 图形化界面:这种方式简单直观,使用者易于接受
聪明的同学一定想到了:翻译!是,一个既懂汉语又懂英语 的人,不就可以将中文翻译给美国人听么?
所以,有一类专门的程序,既认识机器语言,又认识汇编语 言,也就是编译器,将标识符换成0与1,知道怎么把汇编语 言翻译成机器语言。于是,人类和机器间的交流,终于又畅 通了,而且人类可以比较轻松的编写程序了。也就是编译器, 将标识符换成0与1.
才能使计算机听话呢?当然是用计算机听得懂的语言去命 令它了。计算机的大脑或者说心脏就是CPU,它控制着整
个计算机的运作。每种CPU,都有自己的指令系统。这个
指令系统,就是该CPU的机器语言。机器语言是一组由0
和1系列组成的指令码,这些指令码,是CPU制作厂商规
定出来的,然后发布出来,请程序员遵守。比如下面是某 CPU指令系统中的两条指令:
因为C语言已经存在很多年了,它有广泛的使用团体并且有大量 的现成代码可以利用。这就使大家能在过去程序的基础上,快速 和高效的实现自己的程序。
1.2.4 C语言未来用武之地
► C语言未来用武之地
云计算
物联网
移动互联网
未来信息技术的趋势,都需要C/C++
1.2.5C语言的精髓
C语言优点简洁、紧凑,使用方便、灵活,功能强大, 执行效率高
语言是用来交流沟通的。有一方说,有 另一方听,必须有两方参与。这是语言 最重要的功能。语言就是用来表达意思 传递信息的。说的一方传递信息,听的 一方接受信息;说的一方下达指令,听 的一方遵从命令做事情。语言是人与人 交流,C语言是人与计算机.人可以不听 另外一个人,计算机就是无条件服从。
语言有独特的语法规则与语言定义。交 流双方都了解明白并遵守这些规则与定 义。一个只会说汉语的中国人,和一个 只会说英语的美国人,只通过嘴巴发出 声音互相交流,结果一定是对牛弹琴, 信息完全传递不出去。为什么?因为互 相不知道对方的语法规则与语言定义,
34种运算符: 算术运算符:+ - * / % ++ -关系运算符:< <= == > >= != 逻辑运算符:! && || 位运算符 :<< >> ~ | ^ & 赋值运算符:= 及其扩展 条件运算符:?: 逗号运算符:, 指针运算符:* & 求字节数 :sizeof 强制类型转换:(类型) 分量运算符:. -> 下标运算符:[] 其它 :( ) -
1.1.10C语言的出现
汇编语言和机器语言都是面向机器的,机器不同,语言也
不同。既然有办法让汇编语言翻译成机器语言,难道就不 能把其他更人性化的语言翻译成机器语言?1954年, Fortran语言出现了,其后相继出现了其他的类似语言。这 批语言,使程序员摆脱了计算机硬件的限制,把主要精力 放在了程序设计上,不在关注低层的计算机硬件。这类语 言,称为高级语言。同样的,高级语言要被计算机执行, 也需要一个翻译程序将其翻译成机器语言,这就是编译程 序,简称编译器。
这类高级语言解决问题的方法是分析出解决问题所需要的 步骤,把程序看作是数据被加工的过程。基于这类方法的 程序设计语言成为面向过程的语言。C语言就是这种面向过 程的程序设计语言。
1.1.11语言的层次划分
语言的层次
加法
高级语言
A+B
汇编语言
汇编语言
ADD AX BX
机器语言
机器语言
0000 0001 1101 10000
1.3学习C语言的方法与秘诀
多动手少求人!
动手是学习C语言最快的途径。
多学习优秀代码
C语言有很多优秀代码值得学习,要学会吸星大法
多以人类的思考方法来类比计算机
学会类比,理解了计算机是如何处理的,用人类的思维转换成计算机的处理方法, 就可以很快解决问题。 记笔记,加注释,写总结,不要完全依赖于书和视频。
C语言仅有32个关键字,9种控制语句,却能完成无 数的功能。某些方面C语言可能确实不如其他语言优 秀,比如字符串处理方面,就不如Perl语言;比如数 值计算方面,就不如Fortran语言;比如人工智能方 面,就不如Lisp语言。可是这些语言在其他方面却远 远不及C语言。而且C语言有其他诸如表达力强,移 植性好的特点。
学习数据结构, C++的基石
绝对重要的基 石语言,Unix, Linux, Windows, JAVA,C++, C#底层实现都 靠C
1.2.1C/C++市场份额
为什么要学C语言呢?
C/C++是永不过时的贵族语言,请看世界计算机的权威排行榜
1.2.2 C语言适用的领域
计算机领域,C/C++大小通吃?
volatile while
const else goto return struct void
1.2.7C语言的9种控制语句
9种控制语句: if( )~else~ for( )~ while( )~ do~while( ) continue break switch goto return
1.2.8C语言的34种运算符
信息的存储单位
位(Bit):度量数据的最小单位
字节(Byte):最常用的基本单位, 一个字节有8位
b7 b6 b5 b4 b3 b2 b1 b0
1 0 0 1 0 1 0 1 = 27+ 24+ 22+ 20 =149
K 字节 M(兆)字节 G(吉) 字节 T(太)字节
1K = 1024 byte 1M = 1024 K 1G = 1024 M 1T = 1024 G
• 而今天,计算机遍布了我们生活的每一个角落,除了 人和人之间的相互交流之外,我们必须和计算机交流。 用什么样的方式和计算机做最直接的交流呢?人们自 然想到的是最古老也最方便的方式——语言
1.1基本常识
软件开发 人机交互方式 常用的DOS命令
1.1基本常识
什么是软件?
软件:一系列按照特定顺序组织的计算机数据和 指令的集合。
操作系统 语言处理系统 系统服务程序 数据库管理系统 文字处理软件 表格处理软件 辅助设计软件 实时控制软件
运算器 控制器
只读存储器 随机存储器
1.1.4二进制的概念
二进制概念
128瓦 64瓦 32瓦 16瓦 8瓦 4瓦 2瓦 1瓦
1
1
1
0
1
0
1
0
信息复制的精确性 运算规则简单
1.1.5计算机信息存储
1.2.6C语言的32关键字
32个关键字:(由系统定义,不能重作其它定义)
auto
break case char
continue default do
double
enum extern float
for
if
int
long register
short signed sizeof static
switch typedef unsigned union
供其他程序方便使用,从而让其他程序节省开发时间。 (4)C语言可以写出大型游戏的引擎。 (5)C语言可以写出另一个语言来。 (6)C语言可以写操作系统和驱动程序,并且只能用C语言编写,
Linux操作系统的全部源代码都可以从网上得到,要深入了解操作 系统的运行秘密,懂C语言,就能看懂。 (7)任何设备只要配置了微处理器,就都支持C语言。从微波炉 到手机,都是由C语言技术来推动的。
C语言的应用极其广泛,从网站后台,到底层操作系统,从多媒体 应用到大型网络游戏,均可使用C语言来开发。大公司职位,高薪 职位都要求C语言基础好。
(1)C语言可以写网站后台程序,诸如腾讯后台。 (2)C语言可以写出绚丽的GUI界面,诸如苹果界面。 (3)C语言可以专门针对某个主题写出功能强大的程序库,然后
当然听不懂了。
1.1.2计算机结构组成
输入(例 如鼠标 键盘)
(外)存储器 (内)存储器
输出(例 如声卡, 显卡)
数据流 地址 控制流
运算器
控制器
中央处理器(CPU)
1.1.3计算机系统组成
主机
硬件系统
计
算
外部设备
机
系
统
的
系统软件
组
成
软件系统
应用软件
中央处理器
内存储器
输入设备 输出设备 外存储器
C语言概述
C语言入门教程大纲
1.什么是语言,什么是C语言 2.为什么要学习C语言 3.如何学习C语言 4.C语言的学习目标是什么 5.C语言的课程概述 6.初学者的疑难解答
1.1什么是语言,什么是C语言
什么是语言,什么是C语言,有什么区别与 联系呢?
• 一提到语言这个词,人们自然想到的是像英语、汉语 等这样的自然语言,因为它是人和人相互交流信息不 可缺少的工具。大家听到我们之间交流的就是汉语, 英语。比如一些单词是英语,主要还是用汉语在交流。
1.3.1教学方法
教学理念
课堂教学课 问题驱动
模拟笔试机 试课
作业辅导课
1.4C语言学习目标
学会C语言
具备一定的编程能力,具备一定的调试能力,所有C语言的语法,关键 字,操作符都倒背如流,运用如飞
掌握编程的技巧与简单的算法
掌握编程技巧与简单的算法,具备解决问题的能力,
搞定世界五百强C语言面试部分
1.2.3 学习C语言的理由
掌握了C语言,学习其他编程语言将所向无敌?
当掌握了C语言后,再去学习其他面向过程的语言,最多一个星 期就能学会。因为万变不离其宗,只是语法上有些许更改,而思 想却没有更改。有些语言,甚至1个小时就明白如何使用。学习 C语言后,学习C++,Java ,Objective C ,PHP将事半功倍。微 软不招学.NET的,是因为.NET是C/C++做的,Oracle, Google不招学JAVA,Android,JAVA的底层都是C/C++实现 的。
1.1.7程序与指令
程序和指令
指令是对计算机进行程序控制的最小单位。 所有的指令的集合称为计算机的指令系统。电脑是X86,手机是ARM。
机器指令格式 操作码 操作数
机器执行什么操作
执行对象(具体数、存放位置)
程序是为完成一项特定任务而用某种语言编写的一组指令序列。
1.1.8机器语言与指令
计算机是一个忠实的仆人,时刻等候着主人的命令。如何
1.1.12主流语言进化史
主流语言进化史
第一 代
机器语言
第二 代
汇编语言
第三 代
C语言
第四 代
ObjectiveC 语言
C/C++语言
第五 代
Java C# PHP Lua Python vb
1.1.13 C语言特点
C语言特点.
优点
• 代码量小 • 执行速度快 • 功能强大 • 编程自由
C语言
1000000
加 1001000 减
要让计算机干活,就得用这样的语言去命令它。这样的命
令,不是一条两条,而是上百条。而且不同型号的计算机
其机器语言是不相通的,按着一种计算机的机器指令编制
的程序,不能在另一种计算机上执行。
1.1.9编译器的概念
机器语言编程是不是很令人蛋疼呢,终于出现了汇编语言, 就是一些标识符取代0与1。一门人类可以比较轻松认识的编 程语言。只是这门语言计算机并不认识,所以人类还不能用 这门语言命令计算机做事情。如同上文提到过的中国人和美 国人交流一样,如何才能让中国人说的话美国人明白呢?
1.1.6进制的概念
进制的概念
逢R进一,借当R
十进制 R=10, 数字集 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 二进制 R=2 , 数字集 0, 1 八进制 R=8 , 数字集 0, 1, 2, 3, 4, 5, 6, 7 十六进制 R=16 ,数字集 0, … , 9, A, B, C, D, E, F
,容易上手操作。 命令行方式:需要有一个控制台,输入特定的指令
,让计算机完成一些操作。较为麻烦,需要记录住 一些命令。
1.1.1语言与C语言的区别联系
通过DOS命令行的演示,发现原来操作计算机就如 同和计算机说话一样。
我们告诉它做什么,它就可以做什么。前提是,我 们和它说的内容它必须识别才可以。这就是计算机 语言。
缺点
• 编写代码实现周期长 • 可移植性较差 • 过于自由,经验不足易出错 • 对平台库依赖较多
顽强的毅力可以征服世界上任何一座高峰
1.2为什么要学习C语言
C语言是有史以来最为重要的编程语言,要挣钱必须要学 会C
所有大学理工科 必修课
名企,外企,高 薪程序员面试必
考
写外挂,做黑 客必须掌握的
语言
学会C/C++, 走遍全球都不
常见的软件:
系统软件:
如:DOS,windows,Linux,IOS,Android等。
应用软件:
如:微信,扫雷,迅雷,QQ等。
什么是开发?
制作软件
1.1基本常识
软件的出现实现了人与计算机之间的更好的交 互。
交互方式:
自然交互界面:声音控制,触摸屏手势识别 图形化界面:这种方式简单直观,使用者易于接受
聪明的同学一定想到了:翻译!是,一个既懂汉语又懂英语 的人,不就可以将中文翻译给美国人听么?
所以,有一类专门的程序,既认识机器语言,又认识汇编语 言,也就是编译器,将标识符换成0与1,知道怎么把汇编语 言翻译成机器语言。于是,人类和机器间的交流,终于又畅 通了,而且人类可以比较轻松的编写程序了。也就是编译器, 将标识符换成0与1.
才能使计算机听话呢?当然是用计算机听得懂的语言去命 令它了。计算机的大脑或者说心脏就是CPU,它控制着整
个计算机的运作。每种CPU,都有自己的指令系统。这个
指令系统,就是该CPU的机器语言。机器语言是一组由0
和1系列组成的指令码,这些指令码,是CPU制作厂商规
定出来的,然后发布出来,请程序员遵守。比如下面是某 CPU指令系统中的两条指令:
因为C语言已经存在很多年了,它有广泛的使用团体并且有大量 的现成代码可以利用。这就使大家能在过去程序的基础上,快速 和高效的实现自己的程序。
1.2.4 C语言未来用武之地
► C语言未来用武之地
云计算
物联网
移动互联网
未来信息技术的趋势,都需要C/C++
1.2.5C语言的精髓
C语言优点简洁、紧凑,使用方便、灵活,功能强大, 执行效率高
语言是用来交流沟通的。有一方说,有 另一方听,必须有两方参与。这是语言 最重要的功能。语言就是用来表达意思 传递信息的。说的一方传递信息,听的 一方接受信息;说的一方下达指令,听 的一方遵从命令做事情。语言是人与人 交流,C语言是人与计算机.人可以不听 另外一个人,计算机就是无条件服从。
语言有独特的语法规则与语言定义。交 流双方都了解明白并遵守这些规则与定 义。一个只会说汉语的中国人,和一个 只会说英语的美国人,只通过嘴巴发出 声音互相交流,结果一定是对牛弹琴, 信息完全传递不出去。为什么?因为互 相不知道对方的语法规则与语言定义,
34种运算符: 算术运算符:+ - * / % ++ -关系运算符:< <= == > >= != 逻辑运算符:! && || 位运算符 :<< >> ~ | ^ & 赋值运算符:= 及其扩展 条件运算符:?: 逗号运算符:, 指针运算符:* & 求字节数 :sizeof 强制类型转换:(类型) 分量运算符:. -> 下标运算符:[] 其它 :( ) -
1.1.10C语言的出现
汇编语言和机器语言都是面向机器的,机器不同,语言也
不同。既然有办法让汇编语言翻译成机器语言,难道就不 能把其他更人性化的语言翻译成机器语言?1954年, Fortran语言出现了,其后相继出现了其他的类似语言。这 批语言,使程序员摆脱了计算机硬件的限制,把主要精力 放在了程序设计上,不在关注低层的计算机硬件。这类语 言,称为高级语言。同样的,高级语言要被计算机执行, 也需要一个翻译程序将其翻译成机器语言,这就是编译程 序,简称编译器。
这类高级语言解决问题的方法是分析出解决问题所需要的 步骤,把程序看作是数据被加工的过程。基于这类方法的 程序设计语言成为面向过程的语言。C语言就是这种面向过 程的程序设计语言。
1.1.11语言的层次划分
语言的层次
加法
高级语言
A+B
汇编语言
汇编语言
ADD AX BX
机器语言
机器语言
0000 0001 1101 10000
1.3学习C语言的方法与秘诀
多动手少求人!
动手是学习C语言最快的途径。
多学习优秀代码
C语言有很多优秀代码值得学习,要学会吸星大法
多以人类的思考方法来类比计算机
学会类比,理解了计算机是如何处理的,用人类的思维转换成计算机的处理方法, 就可以很快解决问题。 记笔记,加注释,写总结,不要完全依赖于书和视频。
C语言仅有32个关键字,9种控制语句,却能完成无 数的功能。某些方面C语言可能确实不如其他语言优 秀,比如字符串处理方面,就不如Perl语言;比如数 值计算方面,就不如Fortran语言;比如人工智能方 面,就不如Lisp语言。可是这些语言在其他方面却远 远不及C语言。而且C语言有其他诸如表达力强,移 植性好的特点。