C语言学习Lecture实用教案

上传人:re****.1 文档编号:568726282 上传时间:2024-07-26 格式:PPT 页数:51 大小:1.08MB
返回 下载 相关 举报
C语言学习Lecture实用教案_第1页
第1页 / 共51页
C语言学习Lecture实用教案_第2页
第2页 / 共51页
C语言学习Lecture实用教案_第3页
第3页 / 共51页
C语言学习Lecture实用教案_第4页
第4页 / 共51页
C语言学习Lecture实用教案_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《C语言学习Lecture实用教案》由会员分享,可在线阅读,更多相关《C语言学习Lecture实用教案(51页珍藏版)》请在金锄头文库上搜索。

1、二、本章内容(nirng)、重点、难点 内容内容(nirng)(nirng): 变量定义、赋值语句、输入输出语变量定义、赋值语句、输入输出语句。句。 输出函数输出函数 printf(“ printf(“格式控制格式控制”,”,输出列表输出列表) ) 输入函数输入函数 scanf(“ scanf(“格式控制格式控制”,”,地址列表地址列表) ) 难点是格式控制难点是格式控制, ,地址列表地址列表概述概述(i sh)第1页/共50页第一页,共51页。例:#include main() int a = 3, b =- 5, c; c = a * b / 2; c = a * b / 2; print

2、f( c=%dn , c); 开始开始(kish)(kish)结束结束(jish)(jish)顺序结构(jigu): 就是程序中的语句按先后顺序逐条执行的结构(jigu)。概述概述第2页/共50页第二页,共51页。3.1.1 C程序的组成 C程序:由一个(y )或多个“*.C”文件组成*.C文件:由预编译命令、函数组成。其中: 预编译命令 如:#define、#include 函数 包含一个(y )主函数、一个(y )或多个其它函数 函数:由说明部分、语句组成3.1 C语句语句(yj)概述概述C语言源程序是由语句构成的。第3页/共50页第三页,共51页。预编译命令预编译命令(mng lng)(

3、mng lng)函数函数1 1函数函数mm 程程序序( (c ch h n ng gx x ) )的的组组成成预编译预编译(biny)(biny)命令命令main()main()函数函数1 1函数函数n n 说明部分说明部分语句语句3.1 C语句概述语句概述第4页/共50页第四页,共51页。3.1.2 C 语句(yj)的分类按功能可分成: 表达式语句 描述要执行的操作运算(yn sun)。 流程控制语句 描述程序执行的走向。3.1 C语句语句(yj)概述概述第5页/共50页第五页,共51页。C C语句语句表达式语句表达式语句流程控制语句流程控制语句简单的简单的赋值表达式语句赋值表达式语句流程控

4、制结构流程控制结构循环循环限定转向语句限定转向语句流程转向语句流程转向语句复合的复合的函数调用语句函数调用语句空语句空语句选择选择无条件转向语句无条件转向语句3.1 C语句语句(yj)概述概述第6页/共50页第六页,共51页。3.2.1 什么(shn me)是结构化程序设计 结构化程序设计的思想: 不用(byng)或少用无条件转向语句(goto语句); 改善并统一每个模块的控制结构及模块间的联系。3.2 结构化程序设计结构化程序设计(shj)第7页/共50页第七页,共51页。结构化程序设计结构化程序设计(shj)(shj): 是一种程序设计是一种程序设计(shj)(shj)技术,采用:自顶向下

5、、模技术,采用:自顶向下、模块化、逐步细化、结构化编程的设计块化、逐步细化、结构化编程的设计(shj)(shj)方法。方法。 运用:顺序、分支、循环三种控制结构。运用:顺序、分支、循环三种控制结构。 控制遵循的原则是:单入口、单出口。控制遵循的原则是:单入口、单出口。 结构化程序设计结构化程序设计(shj)(shj)强调程序设计强调程序设计(shj)(shj)的风格和的风格和程序结构的规范化,提倡清晰的结构。程序结构的规范化,提倡清晰的结构。3.2 结构化程序设计结构化程序设计(shj)第8页/共50页第八页,共51页。3.2.2 三种基本(jbn)结构1. 三种(sn zhn)基本结构顺序结

