chapter03 输入输出与简单程序设计_第1页
chapter03 输入输出与简单程序设计_第2页
chapter03 输入输出与简单程序设计_第3页
chapter03 输入输出与简单程序设计_第4页
chapter03 输入输出与简单程序设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、输入输出与简单程序输入输出与简单程序设计设计2概述概述C C程序结构框图程序结构框图3C C语句的种类语句的种类 共四类:共四类:n控制语句:控制语句:流程控制流程控制: :条件条件、循环循环辅助控制辅助控制: :break、continue、goto、return、switchn空语句:仅一个空语句:仅一个“;”构成。构成。n表达式语句:一个表达式后跟一个表达式语句:一个表达式后跟一个“;”构成。构成。n复合语句:用复合语句:用“ ”“ ”括起来的一些语句。括起来的一些语句。4空语句空语句n一般形式:一般形式:;n含义:什么也不做。含义:什么也不做。n说明:凡是在说明:凡是在C C程序中出现

2、语句的程序中出现语句的地方都可以用一个分号来代替一地方都可以用一个分号来代替一条语句。条语句。n作用:作用:转折点。转折点。循环语句中的空循环体。循环语句中的空循环体。5表达式语句表达式语句n一般形式:一般形式:表达式;表达式;n说明:说明:“表达式表达式”可以是任可以是任何表达式,如常量、何表达式,如常量、变量、函数调用等。变量、函数调用等。举例:举例:%i i;%a a6 6;%b ba%2a%2;%printf(printf(“HelloHello”););6复合语句复合语句n一般形式:一般形式: 语句语句1 1;语句;语句2 2;语句;语句n n; n说明:说明:复合语句在功能上相当于

3、一条语句。复合语句在功能上相当于一条语句。最后一个分号的位置不在花括号外。最后一个分号的位置不在花括号外。复合语句多出现在函数及流程控制语句中。复合语句多出现在函数及流程控制语句中。7数据的输入、输出数据的输入、输出nC C程序中的输入输出通过函数调用完成。程序中的输入输出通过函数调用完成。n数据输出库函数数据输出库函数字符输出函数字符输出函数putcharputchar()()字符串输出函数字符串输出函数puts()puts()格式输出函数格式输出函数printfprintf()()n数据输入库函数数据输入库函数字符输入函数字符输入函数getchargetchar()()字符串输入函数字符串

4、输入函数gets()gets()格式输入函数格式输入函数scanfscanf()()8字符输出函数字符输出函数putcharputcharn一般形式:putchar(c);n功能:输出变量c所代表的一个字符。n说明:c为字符型变量或整型变量。使用时必须在程序开始处注明:#include 9putchar使用使用#include void main()char a,b,c;a=O; b=K; c=n;putchar(a);putchar(b);putchar(c);OKOK10字符输入函数字符输入函数getchargetchar&一般形式:一般形式:getchargetchar()()&

5、amp;功能:要求用户从终端(键盘)输入单个字符。功能:要求用户从终端(键盘)输入单个字符。&返回值:从输入设备上得到的字符。返回值:从输入设备上得到的字符。&说明:说明:*该函数为无参函数。该函数为无参函数。*使用该函数,必须在程序开头用预编译命令使用该函数,必须在程序开头用预编译命令: :# #include include 11getchar函数使用函数使用输入一个字符并输出输入一个字符并输出:#include void main()char c;printf (Input a letter:n);c = getchar();putchar (c);12输入一个大写字母,

6、转换成小写字母输出:输入一个大写字母,转换成小写字母输出:#include void main()char c;printf (Input an uppercase letter:n);c = getchar();putchar (c+32);13格式输出函数格式输出函数printfprintfn一般形式:一般形式:printf(printf(格式控制,输出表格式控制,输出表););n功能:按照指定格式输出指定数据。功能:按照指定格式输出指定数据。n举例:举例: printf(“Answer: %dn”,112%3);“格式控制格式控制”是双引号括起是双引号括起来的格式控制来的格式控制转换字符

7、串转换字符串“输出表输出表”中的数中的数据,要与据,要与“格式控格式控制制”中的格式字符中的格式字符一一对应一一对应14格式控制的组成:格式控制的组成:n格式说明。格式说明。由由“”后跟格式字符组成。后跟格式字符组成。作用是将输出数据转换为指定格式输出。作用是将输出数据转换为指定格式输出。n字符串。字符串。原样输出。原样输出。n转义字符。转义字符。对输出形式进行控制对输出形式进行控制。printf(“Answer: %d n”, 112%3);15#include void main() int a, b, c; a = 4; b = 5; c = a * b; printf (a*b = %

8、dn, c);16格式说明符简介格式说明符简介%d, %i以带符号的十进制形式输出整数以带符号的十进制形式输出整数%o以无符号的八进制形式输出整数以无符号的八进制形式输出整数%x, %X以无符号的十六进制形式输出整数以无符号的十六进制形式输出整数%u以无符号的十进制形式输出整数以无符号的十进制形式输出整数%c以字符形式输出单个字符以字符形式输出单个字符%s输出字符串输出字符串%f以小数点形式输出单、双精度实数以小数点形式输出单、双精度实数%e, %E以标准指数形式输出单、双精度实数以标准指数形式输出单、双精度实数%g, %G选用输出宽度较小的格式输出实数选用输出宽度较小的格式输出实数17附加格

