《C语言程序设计教程-第03课-顺序结构的程序设计.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计教程-第03课-顺序结构的程序设计.ppt(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、顺序结构是结构化程序设计中三种结顺序结构是结构化程序设计中三种结构之一,是一种最简单、最常见的程序结构之一,是一种最简单、最常见的程序结构,其特点是:按照语句的前后次序,自构,其特点是:按照语句的前后次序,自前向后顺序逐条执行。尽管这种结构简单,前向后顺序逐条执行。尽管这种结构简单,但也蕴含着一定的算法,它是按次序顺序但也蕴含着一定的算法,它是按次序顺序执行,中间没有跳跃,也不允许执行,中间没有跳跃,也不允许“逆行逆行”。在赋值表达式的尾部添加一个在赋值表达式的尾部添加一个“;”号(语句结束标志),就构成了赋值语句。号(语句结束标志),就构成了赋值语句。赋值语句具有双重功能:计算和赋值。首赋值
2、语句具有双重功能:计算和赋值。首先对赋值号右侧的表达式进行计算,然后先对赋值号右侧的表达式进行计算,然后将结果赋给赋值号左侧的变量进行存储。将结果赋给赋值号左侧的变量进行存储。由于自加、自减表达式具有赋值功能,由于自加、自减表达式具有赋值功能,因此同样也可以构成赋值语句。因此同样也可以构成赋值语句。例如:例如:a = 5;b = a+3;i+;j = (a =2 )+(b =3 );x*= 5;以上语句均属赋值语句。以上语句均属赋值语句。C语言中有语言中有形式多样的赋值语句,用法灵活,因此读形式多样的赋值语句,用法灵活,因此读者只有首先掌握好赋值表达式的运算规律,者只有首先掌握好赋值表达式的运
3、算规律,才能用好赋值语句,并能正确地推算出赋才能用好赋值语句,并能正确地推算出赋值语句的结果。值语句的结果。数据输入是指通过键盘(也可由其他数据输入是指通过键盘(也可由其他方式)将数据送入计算机的内存。方式)将数据送入计算机的内存。C语言本身没有提供用于输入或输出语言本身没有提供用于输入或输出数据的语句,所有需要进行输入或输出数数据的语句,所有需要进行输入或输出数据的操作都是通过调用标准库函数(由系据的操作都是通过调用标准库函数(由系统提供)来实现的。统提供)来实现的。例如:用于按格式输入的例如:用于按格式输入的scanf函数和函数和用于字符输入的用于字符输入的getchar函数。函数。C语言
4、的标准库函数是分类存放在不语言的标准库函数是分类存放在不同的文件中,在使用输入输出标准库函数同的文件中,在使用输入输出标准库函数前,应该包含前,应该包含 #include stdio.h或或 #include 命令行。命令行。scanf函数调用的形式:函数调用的形式:scanf(格式控制字符串,输入项表)格式控制字符串,输入项表)在该函数调用时,在其后面加上在该函数调用时,在其后面加上“;”分号,就构成了格式输入语句。例如:分号,就构成了格式输入语句。例如:a为为已定义的已定义的int类型变量,类型变量,x为已定义的为已定义的float类型变量,则:类型变量,则:scanf (%d%f , &
5、a, &x); 语句可以实现通过键盘分别向变量语句可以实现通过键盘分别向变量a和变量和变量x输入整型数据和实型数据。输入整型数据和实型数据。getchar函数的形式为:函数的形式为:getchar ( )调用该函数时,也需在调用之前加命调用该函数时,也需在调用之前加命令行:令行:# include stdio.h 或或 # include 此函数不需任何参数,它的作用是从此函数不需任何参数,它的作用是从键盘读入一个字符作为函数的返回值。键盘读入一个字符作为函数的返回值。例如:例如:char c1; c1=getchar ( ) ;当程序执行到当程序执行到getchar函数调用语句时,函数调用语
6、句时,将等待输入,只有当用户输入字符,并按将等待输入,只有当用户输入字符,并按Enter键后,字符才被送到内存的缓冲区,键后,字符才被送到内存的缓冲区,准备赋给指定的变量。并且对空格符、制准备赋给指定的变量。并且对空格符、制表符(表符(Tab键)和回车符(键)和回车符(Enter键)都被键)都被当作有效字符读入。当作有效字符读入。例如:例如:# include stdio.hmain() char c1, c2 ; c1=getchar ( ) ; c2=getchar ( ) ; 若运行上述程序时,输入:若运行上述程序时,输入:a 则变量则变量c1得到了输入字符得到了输入字符a,而变量而变量
7、c2中存放的是换行符。中存放的是换行符。printf函数调用的形式:函数调用的形式:printf (格式控制字符串,输出项表格式控制字符串,输出项表) 或或printf (字符串字符串)在该函数调用时,在其后面加上分号,在该函数调用时,在其后面加上分号,就构成了格式输出语句。就构成了格式输出语句。例如:例如:printf ( i=%d, m=%fn, i, m) ; 其中:其中:i为已定义的为已定义的int类型变量,类型变量,m为为已定义的已定义的float类型变量。类型变量。执行此语句后,可将变量执行此语句后,可将变量i的值和变量的值和变量m的值显示在屏幕上。的值显示在屏幕上。putchar
8、函数的形式为:函数的形式为:putchar (ch)其中:参数其中:参数ch可以是字符型常量或字符型可以是字符型常量或字符型变量,也可以是代表一个字符的变量,也可以是代表一个字符的ASCII代代码的整型常量或整型变量。码的整型常量或整型变量。函数的功能是输出参数所代表的字符。函数的功能是输出参数所代表的字符。若在函数调用后加上一个分号,就成若在函数调用后加上一个分号,就成为一条字符输出语句。为一条字符输出语句。例如:例如:char c1=a ; putchar (c1) ; /* 在屏幕上显示输出字母在屏幕上显示输出字母a */putchar (65) ; /* 在屏幕上显示输出字母在屏幕上显
9、示输出字母A */putchar (n) ; /* 输出换行符,即光标换行输出换行符,即光标换行 */例例33.11 计算银行利率。设银行定期计算银行利率。设银行定期一年期的存款年利率一年期的存款年利率r为为1.98%,若存款年,若存款年数为数为n,存款额为,存款额为m,则利用公式,则利用公式m (1+r) n可计算存款到期后的本利之和可计算存款到期后的本利之和total= m (1+r) n。源程序如下:源程序如下:# include math.hmain () int n, m ; float r =0.0198, total ; printf (please enter n & m :
10、) ; /* 提示语,请用户输入提示语,请用户输入n和和m 的数值的数值 */ scanf (%d%d , &n, &m ) ; total=m*pow ( 1+r , n ) ; printf ( total=%fn, total ) ; 程序的运行情况如下:程序的运行情况如下:please enter n & m : 1 500 total=511.250000复合语句是由一些语句组成,它们放复合语句是由一些语句组成,它们放在一对大括号中。其语句形式如下:在一对大括号中。其语句形式如下:语句语句1 语句语句2 语句语句n在形式上看,一对大括号中含有多条在形式上看,一对大括号中含有多条语句,
11、但在语句,但在C语言语法规则上是作为一条语言语法规则上是作为一条语句来处理,所以称为复合语句。例如:语句来处理,所以称为复合语句。例如:t=a; a=b; b=t; 这是一条复合语句,语句这是一条复合语句,语句功能是实现两个变量中的数据交换。功能是实现两个变量中的数据交换。在后面将要介绍的分支语句和循环语在后面将要介绍的分支语句和循环语句中,这种复合语句得到了广泛应用。句中,这种复合语句得到了广泛应用。根据语句的构成规则,分号根据语句的构成规则,分号“;”是是C语句的结束标志,因此,一个单独的分语句的结束标志,因此,一个单独的分号号“;”也可以构成一条语句,我们称为也可以构成一条语句,我们称为
12、空语句。空语句没有任何执行结果,那么空语句。空语句没有任何执行结果,那么这种空语句有何实际意义呢?这种空语句有何实际意义呢?一般常用于在程序设计初期,表示某一般常用于在程序设计初期,表示某一部分有语句存在,有待后面进一步完成。一部分有语句存在,有待后面进一步完成。例如:主函数中要调用一些用户自编例如:主函数中要调用一些用户自编的函数(模块),在未设计完成的模块中,的函数(模块),在未设计完成的模块中,暂时只放一条空语句。例如:暂时只放一条空语句。例如:main ( ) mysub ( ) int x ; ; x=mysub ( ) ; 等到对程序进行细化处理时,再完成等到对程序进行细化处理时,再完成mysub ( ) 函数中的具体功能。函数中的具体功能。