第5章用屏幕和键盘交互——简单的输出和输入.ppt
《第5章用屏幕和键盘交互——简单的输出和输入.ppt》由会员分享,可在线阅读,更多相关《第5章用屏幕和键盘交互——简单的输出和输入.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 用屏幕和键盘交互简单的输出和输入 计算机主要功能就是获取输入,根据输入的数据,计算处理后,输出结果。类似的过程,人类也是一样的处理流程。计算机的输入,最常见的是通过键盘和鼠标,输出,最常见的是显示器。本章介绍如何显示字符和字符串到显示器屏幕,以及如何接受用户的键盘输入。5.1 输入处理输出:这就是程序 工厂的生产车间生产出来的产品是最终的输出。比如某药厂生产的保健药,号称是经历了80多道工序。这些工序,当然是从输入原材料开始,每道工序处理一件事情,最终出来包装精美的保健药品。第一道工序,清洗,输入的是刚刚采摘下来的药材,有不少的烂叶子、烂根,清洗工序处理这些东西,处理完毕后,输出来的是
2、干净的有用的药材。第二道工序,榨汁,输入的是干净有用的药材,榨汁工序处理时,添加纯净水,榨出药汁。接着说萃取工序,将药汁中的有用的部分萃取出来80多道工序就这样一一处理完毕,保健药就制作完毕。从进场时的原材料,到最终出产的保健药,就是一个“输入处理输出”的过程。深入到药厂中的处理部分,80多道工序,每个工序也是一个“输入处理输出”的过程。没有输入,就没有处理的素材,也就没有输出。5.2 向屏幕输出printf函数详解 printf函数已经接触过,功能是在电脑屏幕上按照指定的格式显示数据。printf其中的f代表单词format,就是格式化的意思。所谓格式化,是该函数预先给程序员定义了一批显示格
3、式,如对齐、显示宽度、按什么类型显示等,程序员可以选择其中的某些格式,遵守这些格式,printf函数就可以按照指定的格式来显示数据了。注意:printf函数只能在控制台程序中使用,在Windows系统中,有窗口界面的程序无法通过printf函数在窗口中显示数据。5.2.1 printf函数的一般形式 printf函数是一个标准的C语言库函数,它的函数原型在头文件“stdio.h”中。printf函数的一般格式是:printf(“格式控制字符串”,输出列表);(1)格式控制字符串(2)输出列表 格式控制字符串后跟着的就是输出列表,注意输出列表和格式控制字符串之间的逗号。输出列表可以有多个数据,用
4、逗号“,”分隔。5.2.2 格式字符串一般形式 格式字符串的一般形式为:%标志输出最小宽度.精度长度转换说明符 其中方括号中的项为可选项,即可根据需要加上,也可以不加。转换说明符用以表示输出数据的类型,其格式符和意义如所示:5.2.3%d十进制形式输出带符号整数 用得最多的格式符。以十进制形式输出带符号整数,正数不输出符号。printf(“%d”,10);输出结果为:10 printf(“%d”,0 x10);输出结果为:16 因为0 x10是十六进制,转换成十进制就是16了。printf(“%d”,0 xffffffff);输出结果为:-15.2.4%最小宽度d格式符 在d前,可以添加数字,
5、表示输出最小宽度。比如%4d,表示显示一个整数,最小占用4个字符的宽度,如果这个数只有3位,则在前面用空格填充。如果这个数的位数大于4,则按实际位数输出。如:Int x=-1,y=100001;Printf(“%4d,%4d”,x,y);输出结果:-1,100001 Int x=-100000,y=20000,z=30000;Printf(“%4d,%4d,%4d”,x,y,z);结果:-100000,20000,30000;5.2.5%ld格式符以长整型方式输出 以长整型方式输出。如果后面的数据是一个长整型,而格式符是%d,则格式符和数据的类型不匹配,会丢失数据。当然一般在现在的计算机上,i
6、nt和long数据长度一样,所以出错的可能性比较低。但是记住,对long型数据,需要使用%ld,这样无论在什么机器上编译运行都不会错。一个位数小于long的整型数据,都可以用ld的形式输出。同样地,也可以对长整型输出格式指定最新宽度。如%10ld。long x=0 x10001;int y=-200;printf(“%8ld,%10ld”,x,y);输出为:65537,-200 需要注意的是,%d系列的格式符要求后面的数据都必须是整型数据。如果数据为实型数据,则显示错误的值。如:long x=0 x10001;float y=-200;printf(%8ld,%10ld,x,y);输出结果:6
7、5537,05.2.6%o格式符以八进制形式输出整数 O是octal(八进制的)的第一个字母。%o是以八进制形式输出整数。注意因为是将内存单元中的数值按八进制的形式输出,所以不区分符号位,也就是将符号位也当作八进制数的一部分。可以看作是将内存中保存的二进制数据按八进制的形式转换后打印出来。例如-1在内存中以补码形式存放,二进制为1111 1111 1111 1111 1111 1111 1111 1111。虽然最高为1,表示负号,但是转换成八进制表示,就是37777777777。如果用4个字节来存储整数,可以说-1就是等于0 xffffffff。因为它们在内存中的形式一模一样。int x=-1
8、;printf(“n%d,%o”,x,x);输出结果-1,377777777775.2.7%x格式符以十六进制的形式输出整数%x格式符是以十六进制的形式输出整数。同八进制一样也不会显示负号,只是将内存中的二进制数据转换成十六进制显示出来。一般经常用十六进制查看内存中的数据。至于得到数据后如何解释,则根据情况不同有不同的解释了。如:int x=-1;printf(“%d,%o,%x”,x,x,x);输出结果:-1,37777777777,ffffffff 通过显示出来的结果,可以看出-1在内存中的表示用十六进制表示就是ffffffff。对于无符号型整数,也可以用%x和%o输出。同样地,也是将内存
9、中二进制数据转换成十六进制后输出来。如:unsigned int x=0 xffffffff;printf(%x,%d,x,x);输出结果:ffffffff,-15.2.8%u格式符以十进制形式输出unsigned型数据%u格式符以十进制形式输出unsigned型数据,即无符号数。在输出的时候,printf函数把数据当作无符号型数据,而不管这个变量当初声明的时候是什么类型。也就是先取变量的值,从内存中把数据的二进制数据取出来,然后将数据按照unsigned形式显示出来。一个有符号整数如int型,也可以用%u的格式输出。如:int x=-1;printf(%u,x);输出结果:429496729
10、5 变量x在内存中的值是0 xffffffff。%u格式控制符表示,忽视这个数据的具体类型,按照指定的无符号格式解释,0 xffffffff用十进制表示,就是4294967295。unsigned型数据也可以用%x和%o格式输出。如:unsigned int x=-1;printf(%x,%d,x,x);输出结果:ffffffff,-15.2.9%c格式符%c格式符用来输出一个字符。如:char c=c;printf(“%c”,c);输出结果:c 这里出现了好几个c,请读者注意分辨:char c=c;第一个c,是变量名,表示这个变量的名字是c。c,是一个字符常量,在内存中用ASCII码99表示
11、。这一行是声明了一个变量c,并且给该变量赋初值为c。变量c中内存中的数值是99,因为存储的是c的ASCII码。printf(“%c”,c);第一个c,是和%一起,%c,表示的是一个格式控制字符,意思是把后面的数据用字符的形式显示出来。逗号后的那个c,是一个字符变量。因为这个变量中内存中存储的是c的ASCII码。所以按照%c的方式打印,则打印出99对应的字符为c,结果就打印出来c。printf(“%c”,99);结果:c5.2.10%s格式符输出字符串%s格式符用来输出字符串。后面的输出列表中的数据必须是字符串。用%s格式输出字符串,可以在%和s之间,添加其他的一些辅助格式,如最小宽度,对齐方式
12、等。(1)%s格式,最简单的情况,如:printf(“%s”,”hello world”);输出结果:hello world(2)%ms 同样地,也可以指定字符串占用的最小宽度,通过%ms的方式,其中的m是一个整数,指明这个字符串的最小宽度。如果字符串本身的宽度不足指定的最小宽度,则前面用空格补齐。如hello world只占用11个字符宽度,但是如果指定宽度为20,则会补在前面9个空格:printf(“%20s”,”hello world”);输出结果:hello world(3)%-ms格式%-ms中的m,也是指定最小宽度,是一个整数;“-”表示是左对齐,就是如果字符串长度比指定的最小宽度
13、还小,则在右边补空格,不像%ms那样子左边补空格。(4)%m.ns%m.ns中的m,还是指定最小宽度,而n,是指显示的时候,只显示字符串中前n个字符。如hello world前3个字符是hel,前7个字符是hello w。如:printf(“%20.7s”,”how are you?”);显示结果 how are(5)%-m.ns%-m.ns中的“-”,同样是指左对齐,如果显示的字符串宽度小于指定的最小宽度,则在右边补空格。如:printf(“%-20.70s|-”,”how are you?”);输出结果:how are you?|-5.2.11%f格式符输出实型数据%f格式符,用来输出实型
14、数据,包括单精度和双精度数据。以小数形式输出。(1)%f%f没有指定整数和小数的位数,由系统自动指定,整数部分全部如数输出,但只输出6位的小数。注意,即使实际的数据没有6位小数,输出的时候也会有6位,如:float x=21111111.11;float y=32221111.22;printf(%f,x+y);输出结果:53332224.000000(2)%m.nf%m.nf中的m指示整个实数,包括整数、小数点和小数共只能占用m个字符的宽度。如果实际占用的宽度小于m,则在左边补空格。n是指定实数输出来时,只输出n位小数。如:double x=111.11;double y=222.22;pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 用屏幕和键盘交互简单的输出和输入 屏幕 键盘 交互 简单 输出 输入
限制150内