9、式说明符附加格式说明符h h 输出短整型,可加在输出短整型,可加在d d、o o、x x、u u前面;前面;l l 输出长整型,可加在输出长整型,可加在d d、o o、x x、u u前面;前面;L L long double long double;m m 数据最小宽度,称为域宽;数据最小宽度,称为域宽;n n 对实数,输出对实数,输出n n位小数;对字符串,截取位小数;对字符串,截取n n个字符;个字符;0 0 左边补左边补0 0;+ + 输出正负符号(有符号数);输出正负符号(有符号数);- - 数据左对齐;数据左对齐;格式转换说明的一般形式格式转换说明的一般形式%+/-0m.nh/l/L

10、格式说明符格式说明符18d d 格式符格式符n功能功能以带符号的十进制形式输出整数。以带符号的十进制形式输出整数。n具体用法具体用法d d:按照整型数据的实际长度输出。按照整型数据的实际长度输出。mdmd:以以m m指定的字段宽度输出,右对齐。指定的字段宽度输出,右对齐。ldld:输出长整型数据。输出长整型数据。mldmld:输出指定宽度的长整型数据。输出指定宽度的长整型数据。hdhd:输出短整型数据。输出短整型数据。mhdmhd:输出指定宽度的短整型数据。输出指定宽度的短整型数据。n程序范例程序范例19执行下面程序,注意输出格式:执行下面程序,注意输出格式:#include void mai

11、n( )int a=12,b=-3456;long int c=123456;printf (%5dn,a);printf (%dn,b);printf (%ldn,c);printf (%hdn,c);运行结果:运行结果: 12-3456123456-761620 o o 格式符格式符 和和 x x 格式符格式符n功能:将内存单元中的二进制数将内存单元中的二进制数补码补码直接转换成八直接转换成八进制数或十六进制数输出,不带符号位。进制数或十六进制数输出,不带符号位。n说明:同“d”类似,可以用“mo”或“mx”指定字段输出宽度。对长整型数可以用“lo”或“lx”格式输出。21机器数(带符号)

12、的表示机器数(带符号)的表示n正数:正数:原码、反码及补码一样,即:符号位绝对值原码、反码及补码一样,即:符号位绝对值n负数:负数:原码:符号位绝对值原码:符号位绝对值反码:符号位对原码取反反码:符号位对原码取反补码:符号位:对原码取反补码:符号位:对原码取反1 1n举例:设有举例:设有 intint a=1,b=-1; a=1,b=-1;a a的表示:的表示:0000 0000 0000 00010000 0000 0000 0001(原、反、补)(原、反、补)b b的表示:的表示:1000 0000 0000 00011000 0000 0000 0001(原码)(原码)1111 1111

13、 1111 11101111 1111 1111 1110(反码)(反码)1111 1111 1111 11111111 1111 1111 1111(补码)(补码)22#include void main()int a=1,b=-1;printf(a:%8d,%8ho,%8hxn,a,a,a);printf(b:%8d,%8ho,%8hxn,b,b,b);运行结果:a: 1, 1, 1b: -1, 177777, ffff23u u 格式符格式符n功能:以无符号的十进制形式输出整数。功能:以无符号的十进制形式输出整数。n说明:说明:有符号数可用有符号数可用“u”u”格式输出;格式输出;无符号

14、数可用无符号数可用“d”d”、“o”o”、“x x”格式格式输出。输出。n举例:举例:intint i = -1; i = -1;printf(printf(“%d,%u%d,%u”, i, i);, i, i);输出结果:输出结果:-1,429496729524c c 格式符格式符n功能:功能:输出单个输出单个ASCIIASCII码码字符。可用字符。可用%mc%mc指指定输出宽度。定输出宽度。n说明:说明:c c格式也可用于输格式也可用于输出一个范围在出一个范围在0 0255255之间的整数,之间的整数,其值必然对应某个其值必然对应某个ASCIIASCII字符。字符。#include voi

15、d main()char c=M;int i;i=c+32;printf(%c,%dn,c,c);printf(%c,%dn,i,i);M,77m,10925s s 格式符格式符n分类:分类:Fs s:直接输出指定字符串。直接输出指定字符串。Fmsms:输出字符串占输出字符串占m m列,右对齐。列,右对齐。F- -msms:输出字符串占输出字符串占m m列,左对齐。列,左对齐。Fm.nsm.ns:输出字符串前输出字符串前n n个字符,占个字符,占m m列,右对齐。列,右对齐。F- -m.nsm.ns:输出字符串前输出字符串前n n个字符,占个字符,占m m列,左对齐。列,左对齐。n程序范例程序

