C程序设计第一章.ppt

上传人:本田雅阁 文档编号:2102345 上传时间:2019-02-14 格式:PPT 页数:28 大小:458.51KB
返回 下载 相关 举报
C程序设计第一章.ppt_第1页
第1页 / 共28页
C程序设计第一章.ppt_第2页
第2页 / 共28页
C程序设计第一章.ppt_第3页
第3页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C程序设计第一章.ppt》由会员分享,可在线阅读,更多相关《C程序设计第一章.ppt(28页珍藏版)》请在三一文库上搜索。

1、C程序设计,西安邮电学院 朱晓龙,注意事项,上课方式:讲课、答疑和上机 学习方法:听讲与自学相结合 要预习 多作练习尤其是上机练习 上课纪律:按时上课、认真听讲 点名 作业:应写在作业本上 成绩: 1 考试 70% 近两年有期中考试 2 作业 15% 3 上机 15% 请班长提交本班花名册(电子版)及联系电话,第一章 C语言概述,本章是语言程序设计的入门部分, 从整体上介绍语言的起源和发展, 讲述语言的特点、结构和基础语法要点。,1.1 语言发展,语言是界上广泛流行的的程序设计语言之一,它适合于作系统描述语言,即用来写系统软件,也可以用来写应用软件。 早期的操作系统等系统软件主要是用汇编语言编

2、写的。可读性和可移植性都比较差。人们希望能找到一种既具有一般高级语言特性,又具有低级语言底层操作能力的语言(可以直接对硬件进行操作,例如对内存地址的操作、位操作等)。 语言是在 70 年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为K&R,也有人称之为K&R标准。,但是,在K&R中并没有定义一个完整的标准C 语言,后来由美国国家标准协会(American National Standards Institute)在此基础上制

3、定了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。1987年ANSI又公布了新标准87 ANSI C。目前广泛流行的各种C编译系统都是以它为基础的。 早期的C语言主要是用于UNIX系统,到了八十年代,C语言开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用,成为当代最优秀的程序设计语言之一。 在C的基础上,1983年又由贝尔实验室的Bjarne Strou-strup推出了C+。 C+进一步扩充和完善了语言,成为一种面向 对象的程序设计语言。因此,掌握了语言,再进一步学习C+就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的。,目前最流行的语

4、言有以下几种: Microsoft C 或称 MS C Borland Turbo C 或称 Turbo C AT&T C 这些语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。这些不同版本C语言之间有一定的差别,但对初学者来说,不必过多理会他们的差别,重在理解C语言的特点和编程方法。本书的叙述以TURBO C为准。,1.2 C语言的特点,1.语言简洁、紧凑,使用方便、灵活。 2.运算符丰富。 3.数据结构丰富,具有现代语言的各种数据结构。 4.具有结构化的控制语句。 5.语法限制不太严格,程序设计自由度大。 6 .C语言允许直接访问物理地址,能进行位(b

5、it) 操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。 7.生成目标代码质量高,程序执行效率高。 8.用C语言写的程序可移植性好(与汇编语言比)。,1.3 简单的C程序介绍,例1.2 main( ) int a,b,sum; /*这是定义变量*/ a=234; b=456; /*给变量赋值*/ sum=a+b /*求两个数之和*/ printf (“sum is %dn”,sum); ,例1.1 main( ) printf (“This is a program. n”); ,例1.3: /* Example for Function program */ #include ma

6、in( ) /* 主函数*/ int a, b, sum; /*定义变量*/ scanf(“ %d, %d”, ) /*输出c的值*/ ,int add (int x, int y) /*子函数说明,并对形参x、y作类型定义*/ int z; /*add函用到的变量z,也要加以定义*/ z=x+y; return (z); /*将z的值返回,通过max带回调用处*/ ,#include /*stdio.h中有scanf()、printf()的原型说明*/ main() /* main()函数的定义 */ scanf(); /* 调用函数scanf() */ sum=add(); /* 调用函数

7、max() */ printf(); /* 调用函数printf() */ int add(int x, int y) /* 函数max()的定义 */ 实际上,至少还应该有两个函数定义!,scanf() /* scanf()函数的定义 */ printf() /* printf()函数的定义 */ 只不过这两个函数是由C语言系统给我们定义好了的,即库函数。,程序框架,#include main() /* 主函数main()的具体内容放在此处 */ int add (int x, int y) /* 函数add ()的具体内容放在此处 */ scanf() /*函数scanf()的具体内容放在

