好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

c语言.第三章ppt课件.ppt

27页
  • 卖家[上传人]:s9****2
  • 文档编号:587356299
  • 上传时间:2024-09-05
  • 文档格式:PPT
  • 文档大小:846KB
  • / 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 main(){ int c; printf("Enter a character:"); c=getchar(); printf("%c--->hex%x\n",c,c); }注意:注意:1. 当输入多个字符时,多余字符作废;当输入多个字符时,多余字符作废; 2. 用用getchar()得到的字符可以赋给字符变量得到的字符可以赋给字符变量 、整型变量或作为表达式的一部分。

      整型变量或作为表达式的一部分/*ch4_1.c*/#include main(){ int c; char a; c=65; a='B'; putchar(c); putchar('\n'); putchar(a);} 131.printf1.printf函数函数格式:格式:printf(printf(““格式控制格式控制””,输出表,输出表) )功能:按自右向左的顺序,依次计算功能:按自右向左的顺序,依次计算““输出列表〞中各表达式输出列表〞中各表达式的值,再按的值,再按““格式串〞规定的格式将表达式的值输出到显示器格式串〞规定的格式将表达式的值输出到显示器•3.5  格式输出函数格式输出函数•格式控制串:包含两种信息格式控制串:包含两种信息•格式说明:格式说明: %[修饰符修饰符]格式字符格式字符 ,用于指定输出,用于指定输出格式格式•普通字符或转义序列:原样输出普通字符或转义序列:原样输出•输出表:要输出的数据〔可以没有,多个时以输出表:要输出的数据〔可以没有,多个时以“,”分隔)分隔) 14d,ix,Xoucmse,Efg%%十六进制无符号整数十六进制无符号整数不带符号十进制整数不带符号十进制整数十进制整数十进制整数指数形式浮点小数指数形式浮点小数单一字符单一字符字符串字符串八进制无符号整数八进制无符号整数小数形式浮点小数小数形式浮点小数e和和f中较短一种中较短一种百分号本身百分号本身int a=567;printf ( “%d”,a);int a=255;printf(“%x”,a);int a=65;printf(“%o”,a);int a=567;printf(“%u”,a);char a=65;printf(“%c”,a);printf(“%s”,“ABC”);float a=567.789;printf(“%e”,a);float a=567.789;printf(“%f”,a);float a=567.789;printf(“%g”,a);printf(“%%”);567ff101567AABC5.677890e+02567.789000567.789%说明说明 : 格式字符要用小写。

      格式字符与输出项个数应相同,按先后顺序一一对应格式字符要用小写格式字符与输出项个数应相同,按先后顺序一一对应输出转换输出转换:格式字符与输出项类型不一致格式字符与输出项类型不一致,自动按指定格式输出自动按指定格式输出.例例 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 则则ac1,   c2, b c3输出:输出:x=123,ch=10输出:输出:x=123,ch=10输出:输出:x=1234,b=‘a’,c=123 21§ §3.6 程序举例与练习程序举例与练习#include main(){ float 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)); printf("a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2f\n",a,b,c,s); printf("area=%7.2f\n",area);}例 输入三角形边长,求面积输入:输入:3,4,6  输出:输出:a= 3.00, b= 4.00, c= 6.00 s= 6.50 area= 5.33文件包含预处理命令变量定义输入数据输出数据 221:已已有有如如下下定定义义和和输输入入语语句句,,若若要要求求a1,a2,c1,c2的的值值分分别别为为10,,20,,A和和B,,当当从从第第一一列列开开始始输输入入数数据据是是,,正确的数据输入方式是正确的数据输入方式是__________。

          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 void main( )   { float a,b,c,disc,x1,x2,q      scanf(“a=%f,b=%f,c=%f, a,b,c);      disc=b*b-4*a*c;      p=-b/2*a;      q=sqrt(disc)/(2*a);      x1=p+q;  x2=p-q;      printf(“\nx1=%5.2f\n%5.2f\n”,&x1,&x2);} 27作业§P88 T4.4§ T4.5 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.