C语言程序设计(方少卿) 铁道C第4章(修订版)

上传人:E**** 文档编号:89383536 上传时间:2019-05-24 格式:PPT 页数:126 大小:1.41MB
返回 下载 相关 举报
C语言程序设计(方少卿) 铁道C第4章(修订版)_第1页
第1页 / 共126页
C语言程序设计(方少卿) 铁道C第4章(修订版)_第2页
第2页 / 共126页
C语言程序设计(方少卿) 铁道C第4章(修订版)_第3页
第3页 / 共126页
C语言程序设计(方少卿) 铁道C第4章(修订版)_第4页
第4页 / 共126页
C语言程序设计(方少卿) 铁道C第4章(修订版)_第5页
第5页 / 共126页
点击查看更多>>
资源描述

《C语言程序设计(方少卿) 铁道C第4章(修订版)》由会员分享,可在线阅读,更多相关《C语言程序设计(方少卿) 铁道C第4章(修订版)(126页珍藏版)》请在金锄头文库上搜索。

1、第四章 基本控制结构,4.0 引例,学习计算机语言的目的是为了以此为工具来设计程序,以便解决一些具体的实际问题。在20世纪60年代,随着计算机应用的日益普及,软件的开发和维护出现了严重的问题,导致了“软件危机”的出现,为此促使人们对软件的开发和设计进行研究,最后提出了结构化程序设计的思想,该思想要求程序是由3种基本结构组成,即顺序结构、选择结构和循环结构;复杂程序是由这3种基本结构组合而成。,【引例】输出1900至2000年中所有闰年,每输出三年换一行。,程序分析:闰年的年份满足以下条件之一:该年份能被4整除,但不能被100整除;或者该年份能被400整除。 程序源代码: main() int

