江南大学C语言程序设计本科第四章PPT课件_第1页
江南大学C语言程序设计本科第四章PPT课件_第2页
江南大学C语言程序设计本科第四章PPT课件_第3页
江南大学C语言程序设计本科第四章PPT课件_第4页
江南大学C语言程序设计本科第四章PPT课件_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 问题 1.求任意半径的圆的周长和面积? 分析: “任意”输入一个半径值,输出对应的周长和面积。 2 定义所需变量,半径r,面积s,周长l 输入半径r的值 计算面积s= r2 即s=PI*r*r 计算周长l= 2r 即l=2*PI*r 定义符号常量 PI=3.14 输出半径、周长、面积 #define PI 3.14 输入函数语 句 赋值语句 输出函数语句 3 2. 1升的水,需要用几个半径为10厘米,高为20厘米的圆柱 杯子来装? 分析: 计算圆柱杯子的体积 v= r2h 4 第四章第四章 顺序程序设计顺序程序设计 5 Focus 语句类型语句类型 赋值语句赋值语句 常用常用I/O函数函数

2、 6 控制语句控制语句 函数调用语句函数调用语句 表达式语句表达式语句 复合语句复合语句 空语句空语句 句句 语句:标识; 用来完成一定操作任务,向计算机系统发出操作指令。 7 控制程序流程实现分支、循环、转向、控制程序流程实现分支、循环、转向、 返回、中断等。返回、中断等。 if( ) else 条件语句条件语句 for( ) while( ) 循环语句循环语句 do while( ) switch 多分支选择语句多分支选择语句 goto 转向语句转向语句 continue/break 结束本次循环结束本次循环/ /中断语句中断语句 return 返回语句返回语句 1 1、控制语句、控制语句

3、 8 2 2、表达式语句、表达式语句 3 3、空语句、空语句 一般形式:一般形式: ; / /* *只有一个分号的语句只有一个分号的语句* */ / 表达式未尾加一个分号即成为表达式语句。表达式未尾加一个分号即成为表达式语句。 一般形式:一般形式:表达式;表达式; 例:例:a=5 I=I+1 I+ a=5 I=I+1 I+ 表达式表达式 a=5a=5; I=I+1I=I+1; I+I+; 语句语句 作用:用来作被转向点,或循环语句的中的循环体。作用:用来作被转向点,或循环语句的中的循环体。 例如:例如:if (ab) ;if (ab) ; 9 一般形式:一般形式:函数名(实参表);函数名(实参

4、表); 例:例: printf(“I am teacher!”); sqrt(x);printf(“I am teacher!”); sqrt(x); 注:注: sqrt(x); sqrt(x); 这种没有左变量的函数调用,没有这种没有左变量的函数调用,没有 实用意义,一般写成实用意义,一般写成 y=sqrt(x);y=sqrt(x); 表达式语句表达式语句 函数调用语句也属于表达式语句。函数调用语句也属于表达式语句。 4 4、函数调用语句、函数调用语句 5 5、复合语句、复合语句 用用 把一结语句括起来。把一结语句括起来。 一般形式:一般形式: 语句语句1 1;语句;语句2 2; 10 1

5、1、一般形式:、一般形式:赋值表达式;赋值表达式; Ex: a=1;b=2;c=3; Ex: a=1;b=2;c=3; x=a x=a* *a+ba+b* *b+cb+c; 2 2、作用:、作用:为变量提供初值;为变量提供初值; 用来保存各种表达式的计算结果。用来保存各种表达式的计算结果。 第二节第二节 赋值语句赋值语句 11 getchar( )getchar( ) putchar( )putchar( ) 1 1、字符输出函数字符输出函数putchar( ) 一般形式:一般形式:putchar(字符变量字符变量); 功能:功能: 可输出单个普通字符,也可输出控制字可输出单个普通字符,也可输

6、出控制字 符和转义字符。符和转义字符。 以字符单位完成输入输出以字符单位完成输入输出 在程序要加在程序要加 “ “ #include #include stdio.h ”stdio.h ” 一、字符输入输出函数一、字符输入输出函数 12 例:例:#include”stdio.h”#include”stdio.h” main( ) main( ) char a,b,c;char a,b,c; a=B;b=O,c=a=B;b=O,c= Y;Y; putchar(a); putchar(a); putchar(b); putchar(b); putchar(c);putchar(c); putcha

