C语言概述概述.ppt
C语言程序设计语言程序设计 版权所有:版权所有:版权所有:版权所有:中国石油大学中国石油大学中国石油大学中国石油大学(华东华东华东华东)Email Email:第第1章章 C语言概述语言概述计算机与通信工程学院计算机与通信工程学院软件工程系软件工程系C C语言程序设计语言程序设计语言程序设计语言程序设计 第第1章章 C语言概述语言概述1.1 程序设计与程序设计语言程序设计与程序设计语言 1.2 语言的产生与发展语言的产生与发展 1.3 语言的特点语言的特点 1.4 语言程序简介语言程序简介 1.5 语言的运行环境语言的运行环境2C C语言程序设计语言程序设计语言程序设计语言程序设计 一、概念一、概念程序:程序:人们事先准备好的、用来指挥计算机工作的人们事先准备好的、用来指挥计算机工作的描述工作步骤的指令序列描述工作步骤的指令序列 程序设计:程序设计:程序员设计编写程序的过程程序员设计编写程序的过程 程序设计语言:程序设计语言:编写程序所用的语言编写程序所用的语言二、程序设计语言的发展二、程序设计语言的发展 机器语言机器语言汇编语言汇编语言高级语言:高级语言:源程序源程序 编译方式和解释方式编译方式和解释方式 1.1 程序设计与程序设计语言程序设计与程序设计语言 3C C语言程序设计语言程序设计语言程序设计语言程序设计 三、程序设计方法三、程序设计方法 1.1 程序设计与程序设计语言程序设计与程序设计语言 1.结构化程序设计结构化程序设计 强调强调程序设计风格程序设计风格程序设计风格程序设计风格和和程序结构的规范化程序结构的规范化程序结构的规范化程序结构的规范化 (易读、易懂易读、易懂)核心思想:核心思想:自顶向下,逐步细化自顶向下,逐步细化自顶向下,逐步细化自顶向下,逐步细化 如:学校办公自动化系统如:学校办公自动化系统2.面向对象的程序设计面向对象的程序设计4C C语言程序设计语言程序设计语言程序设计语言程序设计 1.2 语言的产生与发展语言的产生与发展 78年年 B.W.Kernighan&D.M.Richie(K&R)合著合著The C Programming Language80年代年代 微机微机83年年 ANSI C(1)87年年 ANSI C(2)90年代年代 面向对象的程序设计语言面向对象的程序设计语言 C+60年代年代 ALGOL 60(高级语言高级语言)CPLBCPL(Basic Combined Programming Language)70年代年代 PDP UNIXBC(73年年)5C C语言程序设计语言程序设计语言程序设计语言程序设计 1.3 语言的特点语言的特点 1.语言简洁、紧凑、灵活。语言简洁、紧凑、灵活。(32个关键字、个关键字、9种控制语句种控制语句)2.运算符丰富。运算符丰富。(44种运算符种运算符)3.数据结构丰富。数据结构丰富。4.具有结构化的控制语句。具有结构化的控制语句。5.目标代码质量高,程序执行效率高。目标代码质量高,程序执行效率高。6.可移植性好。可移植性好。7.兼有低级语言和高级语言的特点。兼有低级语言和高级语言的特点。8.语法限制不太严格,程序设计自由度大。语法限制不太严格,程序设计自由度大。6C C语言程序设计语言程序设计语言程序设计语言程序设计 1.4 语言程序简介语言程序简介简单实例简单实例例例 1.1 在屏幕上显示字符串在屏幕上显示字符串“This is a C program.”。#include /*文件包含文件包含*/void main()/*主函数主函数*/*函数体开始函数体开始*/printf(This is a C program.n);/*输出了一句话输出了一句话*/*函数体结束函数体结束*/7C C语言程序设计语言程序设计语言程序设计语言程序设计 1.4 语言程序简介语言程序简介简单实例简单实例例例1.2 求整数求整数10、20的和。的和。#include void main()/*主函数主函数*/int first,second,sum;/*定义变量定义变量*/first=10;/*给变量赋值给变量赋值*/second=20;sum=first+second;/*求求a与与b的和的和*/printf(sum=%dn,sum);/*输出结果输出结果*/8C C语言程序设计语言程序设计语言程序设计语言程序设计 1.4 语言程序简介语言程序简介 简单实例简单实例例例1.3 找出任意两个整数中较大的数。找出任意两个整数中较大的数。#include int max(int x,int y)/*定义定义max函数函数*/return(xy?x:y);/*求出两数中的较大数并返回求出两数中的较大数并返回*/*max函数结束函数结束*/void main()int num1,num2,m;printf(Input the first integer number:);scanf(%d,&num1);/*从键盘上输入第一个整数从键盘上输入第一个整数*/printf(Input the second integer number:);scanf(%d,&num2);/*输入第二个整数输入第二个整数*/m=max(num1,num2);/*调用调用max,计算两个数的较大数,计算两个数的较大数*/printf(max=%dn,m);/*输出结果输出结果*/9C C语言程序设计语言程序设计语言程序设计语言程序设计 1.4 语言程序简介语言程序简介基本元素基本元素,逗号逗号 (左圆括号左圆括号 右尖括号右尖括号%百分号百分号 .圆点圆点 )右圆括号右圆括号 !感叹号感叹号&and(与与);分号分号 左方括号左方括号|竖线竖线 xor(异或异或):冒号冒号 右方括号右方括号 /斜杠斜杠 *乘号乘号?问号问号 左大括号左大括号 反斜杠反斜杠 -减号减号单引号单引号 右大括号右大括号 波折号波折号 =等于号等于号“双引号双引号 左尖括号左尖括号#井号井号 +加号加号C语言使用的基本符号共有如下三种:语言使用的基本符号共有如下三种:(1)大小写字母:)大小写字母:AZ、az(2)阿拉伯数字:)阿拉伯数字:09(3)标点符号和的运算符:)标点符号和的运算符:1.字符集字符集(符号集符号集)10C C语言程序设计语言程序设计语言程序设计语言程序设计 1.4 语言程序简介语言程序简介 基本元素基本元素2.标识符标识符用来标记用来标记常量常量、变量变量、函数函数及及文件文件名字的名字的字符序列字符序列标识符的构成规则标识符的构成规则:以字母以字母(大小写皆可大小写皆可)或下划线开头或下划线开头随后可跟若干个随后可跟若干个(包括包括0个个)字母、数字、下划线字母、数字、下划线 如:如:x y3 _imax ELSE X A_to_B (合法)合法)7x int#No bad one re-input (不合法)不合法)注意注意:区分大小写。区分大小写。如:如:sumsum、Sum Sum 是二个标识符是二个标识符注意!注意!11C C语言程序设计语言程序设计语言程序设计语言程序设计 1.4 语言程序简介语言程序简介基本元素基本元素3.关键字关键字 ANSI推荐的推荐的C语言的关键字是语言的关键字是32个个,Turbo C另扩展了另扩展了11个个(不常用不常用)asm _cs _ds _es _ss cdedfar huge interrupt near pascal#define#error#include#if#else#elif#endif#ifdef#ifndef#undef#line#pragma特殊字特殊字:注意注意:所有的关键字和特殊字都有固定的意义所有的关键字和特殊字都有固定的意义,不能用作其它不能用作其它 所有的关键字和特殊字都必须所有的关键字和特殊字都必须小写小写 如如:else与与ELSE代表不同含义代表不同含义:else是关键字是关键字,ELSE是标识符是标识符也称也称“保留字保留字”.它是它是C语言中具有特定含义、语言中具有特定含义、专门用作语言专门用作语言特定成分的一类标识符特定成分的一类标识符.主要用在主要用在C语言的预处理程序中语言的预处理程序中12C C语言程序设计语言程序设计语言程序设计语言程序设计 1.4 语言程序简介语言程序简介基本元素基本元素 运算符用来对运算对象进行规定(系统预定义的)运算符用来对运算对象进行规定(系统预定义的)的运算,并得到一个结果值。运算符通常由的运算,并得到一个结果值。运算符通常由12个字符组个字符组成,如:成,如:“+”表示加法运算,表示加法运算,“=”表示赋值运算,表示赋值运算,“=”表示表示“相等相等”的判断等。有的运算符中的两个字的判断等。有的运算符中的两个字符是分开的,比如符是分开的,比如“?:”表示条件运算(如例表示条件运算(如例1.3)。)。4.运算符运算符 分隔符用于分隔各个词法记号或程序正文,用于表分隔符用于分隔各个词法记号或程序正文,用于表示程序中一个实体的结束和另一个实体的开始。示程序中一个实体的结束和另一个实体的开始。常用的分隔符有:常用的分隔符有:(),:;空白空白 这些分隔符不表示任何操作,仅用于构造程序。这些分隔符不表示任何操作,仅用于构造程序。5.分隔符分隔符 13C C语言程序设计语言程序设计语言程序设计语言程序设计 1.4 语言程序简介语言程序简介 基本元素基本元素6.注释注释 对程序进行注释和说明对程序进行注释和说明 形式:形式:/*注释内容注释内容 */注意注意注意注意:注释内容可以是一行,也可以是多行;注释内容可以是一行,也可以是多行;可以是单独一行,也可以在行尾。可以是单独一行,也可以在行尾。14C C语言程序设计语言程序设计语言程序设计语言程序设计 1.4 语言程序简介语言程序简介 程序组成程序组成1.函数是组成函数是组成C程序的基本构件,程序的基本构件,并至少有一个函数并至少有一个函数(main函数函数)#include int max(int x,int y)/*子函数子函数*/int z;if(x y)z=x;else z=y;return(z);void main()/*主函数主函数*/int a,b,c;scanf(%d,%d,&a,&b);c=max(a,b);printf(max=%d,c);2.一个函数由两部分组成:一个函数由两部分组成:函数的说明部分:函数的说明部分:类型类型 函数名函数名(参数说明参数说明)函数体:函数体:若干语句若干语句 3.语句以分号语句以分号;结束;结束4.书写格式自由书写格式自由5.C程序总是从程序总是从main函数开始执行,函数开始执行,也跟随也跟随main函数的结束而结束函数的结束而结束6.用用/*/做注释做注释15C C语言程序设计语言程序设计语言程序设计语言程序设计 1.5 语言的运行环境语言的运行环境执行步骤执行步骤编辑链接编译执行file.exe程序代码的录入程序代码的录入,生成源程序生成源程序*.c语法分析查错,翻译语法分析查错,翻译生成目标程序生成目标程序*.obj与其它目标程序或库与其它目标程序或库链接装配链接装配,生成可执行生成可执行程序程序*.exe16C C语言程序设计语言程序设计语言程序设计语言程序设计 1.5 语言的运行环境语言的运行环境Turbo C 提供两种编辑、提供两种编辑、编译、编译、连接和运行连接和运行C程序程序的方法:的方法:(1)集成开发环境集成开发环境(TC.EXE)(2)命令行编译器命令行编译器(TCC.EXE)Turbo C 2.0的上机操作方法的上机操作方法 Visual C+6.0的上机操作方法的上机操作方法Visual C+6.0是是Microsoft公司在公司在1998年推出的年推出的一款运行在一款运行在Windows上的集成开发环境。使用上的集成开发环境。使用Visual C+6.0可以对可以对C语言程序进行各种操作,语言程序进行各种操作,如建立、打开、编辑、保存、编译、连接、运行和如建立、打开、编辑、保存、编译、连接、运行和调试等。调试等。17C C语言程序设计语言程序设计语言程序设计语言程序设计 1.5 语言的运行环境语言的运行环境Visual C+(1)启动)启动Visual C+6.0程序区程序区工作间工作间workspace信息区信息区18C C语言程序设计语言程序设计语言程序设计语言程序设计 1.5 语言的运行环境语言的运行环境Visual C+(2)输入新程序前的准备工作)输入新程序前的准备工作 单击文件单击文件新建,弹出新建,弹出新建对话框,选择新建对话框,选择“Files”选项卡选项卡“C+Source File”,在,在右边的右边的“文件(文件(File)”框中输入文件名(注意:框中输入文件名(注意:一定要加一定要加.C,否则将使用,否则将使用缺省的缺省的.CPP),在),在“位置位置(Location)”框中输入框中输入路径,也可以通过点击右路径,也可以通过点击右边的按钮在弹出的对话框边的按钮在弹出的对话框中选择路径。中选择路径。19C C语言程序设计语言程序设计语言程序设计语言程序设计 1.5 语言的运行环境语言的运行环境Visual C+(3)输入源程序(在)输入源程序(在“程序区程序区”内输入源程序)内输入源程序)程序区程序区信息区信息区20C C语言程序设计语言程序设计语言程序设计语言程序设计 1.5 语言的运行环境语言的运行环境Visual C+(4)编译和连接)编译和连接 单击单击build按钮(或按功能键按钮(或按功能键F7或单击或单击Build菜单中的菜单中的Build子菜子菜单),在随后弹出的两个信息框中都单击单),在随后弹出的两个信息框中都单击“是(是(Y)”按钮,则按钮,则编译系统会自动将程序进行编译和连接,编译和连接的信息会编译系统会自动将程序进行编译和连接,编译和连接的信息会自动显示在自动显示在Visual C+6.0开发环境窗口中最下面的开发环境窗口中最下面的“信息区信息区”内。内。(5)运行程序)运行程序 单击执行按钮,自动运行已生成的可执行程序。结果会显示在单击执行按钮,自动运行已生成的可执行程序。结果会显示在自动弹出的命令提示符窗口中。按任意键便返回自动弹出的命令提示符窗口中。按任意键便返回Visual C+6.0窗口中。窗口中。(6)关闭工作空间)关闭工作空间 一个程序完成后,选择菜单命令一个程序完成后,选择菜单命令File|Close workspace关闭工关闭工作空间。重复(作空间。重复(2)(6),可以创建并运行其他的),可以创建并运行其他的C程序。程序。21