16、范例26s格式符使用。格式符使用。#include void main()printf(%3s,%7.2s,%.4s,%-5.3s.n,China,China,China,China);运行结果运行结果China, Ch,Chin,Chi .27f 格式符n功能:以小数点形式输出单、双精度实数。功能:以小数点形式输出单、双精度实数。n分类:分类:f f:数据的整数部分全部输出,小数部分输出数据的整数部分全部输出,小数部分输出6 6位。位。m.nfm.nf:输出数据共占输出数据共占m m列,小数占列,小数占n n位,右对齐。位,右对齐。- -m.nfm.nf:输出数据共占输出数据共占m m列,小

17、数占列,小数占n n位,左对齐。位,左对齐。n注意:单精度实数的有效位数一般为注意:单精度实数的有效位数一般为7 7位;双精度位;双精度实数的有效位数为实数的有效位数为1616位。位。n程序范例程序范例28f 格式符使用。格式符使用。#include void main()float x, y;x = 111111.111;y = 222222.222;printf (%fn, x+y);运行结果:运行结果:333333.32812529e 格式符n功能:以指数形式输出单、双精度实数。功能:以指数形式输出单、双精度实数。n“e e”输出数据共占输出数据共占1313位:位:例: printf(“

18、%e”,12.3);12.3 1.23101 1.230000e+001整数整数1 1指数指数3 3小数点小数点1 1指数符号指数符号1 1小数小数6 6e e1 130g g 格式符格式符n功能:根据数值自动选择功能:根据数值自动选择f f格式或格式或e e格式中宽度较格式中宽度较小的一种输出实数。小的一种输出实数。n举例:举例:float x=12.345;printf(%f,%e,%g,x,x,x);结果:结果:12.345000,1.23450e+001,12.34531printfprintf函数说明:函数说明:n除除X X、E E、G G、L L外,格式字符要用小写字母。外,格式字

19、符要用小写字母。n如若输出字符如若输出字符“”,在,在“格式控制格式控制”中用连续中用连续两个两个“”即可。即可。n当输出列表中的输出项个数多于当输出列表中的输出项个数多于“格式说明符格式说明符”个数时,多余的输出项不予输出。个数时,多余的输出项不予输出。n当输出列表中的输出项个数少于当输出列表中的输出项个数少于“格式说明符格式说明符”个数时,输出结果为意外值。个数时,输出结果为意外值。32格式输入函数格式输入函数scanfscanfn一般形式:一般形式:scanfscanf(格式控制,地址表);格式控制,地址表);n功能:要求用户从键盘上输入指定类型的任意多功能:要求用户从键盘上输入指定类型

20、的任意多数据。数据。n说明:说明:“格式控制格式控制” 部分同部分同printfprintf函数。函数。“地址表地址表”由由地址地址组成,表明每个输入项应在组成,表明每个输入项应在存储单元的首地址,如存储单元的首地址,如& &a a。执行输入操作时,用户应使用执行输入操作时,用户应使用空格或回车等相空格或回车等相应分隔符应分隔符间隔不同数据。间隔不同数据。33格式说明符简介格式说明符简介%d, %i十进制整数十进制整数%u十进制整数十进制整数%o八进制整数八进制整数%x,X十六进制整数,作用相同十六进制整数,作用相同%c字符字符%s字符串字符串%f、%e,E、%g,G实数,作用

21、相同实数,作用相同34附加格式说明符h h 短整型,可加在短整型,可加在d d、o o、x x前面;前面;l l 长整型,可加在长整型,可加在d d、o o、x x前面;双精度,可前面;双精度,可加在加在f f前面;前面;L L long double long double;m m 数据最小宽度;数据最小宽度;* * 本输入项在读入后不赋给相应的变量;本输入项在读入后不赋给相应的变量;35scanf函数使用函数使用整数整数#include void main()int a,b;scanf(%d%d,&a,&b);printf(%dn,a*b);运行情况:运行情况:23 45

22、1035 如果引号部分变如果引号部分变为为“d ,d ,d d”,在输入数据时也必在输入数据时也必须写成须写成“23“23,45”45”36int a, b;scanf (%2d%5d, &a, &b);输入:输入:12345678结果:结果:a = 12;b = 34567;37int a, b;scanf (%d%*d%d, &a, &b);输入:输入:12 34 56结果:结果:a = 12;b = 56;38scanf函数使用函数使用字符与字符串字符与字符串char a, b, c;scanf (%c%c%c, &a, &b, &

23、c);输入:输入:h e结果:结果:a = h;b = ;c = e;39char a10, b10, c10, d10, e10, f10;scanf (%s%s, a, b);scanf (%3s%3s, c, d);scanf (%3c%3c, e, f);输入:输入:hello worldhello worldhello world结果:结果:a = hello;b = world;c = hel;d = lo;e = hel?;f = lo ?;40scanf函数使用函数使用实数实数float a, b;double c;scanf (%f%f%lf, &a, &b, &c);输入:输入:12

温馨提示

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

评论

0/150

提交评论