C语言习题集与实验指导 教学课件 ppt 作者 伍鹏、杜红、王圆妹、邓绍金 第3章 顺序结构程序设计

上传人:E**** 文档编号:89347934 上传时间:2019-05-23 格式:PPT 页数:37 大小:594.50KB
返回 下载 相关 举报
C语言习题集与实验指导 教学课件 ppt 作者 伍鹏、杜红、王圆妹、邓绍金 第3章  顺序结构程序设计_第1页
第1页 / 共37页
C语言习题集与实验指导 教学课件 ppt 作者 伍鹏、杜红、王圆妹、邓绍金 第3章  顺序结构程序设计_第2页
第2页 / 共37页
C语言习题集与实验指导 教学课件 ppt 作者 伍鹏、杜红、王圆妹、邓绍金 第3章  顺序结构程序设计_第3页
第3页 / 共37页
C语言习题集与实验指导 教学课件 ppt 作者 伍鹏、杜红、王圆妹、邓绍金 第3章  顺序结构程序设计_第4页
第4页 / 共37页
C语言习题集与实验指导 教学课件 ppt 作者 伍鹏、杜红、王圆妹、邓绍金 第3章  顺序结构程序设计_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《C语言习题集与实验指导 教学课件 ppt 作者 伍鹏、杜红、王圆妹、邓绍金 第3章 顺序结构程序设计》由会员分享,可在线阅读,更多相关《C语言习题集与实验指导 教学课件 ppt 作者 伍鹏、杜红、王圆妹、邓绍金 第3章 顺序结构程序设计(37页珍藏版)》请在金锄头文库上搜索。

1、3.1 数据的输入和输出 3.2 顺序结构程序设计 3.3 小结,第3章 顺序结构程序设计,第3章 顺序结构程序设计,程序的三种结构,顺序结构 选择结构 循环结构,当你对C语言程序设计有了一定了解和掌握后,在处理一些简单的任务时,若想根据程序书写的过程顺序执行程序,这时应该如何处理呢?,本章所介绍的,了解C语言中顺序结构设计的特点; 掌握格式输入函数scanf( )函数 掌握格式输出函数printf( )函数 掌握字符输入函数getchar( )函数 掌握字符输出函数putchar( )函数 掌握顺序结构程序设计 学会分析简单的问题进行顺序结构设计。,学习目标,3.1 数据的输入和输出,3.1

2、.1 格式输出函数printf( ),调用格式:printf (“格式控制串”,输出列表); 功能:在标准输出设备上,按指定格式对应输出各输出项。 参数:格式控制串中可包含格式说明、普通字符、控制字符; 输出列表由各输出项组成,各输出项之间用逗号“,” 分隔。,5,格式控制符串的说明: (1)格式字符对输出项进行格式控制 % 格式字符 l 用于长整型 d、o、x、u、f、e、g、c、s m .n 左对齐,正整数,指明输出所占用的宽度 小数的位数,格式字符与输出项要 “三一致”: 数目相等、顺序对应、类型一致,(2)普通字符原样输出,往往对输出项进行注解和说明 (3)转义字符如:n,t,ddd,

3、等,对输出进行格式控制或特定字符的输出,d格式符:适用于整型的常量、变量、表达式、函数。 %d:按照十进制整型数据的实际长度输出,正数的“+”号 不输出。 例如:int m=56; printf(“%d“,m); 运行结果:56 说明:“%d”按照十进制整型数据的实际长度输出。,一、整型数据的输出(d格式符 ),%md:m为输出数据的宽度。 若输出项的实际位数小于m值,则以右对齐,不够的位数以左补空格凑齐; 若输出项的实际位数大于m,则按照数据的实际位数输出。 例如:int a=321,b=54321; printf(“%5d,%4d“,a,b); 运行结果:321,54321,注意:表示一个