6、构顺序结构选择结构选择结构循环结构循环结构一句句顺序往下执行一句句顺序往下执行If If 三种形式三种形式Switch Switch 多分支多分支当型当型 条件为真时执行循环体(含条件为真时执行循环体(含forfor循环)循环)直到型直到型 执行循环,直到条件为真时停止执行循环,直到条件为真时停止3.2 结构化程序设计结构化程序设计(shj)第9页/共50页第九页,共51页。2.流程图表示(biosh)A AB BP PA AB B真真假假P PA A真真假假P PA A假假真真顺序顺序(shnx)(shnx)结结构构选择选择(xunz)(xunz)结结构构循环结构循环结构当当型型直直到到型型

7、3.2 结构化程序设计结构化程序设计第10页/共50页第十页,共51页。输出:从内存(ni cn) 外设(打印、显示、存盘)。输入:从外设 内存(ni cn)。C语言用编译系统提供的函数实现输入输出。没有输入输出语句。3.3 数据数据(shj)输出输出第11页/共50页第十一页,共51页。3.3.1 putchar函数(单个字符(z f)输出函数)格式(g shi): putchar(字符变量|字符常量)功能: 向终端输出一个字符。含控制和转义字符。说明: 终端默认为是显示器。变量变量(binling) (binling) 常量常量例:例: char c=8; putchar(c); putc

8、har(A);注意:注意: 该函数包含在该函数包含在 头文件中。头文件中。3.3 数据输出数据输出第12页/共50页第十二页,共51页。例例3-1 3-1 用用putcharputchar函数输出函数输出(shch)(shch)字符。字符。#include #include main()main() char a = O, b = K, c= !; char a = O, b = K, c= !; putchar(a); putchar(a); putchar(b); putchar(b); putchar(c); putchar(c); /* /*输出输出(shch)(shch)一个回车符一

9、个回车符*/ */ putchar(n); putchar(n); 3.3 数据数据(shj)输出输出 /* /*用用8 8进制表示字符进制表示字符A*/A*/ putchar(101); putchar(101); /* /*用用1616进制表示字符进制表示字符z*/z*/ putchar(x7a); putchar(x7a); /* /*用用8 8进制表示回车换行进制表示回车换行*/ */ putchar(015); putchar(015); putchar(012); putchar(012); getch(); getch(); putchar 功能简单,只能输出一个字符;完全可被

10、printf代替;但优点是:生成的代码短第13页/共50页第十三页,共51页。3.3.2 printf3.3.2 printf函数(格式函数(格式(g shi)(g shi)输出函数)输出函数)1.1.一般一般(ybn)(ybn)格式:格式: printf(“ printf(“格式控制符格式控制符”,输出列表,输出列表) )功能:功能: 将输出列表项按格式控制符给定的格式输出。将输出列表项按格式控制符给定的格式输出。说明:说明: 格式控制符格式控制符 用双引号括起来的字符串。有用双引号括起来的字符串。有3 3种:种: 格式声明符,如:格式声明符,如:%c%c、%d%d、%f%f、%s%s等。等

11、。 为输出列表指定输出格式。为输出列表指定输出格式。 普通字符,原样输出。普通字符,原样输出。 转义字符,按转义输出。如:转义字符,按转义输出。如:nn、015015等。等。 3.3 数据数据(shj)输出输出第14页/共50页第十四页,共51页。 输出(shch)列表 是要输出(shch)的常量或表达式。 输出(shch)列表项与格式符从左到右一一匹配。其中: 个数相等时,按格式符类型一一输出(shch); 输出(shch)列表个数格式符个数时,多余的不输出(shch); 格式符个数输出(shch)列表个数时,多余的乱输出(shch)。 应确保:输出(shch)列表个数=格式符个数,以免出错

12、。3.3 数据数据(shj)输出输出第15页/共50页第十五页,共51页。对不同类型的数据使用不同的格式对不同类型的数据使用不同的格式(g shi)(g shi)符,常用有符,常用有9 9种:种:类型类型类型类型格式符格式符格式符格式符输出说明输出说明输出说明输出说明可加的修饰符可加的修饰符可加的修饰符可加的修饰符整整整整型型型型d d d d十进制有符号整数,不输出正号十进制有符号整数,不输出正号十进制有符号整数,不输出正号十进制有符号整数,不输出正号+ + + + l: l: l: l:表示长整型表示长整型表示长整型表示长整型, , , ,如如如如 :%ld:%ld:%ld:%ldm:m:

