第1章 为什么要学C语言
C语言程序设计(一)为什么要学C语言
C语⾔程序设计(⼀)为什么要学C语⾔第⼀章为什么要学C语⾔学编程的过程,其实就是学习怎样⽤编程语⾔说话,让编译器听懂的过程。
汇编语⾔缺少“可移植性”除了机器语⾔和汇编语⾔以外,⼏乎所有的编程语⾔都被统称为⾼级语⾔,它的特点是更接近⾃然语⾔,⽽与机器语⾔基本没有⽠葛。
不同的⾼级语⾔编译器,可以把同样的⾼级语⾔程序翻译成适应不同机器的指令,因⽽⾼级语⾔⼤多具有较好的可移植性。
ken和der的可爱之处:1. 做事情以兴趣为出发点,并不在乎未来会怎样2. 极富钻研精神,喜欢迎接挑战3. 乐于分享,不计回报⿊客是计算机和互联⽹的缔造者,是⼀种独特的⽂化。
如果⼀件事情可以⽤X语⾔做,就⼀定不要⽤C语⾔做。
C诡异离奇,缺陷重重,并获得巨⼤成功。
C语⾔设计原则的第⼀条是:信任程序员。
C语⾔完全满⾜⼈们对效率的苛求,精⼼设计的代码可以极⼤的节约资源,⼜不像汇编语⾔那样难⽤,所以受到程序员的欢迎。
现在还需要使⽤C语⾔的地⽅,⼤概只限于4个领域:1. C语⾔仍是编写操作系统的不⼆之选2. 在对程序的运⾏效率有苛求的地⽅3. 在需要继承和维护已有的C代码的地⽅4. 思想交流的⾸选媒介语⾔C语⾔很适合作为⼊门级语⾔,这并不是C语⾔⾃⾝决定的,⽽是中国庞⼤的C语⾔教育体系决定的。
关于C语⾔的书籍资料、论坛、习题和教辅系统是最多的,⽽且⽆⼀例外都是⾯向程序设计的初学者。
计算思维代表着⼀种普遍的认识和⼀类普适的技能,每⼀个⼈,不仅仅是计算机科学家,都应热⼼于它的学习和应⽤。
编程是编写程序的简称,术语称为程序设计,程序是计算机的主宰,控制着计算机该去做什么事,所有托付给计算机去做的事情都要被编写成程序。
程序设计的步骤:1. 需求分析2. 设计:搞明⽩计算机该怎么去做这件事:设计算法、数学建模,⽤数学的⽅法对问题进⾏求解;设计程序的代码结构,使程序易于修正、扩充和维护3. 编写程序:把设计的结果变成⼀⾏⾏代码,输⼊到程序编辑器中4. 调试程序:将源代码编译变成可执⾏的程序,然后运⾏,看看是否能够满⾜要求。
为何要学习C语言,以及如何学习C语言
为何要学习C语言,以及如何学习C语言有关为何要学习C语言以及如何学习C语言这个话题,可以说和“一千个读者就有一千个哈姆雷特”一样,每个人都有每个人的见解和学习方式。
回想起10年前的那个暑假,自己跟着某天翔七天学会单片机的视频教程一步一步学习C语言、单片机的日子,不由得感慨万千,想起自己在开发路上走过的路,坎坎坷坷。
废话说多了,,,有关本文的主题,个人感觉,这个首先该看自己的定位在哪,不同的目的会有不同的过程,一般学习C语言分为以下几种情况:1.学校开设这门课程,学习C语言仅仅是为了应付考试。
如果是这种情况,跟着老师步子走,把课后题多做一些,多上机练一练,考个高分还是不成问题的。
2.业余编程,把C语言当成一种爱好。
如果是这种情况,可以较为深入的学习一下C语言,多看一些源码,看看别人怎么用的,然后多多将自己的实际问题转化成C代码实现一下就OK了。
3.要从事其它语言开发,把C语言当成一种敲门砖。
这种情况比较复杂,因为我曾经走过这条路子,14年曾经尝试着转纯软件开发,后来感觉那种日子不如搞软硬结合来的爽快、成就感强,就放弃了。
抱这种目的的,也分情况,如果是从事web开发这个方向,学不学C 语言作用都不是很大,尤其是从事前端开发,有没有C基础,几乎对前端的学习没有一点帮助。
如果是从事后端开发,有C基础肯定比没有好点,但是这种付出不成比例,C指针那块太耗时、耗力,建议直接上后端开发语言(比如Java、php等)即可。
4.嵌入式开发。
这种情况,如果纯裸机开发,就掌握了C基础以后,多看别人的代码,多学编程思路,多使用结构体封装,多使用模块化编程,便于代码移植、复用,多从项目整个框架的层面考虑就可以了。
如果是开发比较轻量级的系统,比如FreeRTOS、uCOS等,可以掌握C基础以后,直接上源码即可,多研究下这些系统的功能是如何实现的,掌握指针与数组、函数的关系,然后多加分析、练习就差不多了。
这种情况,建议当你感觉到没什么进步的时候,找一个固定平台学习一下汇编,推荐ARM平台的汇编,因为ARM汇编标准化比较高,而且将来一定是ARM的天下,现在Cortex-M0核的MCU已经2块钱以下了,低端到高端产品线超级丰富,选择性太好了,还犹豫啥呢?!对照着指令手册,慢慢分析下自己的C源码产生的汇编是什么样子、该如何优化,看下自己的C代码的变量、函数等内容的地址是怎么分布的、字节对齐有什么效果等等,调试的时候多借助下映射、链接文件,会极大提高调试效率。
C语言程序设计基础教程 1.2、为什么要学习C语言?
C语言
你了解C语言吗? 你熟悉C语言吗?
你精通C语言吗?
为什么要学习C语言? 理工类本科为啥将C语言作为公共必修课程?
C语言
1、将来工作中有可能涉及到编程
2、培养严谨的做事态度
3、培养严密的逻辑思维能力
C语言程序设计在软件开发中的地位
为什么要学习C语言?
物联网项目开发
C语言
手机开发 手机软件设计基础
高级语言程序设计(JAVA)
移动互联专业专业基础课
软件开发基础(思想)
C语言程序设计 (96学时,6学分)
为什么要学习C语言? C语言程序设计在就业中的地位 招聘
1. 应用软件开发 2. 嵌入式开发 3. 手机软件开发
为什么要学习C语言?
C语言
C语言程序设计在软件开发中的地位
C语言自诞生至今已经有近五十年的历史,但是C语言的使用与学习依然非常的火热。TIOBE 编程语言社区 排行榜发布的2017年6月的全世界所有编程语言的排行榜中C语言稳稳的占据着第二位,仅次于风靡全球
的JAVA语言
为什么要学习C语言?
C语言
1.口述 2.信函 3.传真
指令被逐条执行
老板 程序员
秘书
程序:为了使用计算机解决某些问题而编写的一系列有序指令的集合。
初识C语言—什么是C语言
C语言
C语言
程序设计
应用于
应用于
为什么要学习C语言?
C语言
课程地位
C语言程序设计在软件开发中的地位
C语言在移动互联专业中的地位
C语言程序设计在就业中的地位 非计算机本科C语言为什么是公共必修课
为什么要学习C语言?
C语言程序设计
为什么要学习C语言?
学习c语言的理由
学习c语言的理由
学习c语言具有重要意义,下面将从几个角度来阐述它的重要性。
首先,C语言是一种通用的编程语言,涉及到许多其他语言,可以用于开发一些复杂的程序。
C语言可以让我们创建操作系统、嵌入系统、移动应用程序和桌面应用程序。
可以说,如果不掌握C语言,要想做计算机科学家的梦想,几乎是不可能实现的。
其次,C语言是计算机语言中功能强大的一种,它具有诸如强大的循环结构、类型安全、指令灵活等性能特点,它可以创建像文件、内存、数组或复杂的算法等的丰富的程序功能。
这使得C语言能够在更容易的方式中去创建更有效的程序,也使它在开发高级的程序中占据重要地位。
此外,C语言还可以用于为一些流行的软件创建底层的核心结构,这可以是内核的一部分,也可以是一些流行的游戏、数据库等。
最后,C语言相比其他编程语言非常简单易懂。
它有一个简单的语法及一组短小精悍的关键字。
因此,学习C语言可以更加容易、快捷,有利于入门学习其他语言。
总之,C语言有它自身的重要性,可以为我们提供许多令人惊叹的编程解决方案。
从而可以为我们带来良好的发展机遇。
所以,学习C 语言是非常有意义的,值得投入精力去提高自己的编程技能。
第1章 为什么学编程 【C语言程序设计】
图像处理,文字处理,计算机动画,CAD…
10/37
问题8:软件与硬件的关系是什么?
• 硬件——计算机的躯壳和肉体 • 软件——计算机的灵魂和思想 • 软件促进了计算机从裸机到计算机系统的进化
11/37
问题9:程序和软件有区别吗?
• 程序(Program)
• 为了实现特定目标或解决具体问题而用计算机语言编写的指令的 有序集合
眼睛和耳朵
大脑
9/37
问题7:什么是软件?
• 人驾驭计算机的手段之一是编写软件(OS, Office, IE,…) 软件(Software)
系统软件—为使用计算机提供最基本的功能
操作系统—用户与计算机硬件系统之间的接口,管理 计算机系统的各种软、硬件资源,使得它们可以协调 工作,最内层
支撑软件—环境数据库、接口软件和工具软件
• 奥秘:高速的检索演算能力及其海量的存储能力(200万棋谱)
• 让计算机执行复杂的计算什么是人工智能?
• 2012年6月底,在英国著名的布莱切利庄园举行了一场国际 人工智能机器测试竞赛
• 由俄罗斯专家设计的“叶甫根尼”电脑程序脱颖而出 • 其29.2%的回答均成功“骗过”了测试者,被视为目前世界上最接
第1章 学习内容
• 计算机和程序设计的基础知识 • C语言简介 • C语言集成开发环境
1/37
问题1:你了解计算机吗?
• 为什么计算机也被俗称为“电脑”?
• 期望计算机有朝一日能像人脑一样聪明
• 让机器能像人一样思考,一直是人类的梦想 • 很多科幻故事描绘了计算机真正成为电脑时的景象
• 《变形金刚》里的机器人大战 • 《AI(人工智能)》里探讨的人类与机器的感情关系 • 《终结者》里机器人企图消灭人类 • 最有想象力的是《Matrix(黑客帝国)》
01为什么要学习C语言
对于大部分程序员,C语言是学习编程的第一门语言,很少有不了解C的程序员。
也许你将来的工作或学习不会使用C语言,但是它能让你了解编程相关的概念,带你走进编程的大门,以后学习其他语言,会触类旁通,很快上手,7 天了解一门新语言不是神话。
也只有C语言的教程(书籍、在线教程、视频等)才会介绍最基本的编程概念,手把手教你从零学会写代码;其他编程语言(C++、Java等)大都一带而过,对基础介绍很少。
如果你从例如C++、Java、PHP等开始学习编程,会发现非常吃力,不知所云,甚至无法掌控。
C语言语法简单精炼,概念少,效率高,包含了基本的编程元素,后来的很多语言(C++、Java等)都参考了C语言,说C语言是现代编程语言的开山鼻祖毫不夸张,它改变了编程世界。
正是由于C语言的简单,对初学者来说,学习成本小,时间短,结合本教程,能够快速掌握编程技术。
C语言不但执行效率高(比C++、Java都高),而且应用广泛,可以用来开发桌面软件、硬件驱动、操作系统、单片机等,从微波炉到手机,从汽车到智能电视,都有C语言的影子。
所以说,学习一门年龄比自己还大的语言很有必要(C语言诞生于20世纪70年代初)。
当然,C语言也不是没有缺点,毕竟是70后老人,有点落后时代。
不过这里不讲,讲了你也不明白,以后你自然会了解。
第1章C语言C语言概述
C
语
言 程
Ritchie和Thompson在开发UNIX
序
设
计
第 一 章
C 语 言 概 述
C
语 言
和Unix的设计者Ken Thompson
程 序
接受美国国家技术勋章
设
计
第 一 章
C 语 言 概 述
C 语
C语言发展史
言
程 序
ALGOL 60语言
设
计 将CPL语 言煮干, 提炼出它 的精华
ADD AX, 1
C
语
程序设计语言的故事
言
程
序 设
BASIC语言编写的1+1程序
计
PRINT 1+1
第 C语言编写的1+1程序
一
章
C
#include <stdio.h>
语
main()
言
{
概 述
printf("%d\n", 1+1);
}
C
语
言
程
序
设 计
•
应用编程语言
– 机器语言
– 汇编语言
– Basic
语 前提到的例题.最后我认为你可以自己来写C语言标准函数,比
言 概
如strcpy(); strlen();strcat();最好不要过分依赖库函数.
述
C
语 言
学习C语言的参考书
程
C 序
设 1、轻松学习 程序设计
计 ————揭开计算机与程序设计的奥秘
何勤著
中国电力出版社 2008.8
2、C语言大学实用教程(第2版)
第1章C语言概述
有 有错? 无 可执行 目标程 序 连 接
目标程 序 file.obj
file.exe
执 行
库函数和 其它目标 程序
不正确 结果正确? 正确 结 束
源程序 目标程序 可执行程序 内容 程序设计语言 机器语言 机器语言 可执行 不可以 不可以 可以 .c .obj .exe 文件名后缀
§1-4 运行C程序的步骤和方法 运行C 上机运行C 二、上机运行C程序的方法 运行
怎么样才能学好C语言? 怎么样才能学好C语言?
1.课前预习 1.课前预习 2.上课集中精神 上课集中精神, 2.上课集中精神,做好记录 3.尽可能独立完成作业 3.尽可能独立完成作业 4.多抽时间上机实践 重要) 多抽时间上机实践( 4.多抽时间上机实践(重要) 5.经常编写程序 熟能生巧,温故知新) 经常编写程序( 5.经常编写程序(熟能生巧,温故知新) 6.多与老师 多与老师, 6.多与老师,同学交流
§1-3 简单的C语言程序介绍 简单的C
注意: 注意:
函数的声明部分和执行部分都可缺省,例如:
void dump ( ) { }
这是一个空函数,什么也不做,但是合法的函数。
§1-3 简单的C语言程序介绍 简单的C
(3) C程序总是从main函数开始执行的,与main函数的 位置无关。 (4) C程序书写格式自由,一行内可以写几个语句, 一 个语句可以分写在多行上,C程序没有行号。 (5) 每个语句和数据声明的最后必须有一个分号。 (6) C语言本身没有输入输出语句,输入和输出的操 作是由库函数scanf和printf等函数来完成的。C对 输入输出实行“函数化”。 (7)可以用/*……*/对C程序中的任何部分作注释。
§1.4 C程序的上机步骤 程序的上机步骤
《C语言程序设计(高职版)》第1章:C语言概述
/webnew/
1.2 简单的C程序介绍 简单的C
(3) C源程序中的所有语句都必须用一个分号作为终止符,否则C语言 认为该语句没有结束。但在预处理命令、函数体中右花括号之后 不能加分号。 (4) C语言中的字母要区分大小写,习惯上用小写字母。只有常量、宏 定义等多用大写,所有的关键字必须小写,如int、if、return等只 能小写。同样,使用变量时也必须注意变量名的大小写,相同字 母的大、小写代表不同的变量,如a与A表示两个不同的变量。 (5) 可以用/*……*/对C程序中的任何部分作注释,一个好的有使用价值 的源程序都应当加上必要的注释,以增强程序的可读性。注释通 常放在一段程序的开始,用以说明该段程序的功能;或者放在某 个语句的后面,对该语句进行说明。源程序编译时,注释部分将 不参加编译,也不会出现在目标程序中。
/webnew/
1.1.2 C语言的基本特性 C语言的基本特性
• • • • • • C语言的优点很多,但也有一些不足之处: C语言语法限制不太严格,程序设计时自由度大。 C语言对变量的类型使用比较灵活,例如,整型和字符型数据可 以通用。 C语言允许程序设计者有较大的自由度,放宽了对语法的检查。 程序员应认真仔细地检查程序,确保其正确性,而不要过分依赖 于C语言编译程序去查错。 不过,程序员使用C语言编写程序时会感到限制少、灵活性大、 功能强,可以编写出任何类型的程序。
/webnew/
1.2 简单的C程序介绍 简单的C
(6) C程序的书写格式很灵活,一个语句可以写在多行上,在一行 上也可以书写多个语句。在程序清单中的任何一处都可以插 入空格符或回车符。通常书写程序时采用缩进并对齐的书写 方式。 (7) C程序的执行总是从主函数开始,并在主函数中结束。主函数 的位置是任意的,可以在程序的开头、两个函数间或程序的 结尾。 (8) 主函数可以调用任何非主函数,任何非主函数都可以相互调 用,但不能调用主 函数。 (9) C语言本身没有输入、输出语句,输入、输出的操作是由库函 数scanf和printf等函数来完成的。
第1章 C语言与程序设计
学习C语言的理由
• C语言可以作为学习计算机程序设计语言的入 门语言 • C语言是编写操作系统的首选语言,与计算机 硬件打交道灵巧且高效 • C语言具有现在高级程序设计语言的基本语法 特征 • 常用的面向对象程序设计语言如C++和Java,其 基本语法来源于C语言 • 许多用C语言编写的系统需要维护
1.4 算法及其表示
【例1-2】某体育比赛中,有10个裁判为参赛选手打分,参赛 选手最后得分的计算方法是:去掉一个最高分和一个最低分 后其它分数的平均值。求参赛选手的最后得分。 ⑴数据描述 问题中的原始数据有10个,解题过程中求最高分、最低分和 最后得分。在程序中可定义1个数组s存储10个分数、3个实型 变量max,min,score分别存储最高分、最低分和最后得分,另 外还需要若干辅助变量。 ⑵处理步骤描述 第1步:输入10个任意数,存储在数组s中; 第2步:求10个数的最高分、最低分以及它们的和,并存储在 变量max、min和sum中; 第3步:从sum中减去max和min并且除以(10-2)(值为8)求得 最后得分,并将其存储在变量score中; 第4步:输出变量score的值,则得到问题所要求的结果。
C语言程序设计是一门实践性很强的课程。在学习过程 中,不仅要掌握基本概念、语法和语义等内容,还需要注 重实验环节,通过自己动手编写程序,在完成C语言程序的 编辑、编译、调试和运行的过程中,加深对C语言的理解 。
本课程学习目标
• 计算机语言—C语言的词法、语法和语义 • 程序设计
第1章 C语言与程序设计
1.1 C语言发展历史
图1-1 C语言的发展历程
1.2 C语言的特点
•C语言简洁、紧凑、灵活可移植 •表达方式简练、实用灵活 •具有丰富的数据类型 •具有低级语言的特点 •是一种结构化语言,适合于大型程序的模块化设计
第1章 C语言概述
义语句定义变量,如“int x, y, z;”和“int c;”;执行语句完
成函数的功能,如“z = max(x, y);”。每条语句必须有分号 作为结束标志。一行可写几条语句,一条语句也可以分行
书写。
(5) C语言区分大小写字母。一般用小写字母书写程 序,大写字母作常量。
21 (6) 注释以“/*”开头,以“*/”结尾。注释文字可以是
种。这里我们简要介绍用Visual C++ 6.0这种比较流行的C 语言编程环境进行编程的基本步骤,使读者能够用它进行
简单的C程序开发。如果读者希望对它有更深入的了解,
请查看其帮助文档和用户手册。
26
1.3.1 启动Visual C++ 6.0
在安装了Visual C++ 6.0的系统中,选择“开
高级语言源程序的执行方式有两种:一种是“编译执行”, 另一种是“解释执行”。编译执行是指源程序需先通过特
定的工具软件整体编译、连接成计算机能够识别和执行的
语言(称为机器语言),然后交给计算机执行,执行时不需 要其他应用程序的支持。
23 常见的编译执行的程序语言有Pascal、C和C++。图1-1是C
窗口。此时,双击某行出错信息,程序窗口中便会指示对
应的出错位置,根据信息窗口的提示分别予以纠正后再编 译执行。
36
图1-7 编译出错时的信息窗口
便于阅读。第2行是C预处理程序的一条指令,这条指令通
知预处理程序把标准输入/输出头文件(stdio.h)中的内容包 括到程序中来(关于预处理和头文件在后续章节有介绍,这
里读者可以简单地把头文件看成许多函数的集合,在程序
中用到了这些函数中的一个或多个)。
第1章 《C语言》课程概述
二、怎样学习程序设计
总结:
1、要敢于跟老师提问题,包括反对老师的观点; 2、在大学里,老师不是学生唯一的知识来源,他们只是学生学习的协作者
和促进者;
3 、程序设计过程犹如解决一个实际问题(如做一道菜),从解决这个 问题的角度,可以这样看: 首先要 了 解 问 题的 基 本 要 求 , 即 输 入、
二、怎样学习程序设计
【例】输出排序后的100个数。 方法1:在排序的同时输出.
for(i=0;i<100;i++) { for(j=i+1;j<100;j++) if(a[i]>a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } printf(“%d\t”,a[i]); } 从执行效率上,方法1比方法2好,但从维护上,方法2比方法1好。
第1章 《C语言程序设计》课程概述
主 要 内 容
为什么要学习程序设计 怎样学习程序设计
C语言概述
一、为什么要学习程序设计
1、大学生不能满足于只会用软件,还应争取会开发软件;
2、计算机科学与技术包括科学与技术两个方面,其中科学侧 重研究现象与揭示规律,而技术侧重研制计算机及使用计 算机进行信息处理; 3、编写程序可以解决一些实际问题。
三、C语言概述
(3)算法的特性
① 有穷性; ② 确定性(无二义); ③ 可行性; ④ 0个或多个输入; ⑤ 1个或多个输出。 (4)算法的描述 ① 用自然语言描述;② 用流程图描述;③ 用N-S图描述; ④ 用伪代码描述; ⑤ 用计算机语言描述。
三、C语言概述
7、C语言的字符集、标识符和关键字
(1)字符集
(1)算法的概念
算法是计算机科学中最具有方法性质的核心概念,是计算机科学 领域的基石之一,被誉为计算机学科的灵魂。
计算机等级考试 C语言 第1章 为什么要学习C语言2017
ห้องสมุดไป่ตู้
1969年,26岁的Ken Thompson设计“Space Travel”的游戏。分别在Multic 和GECOS这两个操作系统上编写,允许两系统运行的都是大型机,显示效果很 差,收费高,玩一次需要支付75美元。
C语言的传奇历史以及ken和dmr的人格魅力足够让人 对学习C语言产生浓厚的兴趣,加上它的特色和同学们 所学专业的特殊性,学习C语言必须而且是进入编程大 门的不二之选。
编程需要经历四个阶段,要逐步领会。
利用VC6.0编写程序的方法比较简单。
目录
程序设计语言
机器语言
机器语言是由二进制符号0和1按一定规则组成的,能被机器直接理解
二、实验要求带教材,实验报告册。 三、要求书写实验报告册。
学习方法
实践是硬道理!
第一章 为什么学习C语言
第一章 为什么学习C语言
C 语言的传奇历史 C 语言的特色 数学专业为什么要学习C语言 编程基础知识 在Visual C++ 6.0中编写第一个C语言程序
C语言的传奇历史
科技界的梦工厂, 牛人云集,发明无
和执行的指令集合。
【例1-1】计算A=1+2的机器语言程序如下:
10110000 00000001 ;把1放入累加器A中
00101100 00000010 ;2与累加器A中的值相加,结果仍放入A中
11110100
;结束,停机
返回汇 编
程序设计语言
汇编语言
汇编语言是用助记符来表示每一条机器指令。
第1讲-为什么要学C语言20160302(1)
慕课(MOOC)资源
(1)C语言-基础课程(/cours es/cyu-yan-ji-chu-ke-cheng/) (2) 。 中国大学MOOC网站上的由苏小红老师主讲的 内容全面、练习题 C语言程序设计课程(http://www.icourse163. 目丰富。 org/course/hit-69005#/info) 必须注册,请采用
编译
链接
运行
所有步骤都可以在编译软件中完成
编译软件(编译器、编译环境)
编译软件 – 本身也是一个程序 – 功能是:实现程序设计语言的编辑、翻 译、连接、执行等一系列过程 常用的C编译器 – Visual C/C++ 6.0 – Turbo C 2.0(或3.0) – Turbo C For Windows 3.1(或4.5) – ……
17
任何C程序都必须有且只能有一个主函 数main(),它是程序的入口,也是程序的 出口。 C语言程序是由函数组成的,main是函 数名,括号内可以包含一些参数;花括号 内的内容称为函数体; 一般情况下,每个程序都由多个函数组 成; 各种功能语句书写在函数体内;不同语 句之间用分号分隔;
P149例7.1的程序代码 对比学习:语言的构成
C语言程序设计 (Programming in C)
本讲内容
一.课程介绍 二.程序设计过程 三.最简单的C程序 四.整型、实型数据
2
教材
教材:
对C语言和编程感兴趣的学生,最好有:
英文版
中文版
3
参考书
(美)凯尼格著,高巍译. 《C陷阱与缺陷》.人民邮电出版社. 2008 (C语言经典著作,能够帮你绕过C语言中的陷阱和障碍,减 少bug) [美] Kenneth A.Reek. 《 C 和指针》.人民邮电出版社. 2008 (优点: C语言经典著作,让你了解指针的强大,避免指针带来的风险) (美)琼斯,艾特肯. 《21天学通C语言》(第6版). 信达工作室译. 人民 邮电出版社. 2003(优点:循序渐进,深入浅出,结构合理, 更适合自学) 颜晖. 《C语言程序设计实验指导》. 高等教育出版社. 2008(优点: 调试过程截图丰富,便于学生课下自学) 谭浩强. 《 C程序设计》 (第四版) . 清华大学出版社. 2010(中国发行 的数量最多的C语言教材,侧重语法细节,方便过级)
第1章 C语言概述
1.3 程序与算法
1.3.3 算法的表示
1.流程图 美国国家标准化协会ANSI规定了一些常用的流程图符号,如 图所示。 起止框 或 流程线 处理框 判断框 连接点
<17>
1.3 程序与算法
【例1-3】画出求2+4+6+8+……+100之和的流程图。
开始 0⇒s,2⇒i i≤100 Y s+i⇒s,i+2⇒i
3.控制语句(9种3类)
–条件判断语句:if、switch。
–转向语句:break、continue、goto、return。 –循环语句:for、whlie、do-while。
4.复合语句
–用大括号将若干语句组合在一起形成的语句。
5.空语句
–只有一个分号的语句
<12>
1.2 两个C语言程序
1.2.3 C语言的编程风格 1.确保程序与用户间的交互性
(7) 生成目标代码质量高,程序执行效率高
(8) 可移植性好
<5>
1.1为什么要学C语言
1.1.3 C语言的不足
(1) C语言类型检查不严格,表达式容易出现二义 性,不能自动检查数组下标越界等。
(2) C语言缺乏支持代码重用的语言结构。 (3) C语言不适合开发大型应用程序。
<6>
1.1 C语言概况
–输入数据时有相应的提示信息
–输出数据时有相应的数据含义的信息
2.确保程序的可读性
–标识符命名、书写格式、注释三个方面注意
3.确保程序结构清晰
–多层次缩进、大括号位置的对齐、程序的模块化
<13>
1.3 程序与算法
我们为什么要学习C语言?
我们为什么要学习C语言?C是写操作系统最常使用的编程语言(译注:没有之一)。
Unix 是用C写的第一个操作系统。
后来Microsoft Windows,Mac OS X,还有GNU/Linu也都是用C写的。
C不仅是操作系统的语言,也是其它几乎所有今天最流行的高级语言的先驱和灵感来源。
事实上,Perl,PHP,Python和Ruby都是用C写的。
通过类推的方式,让我们这么说你一直在学的西班牙语、意大利语、法语或者葡萄语。
你想过知道点拉丁语会很有用吗?因为拉丁语是所有这些语言的基础,了解了C,你就能理解和欣赏建构在传统C之上的整个编程语言家族。
懂得C,就拥有了自由。
为什么是C,而不是汇编语言?汇编语言提供了速度和最大的编程可控性,C提供的是可移植性。
不同的处理器必须采用不同的汇编语言来编程,必须选择其中一种,只能学习其中一种,这太*了。
事实上,面对众多的计算机架构,C的一个主要优势在于其通用性和可移植性,而将硬件层的大多控制留给了汇编语言。
例如,C程序可以编译运行在如下设备上,HP 50g计算器(ARM 处理器)、TI-89计算器(68000处理器)、Palm OS Cobalt智能手机(ARM处理器)、原始的iMac(PowerPC)、Arduino(Atmel AVR)和Intel iMac(Intel Core 2 Duo)。
这些设备每个都有自己的专有汇编语言,并且完全不兼容于任何其它一个设备的汇编语言。
汇编语言,很强大,但很难去编写大型应用程序,很难以逻辑方式去阅读和解释。
C是一种编译语言,可以产生快速有效的可执行文件。
C也是一个小型“所见即所得”语言:一个C语句最多对应着几个汇编语句,其它都以库函数的形式提供。
所以这就是C是如此流行的语言的原因?就像推度多米诺骨牌一样,下一代的程序跟随着它的先辈的足迹。
用C设计的操作系统通常都有用C设计的系统库。
这些系统库反过来用于构建高级库(如OpenGL,或者GTK),这些库的设计者通常又会采用系统库所使用的语言。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11
开发C程序的步骤
1.设计算法 2. 编写程序源代码
–把自己的意图写入源代码
3. 编辑源程序
4. 编译和连接
5. 调试程序 直到改正了所有 的编译错误和运行错误 6. 运行程序
2013-12-4 12
C程序的编译环境
Visual C++
– Windows平台上最流行的C/C++集成开 发环境之一
第1章 为什么要学C语言
本章主要教学内容
C语言的传奇历史
– 游戏、黑客、图灵奖
C语言教给我们的事
– 不同专业的不同需求 – 计算思维
什么是“编程”
2013-12-4 3
两个骨灰级游戏玩家
Ken Thompson 江湖人称 ken
2013-12-4
Dennis M. Ritchie 江湖人称 dmr
• 不安全 • 不稳定 • 不易于维护
7
–给程序员最大 的发挥空间 –运行效率高
2013-12-4
C程序设计语言
是一种高级语言
–实际上是一种介于高级语言和低级语言之间的语言
历史悠久,战勋卓著
–诞生于20世纪70年代初,成熟于80年代
–很多重量级软件都是用C语言写的
上天入地,无所不能
–几乎没有不能用C语言实现的软件,没有不支持C 语言的系统
2013-12-4
10
程序开发步骤
•调试(Debug) •运行 (Run)
连接(Link)
•编译(Compile)
– 可执行文件 – 扩展名为.exe的文件
– 扩展名为.obj的文件
编辑(Edit) 编码(Write) 设计(Design) 需求分析(Analysis)
2013-12-4
– 扩展名为.c的文件(对C语言而言)
计算机科学与技术学院 侯俊英 houjunying@
一、教学内容: C语言程序设计的基本语法、基本句
学习结束学生应达到三会——会读 程序、会编程序、会调程序。 三、教学时数:40/32S
四、考核方法:平时40%+期未60%
2013-12-4 2
很多流行语言、借鉴了它的思想、语法
–从C++,到Java,再到C#
C语言适合做什么
选语言的标准-适合的才是最好的
– 编写操作系统和基础工具 – 对运行效率要求较高的系统 – 继承和维护已有的C代码 – 交流、笔试、面试时最常见的语言
2013-12-4
9
如何学C语言?
C语言易学,但不易真正掌握 多练、多读优秀代码 掌握最流行的语法形式 了解基本的程序设计思维 通过C语言,更好地了解计算机,了 解计算思维
4
他们干了什么?
1969年,ken和dmr梦想能遨游宇宙 ken设计了一款电子游戏——―Space Travel‖
游戏在PDP-7小型机上开发,因为这台机器免费
免费的机器没有操作系统 玩游戏之前,先给PDP-7做个操作系统,命名为 “UNIX‖ 汇编编写UNIX太慢,又没有称手的高级语言,怎么 办? dmr设计了一种新的高级语言,命名为“C语言” 1983年,因为UNIX和C语言的巨大成功, ken和dmr 共同获得当年度的计算机界最高奖——图灵奖
Ken和dmr被尊为黑客的鼻祖
他们未对UNIX和C语言申请任何版权或专利 UNIX和C语言是黑客世界里两大神器 黑客精神
– 做事情以兴趣为出发点,并不在乎未来会怎样 – 极富钻研精神,喜欢迎接挑战 – 乐于分享,不计回报
2013-12-4
6
C语言的爱与恨 爱
–信任程序员
恨
–无限制的自由 –如程序员不自我 约束,代码将是 灾难
Code::Blocks(简称CB)
– 是近年出现并获得关注的C/C++开发环境