4、空格位,题意要求输出项a占5个字符宽度,实际只需占3个字符宽度,故左补空格;要求输出项b占4个字符宽度,而实际需要占5个字符宽度,故按照实际的位数输出。,%ld:输出长整型数据 例如:long a=245635; printf(“a=%ld“,a);,运行结果: a=245635,注意:此例中不能使用%d输出,因为在Visual C+的编译环境下,长整型数据的范围是-231(231-1),短整型数据范围是-215(215-1)。所以超出短整型范围的整数要选用%ld格式进行输出。,#include int main() int b=-1; printf(“%d,%o“,b,b); return

5、0; ,数据在内存中是以二进制补码形式存放,二、o格式符,o格式符:表示数据以八进制的形式输出,数值不带符号,即将符号位也作为八进制的一部分输出。,【例3.1】将一个整数分别以十进制、八进制格式输出。,运行结果: -1,37777777777,#include int main() int b=-1; printf(“%d,%o,%xn“,b,b,b); return 0; ,运行结果: -1,37777777777,ffffffff,三、x格式符,x格式符:数据以十六进制的形式输出,数值不带符号,即将符号位也作为十六进制的一部分输出。,【例3.2】将一个整数分别以十进制、八进制、十六进制的格

6、式输出。,四、u格式符 “%u”格式:表示以无符号十进制形式输出,【例3.3】将整数分别以十进制、八进制、十六进制、无符号整数的格式输出,#include int main() unsigned int a=65535; int b=-1; printf(“a=%d,(0)%o,(0x)%x,%un“, a,a,a,a); printf(“b=%d,(0)%o,(0x)%x,%un“, b,b,b,b); return 0; ,a=65535,(0)177777,(0x)ffff,65535 b=-1, (0)37777777777,(0x)ffffffff,4294967295,运行结果:,

7、二、实型数据的输出,%f格式符用来输出实数(单精度、双精度),以小数形式输出。,%f: 表示输出的实数,是以小数的形式输出。虽没指定输出数据位数的宽度。由于系统自动约定,整数部分全部输出,并输出6位小数。,%m.nf: 指定输出的数据共占的位数为m,其中有n位小数,如果数值的位数小于m,则左端补空格。,%lf:表示输出双精度实数。,【例3.4】 输出实数的有效位数。,#include int main() float y=564123.41111; printf(“y=%fn“,y); return 0; ,运行结果:y=564123.437500,注意:输出的数字并非全部都是有效数字,一般来

8、说单精度实数的有效位数为7,而双精度实数的有效位为16位,给出小数都是6位。,【例3.6】根据不同的要求输出相应的实数,#include int main() int a=5432; float b=173.426; printf(“%8d,%2dn“,a,a); printf(“%f,%8f,%8.2f,%.2f,%-8.2fn“,b,b,b,b,b); return 0; ,运行结果: 5432,5432 173.425995,173.425995,173.43,173.43,173.43 ,(2) e格式符 e格式符:表示以指数形式输出实数。,%e,不指定输出数据所占的宽度和数字部分的小

9、数位数,在vc+编译环境中系统自动指定给出数字部分的小数位数为6位,指数部分占5位(e+003),其中“e”占1位,指数符号占1位,指数占3位,输出的实数共占13列宽度。,%m.ne和%-m.ne,其中m、n和“-”字符的意义和前相同,这里n表示输出数据小数点后的小数位数。,%g:用来输出实数,根据数值的太小,自动选f格式或e格式(选择输出数据所占列宽较小的一种,且不输出无意义的零)。,【例3.7】将一实数以指数的形式输出。,#include int main() float a=3211.123; printf(“%en“,a); return 0; ,运行结果: 3.211123 3 8列

10、 5列,所输出的实数共占列宽度,【例3.8】将一实数以指数的形式输出。,#include int main() float f=173.426; printf(“%e,%10e,%10.2e,%.2e,%-10.2en“,f,f,f,f,f); return 0; ,运行结果:1.734260e+002,1.734260e+002,1.73e+002,1.73e+002,1.73e+002,【例3.9】将一实数以指数或g形式输出。,#include int main() float a=173.426; printf(“%f,%e,%g,n“,a,a,a); return 0; ,运行结果:1