7、r(n);putchar(n); putchar();putchar(); putchar(101); putchar(101); putchar();putchar(); 结果为:结果为: BOYBOY AA 13 2、字符输入函数、字符输入函数gechar( ) 一般形式:一般形式:getchar( ) 功能:从终端键盘输入一个字符。功能:从终端键盘输入一个字符。 Ex: #include “stdio.h” main ( ) char c; c=getchar( ); putchar(c); 从终端键盘输入:从终端键盘输入:aa 结果输出:结果输出: a a 14 二、格式输入输出二、格

8、式输入输出 1、格式输出函数、格式输出函数 printf( ) 一般形式:一般形式: printf( 格式控制,输出表列格式控制,输出表列) 格式控制格式控制是用双引号括起来的字符串,也称是用双引号括起来的字符串,也称“转换控转换控 制字符串制字符串”。 包含信息:包含信息: 格式说明格式说明:% + 格式字符。格式字符。 普通字符普通字符:需原样输出的字符。:需原样输出的字符。 转义字符转义字符:实现回车换行、跳区;:实现回车换行、跳区; 或或 输出单引号、双引号、反斜杆等特殊字符输出单引号、双引号、反斜杆等特殊字符 15 1)d格式符:用于指出格式符:用于指出十十进制整数进制整数 (1)

9、%d,按整型数据的实际长度指出。,按整型数据的实际长度指出。 (2) %md, m为指定的输出的宽度。为指定的输出的宽度。 注意:数据位数注意:数据位数m按实际长度输出。按实际长度输出。 Ex: int a=120,b=12345; printf(“%4d,%4d”,a,b); 输出为:输出为:u120,12345 (3) %ld,输出长整型数据。,输出长整型数据。 Long a=123450;Long a=123450; printf(“%ld”,a); printf(“%ld”,a); printf(“%8ld”,a); printf(“%8ld”,a); 输出:输出: 123450123

10、450 uuuu123450 16 结果为:结果为: 1,-1,1,177777 当不带符号(负号),同样也可指定手段宽度。当不带符号(负号),同样也可指定手段宽度。 0 0 00 00 00 00 00 00 010 0 00 00 00 00 00 00 011 1 11 11 11 11 11 11 111 1 11 11 11 11 11 11 11 注意注意:当输出的是带符号的整数时值可能会发生变化当输出的是带符号的整数时值可能会发生变化, 特别是负整数。特别是负整数。 例:在一个例:在一个16位机器内位机器内,a=1,b=-1; printf(“%d,%d,%o,%o”,a,b,a

11、,b); 先看看先看看a,b在计算机内的存储形式:在计算机内的存储形式: 2)O格式符格式符:以以8进制度形式输出整数。进制度形式输出整数。 17 a=-1,177777,ffff,65535 a=-1,177777,ffff,65535 b=-2,177776,fffe,65534 b=-2,177776,fffe,65534 1 1 11 11 11 11 11 11 111 1 11 11 11 11 11 11 111 1 11 11 11 11 11 11 101 1 11 11 11 11 11 11 10 结果为:结果为: 3)X格式符:以格式符:以16进制形式输出整数进制形式输

12、出整数 例:例: Unsigned int a=65535;int b=-2;Unsigned int a=65535;int b=-2; printf(“a=%d,%o,%x,%un”,a,a,a,a);printf(“a=%d,%o,%x,%un”,a,a,a,a); printf(“b=%d,%o,%x,%un”,b,b,b,b);printf(“b=%d,%o,%x,%un”,b,b,b,b); a,b a,b在计算机内的存储形式:在计算机内的存储形式: 4)U格式符:格式符:用来输出用来输出unsigned(无无 符号符号)型数据,型数据, 以十进制形式输出。以十进制形式输出。 18