13、m:m:最小宽度,最小宽度,最小宽度,最小宽度,如如如如 :%3d :%3d :%3d :%3d -:-:-:-:输出左对齐输出左对齐输出左对齐输出左对齐o o o o八进制无符号整数,不输出前导符八进制无符号整数,不输出前导符八进制无符号整数,不输出前导符八进制无符号整数,不输出前导符o o o ox x x x,X X X X十六进制无符号整数,不输出前导符十六进制无符号整数,不输出前导符十六进制无符号整数,不输出前导符十六进制无符号整数,不输出前导符0x0x0x0xu u u u十进制无符号整数十进制无符号整数十进制无符号整数十进制无符号整数实实实实型型型型f f f f以小数形式输出单

14、、双精度数,隐含以小数形式输出单、双精度数,隐含以小数形式输出单、双精度数,隐含以小数形式输出单、双精度数,隐含6 6 6 6位小数位小数位小数位小数m.n: m m.n: m m.n: m m.n: m 最小宽度、最小宽度、最小宽度、最小宽度、n n n n小小小小数位数。数位数。数位数。数位数。%6.1f %6.1f %6.1f %6.1f -:-:-:-:输出左对齐输出左对齐输出左对齐输出左对齐e e e e,E E E E以指数形式输出单、双精度数,隐含以指数形式输出单、双精度数,隐含以指数形式输出单、双精度数,隐含以指数形式输出单、双精度数,隐含6 6 6 6位小数位小数位小数位小数

15、g g g g,G G G G选选选选%f%f%f%f或或或或%e%e%e%e中宽度短的一种格式中宽度短的一种格式中宽度短的一种格式中宽度短的一种格式, , , ,省略尾部省略尾部省略尾部省略尾部0 0 0 0字字字字符符符符型型型型c c c c以字符形式输出,只输出一个字符以字符形式输出,只输出一个字符以字符形式输出,只输出一个字符以字符形式输出,只输出一个字符m.n: m m.n: m m.n: m m.n: m 最小宽度、最小宽度、最小宽度、最小宽度、n n n n往往往往左截取的字符数。左截取的字符数。左截取的字符数。左截取的字符数。s s s s输出字符串输出字符串输出字符串输出字

16、符串2.2.格式格式(g shi)(g shi)字符与格式字符与格式(g shi)(g shi)修饰符修饰符3.3 数据数据(shj)输出输出第16页/共50页第十六页,共51页。说明(shumng):数据类型必须与格式字符匹配,以免出错;用“X”时,输出用大写字母 AF表示1015 ;用“E”或“G”输出时,指数(zhsh)用大写字母表示;格式控制字符串中可以使用转义字符。3.3 数据数据(shj)输出输出第17页/共50页第十七页,共51页。 整型类 %d 格式 输出十进制有符号整数(zhngsh),与修饰符组合有6种形式: %d以紧凑格式输出,即输出项间不留空格以紧凑格式输出,即输出项间

17、不留空格%md输出项占输出项占m列宽度,且右对齐列宽度,且右对齐%-md输出项占输出项占m列宽度,且左对齐列宽度,且左对齐%ld以长整型紧凑格式输出以长整型紧凑格式输出%mld输出项占输出项占m列宽度,且右对齐列宽度,且右对齐%-mld输出项占输出项占m列宽度,且左对齐列宽度,且左对齐3.3 数据数据(shj)输出输出第18页/共50页第十八页,共51页。例int a=123,b=4567; int a=123,b=4567; long c=123456,d=654321; long c=123456,d=654321; printf(“%d%dn”,a,b) ;printf(“%d%dn”,

18、a,b) ;printf(“%5d%2dn”,a,b) ;printf(“%5d%2dn”,a,b) ;printf(“%-5d%-5dn”,a,b) ;printf(“%-5d%-5dn”,a,b) ;printf(“%ld%ldn”,c,d) ;printf(“%ld%ldn”,c,d) ;printf(“%-8ld%8ld”,c,d) ;printf(“%-8ld%8ld”,c,d) ;输出(shch):1234567 1234567123 4567 123456 654321 3.3 数据数据(shj)输出输出第19页/共50页第十九页,共51页。 %o、%x、%u格式 输出(shch

19、)八进制、十六进制、无符号整数。 与“l”、”m”、”-”符号结合,有类似%d的六种格式。 输出(shch)的八进制、十六进制数不另带符号,符号位作为八进制、十六进制数的一部分输出(shch)。 利用不同的输出(shch)格式,可以方便的实现不同数值之间的转换。3.3 数据数据(shj)输出输出第20页/共50页第二十页,共51页。例例3-23-2:输入十进制整数,分别以八进制、十六进制:输入十进制整数,分别以八进制、十六进制(sh (sh li jn zh)li jn zh)和无符号形式输出。和无符号形式输出。 说明:因为系统对不同进制的数不做任何标识,本说明:因为系统对不同进制的数不做任何

