《C语言程序设计课件第三章.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计课件第三章.ppt(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本章的主要内容包括:C语言中的语句 C语言中的控制结构 结构化程序设计方法 第三章 语句及控制结构 回首页语句是C语言中描述计算过程的最基本单位。由分号;结束。语法:语句在形式上的严格要求语义:每个形式上合法的语句都表示了一种含义,表示了程序执 行时要求进行的一个动作。C语句分类:(1)控制语句,完成选择、循环、转移等功能,共9种。(2)函数调用语句,由一次函数调用加一个分号构成一个语句。如:printf(“hello”);(3)表达式语句,由一个表达式加一个分号构成一个语句。如:a=3;+x;表达式能构成语句是C语言的一个重要特色。任何表达式都可以加上分号而成为语句。C语言也被叫作“表达式语
2、言”。(4)空语句,只有一个;号的语句。(5)复合语句,将语句用组合起来的结构,用于执行一系列语句,与顺序结构对应。语句的书写和注释 3.1 3.1 语句语句 顺序结构:按语句在程序中出现的顺序逐条执行,由这样的语句构成的程序结构是顺序结构。3.2.1 3.2.1 赋值语句和复合赋值语句赋值语句和复合赋值语句 3.2.2 3.2.2 数据输入输出数据输入输出 3.2.2.1 字符输入函数getchar getchar()函数从标准输入读入一个字符,没有参数,返回读入字符的ASCII码值(整数),遇文件结束标志返回EOF(EOF 是C系统定义的常数,表示文件结束符,在标准输入上输入文件结束标志方
3、法:CTRL-Z)。3.2.2.2 字符输出函数putchar putchar(int c)函数向标准输出写一个字符,输出控制字符时,会变成相应的设备动作。3.2 3.2 顺序结构顺序结构 3.2.2.3 格式输出函数printf printf()函数在标准输出设备上按指定格式进行输出 1 1.printf函数的一般调用形式 printf(printf(格式描述串,格式描述串,)格式描述串的作用:(1)为参数表中的输出项提供格式说明:由符号“%”和格式描述符组成。如系统规定用d作为int类型的格式描述符。(2)提供需要原样输出的文字或字符:如printf(“sum=%dn”,sum);中“su
4、m=”是希望原样输出的字符,“%d”的位置上输出变量sum的值,最后的“n”使输出换行。格式转换说明的个数与参数表的输出项个数应该相同,且格式描述符要与对应输出项的类型匹配。否则输出的结果无法预料,甚至可能会引起严重的运行错误。printf函数的返回值,是本次调用中输出字符的个数。3.2 3.2 顺序结构顺序结构3.2.2.3 格式输出函数printf printf()函数在标准输出设备上按指定格式进行输出 2.printf函数中常用的格式说明 每个格式说明都必须用“%”开头,以一个格式字符作结束。3.2 3.2 顺序结构顺序结构格式字符说明c输出一个字符d或i输出带符号的十进制整型数o以八进
5、制无符号形式输出整型数(不带前导0)x或X以十六制无符号形式输出整型数(不带前导0 x或0X)。对x用abcdef输出;对X用ABCDEF输出。u按无符号的十进制形式输出整型数f以带小数点的形式输出单精度和双精度数e或E以指数形式输出实数,隐含精度为,对E用输出大写形式g或G由系统决定使用f或e格式,以使输出宽度最小s输出字符串,直到遇到“0”,或输出由精度指定的字符数p输出变量的内存地址%输出一个字符3.2.2 3.2.2 数据输入输出数据输入输出3.2.2.4 格式输入函数scanf 1.scanf函数的一般调用形式 scanf(scanf(格式描述串,格式描述串,)格式描述串是用双引号括
6、起来的字符串,由“%”符号和格式描述符组成。作用是指定输入时的数据格式。参数表中各输入项用逗号隔开,各输入项只能是合法的地址表达式。格式描述串描述了程序所要求的转换方式,它控制着函数scanf由标准输入读入的过程。scanf函数返回成功完成输入转换的输入项数。2.scanf函数常用格式说明每个格式说明都必须用“%”开头,以一个格式字符作结束。3scanf函数的工作过程 4.scanf函数实例 3.2 3.2 顺序结构顺序结构3.2.3 复合语句和空语句复合语句和空语句 3.2.3.1 复合语句 复合语句也称“语句块”,形式如下:语句语句1 1;语句;语句2 2;.,语句,语句n;n;最后一个语
7、句的分号“;”不能缺少,复合语句内,不仅可以有执行语句,还可以有定义部分,定义部分应该出现在可执行语句的前面。C编译将整个括起来的结构视作一条语句。C语言中复合语句经常用来表示一些控制结构的执行体。如循环结构的循环体、选择结构某一条件的执行部分、函数的执行体等等。3.2.3.1 空语句 只有一个分号的语句叫“空语句”。空语句执行时不产生任何动作,程序中有时需要用空语句来表示存在一条语句。但随意加分号也会导致逻辑上的错误,要特别小心。3.2 3.2 顺序结构顺序结构3.3.1 3.3.1 关系运算和逻辑运算关系运算和逻辑运算3.3.1.1 C3.3.1.1 C语言中的逻辑值语言中的逻辑值语言中规
8、定:(1)用0、1 表示逻辑假和真值;语言没有专门的逻辑值,而是用来表示“真”,用表示“假”。(2)任何基本类型的值都可作为逻辑值使用。所有非0的值被当作“真”使用,而0值被当作“假”使用。3.3.1.23.3.1.2关系运算符和关系表达式关系运算符和关系表达式 1.关系运算符2.C语言的关系运算符共种:3.(大于)=(大于等于)4.(小于)0)if(n0)if(ab)if(ab)z=a;z=a;else z=b;else z=b;2if_else语句的执行过程 3.3.2 if3.3.2 if语句语句if语句用来构造选择结构,作用是实现对某些操作的选择执行。3.3.2.2 else_if3.
9、3.2.2 else_if结构结构 if (if (表达式表达式1)1)语句语句1 1else if (else if (表达式表达式2)2)语句语句2 2else if (else if (表达式表达式3)3)语句语句3 3.else else 语句语句n n这种嵌套的这种嵌套的ifif语句序列是实现多分支选择结构的最普通的方法。语句序列是实现多分支选择结构的最普通的方法。执行过程执行过程 3.3.2 if3.3.2 if语句语句1.switch1.switch语句语句 switch(switch(表达式表达式)case case 常量表达式常量表达式1 1:语句:语句1 1 case ca
10、se 常量表达式常量表达式2 2:语句:语句2 2 .case case 常量表达式常量表达式n n:语句:语句n n default:default:语句语句n+1n+1 2.switch2.switch语句的执行过程语句的执行过程标号的作用,只是指出选择转移的起点。一方面允许多个case标号连接到同一段代码,提供代码共享的能力。另一方面,又使得正常选择分支case标号后的语句,一定要加入break语句才能实现多分支选择的功能。3.3.3 switch3.3.3 switch结构结构 3.break3.break语句语句 break称间断语句,作用是控制程序跳出switch语句体或循环体。标
11、号的作用,只是指出选择转移的起点。3.3.3 switch3.3.3 switch结构结构 3.4 3.4 循环结构循环结构 循环结构用于完成程序中需要重复执行的操作。是结构化程序设计的三种基本结构之一。在C语言中有三种可以构成循环结构的循环语句。3.4.1 while循环循环 1.语法 while(表达式表达式)循环体循环体 2.while循环的执行过程(1)计算表达式的值,当值为非0时,执行(2);当值为0时,执行(3)。(2)执行循环体中语句,转去执行(1)(3)退出 while循环。3.4 3.4 循环结构循环结构3.4.2 do_while3.4.2 do_while循环循环1.语法
12、do 循环体while(表达式);括号、分号是必须的。循环体可以是一条语句或复合语句或空语句“;”,do和while表示循环结构的开始和结束,在这种循环结构中要成对使用。2.do_while循环的执行过程(1)执行do后面的循环体。(2)计算while后面括号中的表达式,当值为非0时,转去执行 (1);当值为0时,退出do_while循环。3.4 3.4 循环结构循环结构3.4.3 for3.4.3 for循环循环 1.语法for(for(表达式表达式1 1;表达式;表达式2 2;表达式;表达式3)3)循环体循环体 2.for循环的执行过程(1)计算表达式1。/*表达式1通常为循环变量赋初值,
13、使用赋值表达式和逗号表达式较多。*/(2)计算表达式2,若其值非0,转(3);若为0,结束循环。/*表达式2控制循环条件*/(3)执行循环体。(4)计算表达式3,转(2)。3.4.4 3.4.4 控制语句控制语句 1.break1.break语句语句 break break;breakbreak也也可可用用在在循循环环中中,使使程程序序跳跳出出本本层层循循环环,提提前前结结束束本本层层循环。循环。2.continue2.continue语句语句 continue;continue;只只能能用用在在循循环环体体中中,作作用用是是结结束束本本次次循循环环,即即跳跳过过本本次次循循环环体体中中其余尚
14、未执行的语句,接着再进行一次循环条件的判定。其余尚未执行的语句,接着再进行一次循环条件的判定。在在whilewhile和和do_whiledo_while循循环环中中,continuecontinue语语句句使使程程序序直直接接跳跳到到循循环环控控制制条条件件的的测测试试部部分分,在在forfor循循环环中中,遇遇到到continuecontinue后后,跳跳过过循循环环体体中中余余下下语语句句,而而去去对对forfor语语句句的的表表达达式式3 3求求值值,然然后后进进行表达式行表达式2 2的条件测试,决定的条件测试,决定forfor循环是否执行。循环是否执行。3.4 3.4 循环结构循环结
15、构3.4.4 3.4.4 控制语句控制语句 3.goto3.goto语句语句 gotogoto语语句句作作用用是是实实现现在在一一个个函函数数体体内内部部的的任任意意控控制制转转移移。必必须须和标号一起使用。形式为:和标号一起使用。形式为:goto goto 标号标号标标号号的的形形式式是是一一个个标标号号名名后后跟跟一一个个冒冒号号,可可以以写写在在任任何何语语句句前前面面。标标号号名名是是标标识识符符,在在程程序序中中起起标标记记作作用用,连连接接某某个个转转移移和和目目的的地、不分配空间。地、不分配空间。现现代代程程序序设设计计理理论论已已经经证证明明使使用用顺顺序序、选选择择、循循环环
16、结结构构可可以以描描述述程程序序设设计计中中的的所所有有问问题题,不不需需要要gotogoto语语句句,使使用用gotogoto语语句句写写的的程序转移随便,可读性差。应该少用和不用程序转移随便,可读性差。应该少用和不用gotogoto语句。语句。C C语语言言中中使使用用gotogoto的的唯唯一一合合理理的的地地方方,是是从从多多重重循循环环的的内内层层,直直接跳到最外层。接跳到最外层。3.4 3.4 循环结构循环结构3.4.5 3.4.5 循环结构中常用机制循环结构中常用机制 (1 1)增增量量、减减量量运运算算符符(+、-)在在循循环环结结构构中中经经常常用用来来改改变变循循环环控控制
17、变量的值。制变量的值。(2 2)逗逗号号运运算算符符(,)forfor语语句句头头部部,表表达达式式1 1中中变变量量赋赋初初值值和和表表达达式式3 3中循环变量更新操作中常用。中循环变量更新操作中常用。(3 3)复复合合赋赋值值 常常使使用用复复合合赋赋值值操操作作在在循循环环体体内内进进行行累累加加、累累乘乘、递递减等操作。减等操作。(4 4)空语句)空语句 单独的分号单独的分号“;”,作为填充,保证语法结构的完整性。,作为填充,保证语法结构的完整性。(5 5)无限循环)无限循环 程序中表示无限循环的常用结构是程序中表示无限循环的常用结构是 while(1)while(1)循环体循环体 f
18、or(for(;)循环体。循环体。无限循环的循环体内一定有选择结构和无限循环的循环体内一定有选择结构和breakbreak语句以便最终从循语句以便最终从循环结构中退出来。环结构中退出来。(6 6)breakbreak、continuecontinue、gotogoto3.4.6 3.4.6 循环结构设计实例循环结构设计实例 3.4 3.4 循环结构循环结构第三章 语句及控制结构使用三种基本结构和它们的组合可以构造各种各样的复杂C程序,本章主要内容是C语言中三种基本结构的语法及使用。包括:顺序结构:赋值、标准输入输出函数和复合语句使用。选择结构:条件、关系、逻辑表达式运算,if、switch语句使用。循环结构:for、while、do_while循环的使用方法。控制语句:break、continue、goto语句的作用和用法。三种基本结构是程序设计的基础,要求熟练掌握它们的使用方法,熟悉各种控制机制的机理。关键点是:关系、逻辑表达式求值;条件、循环语句的执行过程;标准输入的工作过程;控制语句的合理使用。回本章首页