13、 Ex: char a=c; printf(“%c”,a); 也可指定输出字数宽度,也可指定输出字数宽度, printf(“%3c”,a) 5)C 格式符:格式符:用来输出一个字符。用来输出一个字符。 19 (1) (1) %s%s (2) (2) %ms%ms 输出的字符串占输出的字符串占m m列,列, mm全部输出,全部输出,mm左补空格左补空格 6)S 格式符:格式符:用来输出一个字符串。用来输出一个字符串。 (3) (3) %-ms%-ms, , m mnm时,时,m m自动取自动取n n值,保证值,保证n n个字符正常输出。个字符正常输出。 20 Ex: printf(“%3s,%7

14、.2s,%1.4s,%-Ex: printf(“%3s,%7.2s,%1.4s,%- 5.3sn”, “CHINA”, “CHINA”, 5.3sn”, “CHINA”, “CHINA”, “CHINA”, “CHINA”); “CHINA”, “CHINA”); 输出:输出: CHINA,CHINA,uuuuuuuuuuCH,CHIN,CHICH,CHIN,CHIuuuu 21 7) f 格式符:格式符:用来输出实数(包括单、双精度)。用来输出实数(包括单、双精度)。 (1 1)%f%f,由系统自定宽度,整数部分全部,由系统自定宽度,整数部分全部 输出,并输出输出,并输出6 6位小数。位小数

15、。 (2 2)%m.nf%m.nf,指定输出的数据共占,指定输出的数据共占m m列,其列,其 中有中有n n位小数,长度位小数,长度mm时,时,左左补空格。补空格。 例:例: float f=123.456; printf(“%f,%10f,%8.2f,%.2f,%-8.2fn”,f,f,f,f,f); 输出:输出: 123.456000,123.456000,123.456000,123.456000,uuuu123.46,123.46,123.46123.46,123.46,123.46uuuu (3 3)%-m.nf%-m.nf,指定输出的数据共占,指定输出的数据共占m m列,其中有列,

16、其中有 n n位小数,长度位小数,长度MM时,时,右右补空格。补空格。 22 (1 1)%e%e ,由系统自定列数一般为,由系统自定列数一般为1313列宽度列宽度 printf(“%e”,123.456); 1.234560 e printf(“%e”,123.456); 1.234560 e +002+002 (2 2)%m.ne%m.ne和和%-m.ne%-m.ne 含义同上含义同上 n n指小数位数指小数位数 ex: printf(“%e,%10e,%10.2e,%.2e,%-10.2e”,f,f,f,f,f); 1.234560e+0021.234560e+002,1.234560e+

17、0021.234560e+002,u u1.23e+002,1.23e+002, 1.23e+0021.23e+002,1.23e+002, 1.23e+002u u 13 13列列 1313列列 1010列列 9 9列列 1010列列 8)e格式符,格式符,以指数形式输出实数。以指数形式输出实数。 23 例:例:f=123.468f=123.468 printf(“%f printf(“%fuuuu%e%euuuu%g”,f,f,f);%g”,f,f,f); 输出为:输出为: 123.468000123.468000uuuu1.234680e+0021.234680e+002uuuu123.

18、468123.468uuuuuu 1010列列1313列列1010列列 9)g 格式符格式符 用来输出实数,根据数值的大小,自动选用来输出实数,根据数值的大小,自动选f、e格格 式且不输出无意义的零。式且不输出无意义的零。 24 1升的水,需要用几个半径为10厘米,高为20厘米的圆柱杯 子来装? main( ) main( ) float r=10,h=20,v; float r=10,h=20,v; int m; int m; v=3.14159 v=3.14159* *r r* *r r* *h;h; m=1000/v; m=1000/v; printf(“ printf(“需要半径为需要

19、半径为%5.2f%5.2f的圆柱杯子的圆柱杯子 %d%d个个n”,r,m);n”,r,m); 25 2、scanf 函数(格式输入函数)函数(格式输入函数) 一般形式一般形式: : scanfscanf(格式控制(格式控制, ,地址表列);地址表列); 格式控制格式控制: : 含义同含义同printfprintf。 地址表列地址表列:由若干个地址组成的表列。:由若干个地址组成的表列。 26 不同:不同: (1 1)* *用来指定输入在读入后不赋给相应的变量。用来指定输入在读入后不赋给相应的变量。 (2 2)可以指定输入整数所占列数)可以指定输入整数所占列数 (3 3)输入实数时)输入实数时不能

