收藏 分销(赏)

C语言程序设计(第1章).ppt

上传人:xrp****65 文档编号:13328011 上传时间:2026-03-02 格式:PPT 页数:38 大小:257.50KB 下载积分:10 金币
下载 相关 举报
C语言程序设计(第1章).ppt_第1页
第1页 / 共38页
C语言程序设计(第1章).ppt_第2页
第2页 / 共38页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,莆田学院现代教育技术中心 2004年2月,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,高级语言,程序设计,莆田学院现代教育技术中心,2004,年,2,月 制作,High-level Language Programming,课程安排,第一章,C,语言概述,(,教材第,1,章,),第二章 数据类型、运算符与表达式,(,教材第,3,、,4,章,),第三章 算法基础与程序控制结构,(,教材第,2,、,5,、,6,章),第四章 模块化程序设计(函数),(,教材第,8,、,9,章,),期中考试,第五章 数组,(,教材第,7,章,),第六章 指针,(,教材第,10,章,),第七章 结构体与共用体,(,教材第,11,章,),第八章 位运算,(,教材第,12,章,),第九章 文件,(,教材第,13,章,),期末考试,课程设计,(,穿插在课程中进行,),莆田学院现代教育技术中心 2004年2月,第一章,C,语言概述,高级语言程序设计,一、,C,语言及其学习特点,1,为什么从,C,语言开始,开发能力最强,应用最广泛,操作系统开发、应用程序开发、单片机程序开发、网络程序设计,专业水平的试金石,各种专业考试首选程序设计语言:,研究生入学考试、程序员考试、等级考试,后续主干课程的重要基础,数据结构、数据库程序设计、,Java,程序设计、可视化程序设计,、,网络编程,莆田学院现代教育技术中心 2004年2月,如何学习,C,语言编程?,编程似写作,先学,“,字词句,”,和,“,语法,”,,目标是,“,写作,”,。,学习数据类型、控制结构、语法规则等,学语基,掌握程序分析、算法与编程,写文章,仅仅读书是不够的,程序是编出来的,程序是调出来,在编程实践中消化知识。,没有天生的程序员,初学者:有点难。,没有学不会的,只有学不精的,除非自己放弃。,出于蓝胜于蓝:超过你的老师完全可能。,循次渐近很重要,阅读,/,分析程序,摹仿编程,掌握常见程序模块,简单程序,复杂编程,仅是起点,而非终点,从此编程与你相伴而行,真正的程序员从此起步。,莆田学院现代教育技术中心 2004年2月,听课要求:,切实掌握各章主要内容(预习,/,听课,/,消化,/,归纳),在预习基础上,听课为主,笔记为辅,课后弄懂课件和教材中的程序(会分析,会流利写出),考核方式:,作业(书面,/,上机)、期中考、期未考、课程设计,讲义下载,:,ftp,:/172.16.1.82/,课件,/,C语言课件,软件下载:,ftp,:/172.16.1.82/,实用软件 文件名,turboc20.zip,教师联系:,陈绵献,mianxian,QQ:43286144,莆田学院现代教育技术中心 2004年2月,二、,C,语言编程步骤,从商业化的角度看,,C,编程步骤如下:,编写程序,(,写在纸上或输入到电脑上的源程序,),调试程序,(,修正错误,实现功能,),出售程序,(,生成的可执行文件,),常用开发工具:,面向过程 常用,Turbo C,(,PC,机版,简称,TC,),面向对象 常用,C+,/,Visual C+,(可视化,简称,VC,),最新,:,为,Windows,和,Web,应用程序提供动态开发环境的,Visual C+.NET(C#),莆田学院现代教育技术中心 2004年2月,C,语言程序加工流程,C,语言是一种通过编译程序处理的高级程序设计语言。,所以其上机的处理流程可用以下示意图表示:,例一:最简单的,hello.c,程序,用记事本编写,/,用,TC,直接编写,源程序,(.c),目标程序(,.obj,),可执行程序,(.exe),(,你编写的,),编译,(,中间产品,),连接,(,你出售的,),compile link,莆田学院现代教育技术中心 2004年2月,具体上,机,步骤如下,:,启动机器,稍候后出现:,login,(,入网注册命令,),Enter your login name:,jj03101,(,输入用户名,),password:,*,(,输入用户密码,),(,显示网络有关信息,),C,tc,(,调用,Turbo C,软件,),此时便出现,Turbo C,初始屏幕,(第,8,页图,1.2,所示),。,用户名,:,计教,031,班,5,号,jj03105,(,初始密码,:,jj031,),计应,032,班,11,号,jy03211,(,初始密码,:,jy032,),密码修改,:,setpass,输入原密码,输入新密码,再输入新密码,莆田学院现代教育技术中心 2004年2月,在你的机上如何安装,TC,?,软件下载与解压,ftp:/172.16.96.10/,实用软件,turboc20.zip,ftp:/202.101.111.195,/,实用软件,(,校外,),目录,(directory),设置,Include directories (,头文件所在目录,),Library directories (,库文件所在目录,),Output directories (,输出文件所在目录,),Turbo C directories(TC,文件所在目录,),还有一个好东东:,C,语言学习系统,莆田学院现代教育技术中心 2004年2月,/*,给定半径,求圆的面积*,/,#define PI 3.14159 /*,编译预处理,宏替换*,/,#include /*,编译预处理,文件包含*,/,#include /*,编译预处理,文件包含*,/,main()/*,主函数*,/,float,r,s,;/*,定义变量,r,、,s,类型为单精度实型*,/,r=1.0;/*,变量,r,赋初值*,/,s=PI,*,pow(r,2);/*,计算圆面积,s*/,printf,(,半径,R=%f,时,面积,S=%f,n,r,s,);/*,输出结果*,/,三、,C,程序的基本结构,例,一 求圆面积程序,area.c,莆田学院现代教育技术中心 2004年2月,/*,给定半径,求圆的面积*,/,#define PI 3.14159,/*,编译预处理,宏替换*,/,#include ,/*,编译预处理,文件包含*,/,#include,/*,编译预处理,文件包含*,/,main(),/*,主函数*,/,float,r,s,;,/*,定义变量,r,、,s,类型为单精度实型*,/,r=1.0;,/*,变量,r,赋初值*,/,s=PI,*,pow(r,2);,/*,计算圆面积,s*/,printf(,半径,R=%f,时,面积,S=%f,n,r,s,);,/*,输出结果*,/,例一(求圆面积程序,area.c,)分析,注释部份,P5,这部分内容不会,被编译,也不被执行,编译预处理,程序编译、执行前系统,自动进行的特殊处理,特点:,以,#,开头,结束处无分号,莆田学院现代教育技术中心 2004年2月,关于编译预处理(宏定义),P39,和,P187,#define PI 3.14159,#define,宏定义命令,PI,符号常量(宏名,最好用大写,以区别一般变量),3.14159,宏体(可以是一个表达式,如,3+4,),作用:用简单符号代表宏体部份内容(编译时会先自动替换),意义:直观,/,多次使用,/,便于修改,注意:,#define,可,出现在程序的任一位置(作用范围:由此行到程序末尾),宏定义不是,C,语句,,,不必在行未加分号,否则会连分号一起置换。,莆田学院现代教育技术中心 2004年2月,关于编译预处理(文件包含),P194,#include ,stdio.h,“,头文件,”,(标准前导文件),C,语言是一种,“,装配式,”,语言,许多常规的工作如输入、输出、数学函数等,往往事先由人做成各种,“,程序模块,”,(,库函数,),,存放在各种所谓,“,头文件,”,(,.h,),中。使,用时只需进行以下处理,#,include,“,头文件名,”,或,#,include,在程序的执行部分调用该库函数:,函数名(参数),文件包含的作用,就是根据需要把相应的某个,“,头文件,”,的内容在编译时先整体嵌入所编的程序中。,用户也可以将自己设计的程序模块等做成,“,头文件,”,,供其他程序,“,包含,”,。,莆田学院现代教育技术中心 2004年2月,文件包含示意图,#include,#include,源程序,area.c,(,用户编写),头,文件,stdio.h,(,系统提供),头,文件,math.h,(,系统提供),area.exe,(,可执行程序,),stdio.h,math.h,编译,/,连接,例一中,,area.c,文件本身只有,12,行,,stdio.h,有,187,行,,math.h,有,107,行,实际上,stdio.h,本身还包括 一个,24,行的头文件,stdarg.h,。,“文件包含”是在编译后连接时“包含”进可执行程序的。,比较:,area.c,1kb,;,area.obj,1kb,;,area.exe,26kb,stdarg.h,stdio.h,stdarg.h,math.h,莆田学院现代教育技术中心 2004年2月,使用“文件包含”功能的优点,提高程序设计效率和程序可靠性,减少程序员重复劳动量,Turbo C,提供了三百多个标准库函数,存放在若干个头文件中(常用库函数见,P381-387,),本章中:,stdio.h,标准输入,/,输出函数,math.h,数学函数,stdlib.h,常用函数,一个优秀的程序员不应是事无巨细都要从头做起的,“,工匠,”,,而应是一个,“,策划师,”,+,“,组装师,”,。,所以,逐步熟悉并掌握常用函数等现有功能模块,是学习,C,程序设计的一个重要内容。,莆田学院现代教育技术中心 2004年2月,/*,给定半径,求圆的面积*,/,#define PI 3.14159,/*,编译预处理,宏定义*,/,#include ,/*,编译预处理,文件包含*,/,#include,/*,编译预处理,文件包含*,/,main(),/*,主函数*,/,float,r,s,;,/*,定义变量,r,、,s,类型为单精度实型*,/,r=1.0;,/*,变量,r,赋初值*,/,s=PI,*,pow(r,2);,/*,计算圆面积,s*/,printf(,半径,R=,%,f,时,面积,S=,%,f,n,r,s,);,/*,输出结果*,/,例一(求圆面积程序,area.c,)分析,(续,主函数,),主函数的基本形式,main(),(,函数体,),主函数,莆田学院现代教育技术中心 2004年2月,关于主函数,main(),C,语言是一种函数式语言,它的一个函数实际上就是一个功能模块,C,程序的基本组成是函数。,一个,C,程序是由一个固定名称为,main,的主函数和若干个其他函数(可没有)组成。,一个,C,程序必须有一个、也只能有一个主函数。,主函数在程序中的位置可以任意,但程序执行时总是从主函数开始,在主函数内结束。,主函数可以调用其他各种函数(包括用户自己编写的),但其他函数不能调用主函数。,莆田学院现代教育技术中心 2004年2月,主,函数的一般形式:,main(),说明部分程序段(定义数据类型),执行部分程序段(给出操作指令),函数体,说明部分(简单程序可能没有此部分,如,P4,例,1.1,),:,float r,s;,/*,定义变量,r,、,s,类型为单精度实型*,/,int a,b;,/*,定义变量,a,、,b,类型为整型,*,/,执行部份:输入、赋值、计算、控制、输出等,:,r=1.0;,/*,变量,r,赋初值*,/,s=PI,*,pow(r,2);,/*,计算圆面积,s*/,printf(,半径,R=%f,时,面积,S=%f,n,r,s);,/*,输出结果*,/,莆田学院现代教育技术中心 2004年2月,其他函数,标准库函数,只能调用。使用方法:,先,“,包含,”,,即将该函数所在头文件包含在程序中。,后调用。调用方式:函数名(参数),例:,#include,#include,main(),s=PI,*,pow(r,2);,printf,(“,半径,R=%f,时,面积,S=%,fn”,r,s,);,说明:,pow(x,y,),求,x,y,(,math.h,中的标准数学函数),P382,printf,();(,stdio.h,中的标准输出函数,),P386,莆田学院现代教育技术中心 2004年2月,其他函数,自编(定义)函数:,(详见教材第,8,章),先定义(规定函数类型、函数名和函数功能),后调用(使用所定义的函数实现其功能),定义函数:,函数类型 函数名(,形式参数,),函数体,调用函数:,函数名(,参数,),【,示例,】,求三个数的平均值,莆田学院现代教育技术中心 2004年2月,自定义函数示例,float average(float x,float y,float z)/*,定义函数,average()*/,float aver;,aver=(x+y+z)/3;,return(aver,);,main()/*,主函数*,/,float,a,b,c,ave,;,a=3.5;b=4.6;c=7.9;,ave,=,average(a,b,c,);/*,调用自定义函数,average()*/,printf(,average,=%f,ave,);,自定义函数一般形式,函数类型 函数名,(,形式参数,),(,函数体,),莆田学院现代教育技术中心 2004年2月,/*,给定半径,求圆的面积*,/,#define PI 3.14159,/*,编译预处理,宏替换*,/,#include ,/*,编译预处理,文件包含*,/,#include,/*,编译预处理,文件包含*,/,main(),/*,主函数*,/,float,r,s,;,/*,定义变量,r,、,s,类型为单精度实型*,/,r=1.0;,/*,变量,r,赋初值*,/,s=PI*pow(r,2);,/*,计算圆面积,s*/,printf,(,半径,R=%f,时,面积,S=%f,n,r,s,);,/*,输出结果*,/,求圆面积程序,area.c,分析,(续,语句,),关于语句,特点:,均以分号结束;,一个程序行可以有多个语句。,语句组成了函数体。,强烈建议,:,按缩进格式书写语句,。,本示例程序中使用了:,数据类型定义语句,赋值语句,输出语句,莆田学院现代教育技术中心 2004年2月,关于语句:,数据类型定义语句,语句形式,变量类型关键字,变量名;,float,r,s;,定义,r,、,s,为单精度实型变量,int,r,s;,定义,r,、,s,为整型变量,【,注意,】,在,C,语言程序中,所有变量都要先定义后使用,否则就会出现编译错误提示,如,:,Error:,Undefined symbol a in function main,Lets try,变量类型关键字,字符型(描述文字性的数据),char,数值型,:,整型(在机内是准确表示的,),int,实型(在机内一般是近似表示的,),float,(,有效数字,6,位),double,(,有效数字,16,位,),变量名,P40,C,语言标识符(变量名、符号常量名、函数名等)命名:,组成:字母、数字、下划线,开头:字母、下划线,长度:,32,字符,(,Turbo C,),【,注意,】,大小写为不同字符(变量名一般小写,符号常量,名一般大写),还要注意不得与关键字(,P375,)同名。,莆田学院现代教育技术中心 2004年2月,关于语句:,赋值,语句,作用:使变量获得具体的运算值。,语句形式,变量名,=,表达式(常量、变量、函数、算式及其混合),;,r=1.0;,/*,变量,r,赋初值*,/,s=PI,*,pow(r,2);,/*,计算圆面积,s*/,注意:,函数,pow,(),在头文件,math.h,中定义(见,P382,)。,所以程序开头处必须加上一行所谓“文件包含”:,#include ,变量赋初值亦可在数据类型定义时进行:,float r=1.0,s;,把变量声明语句与赋值结合在一起的语句,术语上称为 “,初始化语句,”。,莆田学院现代教育技术中心 2004年2月,关于语句:,输出语句,作用:将运算结果送到显示器屏幕显示出来,语句形式,(,详见,P72-80,),printf(,),;,printf,(,半径,R=%f,时,面积,S,=%fn,r,s,);,printf,(,“,Hello,everyone,!”,);,【,注意,】C,语言本身没有输入、输出语句,其功能要借用有关函数来实现。,%f,格式字符串(见后),n,控制字符(转义字符),n,表示,回车换行,按定义输出动作或特殊字符(见,P48,表,3.3,),引号中的其他部分照原样输出,莆田学院现代教育技术中心 2004年2月,关于格式字符串,表示该处将用,printf,语句引号外对应表达式的值替换后输出,例:若,r=1,s=3.14,printf(“,半径,R=%f,时,面积,S=%fn”,r,s);,输出结果:,半径,R=1,时,面积,S=3.140000,常用格式字符串:,字符型:,%c,单字符,%s,字符串,数值型:,%d,整数(十进制),%f,实数(小数形式,默认为,6,位小数),例一,int x=5;,f loat y=3;,printf,(,a,=%d,b=%f,c,=%s,x,y,abcdefg,);,输出结果:,a=5,b=3.000000,c=abcdefg,例二,int x=5;,f loat y=3;,printf,(a,=%d,b=%f,c,=%s,x+2,y*3,123defg,);,输出结果:,a=7,b=9.000000,c=123defg,莆田学院现代教育技术中心 2004年2月,小 结,1,、,C,语言程序的基本结构,一个,C,程序是由一个固定名称为,main,的主函数和若干个其他函数(可缺省)组成。,其基本结构一般形式如右图所示。,注:,TC,环境下,C,源程序的扩展名一般为,.c,(如,area.c,),编译预处理部分,(,可选,),main(),说明部分,/*,变量定义等*,/,执行部分,/*,输入,/,输出,/,计算*,/,其他函数,(,可选,位置任意,),莆田学院现代教育技术中心 2004年2月,小 结,2,、,C,语言程序的基本特点,C,语言是一种函数式语言,其程序基本组成是函数,每个,C,程序必须有一个、也只能有一个主函数,main,不管主函数在程序中的位置如何,程序执行总是从主函数开始,所有变量必须先定义(规定数据类型)后使用,每个语句必须用分号“,;,”,结束(注意是“每个语句”而不“每行语句”),编译预处理命令不是语句(行末不能用分号结束),C,语言本身没有输入,/,输出语句,其输入,/,输出功能须通过调用标准函数来实现,使用系统提供的标准库函数或其他文件提供的现成函数时,必须使用“文件包含”(除了,printf,和,scanf,语句)。,莆田学院现代教育技术中心 2004年2月,四、示例程序的完善,左铡的示例程序(求圆面积)有四个不足:,每次运行后屏幕残留的显示内容和运行结果混在一起。,如果要求多个半径,r,值时的面积,s,,,每次都必须修改源程序并重新编译处理;,如果半径,r,为负值,也会有正常的,s,值输出。,输出结果的小数位数为,6,位,与习惯不符。,为此,可将程序进行如下修改:,#define PI 3.14159,#include ,#include,#include,main(),float,r,s,;,clrscr,();/*,清屏*,/,printf(,请输入半径,R=,),;,scanf(%,f,&,r);,if(r0),printf(,半径不能为负值,!),;,exit(0);/*,中止程序运行*,/,s=PI*pow(r,2);,printf(R,=%.3f,S=%.3f,n,r,s);,#define PI 3.14159,#include ,#include,main(),float,r,s,;,r=1.0;,s=PI*pow(r,2);,printf(R,=%f,,,S=%f,n,r,s,);,示例程序,area.c,:,莆田学院现代教育技术中心 2004年2月,/*,改进后的求圆面积程序,AREA.C*/,#define PI 3.14159,#include,#include,#include,#include,main(),float,r,s,;,clrscr,();,/*,清屏,在,conio.h,中定义*,/,printf,(,请输入半径,R=);,/*,人机对话提示语*,/,scanf,(%f,/*,将键盘输入值存放在变量,r,对应的存储单元中*,/,if(r0),/*,如果输入的半径值为负值*,/,printf,(,输入出错,半径不能为负值!,);,/*,显示出错提示*,/,exit(0);/*,停止程序执行,返回操作系统*,/,s=PI*pow(r,2);,printf(,半径,R=%.3f,时,面积,S,=%.3fn,r,s);/*,限制,R,S,小数位数*,/,Lets try,莆田学院现代教育技术中心 2004年2月,改进程序有关语句分析,键盘输入函数,scanf(,“,%f,”,功能:将键盘输入的值存放到变量,r,所对应的存储单元中。,&r,变量,r,的存储单元地址,注意:,scanf(),函数本身不能带作为提示语的字符串,如,scanf(,“,请输入半径,r=%f,”,(,结果将使,r,等于某个随机值),通常与,printf(),函数组合使用,实现,“,人机对话,”,功能。,Example:,printf(“Input R=”);,scanf(“%f”,莆田学院现代教育技术中心 2004年2月,改进程序有关语句分析(续),选择语句,if,(,条件表达式)语句或复合语句,(,用花括号括起,);,功能:如果条件表达式的值为真,就执行指定语句或复合语句。,扩展形式:,if,else,语句,(详见,P91,),if,(,条件表达式,),语句或复合语句;,else,语句或复合语句,;,注意,:,条件表达式必须用()括起,且不能跟分号。,Example:,参见,P5,例,1.3,#include ,#include,main(),int,a,b,c,;,clrscr,();/*,清屏*,/,printf(Input,a,、,b=);,scanf(%,d,%d,&,a,&b,);,c=,max(a,b,);,printf(max=%d,c);,int,max(int,x,int,y),int,z;,if (xy)z=x;,else z=y;,return z;,莆田学院现代教育技术中心 2004年2月,改进程序有关语句分析(续),停止函数,exit(0),使程序正常停止,返回操作系统状态。,括号中为整型数值,,0,正常结束 其他数值,出错类型(某些系统上在原程序结束后可将此值传给另一程序),输出格式,P72,r=%-,m,.,nf,m,总位数(数值总长度小于,m,时左端补空格,,-m,则为右端补空格),,n,小数位数,上例中,r=%10.3f,s=%10.3f,输出,r=1.500,s=7.069,r=%-10.3f,s=%-10.3f,输出,r=1.500 ,s=7.069,r=%.1f,s=%.2f,输出,r=1.5,s=7.07,(下一位小数四舍五入),莆田学院现代教育技术中心 2004年2月,更多的改进,给程序加上软件“封面”和“封底”,封面,程序标题和编程者等,封底,告别辞,莆田学院现代教育技术中心 2004年2月,第一章作业,一、,上机编程:将求圆面积程序,AREA,.,C,修改成能求给定半径,r,的圆面积、周长、圆球面积和体积的新程序(包括软件,“,封面,”,和,“,封底,”,)。,二、上机编程:执行后在屏幕上显示以下软件封面(其中,XX,处请用实际数据表示):,*,*欢迎使用 *,*中学数学问题程序汇编,V1.00 *,*,程序设计:,XX,系,XX,专业,XXX,XXXX,年,XX,月,XX,日,选择菜单,a,、一元二次方程求根,b,、求任意半径圆、圆柱体和球体的(表)面积、体积,c,、求,n!,请选择(,a,、,b,或,c,):,_,莆田学院现代教育技术中心 2004年2月,熟记下列,TC,编译软件常用英语词汇:,function,函数,statement,语句,missing,丢失,error,出错,parameter,参数,illegal,非法的,invalid,无效的,pointer,指针,character,字符,array,数组,string,字符串,constant,常量,syntax,语法,argument,参数,type,类型,definition,定义,compile,编译,call,调用,symbol,标识符(变量名等),declaration,说明、声明,并将以下屏幕提示译为中文:,Compiling E:,tcabc.c,Error E:,tcabc.c,4:statement missing,;,in function main,Error E:,tcabc.c,3:Undefined symbol s in function,aa,要求:作业第一、二题上机编程并提交给指导老师检查。,作业第一题源程序还须写在作业本上上交。注意书写格式。,其他要求,莆田学院现代教育技术中心 2004年2月,附:,Turbo C,编程常用操作键,(按,F1,键可获得帮助),Turbo C,基本操作,Alt+F,建立新文件,Load/Pick,调入现有文件,Save,存盘(,F2,),Write to,换名存盘,Ctrl+F9,运行程序(自动完成编译,/,连接),Alt+F5,观看运行结果,程序调试常用操作,F5,显示,/,关闭观察、出错提示等窗口,F6,编辑窗口(,Edit,)和信息窗口(,Message,)窗口切换,Alt+B,设置断点,/,变量观察,(Break/Watch),常用:增加观察的变量名,(Add watch,),F8,单步执行,Ctrl+F2,程序重置(重新开始),程序编辑常用操作,Ctrl+KB,设置块头,Ctrl+KK,设置块尾,Ctrl+KC,块复制,Ctrl+KV,块移动,Ctrl+Y,删除一行,莆田学院现代教育技术中心 2004年2月,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服