《第1-2讲C语言概述.ppt》由会员分享,可在线阅读,更多相关《第1-2讲C语言概述.ppt(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1,第1-2讲 C语言概述,2,本讲主要内容,第1章1.1-1.3,重点:C语言程序的结构,本讲小结,3,1.1 程序设计语言的发展,CPU指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减,用助记符号描述的指令系统如 ADD A, B,面向机器的语言,程序设计是数据被加工的过程,程序设计关键是定义类,并由类派生对象,1 C语言的发展与特点(1),4,高级语言,面向开发者的语言以接近人类语言的形式来表现:具有标识符,关键字,数据类型等,按一定的规则组成程序代码,便于开发和维护,可读和开发性大大增强。,5,1 C语言的发展与特点(2),1.2 C语言的产生背景及
2、过程,1960,1963,1967,1970,ALGOL60,英国剑桥大学 CPL,英国剑桥大学 Matin Richards推出 BCPL,美国BELL实验室的Ken Thompson 简化了BCPL 提出B语言,6,1 C语言的发展与特点(3),1.2 C语言的产生背景及过程(续),C语言的产生过程,7,1 C语言的发展与特点(4),1.3 C标准标准C: K&R合著The C Programming LanguageANSI C: 1983年87 ANSI C: 1987年1990年国际标准的ANSI C,思考题:请课后查阅ANSI C的有关的资料,8,1 C语言的发展与特点(5),1.
3、4 C语言的特点,语言简洁、紧凑、灵活运算符和数据类型丰富程序设计结构化、模块化生成目标代码质量高可移植性好,返回主菜单,9,C语言被称为“高级语言中的低级语言”,这样说不是指它的功能差或难于使用,而是指它具有许多汇编语言等低级语言才具备的功能, C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。 所以C语言在系统设计十分有效,过去系统软件只能用汇编语言编写,使用C语言可以减轻程序的负担,提高效率,写出来程序也更具有可移植性。,1 C语言的发展与特点(5),10,计算机的层次,硬件(Hardware),操作系统(OS),应用程序(Applicatio
4、n),应用平台,基于平台的应用程序,低级语言的地盘,高级语言的地盘,C语言的地盘,11,1 C语言的发展与特点(5),1.5 C语言的缺点,语法限制不太严,编译器不进行太多的错误检查,程序员在编程如果不注意的话,很容易出现编译通过但程序出错的现象。,返回主菜单,12,2 C语言程序的基本结构,/* 在屏幕上显示Hello World! */#include “stdio.h” main() printf ( “hello World!n );,例4 编写源程序,存储为helloworld.c,内容如下:,2.1 第一个C语言程序,13,/* 在屏幕上显示Hello World! */#incl
5、ude “stdio.h” /*编译预处理, 告诉编译程序在本程序包含 标准输入输出库函数*/main()/主函数,无参数 /函数头 printf(“Hello World! n”); /*调用库函数printf, 将Hello world显示 到屏幕上,n为换行符*/ /函数尾,2 C语言程序的基本结构,2.1 第一个C语言程序 程序解释,14,2.2 C语言程序的基本格式,1、每一个C程序,都由函数和变量组成。函数包含若干用于实现指定操作的语句,变量在计算过程中存储有关的值;2、函数可任意命名,但每一个C程序中都必须并且只能有一个名为main的主函数;C程序都是从main函数开始执行;,#
6、include “stdio.h” main() printf(“hello World!n);,2 C语言程序的基本结构,15,3、函数必须先定义,后使用。定义函数时在函数名后加一对圆括号将变量括起来。4、由一对花括号括起构造函数的语句,称为函数体。花括号后不加分号。,main() printf(“hello World!n);,2.2 C语言程序的基本格式,2 C语言程序的基本结构,16,5、每一条语句的用分号“;”做为结束。说明:在以下三种情况下不允许有分号: a.预处理语句后面不使用分号 b.所定义的函数的名称后面不使用分号 c.在右花括号“”后面不使用分号,2.2 C语言程序的基本格
7、式,2 C语言程序的基本结构,17,6、源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。 7、一个语言源程序可以由一个或多个源文件组成。,2.2 C语言程序的基本格式,2 C语言程序的基本结构,18,9、在C语言中,大小写字母是有区别的。(C语言习惯用小写字母),8、 用 /*/ 对C程序中的任何部分作注释,注释可以写在程序的任何位置上,“/*”与“*/”也可不在同一行上。不能嵌套,例: /*This is the main /* of example1.1*/ */,2.2 C语言程序的基本格式,2 C语言程序的基本结构,19,/*
8、 在屏幕上显示Hello World! */#include “stdio.h” main() printf(“hello World!n”);,注释语句,编译预处理,主函数定义,函数体,2.3 C语言的程序结构,2 C语言程序的基本结构,20,main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(“%dn”,sum);,优秀程序员的素质之一:使用TAB缩进对齐有足够的注释有合适的空行,2.4 程序书写格式特点,2 C语言程序的基本结构,1.习惯用小写字母,大小写敏感2.不使用行号,
9、无程序行概念3.可使用空行和空格4.常用锯齿形书写格式,21,课堂练习一,编写一个C语言源程序,执行后,在屏幕上输出:“ 这是我的第一个 C语言程序 ”,22,C语言程序结构,注释语句,编译预处理,主函数定义,函数体,23,/* 在屏幕上显示: 这是我的第一个C语言源程序! */#include “stdio.h” main() printf (“这是我的第一个n C语言源程序”) ;,24,2 C语言程序的基本结构(总结),C语言程序结构的特点,函数与主函数函数体由“ ”括起来注释为“/* */”程序语句以分号“;”结束C语言程序通常由带“#”符号的编译预处理命令开始,程序由一个或多个函数组
10、成必须有且只能有一个主函数main()程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。,注释不能嵌套注释不产生编译代码,25,2 C语言程序的基本结构(总结),C语言程序的书写规则习惯用小写字母,大小写敏感不使用行号,无程序行概念;通常一个语句占一行可使用空行和空格常用锯齿形书写格式;同一层次结构的语句上下对齐。,返回主菜单,26,4.1 C程序的开发运行过程,3 C语言程序的运行环境,C源程序如何变成机器语言?,27,3 C语言程序的运行环境,3.2 C语言程序的运行环境VC+ 6.0新建源程序,28,3 C语言程序的运行环境,3.2 C语言程序的运行环境VC+ 6.
11、0编译程序,编译完成显示的信息,29,3 C语言程序的运行环境,3.2 C语言程序的运行环境VC+ 6.0连接程序,连接完成显示的信息,30,3 C语言程序的运行环境,3.2 C语言程序的运行环境VC+ 6.0运行程序,31,3 C语言程序的运行环境,3.2 C语言程序的运行环境VC+ 6.0 关闭工作区,当一个程序编译连接后,VC+6.0系统自动产生相应的工作区,以完成程序的运行和调试,若要执行第2个程序,则必须关闭前一个程序的工作区,然后通过新的编译连接,产生第2个程序的工作区,否则运行的将一直是前一个程序。,返回主菜单,32,本讲小结,介绍了程序设计的过程介绍了C语言的特点重点学习了C语
12、言程序的基本结构介绍了本课程中C语言程序的运行环境,33,练习:,1C语言规定,必须以()作为主函数名。 A. stdio B. function C. include D. main2. C程序的基本构成单位是()。 A. 子程序 B. 函数 C. 过程 D.函数和过程,34,作业,思考题教材P14-15,T1-4作业教材P15 T5.1拓展题已知a=12,b=30,求a+b=? a*b=?,35,谢谢,36,32个关键字:(系统定义,不能重作其它定义),返 回,37,9种控制语句,返 回,38,34种运算符,返 回,39,数据类型,C数据类型,返 回,40,C程序结构引例(2),例5 从键
13、盘输入一个数x,求x的平方根, 然后输出结果,输入,处理,输出,/* 例5 求一个数的平方根 */#include #includemain() double x,s;printf(“input number: ”);scanf(“%lf”,printf(“Square root of %lf is %lf.n”,x,s);,41,C程序结构引例(3),例6 求a,b两个数的和,并输出,/* 例6 */#include int add(int x,int y);main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %dn,sum)
14、;int add(int x,int y) int z; z=x+y; return(z);,返 回,42,编译预处理,在C源程序中加入一些“预处理命令” ,可以改进程序设计环境,提高编程效率。 预处理命令不是C语言本身的组成部分,不能直接对其进行编译,必须在编译之前,先对这些特殊的命令进行相应的处理。,43,编译预处理,C提供的预处理功能主要有三种:1. 文件包含2. 宏定义3. 条件编译,所有的预处理命令,都是以#开头的,44,文件包含 #include “文件名 “ 文件名指的是外部的库函数名或源程序名。 库函数是由系统建立的具有一定功能的函数的集合。库函数中存放同类函数的名称和对应的目
15、标代码。 只要用了 #include “库函数名“ , 就可以调用库函数中的函数。,编译预处理,45,#include stdio.h“可调用各种输入输出函数:包括: printf ,scanf , getchar,putchar, fopen,fclose,fprintf,fsacnf, fseek,fread,fwrite 等。,编译预处理,返 回,46,计算机基本工作过程,整个过程的执行者是硬件,但硬件是受软件控制的编程,就是编写软件,使硬件按照人的意图工作,47,1、计算机语言的翻译方式,(1)解释方式:,(2)编译方式:,程序设计语言的工作原理,高级语言源程序,解释程序,解释并执行,
16、运算结果,高级语言 源程序,编译程序,执行,运算结果,操作系统,编译,机器语言 程 序,48,编译运行,编译过程程序员(Programmer)编写程序源代码(Source Code)编译器(Compiler)把源代码转换为可被计算机理解的机器代码(Machine Code),并把机器代码以可执行文件(Executable File)的形式保存在磁盘上软件的运行计算机把机器代码读入到内存(Memory),由CPU运行这些代码,读取输入(Input),产生输出(Output),完成程序员预定的功能,49,编译语言,一种编译语言对应一种编译器程序员按照该语言的语法编写程序源代码,把自己的意图融入到代码中编译器读入源代码,把程序员的意图转换成可执行程序,供他人使用,C语言,可执行程序,编译器,50,解释运行,解释运行过程程序员编写程序源代码解释器读入源代码,并执行源代码解释运行的语言特点执行速度慢好学易用先编译、后解释把源代码编译成更容易解释的中间代码,然后再解释运行,返 回,