20、规定精度不能规定精度。 Ex: scanf(“%5.3f”, scanf(“%3d”, 27 Ex: main( )Ex: main( ) int a,b; long int c; short d; char ch; int a,b; long int c; short d; char ch; unsigned temp; double f2;float f1; unsigned temp; double f2;float f1; scanf(“%3d%3d”, scanf(“%3d%3d”, scanf(“%d,%f”, scanf(“%d,%f”, scanf(“%lf,% scanf(“

21、%lf,%* *d”,d”, scanf(“%c”, scanf(“%c”, printf(“%4d,%4d,%u,%6.2fn”,a,b,temp,f1);printf(“%4d,%4d,%u,%6.2fn”,a,b,temp,f1); printf(“%f,%c”,f2,ch); printf(“%f,%c”,f2,ch); 输入:输入: 123456123456 65534 65534,230.456230.456 123.44,478abc 123.44,478abc 输出输出: : u123,u456,65534,230.46 u123,u456,65534,230.46 123.4

22、40000,a 123.440000,a 28 (1 1)地址运算符)地址运算符char ch110; scanf(“%s”,ch1);scanf(“%s”,ch1); 输入:输入: I Iamamstudentstudent (5 5)利用)利用%s%s格式输入字符串时,格式输入字符串时,以非空白字以非空白字 符开始,以第一个空白字符结束符开始,以第一个空白字符结束,并以并以“0”0” 作为结束标志作为结束标志。 ch1ch1中的值为中的值为“I0”I0” 30 例例1:计算任意半径计算任意半径 的圆的面积和周长。的圆的面积和周长。 #define PI 3.14159 main( ) ma

23、in( ) float r,s,l; float r,s,l; printf(“ printf(“请输入半径的值请输入半径的值r= :”);r= :”); scanf(“%f”, scanf(“%f”, s=PI s=PI* *r r* *r; l=2r; l=2* *PIPI* *r,r, printf(“ printf(“半径为半径为%5.2f%5.2f的圆的面积是的圆的面积是%8.4f,%8.4f,周长为周长为 %8.4fn”,r,s,l);%8.4fn”,r,s,l); 请输入半径的值请输入半径的值r=r=55 半径为半径为5.005.00的圆的面积是的圆的面积是78.5397,78.

24、5397,周长为周长为31.415931.4159 运行后屏幕上出现:运行后屏幕上出现: 31 1升的水,需要用几个半径为10厘米,高为20厘米的圆柱杯 子来装? main( ) main( ) float r=10,h=20,v; float r=10,h=20,v; int m; int m; v=3.14159 v=3.14159* *r r* *r r* *h;h; m=1000/v; m=1000/v; printf(“ printf(“需要半径为需要半径为%5.2f%5.2f的圆柱杯子的圆柱杯子 %d%d个个n”,r,m);n”,r,m); 32 例例2 2:依次输入两个值:依次输

25、入两个值X1X1,X2X2,然后把它们的值交换。,然后把它们的值交换。 main( )main( ) int x1,x2,x; int x1,x2,x; printf(“ printf(“请输入两个数请输入两个数x1,x2:”);x1,x2:”); scanf(“%d%d”, scanf(“%d%d”, x=x1; x=x1; x1=x2; x1=x2; x2=x; x2=x; printf(“%d%d”,x1,x2); printf(“%d%d”,x1,x2); 请输入两个数请输入两个数x1,x2:x1,x2: 6 688 8686 运行后屏幕上出现:运行后屏幕上出现: 33 34 1.以下

26、程序的输出结果是以下程序的输出结果是 。 main( ) int k=17; printf(%d,%o,%x n,k,k,k); A)17,021,0 x11 B)17,17,17 C)17,0 x11,021 D)17,21,11 35 2.已有定义已有定义 intx;floaty; scanf(%3d%f, 从第一列开始输入数据从第一列开始输入数据12345678, 则则x的值为【的值为【1】(】( ),),y的值为【的值为【2】(】( )。)。 【1】 A. 12345 B. 123 C. 45 D. 345 【2】 A. 无定值无定值 B. 45.000000 C.678.000000

27、0 36 void main() int i=8; printf(%3d%3d%3d%3d%3d%3d%3d%3d%3dn, i,+i,+i,-i, i+,i-,-i+,-i-,i); -8-78778 . 998 求 值 顺 序 printf函数的输出表列中的求值顺序,不同的编译系 统不一定相同,可以从左到右, 也可从右到左。 Turbo C是按从右到左进行的。是按从右到左进行的。 37 执行语句printf(His question is in c:toolsbook.exe);, 其输出为? A.His question is in c:toolsbook.exe B.His question is in c: oolsook.exe C.His question is in c:toolook.exe 38 用scanf(“%d%d%c%f%c”,语句输 入数据,使a=100,b=200,c1=y,x=15.3,c2=n,在键盘 上的输入形式为 。 100 ? 200y ? 15.3n 39 根据定义和数据的输入方式,输入语句的正确形式为( )。 已有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论