
c语言.第三章ppt课件.ppt
27页1第第3章章 顺序程序设计顺序程序设计§教学目与要求:教学目与要求:§了解了解C语句的分类,理解输入输出的概念及在语句的分类,理解输入输出的概念及在C中的中的实现,掌握赋值语句,字符数据及格式输入输出实现,掌握赋值语句,字符数据及格式输入输出 §教学内容:教学内容:§C语句概述;赋值语句;数据输入输出的概念及在语句概述;赋值语句;数据输入输出的概念及在C语言中的实现;字符数据的输入输出;格式输入语言中的实现;字符数据的输入输出;格式输入与输出;顺序结构程序设计举例与输出;顺序结构程序设计举例 §教学难点与重点:教学难点与重点:§赋值语句的格式及作用,字符数据的输入输出,赋值语句的格式及作用,字符数据的输入输出,printf和和scanf函数的功能,格式及使用方法函数的功能,格式及使用方法 2 § 3.1 C语句概述语句概述 C程序程序源程序文件源程序文件1源程序文件源程序文件2源程序文件源程序文件N预处理命令预处理命令全局变量声明全局变量声明函数函数1函数函数N函数首部函数首部函数体函数体局部变量声明局部变量声明执行语句执行语句| C语句:以分号作分隔符,编译后产生机器指令,完成一定操作任务。
3for( )~ (循环)(循环)while( )~ (循环)(循环)do~while( ) (循环)(循环) 选择选择选择选择(分支)(分支)(分支)(分支)循环循环循环循环(反复)(反复)(反复)(反复)if( )~else~ (条件)(条件)switch (多分支)(多分支)continue (结束本次循环)(结束本次循环)break (终止(终止switch或循环语句)或循环语句)goto (转向)(转向) return (从函数返回)(从函数返回)辅助控制辅助控制辅助控制辅助控制(1) 程序控制语句程序控制语句4 控制语句控制语句:用于完成一定的控制功能用于完成一定的控制功能.顺序:按语句顺序执行顺序:按语句顺序执行 例如:例如: 顺序结构顺序结构语句语句A语句语句Bfloat a,b,c,s,area;scanf(“%f,%f,%f”,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));各语句各语句依次顺依次顺序执行序执行5§选择结构:选择结构:if〔表达式)〔表达式)……else§ 表达式表达式语句语句A语句语句B真真假假选择结构选择结构int a,b;if(a>b) printf(“%d”,a);else printf(“%d”,b);例如:例如:6§ 循循环结构:构:do……while或或while或或for § PA真真假假当型循环当型循环例:例:main( ){ int t=1,i=2; while (i<=5) { t=t*i; i++; }printf(“t=%d”,t);}7§ 循环结构:循环结构:do……while或或while或或for AP直到型循环直到型循环假假真真例:例:main( ){ int t=1,i=2; do { t=t*i; i++; }while (i<=5);printf(“t=%d”,t);}8 3.简单表达式语句简单表达式语句 赋值语句:赋值语句: 如:如:i=1;x=sin(y); 4.空语句:空语句: 如:如: ;; 问问题题::既既然然空空语语句句什什么么都都不不作作,,为为什什么么还还要它?要它? (空语句可用来作被转向点,或(空语句可用来作被转向点,或 循环语句中的循环体)循环语句中的循环体) 2.函数调用语句:函数调用语句: 如:如:printf(“This is a c programe”);9 (5) 复合语句复合语句 将几个表达式组合在一起,形成一个复合表达将几个表达式组合在一起,形成一个复合表达式语句。
式语句 例如:例如:++i,++j; i=1,j=2; 用用{ }把一些语句括起来成为复合语句把一些语句括起来成为复合语句 如:如:{ z=x+y; t=z/100; printf(“%f”,t);} 注意:注意:} 后无分号,其余各行均有分号后无分号,其余各行均有分号例例4.1 main( ) { int a; { int b; b=3; //复合语句〔分程序)复合语句〔分程序) printf(“%d\n”,a+b); } b=1; } ★★b的的作作用用域域只只在在内内层层大大括括号号这这样样一个局部一个局部由于由于 b是复合语句中定义的,在是复合语句中定义的,在它之外使用是错误的它之外使用是错误的说明:花括号配对规则,从后说明:花括号配对规则,从后向前配对,一个后花括号和它向前配对,一个后花括号和它最近的前花括号配对最近的前花括号配对10§ 3.2 赋值语句赋值语句赋值语句是由赋值表达式加上一个分号构成赋值语句是由赋值表达式加上一个分号构成1.C语言中的赋值号语言中的赋值号“=”是一个运算符是一个运算符,而其它大而其它大多数语言中赋值号不是运算符。
多数语言中赋值号不是运算符2.注意在变量说明中给变量赋初值和赋值语句的区注意在变量说明中给变量赋初值和赋值语句的区别在变量说明中,不允许连续给多个变量赋初值在变量说明中,不允许连续给多个变量赋初值 如说明是错误的:如说明是错误的: int a=b=c=5 必须写为必须写为 int a=5,b=5,c=5; 而赋值语句允许连续赋值而赋值语句允许连续赋值下述语句是合法的:下述语句是合法的: if((x=y+5)>0) z=x;语句的功能是,若表达式语句的功能是,若表达式x=y+5大于大于0则则z=x下述语句是非法的:下述语句是非法的: if((x=y+5;)>0) z=x;因为因为x=y+5;是语句,不能出现在表达式中是语句,不能出现在表达式中11§ 3.3数据输入输出的概念与数据输入输出的概念与C语言中的实现语言中的实现§输出:向外部输出设备〔显示器,打印机,磁盘等〕输输出:向外部输出设备〔显示器,打印机,磁盘等〕输出数据§输入:从输入设备〔键盘,磁盘,光盘,扫描仪等〕输输入:从输入设备〔键盘,磁盘,光盘,扫描仪等〕输入数据入数据§实现:实现: C语言中没有输入或输出语句。
输入和输出操作语言中没有输入或输出语句输入和输出操作都是由函数来实现的都是由函数来实现的§在使用C语言库函数时,要用预编译命令在使用C语言库函数时,要用预编译命令 #include 将有关将有关“头文件〞包括到源文件中头文件〞包括到源文件中使用标准输入输出库函数时要用到使用标准输入输出库函数时要用到 “stdio.h〞文件〞文件 #include< stdio.h >或或#include ”stdio.h”12§ 3.4字符数据的输入输出字符数据的输入输出|4.4.1 字符输出函数putchar 向终端输出一个字符,一般形式为 putchar( 变量名); | 4.4.2 字符输入函数 getchar从终端〔或系统隐含指定的输入设备〕输入一个字符,它 没有参数,一般形式为 getchar()函数的值就是从输入设备得到的字符include
整型变量或作为表达式的一部分/*ch4_1.c*/#include
格式字符与输出项个数应相同,按先后顺序一一对应格式字符要用小写格式字符与输出项个数应相同,按先后顺序一一对应输出转换输出转换:格式字符与输出项类型不一致格式字符与输出项类型不一致,自动按指定格式输出自动按指定格式输出.例例 int a=3,b=4; printf(“%d %d\n”,a,b); printf(“a=%d , b=%d\n”,a,b);例例 main() { unsigned int u=65535; printf(”u=%d\n",u); }2. 格式字符格式字符15§附加格式说明符〔修饰符)附加格式说明符〔修饰符) %[修饰符修饰符]格格式字符式字符 .n对实数对实数,指定小数点后位数指定小数点后位数(四舍五四舍五入入)对字符串对字符串,指定实际输出位数指定实际输出位数修饰符修饰符功功 能能m输出数据域宽输出数据域宽,数据长度数据长度 输入数据时,不能规定数据的精度如如 scanf(“%d%c%f”,&a,&b,&c); 若输入若输入1234a123o.26 例例 int x; char ch; scanf(“%d”,&x); ch=getchar(); printf(“x=%d,ch=%d\n”,x,ch);执行:执行:123 例例 int x; char ch; scanf(“%d”,&x); scanf(“%c”,&ch); printf(“x=%d,ch=%d\n”,x,ch);执行:执行:123 则则ac1, c2, b c3输出:输出:x=123,ch=10输出:输出:x=123,ch=10输出:输出:x=1234,b=‘a’,c=12321§ §3.6 程序举例与练习程序举例与练习#include int a1,a2;char c1,c2; scanf(“%d%d”,&a1,&a2); scanf(“%c%c”,&c1,&c2); A) 1020AB B)10 20 AB C)10 20 AB D)10 20AB 23 2:根根据据定定义义和和数数据据的的输输入入方方式式,,输输入入语语句句的的正正确确形形式式为为__________ 已有定义:已有定义:float f1,f2; 数据的输入方式:数据的输入方式:4.52 3.5 A)scanf(“%f,%f”,&f1,&f2); B) scanf(“%3.2f %2.1f”,&f1,&f2); C)scanf(“%f%f”,,&f1,,&f2); D) scanf(“%3.2f %2.1f”,&f1,&f2);24 3:以下合法的以下合法的C语言赋值语句是语言赋值语句是( ) A〕〕a=b=58 B〕〕k=(int) (a+b);); C〕〕a=58,,b=58 D))--i;; 4: 若有以下程序段,若有以下程序段,c3中的值是中的值是( ) A)0 B)1/2 C)0.5 D)1 int c1=1,c2=2,c3; c3=c1/c2;25 5:若若变变量量已已正正确确定定义义,,要要将将a和和b中中的的数数进进行交换,下面不正确的语句组是行交换,下面不正确的语句组是( ) A)a=a+b;b=a-b;a=a-b; B〕〕t=a,a=b,b=t; C)a=t;t=b;b=a; D〕〕t=b;b=a;a=t; 6: 若若x为为int型型变变量量,,则则执执行行以以下下语语句句后后x的的值是值是___________。 x=7; x+=x-=x+x;26程序改错程序改错1::#include