8、此处*/ printf() /*函数printf()的具体内容放在此处*/,关于C程序: 一个C程序是由一系列函数所组成的; 组成一个C程序的所有函数的地位是平等的(每个函数的定义是并列的); 如:求两个整数的和程序(定义一个函数 add()求任意两个整数的最大值,然后用main()函数调用):,头文件 /* 是C系统中特有的文件 */ main() /* 主函数说明 */ /* 主函数体 */ 子函数名1(参数) /* 子函数说明 */ /* 子函数体 */ 子函数名2(参数) /* 子函数说明 */ /* 子函数体 */ 子函数名n(参数) /* 子函数说明 */ /* 子函数体 */ 其

9、中,子函数名1至子函数名n是用户自定义的函数。,关于函数体的结构: 一个函数中,规定该做什么、怎么做的部分称为函数体; 函数体大致分为两个部分:一部分是非执行部分(定义变量、函数说明等),另一部分是执行部分(产生具体动作的语句部分)。 非执行部分和执行部分要严格分开!,#include /*stdio.h中有scanf()、printf()的原型说明*/ main() int a, b, c; /* 变量定义-非执行部分 */ int add(int, int);/* 函数原型说明-非执行部分 */ /* 以下是执行语句部分 */ scanf(“%d%d”, ,源程序的结构特点,1.一个语言源

10、程序可以由一个或多个源文件组成,每个源文件以“.c”作为扩展名。 2.每个源文件可由一个或多个函数组成。 3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数,整个程序的运行从主函数开始。 4.源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。 5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“”之后不能加分号。 6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。,书写程序时应遵循的规则,1.一个说明或一个语句占一行。 2.用 括起来的部分,通常

11、表示了程序的某一层次结构。一般与该结构语句的第一个字母对齐,并单独占一行。 3.低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。,1.3 C程序的上机步骤 C程序开发步骤,file.exe,程序代码的录入, 生成源程序*.c,语法分析查错,翻译 生成目标程序*.obj,与其它目标程序或库 链接装配,生成可执行 程序*.exe,可能发生的 错误类型:,filec.exe,filec.obj,filec.c,各阶段产生 的文件:,开发 步骤,编辑,编译,链接,试运行,语法错误,链接错误,运行时错误

12、,基本语法成分,C语言的字符集、关键字、标识符、运算符、分隔符和注释符等基本语法成分。 语言的字符集 字符是组成语言的最基本的元素。 1.字母 小写字母az共26个,大写字母AZ共26个。 2.数字 09共10个 3.空白符 空格符、制表符、换行符等统称为空白符。 4.标点和特殊字符 主要有 ! # % ? ” ( ) 等等。,标识符 在程序中使用的变量名、函数名、标号等统称为标识符,用来标识各种程序成分。 标识符只能是由字母(AZ,az)、数字(09)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。 以下标识符是合法的: a , x , x3 , BOOK1 ,sum5 ,

13、num_1 以下标识符是非法的: 3s 以数字开头 s*T 出现非法字符* -3x 以减号开头 x+y-1 出现非法字符+(加号) 出现非法字符 a.1 出现非法字符,C语言的标识符分为以下三类。 关键字 C语言中用来表示特殊含义的标识符,由系统提供。 C语言的关键字有32个,它们是: auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch t

14、ypedef union unsigned void volatile while,2. 预定义标识符 C语言预先定义了一些标识符,它们有特定的含义,通常用作固定的库函数名或预编译处理中的专门命令使用。 C语言语法允许用户标识符取名与预定义标识符同名,但这将使这些标识符失去系统规定的原意。 3. 用户标识符 用户标识符是由用户自己定义的标识符,例如定义一个变量名或一个函数名。用户标识符一般用来给变量、函数、数组或文件等命名,命名时应遵守标识符的命名原则。,在使用标识符时还必须注意以下几点:,在标识符中,大小写是有区别的。例如BOOK和book 是两个不同的标识符。习惯上符号常量用大写字母表示,

15、而变量名等用小写字母表示。 标识符虽然可由程序员随意定义,但不能与关键字同名,也不能与系统预先定义的标准标识符(如标准函数)同名。标识符是用于标识某个量的符号,因此,命名应尽量有相应的意义,以便阅读理解,做到“见名知义”。,运算符 语言中含有相当丰富的运算符。运算符与变量、函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。根据参加运算对象的个数,运算符可分为单目运算符、双目运算符和三目运算符。,分隔符 C语言中的分隔符有逗号和空格两种,逗号主要用在类型说明和函数参数表中,分隔各个变量。空格多用于语句各单词之间,作间隔符。在关键字、标识符之间必须要有一个以上的空格符作间隔, 否则将会出现语法错误。例如把“int a;”,写成“ inta;”,C编译器会把“inta”当成一个标识符处理,其结果必然出错。,注释符 注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。在调试程序时对暂不使用的语句也可用注释符括起来,使编译跳过不作处理,待调试结束后再去掉注释符。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1