20、标识,本例在各数前面补充输出字符例在各数前面补充输出字符0 0、0x0x、u u。 main() main() int a; int a; printf(“a(-32768 printf(“a(-3276832767)=?”); 32767)=?”); scanf(“%d”,&a); scanf(“%d”,&a); printf(“a=%d 0%o 0x%x u%un”a,a,a,a); printf(“a=%d 0%o 0x%x u%un”a,a,a,a); 3.3 数据数据(shj)输出输出第21页/共50页第二十一页,共51页。运行结果如下:a(-3276832767)=? 5678a=

21、5678 013056 0x162e u5678a(-3276832767)=?-1a=-1 0177777 0xffff u65535-1绝对值原码 取反 -1 补码 如果看成有符号数就是-1;无符号数就是65535。 16个1用八进制表示(biosh)为177777;用十六进制表示(biosh)为ffff。0000000000000001111111111111111011111111111111113.3 数据数据(shj)输出输出第22页/共50页第二十二页,共51页。 实型类输出单精度、双精度数使用相同的三种输出格式。输出单精度、双精度数使用相同的三种输出格式。 %f %f 以小数形

22、式输出实数以小数形式输出实数 * %f * %f格式格式 按系统默认精度输出实数。靠左放。按系统默认精度输出实数。靠左放。 单精度型输出单精度型输出6 6位小数,有效位数为位小数,有效位数为7 7位;位; 双精度输出有效位数双精度输出有效位数1616位,小数也是位,小数也是6 6位。位。 整数整数(zhngsh)(zhngsh)部分全部输出,小数部分不一定全部部分全部输出,小数部分不一定全部有效。有效。 例如:例如: float x=1234567.890123; float x=1234567.890123; double y=1234567.890123; double y=1234567

23、.890123; printf(“x=%ft y=%fn”,x,y); printf(“x=%ft y=%fn”,x,y);输出为输出为 3.3 数据数据(shj)输出输出第23页/共50页第二十三页,共51页。 * % * %格式格式 输出占输出占m m列宽度,其中:列宽度,其中: 小数为小数为n n位,第位,第n+1n+1位自动位自动(zdng)(zdng)四舍五入;四舍五入; 小数点占小数点占1 1位;位; 右对齐输出;右对齐输出; 数据长度数据长度mm时,左端补空格。时,左端补空格。 * %- * %-格式格式 含义同上。含义同上。 左对齐输出;左对齐输出; 数据长度数据长度mm时,右

24、端补空格。时,右端补空格。3.3 数据数据(shj)输出输出第24页/共50页第二十四页,共51页。例3-3:输出实数(shsh)时指定小数位。main() main() float f=123.456; float f=123.456; printf(“%ft%10ft%10.2ft%.2ft%-10.2f printf(“%ft%10ft%10.2ft%.2ft%-10.2f t%10.0fn”, f,f,f,f,f,f); t%10.0fn”, f,f,f,f,f,f); 3.3 数据数据(shj)输出输出第25页/共50页第二十五页,共51页。* %e * %e 以标准指数格式输出实数

25、。其中:以标准指数格式输出实数。其中: 小数点前仅小数点前仅1 1位非位非0 0数字;数字; 系统自动指定系统自动指定(zhdng)(zhdng)小数位数为小数位数为5 56 6位(位(TCTC为为5 5位);位); 指数部分占:指数部分占:e e占占1 1位、指数符号位、指数符号1 1位、位、 指数占指数占2 24 4位;位; 例:例:printf(“%e”,123.456789); printf(“%e”,123.456789); 输出:输出:1.23457e+02 /*Turbo C*/1.23457e+02 /*Turbo C*/ 注意:不同系统有区别。注意:不同系统有区别。 %e %