2、year,n=0; printf(“以下年份是闰年:n“); for(year=1900;year=2000;year+) if(year%4=0 ,4.1 语句概述,程序应该包括数据描述(由声明部分来实现)和数据操作(由语句来实现)。数据描述主要定义数据结构(用数据类型表示)和数据初值。数据操作的任务是对已提供的数据进行加工。一个C程序包含若干语句,C语句都是用来完成一个具体操作的。C程序是由一个或多个函数组成,一个函数包含声明部分和执行部分,执行部分是由语句组成,而声明部分的内容不能称为语句。如:int x;不是一个C语句,它不产生机器操作,而只是对变量的定义。 C程序结构如图4.1表示,

3、即一个C程序可以由若干个源程序文件(分别进行编译的文件模块)组成,一个源文件可以由若干个函数和预处理命令以及全局变量声明部分组成,一个函数由数据定义部分(声明部分)即和执行语句组成。,图4-1 C程序结构,C语句可以分为以下5类:,1. 控制语句,完成一定的控制功能。C语言有9种控制语句,它们是: if()else (选择结构控制语句) switch (多分支选择结构控制语句) for() (循环结构控制语句) while() (循环结构控制语句) dowhile() (循环结构控制语句) break (switch选择结构或循环结构语句中止执行语句) continue (结束本次循环语句)

4、goto (转向语句) return (函数返回语句),2. 函数调用语句。由一次函数调用加一个分号 构成一个语句;如:printf(“Hello!”); 3. 表达式语句。 由一个表达式构成一个语句; 一个语句最后必须是分号,分号是语句中不可缺少的一部分。任何表达式都可以加上分号而成为语句。最典型的表达式语句是由赋值表达式构成一个赋值语句。如“x=8;”就是一个由赋值表达式a=3加上一个分号所构成的赋值语句。 由于C程序中大多数语句是表达式语句(包括函数调用语句,函数调用语句其实也是表达式语句),所以有人把C语言称作“表达式语言”。 4. 空语句。下面是一个空语句: ;,即只有一个分号的语句

5、,它什么也不做。有时用来做被转向点,或循环语句中的循环体(循环体是空语句,表示循环体什么也不做)。,5. 可以用 把一些语句括起来成为复合语句,又称分程序。 如引例中的斜体部分是一个复合语句,它是作为for控制语句的一个复合语句。由于for循环中的执行部分(又称循环体)只能是for控制语句后的一个的语句,在引例中for控制语句后要执行的语句有多条,通过把这些语句括起来成为复合语句,相当于一个的语句。 for(year=1900;year=2000;year+) if(year%4=0 注意:复合语句中最后一个语句中最后的分号不能忽略不写。,4.2 赋值语句,通过上节介绍我们已经知道,赋值语句是

6、由赋值表达式加上一个分号构成。下面再专门讨论赋值语句。 1. C语言中的赋值号“=”是一个运算符,有自己的运算优先级和“自右向左”的结合性。 关于赋值表达式与赋值语句的概念,作为赋值表达式可以包括在其他表达式之中,而作为赋值语句,必须在赋值表达式后加上分号“;”以构成一个独立的语句(分号“;”是一条语句结束的标志,是语句不可缺少的组成部分)。 例如:在C语言语法规定while后面的( )内是一个条件,如:“while(w0)” 。 现在在w的位置上换上一个赋值表达式“i=j”,则while(i=j)0)x=i;其作用是:先进行赋值运算(将j的值赋给i),然后判断i是否大于0,如大于0,执行xt

7、=i。 在while语句中的“i=j”不是赋值语句而是赋值表达式,while (i=j)0)x=i;这种写是合法的。如果写成while (a=b;)0)t=a;就错了。在while的条件中不能包含赋值语句。,4.3 字符的输入与输出函数,一个程序运行经常需要获取数据,这就涉及到数据的输入,同时程序运行的结果也要通过输出设备(如显示器)进行输出,这又要求能对数据输出进行处理。下面我们来学习C语言程序中的字符输入输出。 1. 输入输出是相对而言,计算机中所谓输入输出是以计算机主机为主体而言的。从计算机主机向外部输出设备(如显示屏、打印机、磁盘等)输出数据称为“输出” ;从外部输入设备(如键盘、麦克

8、风、光盘、扫描仪等) 向计算机主机输入数据称为“输入”。,2. C语言输入和输出操作是由函数来实现的,C语言本身不提供输入输出语句。 在C标准函数库中提供了一些输入输出函数,最常用的输入函数有scanf(),最常用的输出函数有printf()。 printf和scanf不是C语言的关键字,而只是函数的名字。C提供的函数以库的形式存放在系统中,它们不是C语言文本中的组成部分。 另外C标准函数库提供的输入输出函数有putchar(输出字符函数)、getchar(输入字符函数)、printf(格式输出函数)、scanf(格式输入函数)、puts(输出字符串函数),gets(输入字符串函数)。,3.

9、在使用C语言库函数时,要用预编译命令“include”将有关的“头文件”包括到用户源文件中。在头文件中包含了与用到的函数有关的信息。 例如使用标准输入输出库函数时,要用到“stdio.h”文件。文件后缀“h” 是head的缩写,#include命令都是放在程序的开头,因此这类文件被称为“头文件” 。在调用标准输入输出库函数时,文件开头应有以下预编译命令: #include 或 #include “studio.h“ studioh是standard input & output的缩写,它包含了与标准i/o库有关的变量定义和宏定义(有关预编译命令见第六章第8节)。由于printf和scanf函数

10、属经常使用的输入输出函数,C语言系统允许在使用这两个函数时省去#include命令。,4.3.1 putchar 函数(字符输出函数),1.putchar函数的格式: 格式: putchar(C) 功能:将变量c的值所代表一个字符向终端输出,c可以是字符型变量或整型变量。 【 例4.1】输出单个字符。 #include main() char i,j,k ,m,n; i=H;j=e;k=l;m=o;n=!; putchar(i);putchar(j);putchar(k);putchar(k);putchar(m);putchar(n); 运行结果: Hello!,2.putchar函数的几种