11、73.425995,1.734260e+002,173.426,三、字符型数据的输出,%c格式 %c格式:表示输出的是一个字符型数据,在输出的同时可以指定输出数据所占的列宽及对齐方式。,【例3.10】将一字符以字符形式输出。,#include int main() char ch=B; printf(“ch=%c,%-6c,%4cn“,ch,ch,ch); return 0; ,运行结果:ch=B,B,B,注意:%c表示按照实际形式输出字符变量ch的值;%-6c表示输出要有6列宽,对齐方式是左对齐,不够列宽右补空格位;%4c表输出要有4列宽,对齐方式是右对齐,不够列宽左补空格位。,字符型数据也

12、可以用%d来输出char型常量或变量的值,输出的结果为其所对应的ASCII码值。,【例3.11】输出一字符对应的ASCII码值。,#include int main() char ch=B; printf(“%c,(ASCII)%dn“,ch,ch); printf(“%cn“,69); return 0; ,运行结果: B,(ASCII)66 E,(2) %s格式,%s:表示输出的是字符串,在输出的同时可以指定输出数据所占的列宽及对齐方式。在实际操作过程中,要想比较方便地控制输出格式,或者为了输出字符数组中字符串内容时,最好采用格式控制“%s”。,例:printf(“%s,%-10s,%12

13、sn“,“wuhan“,“china“,“yangtz“);,运行结果: wuhan,china, yangtz,在使用printf函数时,还应该注意:,(1)一般格式说明与输出项之间应该遵循三一致原则:“数目相等、顺 序对应、类型一致”,若出现不匹配,容易导致输出结果出错。,(2)若格式说明少于输出项,系统对多余的输出项不予以输出,但若格式说明多余输出项时,会导致无意义的输出。,(3)注意根据出现的位置,正确区分格式控制中的普通字符与格式字符, 每个%号后面出现的第一个d、o、x、u、f、e、g、c、s字符为格式字符, 其他的为普通字符。,(4)如果要输出字符%,则应该在格式控制字符串中用连

14、续的两个%表示,(5)格式符x、e、g可以采用大写X、E、G,则对应的数据中若有英文字 母的就以大写的形式输出。,3.1.2 格式输入函数scanf( ),(1)调用格式: scanf(“格式控制符串”,地址列表);,同printf函数,是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址,功能: 按用户指定的格式从标准输入设备(键盘) 读取输入的信息。,【例3.12】scanf函数的应用。,#include int main() int a,b; printf(“input a b:n“); scanf(“%d%d“, ,若要使a的值为1,b的值为3,可通过以下几种输入方式进行输入:

15、 (1)1 3 /两个数间以空格键作为分隔符 (2)1 /两个数间以回车键作为分隔符 3 (3)13 /两个数间以Tab键作为分隔符(一个Tab键占8列),a在内存中的地址 &是地址运算符,其中有方括号 的项为可选项。各项的意义说明如下: (1)类型:表示输入数据的类型,其格式符和意义如书上表3.3所示 (2)抑制字符“*”:表示虽输入该项,但读入后不赋予任何的变量,即跳过该输入值。 (3)宽度:用十进制整数指定输入的宽度(数据数据所占的列宽) (4)长度:长度格式符为l和h,l表示输入长整型数据(如%ld)、和双精度浮点数(如%lf)。h表示输入短整型数据。,(2)格式控制,格式控制的一般形式为: %*输入数据宽度长度类型,使用scanf函数还必须注意以下几点:,(1)scanf函数中没有精度控制,如:scanf(“%5.2f“, 指定了输入数据的列宽,且输入数据的格式是正确的,通过给定的列宽决定输入数据是否; 在碰到数据的非法字符时刻认为该数据结束。,三、字符输入、输出函数getchar( )和putchar( ),(1) putchar函数 格式: putchar( ch ); 功能:该函数是在屏幕上输出一个字符,参数可以是char型变量、常量或表达式,或0255之间的整型数据。,(2)get

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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