26、e 以指数形式以指数形式(xngsh)(xngsh)输出实数输出实数3.3 数据数据(shj)输出输出第26页/共50页第二十六页,共51页。 * % * %、%格式格式 含义同前。其中:含义同前。其中: n n 小数位数,有些系统少小数位数,有些系统少1 1位,位,TCTC即为即为n1n1位位 当不指定当不指定n n时,时,TCTC自动取自动取n=5;n=5; m m 实际长度,按实际长度。实际长度,按实际长度。 例:若例:若 f=123.456; f=123.456; printf(“%e%10e%10.2e%.2e%10.2e”,f,f,f,f,f); printf(“%e%10e%10

27、.2e%.2e%10.2e”,f,f,f,f,f);输出输出(shch)(shch)如下:如下: 1.23456e+021.23456e+021.2e+021.2e+021.2e1.23456e+021.23456e+021.2e+021.2e+021.2e+02+02 11 11列列 11 11列列 10 10列列 7 7列列 10 10列列3.3 数据数据(shj)输出输出第27页/共50页第二十七页,共51页。 %g 格式(g shi) 根据数值根据数值(shz)(shz)大小,自动选取大小,自动选取%f%f或或%e%e格式中宽度格式中宽度较小的一种,且省略尾部无意义的较小的一种,且省略

28、尾部无意义的0 0。例:例:double x=1234567890.123,y=4.56,z=78.9000;double x=1234567890.123,y=4.56,z=78.9000;printf(“%f=%f %e=%e %g=%g y=%g printf(“%f=%f %e=%e %g=%g y=%g z=%g”,x,x,x,y,z);z=%g”,x,x,x,y,z);输出结果:输出结果: 3.3 数据数据(shj)输出输出第28页/共50页第二十八页,共51页。 %c %c 格式格式 输出输出(shch)(shch)一个字符。一个字符。 整型数的值在整型数的值在0 0255255

29、范围内时,可用字符形式输出范围内时,可用字符形式输出(shch)(shch),系统自动输出,系统自动输出(shch)(shch)其其ASCIIASCII码码字符;字符; 字符型数据也可以用整型数格式输出字符型数据也可以用整型数格式输出(shch)(shch),系统按,系统按1 1字节数处理;字节数处理; 也可以指定输出也可以指定输出(shch)(shch)字符占的列数。如:字符占的列数。如: printf(“%3ct %-3c”, a, a); printf(“%3ct %-3c”, a, a); 结果为:结果为: aa aa 字符字符(z f)(z f)类类左对齐(du q)3.3 数据输出

30、数据输出第29页/共50页第二十九页,共51页。 %s %s 格式格式 按紧凑格式输出字符串。按紧凑格式输出字符串。例:例: printf(“%s%sn”,”CHINA”,”OK!”); printf(“%s%sn”,”CHINA”,”OK!”);结果:结果:CHINAOK!CHINAOK!* %ms * %ms 输出占输出占m m列;右对齐,不足左补空格;超过列;右对齐,不足左补空格;超过m m按实际按实际(shj)(shj)长度输出。长度输出。 %-ms %-ms 左对齐,不足右补空格;其余同左对齐,不足右补空格;其余同%ms %ms 。* %m.ns * %m.ns 从串中左取从串中左取

31、n n个字符,按个字符,按m m列输出;右对齐,不足左补空格。列输出;右对齐,不足左补空格。 %-m.ns %-m.ns 左对齐,不足右补空格;其余同左对齐,不足右补空格;其余同3.3 数据数据(shj)输出输出第30页/共50页第三十页,共51页。 #define W “CHINA” main() printf(“%3s,%7.2s,%.4S,%-5.3Sn”,W,W,W,W); 输出(shch)结果: CHINA, CH,CHIN,CHI3.3 数据数据(shj)输出输出第31页/共50页第三十一页,共51页。3.4.1 getchar 3.4.1 getchar 函数(单字符函数(单字符

32、(z f)(z f)输入函数)输入函数) 格式:格式: getchar () getchar () 功能功能(gngnng)(gngnng): 从终端输入一个字符。从终端输入一个字符。 终端:终端: 一般指键盘。一般指键盘。用途用途(yngt)(yngt): 可为字符变量、整型变量赋值;可为字符变量、整型变量赋值; 也可出现在表达式中。也可出现在表达式中。3.4 数据输入数据输入第32页/共50页第三十二页,共51页。例例3939:输入:输入4 4个字符,可是字母、数字个字符,可是字母、数字(shz)(shz),查看结果。,查看结果。#include #include main()main()