11、形式举例:,putchar(A); /* .在屏幕上显示字符A*/ putchar(i); /* 在屏幕上显示变量i的值所代表的字符*/ putchar(n) ; /* 输出控制字符,本行为换行*/ putchar(110) ; /* 输出转义字符,本行为输出字符H */ 3.关于putchar函数说明 (1). putchar函数需要将输出的数据(字符常量、字符型变量或整型变量)作为函数参数放在括号内,括号内的内容不能缺省。 (2). putchar函数只能输出一个字符,对于多于一个字符的内容,putchar函数只输出第一个字符。 (3). putchar函数既可输出可打印字符,也可输出不可

12、打印字符(如回车等)。 (4). putchar函数的返回值是整型,返回的值是字符的ASCII码值。,4.3.2 getchar函数(键盘输入函数),1.getchar()函数的格式: 格式: getchar( ) 功能:从终端(或系统隐含指定的输入设备,常为键盘)输入一个字符,getchar()函数没有参数,函数的值就是从输入设备得到的字符。 【 例4.2】输入单个字符 #include main() char x; x=getchar(); /* 从键盘输入一个 字符如a并按回车键, 则getchar()函数得到此字符,然后赋给变量x*/ putchar(x); /* 在屏幕上显示变量x的

13、值所代表的字符a*/ 运行:从键盘输入 a (加下划线的为输入内容,以下同) 结果:a 因为getchar()的值为a,因此putchar函数输出a。当然x的值也可以用printf函数输出。,2.关于getchar()说明,(1). getchar函数只能接收一个字符,对于多于一个字符的内容,getchar函数只接收第一个字符。 (2).getchar函数接收的字符既可赋给字符型变量,也可赋给整型变量,还可以作为函数表达式的一部分。 (3).getchar函数既可接收可打印字符,也可接收可从键盘输入的不可打印字符(如回车等)。 (4).getchar函数的返回值是整型,返回的值是字符的ASCI

14、I码值。 注意,如果在一个函数中要调用getchar或putchar函数,应该在该函数的前面加上 “包含命令”: #include ,4.4 格式化输入与输出函数,4.4.1 printf函数(格式输出函数) 在前面第一章中我们已经用到printf函数,下面我们将进一步学习printf函数的格式和功能。 printf函数的一般格式与功能: printf函数的一般格式: printf(格式控制符,输出列表) printf函数的功能:向终端(或系统隐含指定的输出设备,常为显示器)输出若干个任意类型的数据(注意与putchar函数的区别)。,【 例4.3】利用printf函数输出数据,main()

15、char c int x; x=67; c=”A ; printf(“c=%c,x=%d n“,c,x) ;/*按指定格式显示变量c和x的值*/ 运行结果:c=A, x=67,有关printf函数的几点说明:,(1). printf函数一般格式中的括号内包括两种信息:格式说明和输出列表。其中第一项“格式控制符”是用双引号括起来的字符串,也称“转换控制字符串”。 . 格式说明:由“%”和格式字符组成,它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的,如%d、%f、%c等。 . 普通字符:即需要原样输出的字符。例如上面printf函数中双引号内的逗号、c=和x=。 (2)

16、.“输出列表”是需要输出的一些数据,可以是常量、变量、表达式。,2格式字符,用以控制对不同类型的数据采用不同的格式输出字符。常用的有以下九种格式字符: d格式符。用来输出十进制整数。 o格式符,以八进制数形式输出整数。 x格式符,以十六进制数形式输出整数。 u格式符,用来输出unsigned型数据,即无符号数,以十进制形式输出。 c格式符,用来输出一个字符。 s格式符,用来输出一个字符串。 f格式符,用来输出实数(包括单、双精度),以小数形式输出。 e格式符,以指数形式输出实数。 g格式符,用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零。,以上格式符的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号