您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第1章 C语言程序设计基础
C语言程序设计与实践第一章C语言程序设计基础C语言的产生和发展C语言在1969到1973年间随着Unix操作系统的开发而诞生并流行.发明者为美国贝尔实验室的DennisRitchie等人。DennisRitchieC语言的产生和发展C语言的标准:1978年,丹尼斯·里奇(DennisRitchie)和BrianKernighan合作出版了《C程序设计语言》的第一版。书中介绍的C语言标准也被C语言程序员称作“K&RC”1989年,C语言被ANSI标准化。后通过对ANSI标准的少量修改,最终通过了ISO9899:1990。C89、C90可看作相同。C99。在ANSI的标准确立后,C语言的规范在一段时间内没有大的变动,然而C++在自己的标准化创建过程中继续发展壮大。《标准修正案一》在1995年为C语言创建了一个新标准,但是只修正了一些C89标准中的细节和增加更多更广的国际字符集支持。不过,这个标准引出了1999年ISO9899:1999的发表。它通常被称为C99。1-1程序结构和设计方法1-1-1C语言及其编译环境VisualC++6.01界面及布局;2创建新文件;3打开和保存;4编译和运行。p1.c------p1.obj------p1.exe编译程序连接程序1-1程序结构和设计方法1-1-2C语言程序框架例1写第一个C程序#includestdio.h/*包含一个标准I/O库*/intmain()/*定义函数main,是程序的主函数*//*函数类型函数名(参数)*/{/*main函数的内容用{}括起来*/printf(Hello,World!\n);/*调用库函数打印一行字符。printf函数的功能是把要输出的内容送到显示器去显示*/}运行结果:Hello,World!1-1程序结构和设计方法1-1-2C语言程序框架例2输入矩形的两条边长,求矩形面积#include“stdio.h”main(){floata,b,area;a=1.2;b=3.6;area=a*b;printf(“a=%f,b=%f,area=%f\n”,a,b,area);}1.main是主函数名,main后有一对圆括号,不能省略。2.一个c程序总是从主函数开始运行3.每一个可执行的c程序都必须有一个且只能有一个主函数。1-1程序结构和设计方法1-1-2C语言程序框架#include“stdio.h”main(){floata,b,area;a=1.2;b=3.6;area=a*b;printf(“a=%f,b=%f,area=%f\n”,a,b,area);}1.在函数起始行后面用一对“{}”括起来的部分为函数体2.函数体内通常有定义(说明)部分和执行语句部分3.c程序中每一条语句都必须用分号“;”结束函数体定义部分执行语句部分1-1程序结构和设计方法1-1-2C语言程序框架C程序结构的特点:1.C程序是由函数组成的2.函数由说明部分和函数体组成3.C程序总是从main函数开始执行的4.C程序书写格式自由5.每个语句和数据定义后必须有一个分号6.C语言本身没有输入输出语句7.可以用/*...*/做注释1-1程序结构和设计方法1-1-2C语言程序框架从书写清晰,便于阅读,理解,维护的角度出发,在书写程序时应遵循以下规则:1.一个说明或一个语句占一行。2.用{}括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。3.低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。4.在编程时应力求遵循这些规则,以养成良好的编程风格。1-1程序结构和设计方法1-1-3程序描述的可视化方法程序流程图是用规定的图形、指向线和文字说明来表示算法的一种图形。程序流程图的基本符号:1)椭圆形图框:终端框表示算法的开始与结束2)矩型图框:处理框表示算法的各种处理功能3)菱形图框:判断框表示算法的条件转移操作4)平形四边形:表示算法的输入/输出操作5)圆点图框:引入引出连接符表示流程图的延续6)指向线:指向线指引流程图中的方向1-1程序结构和设计方法1-1-3程序描述的可视化方法算法的表示--流程图起止框输入/出框判断框处理框流程线连接点1-1程序结构和设计方法1-1-4结构化程序和模块化结构一、结构化程序(1)顺序结构顺序结构中的各个模块是按照它们出现的先后顺序执行的。(2)选择结构选择结构先判断选择条件,根据判断的逻辑值,确定执行其中的某一个模块。(3)循环结构循环结构先判断循环条件,满足条件重复执行循环体包含的执行块,直到循环条件不满足,终止循环。1-1程序结构和设计方法1-1-4结构化程序和模块化结构程序流程图的基本结构AB顺序结构流程图ABTF条件P分支结构流程图1-1程序结构和设计方法1-1-4结构化程序和模块化结构程序流程图的基本结构当循环结构流程图A条件PTF直到循环结构流程图ATF条件P1-1程序结构和设计方法1-1-4结构化程序和模块化结构结构化程序设计方法:自顶向下;逐步细化;模块化设计;结构化编码。思想:把一个复杂任务逐步分拆,逐层细化到便于理解和描述的程度;最终形成一个由若干独立模块组成的树状层次结构。由基本结构组成程序,在基本结构内不存在向前或向后的跳转。1-2代码注释C语言的注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。在调试程序中对暂不使用的语句也可用注释符括起来,使翻译跳过不作处理,待调试结束后再去掉注释符。1-3常量和变量与数据类型1标识符在C语言中,有许多符号的命名,必须遵守一定的规则,如变量名、函数名、数组名等,将这些符号统称为标识符。C语言规定,标识符只能由字母、数字、下划线“_”三种字符组成,并且第一个字符只能是字母或下划线,例:合法的名字:sum,number_1,_add等非法的名字:$56,3a,a-5等。注意:标识符中大小写字母被认为是两个不同的字符。如:sum和Sum是两个不同的变量。1-3常量和变量与数据类型C语言的标识符分为三类:关键字:C语言中已经预先规定了一批标识符,它们在程序中都代表着固定的含义,不能另作他用,这些标识符称为关键字。如int预定义标识符:C语言中已经预先定义有特定含义的标识符,如库函数名字printf。C语言允许这类标识符重新定义另作他用,但最好不要另作他用。用户标识符:由用户根据需要定义的标识符。如变量、函数、数组名等。1-3常量和变量与数据类型1-3-1常量在程序运行过程中,其值始终保持不变的量称为常量,常量可分:整型常量1.十进制整常量如:0,123,-456,…...2.八进制整常量以0作为开头如:0123,0457,…...3.十六进制数以0X或0x作为开头如:0X123,0x49d实型常量如4.6,12.768,-3.0(或-3.)字符常量如‘a’,‘b’,‘d’,’3’字符串常量如“nice”,“Lanzhou”1-3常量和变量与数据类型1-3-1常量符号常量在C语言中,可以用一个符号来代表一个常量,称为符号常量。这个符号名必须符合标识符的命名规则。一般用#define命令来定义符号常量,且往往置于程序的开头。代表常量的标识符习惯上用大写字母组成的名来表示。好处:避免写错,程序易读,易于修改。例3已知半径,求圆面积#includestdio.h#definePI3.14159/*定义符号名PI为3.14159*/voidmain(){floatr,s;r=5;s=PI*r*r;printf(“\ns=%f”,s);}定义PI代表数字3.14159,在程序进行编译时,凡程序中出现PI的地方,编译程序均用3.14159来替换。1-3常量和变量与数据类型1-3-2变量其值可以改变的量称为变量。(1)大小写敏感。(2)不能与关键字重名。(3)变量必须先定义,后使用。定义变量为何种类型后,才能在程序中使用该变量。#includestdio.hintk=1,n=0;/*定义整型变量k、n*/main(){floatx,y;/*定义浮点型变量x、y*/x=3.5;…….}1-3常量和变量与数据类型1-3-3基本数据类型整型实型字符为什么变量必须指定数据类型?1-4基本输入输出输出函数printf作用:按指定的输出格式在屏幕上输出若干项表达式值调用格式:printf(格式控制,输出项1,输出项2,…)格式控制是字符串形式,用双引号引起来如:inta=3,b=5;printf(“a=%d,b=%d”,a,b);格式控制输出项1-4基本输入输出输入函数:scanf作用:从键盘上输入若干数据到指定的变量中。调用格式scanf(格式控制,输入项1,输入项2,…)格式控制的作用与printf函数相同,也是由%开始,其后是格式字符。输入项之间用逗号隔开,对于int,float,double型变量,在变量之前必须加&符号。如:scanf(“%d%d”,&a,&b);1-4基本输入输出输入函数:getchar()输出函数:puttchar()1-5算术运算与数学问题求解1-5-1算术运算符基本的算术运算符1、双目运算符+(加法运算符。如:3+5)-(减法运算符。如:5-2)*(乘法运算符。如:3*5)/(除法运算符。如:5/3)%(求余运算符,%两侧均应为整型数据,如:7%4的值为3)。2、单目运算符+(正值运算符。如:+3)-(负值运算符。如:-3)注意:1.如两整数相除,商为整数,如5/3=1,若至少有一个为实数,则商为实数,如5/10.0=0.52.取余运算时,%两端的数必须是整型数据。1-5算术运算与数学问题求解1-5-1算术运算符自加运算符(++)和自减运算符(--)①使运算对象的值加1或减1i++i=i+1i--i=i-1②++、--是单目运算符,运算对象可以是整型变量,也可以是实型变量,不能是常量和表达式++3(i+j)--×③++、--既可以作为前缀运算符,也可以作为后缀运算符。i++i--++i--i无论作为前缀还是后缀,对变量来说都是自增1或自减1,但作为表达式来说却有着不同的值,在表达式中:++i,--i(先使i的值增(减)1,再使用i值)i++,i--(先使用i值,再使i的值增(减)1)1-5算术运算与数学问题求解1-5-1算术运算符自加运算符(++)和自减运算符(--)例4:分析main(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);}运行结果为:9,11,9,10,1-5算术运算与数学问题求解1-5-2算术表达式用算术运算符和圆括号将运算数据连接起来的、符合C语法规则的式子,称为算术表达式。例:a*b/c-1.5+′a′在表达式运算时,先按运算符的优先级高低次序执行,例如先乘除后加减,如3+2*5。当一个运算对象两侧的运算符的优先级别相同时,则按规定的“结合方向”处理。1-5算术运算与数学问题求解1-5-3数学问题求解例5:求三角形面积例61-6要点回顾作业
本文标题:第1章 C语言程序设计基础
链接地址:https://www.777doc.com/doc-3380279 .html