33、 char c; char c; int i;int i; c = getchar(); c = getchar(); printf(c=%4c, c);printf(c=%4c, c);i = getchar(); i = getchar(); printf(i=%5d, i);printf(i=%5d, i); printf(c1=%4cc2=%cn, getchar(), getchar();printf(c1=%4cc2=%cn, getchar(), getchar(); getch();getch(); /* /*从键盘上输入从键盘上输入ABCD*/ABCD*/3.4 数据数据(s

34、hj)输入输入第33页/共50页第三十三页,共51页。 函数多次出现函数多次出现(chxin)(chxin)时,应将所有取值一次全部从键盘输完,否则所按的回车键有可能成为函时,应将所有取值一次全部从键盘输完,否则所按的回车键有可能成为函数值;数值; 函数每次从缓冲区取一个字符为值;函数每次从缓冲区取一个字符为值; getchargetchar和和putcharputchar配合使用,如:配合使用,如: c=getchar();putchar(); c=getchar();putchar(); putchar(getchar(); putchar(getchar(); 4. 4. 函数最常用在函

35、数最常用在ifif或或whilewhile语句中,如:语句中,如: if (ch=getchar() !=#) if (ch=getchar() !=#) while (ch=getchar() !=# while (ch=getchar() !=# 注意注意(zh y)(zh y):3.4 数据数据(shj)输入输入第34页/共50页第三十四页,共51页。3.4.2 getch 3.4.2 getch 与与getchegetche函数函数(hnsh)(hnsh)1. getch() 1. getch() 函数函数 格式:格式: getch() getch() 功能:等待击键,如解决输出屏幕一

36、闪而过的问题。功能:等待击键,如解决输出屏幕一闪而过的问题。 执行过程:程序执行碰到此函数时,停留执行过程:程序执行碰到此函数时,停留(tngli)(tngli)在输出屏幕(用户)在输出屏幕(用户) ,当单击任意一键,当单击任意一键后,立即返回到编辑界面。按的键不显示出来。后,立即返回到编辑界面。按的键不显示出来。 2. getche() 2. getche() 函数函数 格式:格式: getche() getche() 功能、执行过程:同上。功能、执行过程:同上。 区别是:按的键显示出来。区别是:按的键显示出来。 3.4 数据数据(shj)输入输入第35页/共50页第三十五页,共51页。例例

37、3-43-4:显示:显示(xinsh)15(xinsh)15的平方。按任意键结束程序运行。的平方。按任意键结束程序运行。#include#includemain()main() int i; int i; for (i=1;i=5;i+) for (i=1;i=5;i+) printf(%d*%d=%dt,i,i,i*i); printf(%d*%d=%dt,i,i,i*i); getch(); /* getch(); /*运行后显示结果,按任一键后返回运行后显示结果,按任一键后返回(fnhu)(fnhu)到编辑屏幕到编辑屏幕*/ */ 3.4 数据数据(shj)输入输入第36页/共50页第三

38、十六页,共51页。3.4.3 scanf函数(格式(g shi)输入函数) 1. 一般格式: scanf(“格式控制”,地址列表) 功能: 一次可以输入任何类型(lixng)的多个数据。 说明:说明: “ “格式控制格式控制(kngzh)” (kngzh)” :含义类似:含义类似printfprintf函数;函数; 地址列表地址列表 : 若干个地址。可以是变量的地若干个地址。可以是变量的地 址或字符串的首地址。址或字符串的首地址。3.4 数据输入数据输入第37页/共50页第三十七页,共51页。 例:例: int a,b,*p1=&a,*p2=&b; int a,b,*p1=&a,*p2=&b;

39、 float x,y; float x,y; scanf(%d%d%f%f,p1,p2,&x,&y); scanf(%d%d%f%f,p1,p2,&x,&y); 说明:说明: 变量的地址是在编译连接阶段分配的;变量的地址是在编译连接阶段分配的; 输入数据时,分隔两个数值型数据可用:输入数据时,分隔两个数值型数据可用: 一个或多个空格一个或多个空格(kn )(kn ) 回车换行键回车换行键 Tab Tab键键3.4 数据数据(shj)输入输入第38页/共50页第三十八页,共51页。 格式(g shi)控制 格式控制符格式控制符 类似类似(li s)printf(li s)printf函数函数类型

40、类型类型类型格式符格式符格式符格式符输入类型说明输入类型说明输入类型说明输入类型说明可加修饰符可加修饰符可加修饰符可加修饰符整整整整型型型型d d十进制有符号整数十进制有符号整数十进制有符号整数十进制有符号整数字母字母字母字母l l,表示长整型,表示长整型,表示长整型,表示长整型(%ld%ld)o o无符号八进制整数,前面可不加数字无符号八进制整数,前面可不加数字无符号八进制整数,前面可不加数字无符号八进制整数,前面可不加数字0 0x,Xx,X无符号十六进制整数,前面可不加无符号十六进制整数,前面可不加无符号十六进制整数,前面可不加无符号十六进制整数,前面可不加0 0、x xu u无符号十进制

41、整数无符号十进制整数无符号十进制整数无符号十进制整数实实实实型型型型f f小数或指数形式实型数小数或指数形式实型数小数或指数形式实型数小数或指数形式实型数字母字母字母字母l l,表示,表示,表示,表示doubledouble型(型(型(型(%lf %lf %le%le)e e,E E,g g,G G 与与与与f f相同。相同。相同。相同。e e与与与与f f、g g可以互换,大小写相同。可以互换,大小写相同。可以互换,大小写相同。可以互换,大小写相同。 字字字字符符符符型型型型c c单个字符,单个字符,单个字符,单个字符,“ “%c%c%c” %c%c%c” 数据间无分隔符;数据间无分隔符;数

42、据间无分隔符;数据间无分隔符;“ “%c,%c,%c”%c,%c,%c”数据间用逗号分隔数据间用逗号分隔数据间用逗号分隔数据间用逗号分隔s s字符串,以非空格字符开始,以空格、回车结字符串,以非空格字符开始,以空格、回车结字符串,以非空格字符开始,以空格、回车结字符串,以非空格字符开始,以空格、回车结束。束。束。束。3.4 数据数据(shj)输入输入第39页/共50页第三十九页,共51页。 说明说明(shumng)(shumng):uu “ “格式控制格式控制”中若有其它字符,应一并输入中若有其它字符,应一并输入uu scanf(“a=%d,b=%d”,&a,&b) scanf(“a=%d,b

43、=%d”,&a,&b)uu 则应输入:则应输入:uu a=3,b=4 a=3,b=4uu输入数据时不能规定精度输入数据时不能规定精度(jn d)(jn d),但可指定所占列数:,但可指定所占列数:uu scanf(“%7.2f”,&a) scanf(“%7.2f”,&a) uu scanf(“%4d%3d”,&a,&b) scanf(“%4d%3d”,&a,&b)uu 若输入:若输入:12345678 12345678 则:则:a a1234 b 1234 b 567 5673.4 数据数据(shj)输入输入第40页/共50页第四十页,共51页。uu 对unsigned型变量所需的数据,可用%

44、u、%d或%o、%x格式输入。uu 如果在%后有一个*号,表示跳过它指定的列数:uu scanf(“%2d %*3d %2d”,&a,&b);uu 若输入:12 345 678uu 则:a 12 b67uu 其中(qzhng):%*3d表示读入三位整数,但不赋给任何变量。3.4 数据数据(shj)输入输入第41页/共50页第四十一页,共51页。uu 输入多个数据时,必须注意数据之间的分隔符:输入多个数据时,必须注意数据之间的分隔符:uu 数值型、字符串型数据间,用空格或回车键分隔;数值型、字符串型数据间,用空格或回车键分隔;uu 字符型数据间不加任何分隔符;字符型数据间不加任何分隔符;uu 若

45、数值型、字符串型、字符型数据混合输入,最好将字符型集中前置,数值型、字符串若数值型、字符串型、字符型数据混合输入,最好将字符型集中前置,数值型、字符串型集中后置。输入数据时,字符型之间仍不加任何分隔符,后面型集中后置。输入数据时,字符型之间仍不加任何分隔符,后面(hu mian)(hu mian)数据都用空格数据都用空格分隔。分隔。uu 为了醒目,可在为了醒目,可在scanfscanf函数前用函数前用printfprintf做输入提示。做输入提示。3.4 数据数据(shj)输入输入第42页/共50页第四十二页,共51页。 地址(dzh)列表 由若干个地址(dzh)组成。地址列表地址列表地址列表

46、地址列表施用对象施用对象施用对象施用对象用取地址符用取地址符用取地址符用取地址符& & & &用指针变量用指针变量用指针变量用指针变量用用户标示符用用户标示符用用户标示符用用户标示符普通变量、数组元素普通变量、数组元素普通变量、数组元素普通变量、数组元素普通变量的指针变量、数组元素的指针变量、普通变量的指针变量、数组元素的指针变量、普通变量的指针变量、数组元素的指针变量、普通变量的指针变量、数组元素的指针变量、字符指针变量、字符串指针变量字符指针变量、字符串指针变量字符指针变量、字符串指针变量字符指针变量、字符串指针变量字符数组名。如:字符数组名。如:字符数组名。如:字符数组名。如:char

47、c11;char c11;char c11;char c11; scanf(scanf(scanf(scanf(“%s%s%s%s”,c);,c);,c);,c);3.4 数据数据(shj)输入输入第43页/共50页第四十三页,共51页。2. 2. 举例举例(j l)(j l)例例3-5-2 3-5-2 对输入的十进制、八进制、十六进制对输入的十进制、八进制、十六进制(sh li jn zh)(sh li jn zh)数,都以十进制输数,都以十进制输出。出。#include#includemain()main() int a,b,c;int a,b,c; printf(a,b,c=);prin

48、tf(a,b,c=);scanf(%d%o%x,&a, &b, &c);scanf(%d%o%x,&a, &b, &c); printf(a=%dtb=%dtc=%dn, a, b, c);printf(a=%dtb=%dtc=%dn, a, b, c); getch();getch(); 3.4 数据数据(shj)输入输入第44页/共50页第四十四页,共51页。例例 3-6-2 3-6-2 格式控制格式控制(kngzh)(kngzh)中含有非格式字符时的输入方法。中含有非格式字符时的输入方法。#include#includemain()main() int a,b; int a,b; sca

49、nf(a=%d,b=%d, &a, &b); scanf(a=%d,b=%d, &a, &b); printf(%d %dn, a, b); printf(%d %dn, a, b); getch(); getch(); 运行程序必须输入运行程序必须输入( (假如给假如给 a a 123123、b b 456456为值为值) ): a=123,b=456 a=123,b=456 3.4 数据数据(shj)输入输入第45页/共50页第四十五页,共51页。例例3-7-1 3-7-1 多个多个(du )“%c”(du )“%c”格式连用,输入时无分隔符。格式连用,输入时无分隔符。#include#i

50、ncludemain()main() char a,b,c;char a,b,c;scanf(%c%c%c,&a,&b,&c);scanf(%c%c%c,&a,&b,&c);printf(a=%ctb=%ctc=%cn,a,b,c);printf(a=%ctb=%ctc=%cn,a,b,c);getch();getch(); 3.4 数据数据(shj)输入输入第46页/共50页第四十六页,共51页。3.4.4 顺序(shnx)结构程序设计一般步骤可包含头文件或宏定义可同时赋初值可用赋值语句、输入语句注意类型转换、取值范围考虑(kol)精度、类型定义变量包含变量赋初值处理输出3.4 数据数据(s

51、hj)输入输入第47页/共50页第四十七页,共51页。例393 输入三角形三边长,求面积。分析:用三边求面积公式 s=(a+b+c)/2 开方函数(hnsh):sqrt()在头文件“math.h”中,所以要用include; 程序如下:3.4 数据数据(shj)输入输入第48页/共50页第四十八页,共51页。#include#includemain()floata,b,c,s,area;printf(a,b,c=);scanf(%f%f%f,&a,&b,&c);s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(area=%6.2fn,area

52、);getch();3.4 数据数据(shj)输入输入第49页/共50页第四十九页,共51页。感谢您的观看(gunkn)!第50页/共50页第五十页,共51页。内容(nirng)总结二、本章内容、重点、难点。C程序:由一个或多个“*.C”文件组成。控制遵循的原则是:单入口、单出口。 应确保:输出列表个数=格式符个数,以免出错。l:表示长整型,如 :%ld。以小数形式输出单、双精度数,隐含6位小数。输出十进制有符号整数,与修饰符组合(zh)有6种形式:。整数部分全部输出,小数部分不一定全部有效。例3-3:输出实数时指定小数位。 输入数据时,分隔两个数值型数据可用:。s=(a+b+c)/2.0第五十一页,共51页。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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