第2章 C语言编程准备.ppt
1-1融智技术学院融智技术学院第2章 C语言编程准备杨章伟杨章伟e-mail:1-2融智技术学院融智技术学院课程内容安排课程内容安排C程序简介程序简介 C程序开发环境程序开发环境 小结小结 习题习题 1-3融智技术学院融智技术学院C程序简介程序简介 第一章介绍了第一章介绍了C语言的历史和程序设计的一些知识,这些对语言的历史和程序设计的一些知识,这些对于学习于学习C语言编程都是十分重要的。本章将更进一步地介绍语言编程都是十分重要的。本章将更进一步地介绍C程序的特点。程序的特点。C程序由许许多多的标识符、关键字和操作程序由许许多多的标识符、关键字和操作符等组成。符等组成。C语言规定了简单有效的语法规则并将它们组合语言规定了简单有效的语法规则并将它们组合在一起,串成一个个有丰富功能的程序。在一起,串成一个个有丰富功能的程序。1-4融智技术学院融智技术学院简单简单C程序示例程序示例【范例范例2-1】输出一个正方形输出一个正方形 01#include/*包含文件包含文件*/02/*空行空行*/03 int main(void)/*main函数的声明,下面都为函数的声明,下面都为main函函数的函数体数的函数体*/04/*使用使用printf语句逐行输出正方形语句逐行输出正方形*/05printf(*n);/*输出第输出第1行行*/06printf(*n);/*输出第输出第2行行*/07printf(*n);/*输出第输出第3行行*/08printf(*n);/*输出第输出第4行行*/09printf(*n);/*输出第输出第5行行*/10/*空行空行*/11return 0;/*返回语句返回语句*/12 1-5融智技术学院融智技术学院【范例范例2-2】本范例简单地展示了本范例简单地展示了C语言中一些操作符、变量和数据类型语言中一些操作符、变量和数据类型。01#include/*包含文件包含文件*/02/*空行空行*/03int main(void)/*main函数声明函数声明*/04/*定义两个整型变量定义两个整型变量*/05int a=3;/*定义并初始化定义并初始化a*/06int b=7;/*定义并初始化定义并初始化b*/0708/*定义两个浮点型变量定义两个浮点型变量*/09double c=2.4;/*定义并初始化定义并初始化c*/10double d=7.4;/*定义并初始化定义并初始化d*/1112/*使用操作符进行计算使用操作符进行计算*/13b=b+a;/*对对b赋值赋值*/14d=c*d;/*对对d赋值赋值*/1516/*输出各个变量的值输出各个变量的值*/17printf(a=%dn,a);/*输出输出a的值的值*/18printf(b=%dn,b);/*输出输出b的值的值*/19printf(c=%dn,c);/*输出输出c的值的值*/20printf(d=%fn,d);/*输出输出d的值的值*/2122return 0;231-6融智技术学院融智技术学院C程序的特点程序的特点 从以上两个程序可以看到从以上两个程序可以看到C程序的一些简单特点。程序的一些简单特点。C程序开头一般都有一些以程序开头一般都有一些以#include开头的预处理语句,它开头的预处理语句,它的作用是用来包含一些外部文件;的作用是用来包含一些外部文件;都含有一个都含有一个main函数,它是程序的执行入口;函数,它是程序的执行入口;程序的执行主体都放在程序的执行主体都放在main函数的函数体中;函数的函数体中;变量必须在定义后才能使用;变量必须在定义后才能使用;可以使用一系列的操作符对变量进行操作;可以使用一系列的操作符对变量进行操作;可以调用函数来执行一些功能,比如,使用可以调用函数来执行一些功能,比如,使用printf函数来输出函数来输出变量的值;变量的值;都含有返回函数值的都含有返回函数值的return语句:语句:程序执行过程,从程序执行过程,从main函数开始,到它的函数开始,到它的return语句结束;语句结束;一般有适当的注释语句,以辅助说明语句功能;一般有适当的注释语句,以辅助说明语句功能;在不同程序段间要适当地加空行,使程序结构清晰;在不同程序段间要适当地加空行,使程序结构清晰;程序语句要有良好的缩进风格,以提高代码可读性。程序语句要有良好的缩进风格,以提高代码可读性。1-7融智技术学院融智技术学院标识符与关键字标识符与关键字 标识符是在标识符是在C语言中用来标识唯一的对象的符号。具体语言中用来标识唯一的对象的符号。具体地说,就是各种名称,如:变量的名称、常量的名称、地说,就是各种名称,如:变量的名称、常量的名称、函数的名称、数据类型的名称、命令的名称等。函数的名称、数据类型的名称、命令的名称等。autoenumrestrictUnsignedbreakexternreturnVoidcasefloatshortVolatilecharforsignedWhileconstgotosizeof_Boolcontinueifstatic_Complexdefaultinlinestruct_Imaginarydointswitchdoublelongtypedefelseregisterunion1-8融智技术学院融智技术学院C程序的执行步骤程序的执行步骤 从从C程序代码到输出程序结果之间,其过程是怎么样的呢?这个过程序代码到输出程序结果之间,其过程是怎么样的呢?这个过程需要经历编译、链接和运行三个步骤。程需要经历编译、链接和运行三个步骤。1编译编译工作是由编译器完成的。由于编译工作是由编译器完成的。由于C程序代码不能被机器直接识别,程序代码不能被机器直接识别,因此,首先要将因此,首先要将C程序代码转换为机器码。编译过程所做的就是程序代码转换为机器码。编译过程所做的就是把把C程序翻译成机器认识的机器码的过程。程序翻译成机器认识的机器码的过程。2链接经过编译后得到的目标文件中的机器码是相互独立的,因此,需要经过编译后得到的目标文件中的机器码是相互独立的,因此,需要链接器将它们组合在一起,并解析它们之间的交叉引用。链接器将它们组合在一起,并解析它们之间的交叉引用。3运行完成链接后,就可以得到一个可执行文件,可以直接运行。完成链接后,就可以得到一个可执行文件,可以直接运行。1-9融智技术学院融智技术学院C程序开发环境程序开发环境 当前流行的当前流行的C语言的开发环境有很多种语言的开发环境有很多种,下面将以编写输出下面将以编写输出“Hello,world!”的的C程序为例,讨论如何使用程序为例,讨论如何使用Turbo C、Visual C+2005和和GCC 3.2.2进行进行C语言编程。作为语言编程。作为C语言语言的初学者,只需要掌握其中一种开发环境的使用即可。的初学者,只需要掌握其中一种开发环境的使用即可。1-10融智技术学院融智技术学院Turbo C Turbo C历史十分悠久,是著名软件公司历史十分悠久,是著名软件公司Borland 公司的产公司的产品,曾经是品,曾经是DOS时代最强大的时代最强大的C语言开发工具。语言开发工具。Turbo C 2.0 则是该公司在则是该公司在1989年出版的。年出版的。1-11融智技术学院融智技术学院Visual C+2005 Visual Studio 2005是是Microsoft公司推出的功能强大的可公司推出的功能强大的可视化软件开发工具。其中,包含了视化软件开发工具。其中,包含了Visual C+2005,Visual C+2005是本书程序的主要开发和演示环境。是本书程序的主要开发和演示环境。1-12融智技术学院融智技术学院GCC 3.2.2 GCC是是GNU提出的一款功能强大、性能优异的提出的一款功能强大、性能优异的C程序编译器,程序编译器,其全称为其全称为“GNU C Compiler”。GCC提供了在多种硬件平提供了在多种硬件平台上编译可执行程序的功能,其执行效率与其他同类编译台上编译可执行程序的功能,其执行效率与其他同类编译相比要高相比要高20%30%。1-13融智技术学院融智技术学院为了使读者对为了使读者对C程序形成更为具体的印象和轮廓,本章先举程序形成更为具体的印象和轮廓,本章先举了两个简单范例,演示并总结了了两个简单范例,演示并总结了C程序的一些基本特点;程序的一些基本特点;再介绍了标识符和关键字的概念;然后介绍了编译、链接再介绍了标识符和关键字的概念;然后介绍了编译、链接和运行等在程序开发过程中的角色;最后还介绍了在和运行等在程序开发过程中的角色;最后还介绍了在4种种不同的开发环境下开发不同的开发环境下开发C程序的基本方法,这是学习程序的基本方法,这是学习C语语言最基本的技能。言最基本的技能。小结小结 1-14融智技术学院融智技术学院1一个一个C语言程序的开发步骤主要包括哪几个?语言程序的开发步骤主要包括哪几个?2译、链接和运行三个步骤的一般顺序是什么?3在如今的编程界,出现了许许多多的程序设计语言,很多都以开发快速,简单易学等特点吸引用户,因此许多程序员认为C语言已经过时,没有必要再进行学习,你认为呢?常见面试题常见面试题 1-15融智技术学院融智技术学院1有如下一个简单有如下一个简单C语言程序,写出其输出结果及每语言程序,写出其输出结果及每条语句的功能。条语句的功能。01#include 02int main(void)0304printf(Hello World!);05 综合练习综合练习 1-16融智技术学院融智技术学院综合练习综合练习 2任选一种开发环境,编译、链接并运行以下程序,任选一种开发环境,编译、链接并运行以下程序,观察每一步的结果。观察每一步的结果。01#include 0203int main(void)04printf(This is my first C program!n);05return 0;06