《01.C语言程序设计-概述》由会员分享,可在线阅读,更多相关《01.C语言程序设计-概述(17页珍藏版)》请在金锄头文库上搜索。
1、语言程序设计,主讲人:李志强,Tel. 82338491 Email: ,课程目标 掌握 C 程序的基本结构,熟悉 C 程序的编辑、编译、调试和运行过程; 能够熟练地阅读用 C 语言编写的程序; 能运用结构化程序设计方法编写 C 程序; 能调试、运行程序。 教学方式 理论学习、上机实践(多实践),会读、会写、会调试,课程教学大纲,学习本课程能使你成为什么?,网络黑客,C语言掌握程度是决定计算机水平的基础。,游戏开发,制造病毒,密码专家,工程计算,科学探索,考核方式 平时成绩(含上机实践) 期末笔试 教材 C程序设计(第三版) 谭浩强主编 清华大学出版社 参考书 C程序设计设计语言(第二版)(T
2、he C Programming Language),Brian W. Kernighan & Dennis M. Rirchie,清华大学出版社 网上资料,概述,什么是程序?,向执行系统发出的命令集称为程序。向计算机发出的命令集称为计算机程序。,什么是语言?,指令集的形式必须遵从某种规则,这种规则称之为语言。不同的语言有不同的规则(语法),手机、微波炉、电冰箱的指令集形式各不相同。,计算机硬件,计算机科学知识体系是一个有层次的知识体系 计算机科学知识的学习者分三个层次:,操作系统,实用程序,应用程序,终端用户,程序员,操作系统设计者,学过计算机文化基础课 掌握基本操作,懂得计算机原理、数据结
3、构、计算方法、编译等计算机知识并能进行软件开发的人员,掌握更多更深计算机知识的高级计算机专家,编制 高水平的程序,多方面知识,计算机语言的分类,机器语言 计算机按二进制进行基本工作,只能识别二进制代码。 例如:1011 0101 0110,加,0101,0110,地址2,含义:将“地址1”和“地址2”中的数据取出来进行加运算,并将结果放回到“地址1”中。,特点:必须要对计算机的工作方式非常熟悉,熟背“密码本”及大量的与计算机工作原理密切相关的潜规则。,难懂,不易理解和修改;可移植性差;执行效率最高。,机器语言格式:指令码 地址1 地址2,7,计算机语言的分类,汇编语言 用助记符来代替二进制代码
4、,提高了程序的易读性。 例如:1011 0101 0110,汇编语言书写的程序不能被计算机所理解,必须经过一个“翻译工具”进行处理,将它转换成二进制代码。,特点:初步解决了难懂的问题,程序的编写效率有所提高;可移植性差;执行效率较高。,ADD AX, BX,ADD AX, BX,编译工具,1011 0101 0110,计算机语言的分类,高级语言 用英语和数学表达式的方式来书写程序。 例如:if (beta=0) x=(-b+sqrt(beta)/(2*a),高级语言更接近于人类的自然语言,很容易理解。 高级语言书写的程序更不可能被计算机所理解,必须经过更高级的“翻译”才能将它转换成二进制代码。
5、,特点:便于理解和修改,程序的编写效率最高;具有良好的可移植性;执行效率最低。,计算机语言的分类,Z=X+Y,ADD AX,BX,1011 1101 0110,解一元二次方程,鸿沟,执 行 效 率,开 发 效 率,高,低,低,高,高级语言的种类,BASIC 简单易学,容易调试 FORTRAN 应用于科学计算 PASCAL 结构严谨 C,C+,C# 灵活多变 JAVA 网络应用 ,为什么选择C语言进行学习?,C语言的特点,语言简洁、紧凑,使用灵活,程序书写形式自由; 丰富的运算符和数据类型(共有34种运算符); 生成的目标代码质量高,程序执行效率高; 可移植性好; 可进行低级操作; 限制较少,容
6、易出错。,C语言的发展历史,1970年,贝尔实验室提出了B语言; 1971年,在PDP11/20上实现了B语言; 1972年,在B语言的基础上提出了C语言; 1973年,用C语言重写了UNIX操作系统,使得UNIX发生了质的变化,推动了UNIX的应用; 1977年,出现了不依赖于具体硬件的通用C语言; 1990年,制定了C语言的ISO标准; 80年代,C+出现; 2000年,C#出现。,最简单的C语言程序,/ Its only a sample. #include main() printf (“I am a student of BUAAn“); ,在学习语言的最初阶段,希望大家记住一些基本
7、规则,这些规则都有特定的意义,但目前不要求大家理解。,I am a student of BUAA,执行结果:,最简单的C语言程序,/ Its the second sample. #include main() int a,b,c;a=5; b=10;c=a+b;printf(“5+10=%dn“,c); ,5+10=15,执行结果:,变量:是一个存储空间的名字,其存放的数据可以随时改变。 表达式:用运算符将变量连接起来,符合语法规则的式子。 程序的执行过程:按顺序执行。,a,b,c,5,10,15,C语言的基本规则,注释语句以/开头; 程序总是从主函数main( )中的第一条语句开始执行; 主函数必须有完整的括号对 ; 每一条语句以分号(;)结束; 变量使用前必须声明; 赋值语句的是将等号右边的计算结果存贮在等号左边的变量中。,最简单的C语言程序,/ Its a third sample. #include main() int a,b,c,x;a=1; b=10; c=9;x=(-b+sqrt(b*b-4*a*c)/(2*a);printf(“result=%dn“,x); ,result=2,执行结果:,a,b,c,1,10,9,x,2,这个程序的功能不完善,怎么修改?,a*x*x+b*x+c=0;,写成这样可以吗?,