版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章程序设计ABCC语言计算机专业教研室王永会yonghuiwang@126.com
戊2-30624690666计算机专业学什么?什么是“会计算机”?会打字?会编程?会DIY?会上网?会“黑客”?……懂原理、能应用、有创新计算机计算机是用来延伸人的能力的工具,需要人来驾驭我们的职责是让非计算机专业的人更容易驾驭它完成这一目标的主要手段之一就是
“编程(Programming)”计算机未来发展趋势巨型化-Supercomputer微型化-Microcomputer,NanotechComputer,embeddedsystem网络化-WebInternet智能化-AIdataminingHardware:electronicandelectricalsystem,automation,
programmingSoftware:softwareengineering,programmingComputing:DataIntensiveComputing,cloudComputing,datawarehouse,programming
Application-oriented:sciencecomputing,socialcomputing,GIS,programming计算机与人工智能计算机行业的梦想让计算机(Computer)能像人一样地思考,与人自然交流,人工智能(ArtificialIntelligence)图灵测试
计算机与人工智能1997年,IBM公司研制的深蓝超级计算机在一场“人机大战”中打败了国际象棋大师卡斯帕罗夫被誉为“人工智能的一大胜利”
深蓝的主要研制者之一许峰雄博士:胜利靠的只是不知疲倦地高速运算,并不是什么智能
计算机基本工作过程整个过程的执行者是硬件,但硬件是受软件控制的编程,就是编写软件,使硬件按照人的意图工作计算机基本工作过程输入/输出设备存储器运算器控制器源程序和输入数据输出结果取出数据存入数据操作命令存取命令取出程序指令输入输出命令计算结果CPU“冯·诺依曼机”结构
大脑记忆装置眼睛和耳朵程序和数据硬盘CPU内存执行结果软件的形成软件(Software)的形成程序员(Programmer)编写程序源代码(SourceCode)编译器(Compiler)把源代码转换为可被计算机理解的机器代码(MachineCode)并把机器代码以可执行文件(ExecutableFile)的形式保存在磁盘上软件运行过程的简单描述软件的运行计算机把机器代码读入到内存(Memory)由CPU运行这些代码读取输入(Input)产生输出(Output)完成程序员预定的功能计算机专业后续课程计算机原理编译原理操作系统人与计算机的对话两个说不同母语的人的对话方式:一方学另一方的语言双方都学习一种第三方语言人与计算机的对话方式:计算机学习人的语言(自然语言理解)人学习计算机的语言学习第三方语言程序设计语言与人类语言自然语言:人类为了交流思想、表达感情、交换信息,逐步发明了语言。
程序设计语言:人类为了能够更好地与计算机进行交流与通讯,发明了专门与 计算机打交道的交流工具。
篇、章句子或段落=词或词组+语法词或词组=字+语法自然语言的构成字文章构造单元程序设计语言的构成基本单元词:标识符关键字常量运算符句子:语句篇章:程序编程并不神秘,与从小母语或自然语言如一门外语的学习有许多相似之处。语法规则程序设计规则计算机语言是一种跨国界的世界通用的语言,通过编程可以表达自己的思想,互相交流!程序设计语言(ProgrammingLanguage)是人与计算机进行交流的语言计算机直接能读懂的语言机器语言(MachineCode),也叫机器代码一种纯粹的二进制语言程序设计语言的故事程序设计语言的故事计算机为什么用二进制呢?为什么不用我们日常熟悉的十进制呢?二进制在在电器元件中容易实现计算机进行二进制运算比进行十进制运算要简单得多
程序设计语言的故事机器语言编写的1+1程序汇编语言(AssembleLanguage)编写的1+1程序101110000000000100000000000001010000000100000000MOVAX,1ADDAX,1程序设计语言的故事BASIC语言编写的1+1程序C语言编写的1+1程序PRINT1+1#include<stdio.h>main(){ printf("%d\n",1+1);}C语言的创世纪一切从一个叫“SpaceTravel”的电子游戏开始……为了让他的游戏能在PDP-7上运行,KenThompson用汇编语言给PDP-7写了一个操作系统——UNIX汇编太不好用了,Thompson需要高级语言试验了一些高级语言,包括Fortran,都不理想他在BCPL基础上,自己设计了一个B语言UNIX开始发展,B也不够用了DennisRitchie加入,把B改造成C开始用C重写UNIXC程序设计语言是一种高级语言高级语言并不是“高级”,只是相对低级语言,在一个高的级别上进行编程历史悠久,战勋卓著诞生于上世纪70年代初,成熟于80年代(C89),修订与90年代(C99)很多重量级软件都是用C写的上天入地,无所不能几乎没有不能用C写出来的软件,没有不支持C的系统很多流行语言、新生语言都借鉴了它的思想、语法从C++,到Java,再到C#,还有php等C程序设计语言硬件(Hardware)操作系统(OS)应用程序
(Application)应用
平台基于
平台的
应用
程序低级语言的地盘高级语言的地盘C语言的地盘C语言的设计者
DennisM.RitchieCisquirky,flawed,andanenormoussuccess.和Unix的设计者KenThompson
接受美国国家技术勋章Ritchie和Thompson在开发UNIX程序设计语言编辑(Edit)扩展名为.c的文件
编译(Compile)扩展名为.obj的文件
链接(Link)形成最后的可执行文件扩展名为.exe的文件
运行(Run)编译语言一种编译语言对应一种编译器程序员按照该语言的语法编写程序源代码,把自己的意图融入到代码中编译器读入源代码,把程序员的意图转换成可执行程序,供他人使用C语言可执行程序编译器解释运行解释运行过程程序员编写程序源代码解释器读入源代码,并执行源代码解释运行的语言特点执行速度慢好学易用先编译、后解释把源代码编译成更容易解释的中间代码,然后再解释运行流行语言应用编程语言机器语言汇编语言BasicPascalCC++JavaC#专项编程语言LotusNotesPowerBuilderWeb编程语言HTMLXMLPHPASPJSPJavaScriptVBScript其他perlpythonVBA对一门计算机语言的深入掌握意味着:学习计算机程序设计的思想、方法+经验+兴趣=能力和成功!学习C语言目的及方法期末考试;等级考试;后续有关课程的学习打基础;为学习其它的高级语言或开发工具基础;工作;快乐;预习!+课堂教学+实践!
调试并去除错误学习编程唯一有效途径!Debugandremoveerrorsisanonlyeffectivewayforlearningprogramming.例1:
Hello,World#include<stdio.h>main(){ printf("hello,world\n");}hello.c简单的C程序介绍考考你:
如何把“hello”和“world”分别打印在两行?包含标准输入输出库(standardinput/outputlibrary)无参数的主函数(mainfuctionwithoutargumentvalues)Maincallslibraryfunctionprintftoprintthissequenceofcharacters.\n换行符Newlinecharacter#include<stdio.h>main(){inta,b,c;//变量声明整型(integer)variabledeclaration
a=100;//变量赋值,assignment b=50; c=a+b;//计算,computeandassign.printf(“\nc=%d”,c);//output“c”toscreen}例2:求两数之和。
例3:求两个数的和(函数)前面使用了系统提供的函数printf。不用知道这个函数内部是如何运作的,只按照参数形式调用它即可;C程序由函数构成;我们也可以定义自己的函数;“一个程序应该是轻灵自由的,它的函数就象串在一根线上的珍珠。”(《编程之道》)#include<stdio.h>/*函数功能:计算两个整数相加之和
入口参数:整型数据a和b
返回值:整型数a和b之和*/int
Add(inta,intb){
return(a+b);}/*主函数*/main(){
intx,y,sum=0; printf("Inputtwointegers:"); scanf("%d%d",&x,&y);/*输入两个整型数x和y*/ sum=Add(x,y);/*调用函数Add计算x和y相加之和*/ printf("sum=%d\n",sum);/*输出x和y相加之和*/}例3:求两个数的和(函数)(1)函数由两部分组成:函数说明部分:函数名、函数类型、形参名、形参类型。函数体:实现函数的具体操作;由语句构成。(2)程序总是从main函数开始执行。sum.c例4:打印华氏温度与摄氏温度对照表计算公式:
C=(5/9)(F-32)打印华氏温度与摄氏温度对照表#include<stdio.h>/*对fahr=0,20,...,300
打印华氏温度与摄氏温度对照表*/main(){
int
fahr,celsius;
int
lower,upper,step;
lower=0;/*温度表的下限*/
upper=300;
/*温度表的上限*/
step=20;/*步长*/
fahr
=lower;
while(fahr<=upper){
celsius=5*(fahr-32)/9;
printf("%d\t%d\n",fahr,celsius);
fahr=fahr+step;
}}fc1.cWhile(){}代码风格#include<stdio.h>/*对fahr=0,20,...,300
打印华氏温度与摄氏温度对照表*/main(){
int
fahr,celsius;
int
lower,upper,step;
lower=0;/*温度表的下限*/
upper=300;
/*温度表的上限*/
step=20;/*步长*/
fahr
=lower;
while(fahr<=upper){
celsius=5*(fahr-32)/9;
printf("%d\t%d\n",fahr,celsius);
fahr=fahr+step;
}}fc1.c没有代码风格#include<stdio.h>main(){int
fahr,celsius;int
lower,upper,step;lower=0;upper=300;step=20;fahr=lower;while(fahr<=upper){celsius=5*(fahr-32)/9;pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年成都市房产交易合同
- 二零二四年车辆维护与清洁服务合同
- 2024年度企业并购协议书2篇
- 2024年度版权代理合同with标的:作家作品代理出版3篇
- 2024版科技企业孵化器投资股权合同3篇
- 电力工程劳务分包合同(2024年度)
- 二零二四年度融资合同:企业债券发行与购买协议
- 2024年度加工承揽合同质量担保
- 瓷砖施工环境保护2024年度合同
- 2024年度高速公路混凝土路面养护合同
- 钢管材质证明书
- 国家中长期科技发展规划纲要2021-2035
- 《谁的得分高》(教学设计)二年级上册数学北师大版
- 采血后并发症及护理-课件
- 签订无固定期限劳动合同申请书
- 北京工商大学百事可乐市场营销分析
- 清华大学出版社机械制图习题集参考答案(课堂PPT)
- 清华大学机械原理课件-第8章-组合机构上课讲义
- 校园监控维护记录表
- 劳动保障监察执法课件
- 小学文明礼仪教育中译六年级上册第九课民族礼仪 哈达
评论
0/150
提交评论