简单程序设计B_第1页
简单程序设计B_第2页
简单程序设计B_第3页
简单程序设计B_第4页
简单程序设计B_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

2024/7/231第3章简单程序设计基本输入输出函数程序设计举例2024/7/232基本输入/输出函数C语言系统中,没有专门的输入、输出命令,~通过函数实现。这些函数由系统预先定义,并放在一个文件中,此文件被称为“头文件”。使用相关函数时,通常需要在程序开头用预处理命令#include打开相应的头文件。C语言的标准输入输出函数有4个:printf()scanf()putchar()getchar()与标准输入输出有关的是stdio.h2024/7/233数据输出主要内容:字符输出函数格式输出函数2024/7/2341字符输出函数函数调用的一般形式

putchar(ch)功能:在标准输出设备(即显示器屏幕)上输出一个字符。例如:putchar('b');putchar('\n');putchar('\101');putchar(st);2024/7/235说明putchar是C语言的标准库函数,使用时必须加编译预处理命令:#include"stdio.h"

#include<stdio.h>【例1】利用putchar函数输出字符。#include"stdio.h"

main(){charc1,c2;c1='a';c2='b';putchar(c1);putchar(c2);putchar('\n');putchar(c1-32);putchar(c2-32);putchar('\n');}也可改为c1=97;c2=98;

输出结果:abAB2024/7/2362格式输出函数函数调用的一般形式printf(格式控制,参数2,…,参数n)

功能:按格式控制所指定的格式,在标准输出设备上输出参数2、…、参数n的值。例如有程序段:inta=123,b=100;printf("%d%d%d\n",a,b,a+b);printf("c=%d+%d=%d\n",a,b,a+b);2024/7/237格式控制用双引号括起的字符串,用于指定输出数据的类型、格式、个数包括:普通字符和格式说明符照原样输出

printf("c=%d+%d=%d\n",a,b,a+b);格式说明符:指定输出3个十进制整型数,分别为变量a、b、a+b的值2024/7/238输出格式说明符整型数据

%d以有符号十进制形式输出整型数%o以无符号八进制形式输出整型数%x以无符号十六进制形式输出整型数%u以无符号十进制形式输出整型数实型数据

%f以小数形式输出实型数%e以指数形式输出实型数%g按数值宽度最小的形式输出实型数字符型数据

%c输出一个字符%s输出字符串其他

%%输出字符%本身在%和格式符之间可以使用附加说明符2024/7/239附加格式说明符l输出长整型数(只可与d、o、x、u结合用)m指定数据输出的宽度(即域宽).n对实型数据,指定输出n位小数;对字符串,指定左端截取n个字符输出+使输出的数值数据无论正负都带符号输出-使数据在输出域内按左对齐方式输出整数位数+小数位数+小数点自动对n位后小数四舍五入

例如:%ld——输出十进制长整型数%m.nf——右对齐,m位域宽,n位小数或n个字符%-m.nf——左对齐2024/7/2310例2整型数据的输出main(){inta=11,b=22;intm=-1;longn=123456789;printf("%d%d\n",a,b);printf("a=%d,b=%d\n",a,b);printf("m:%d,%o,%x,%u\n",m,m,m,m);printf("n=%d\n",n);printf("n=%ld\n",n);}程序输出:1122a=11,b=22m:-1,177777,ffff,65535n=-13035n=1234567892024/7/2311例3实型数据的输出main(){floatx=1234.56,y=1.23456789;doublez=1234567.123456789;printf("x=%f,y=%f\n",x,y);printf("z=%f\n",z);printf("z=%e\n",z);printf("z=%g\n",z);printf("z=%18.8f\n",z);printf("x=%10.3f\n",x);printf("x=%-10.3f\n",x);printf("x=%4.3f\n\n",x);}程序输出:x=1234.560059,y=1.234568z=1234567.123457z=1.23457e+06z=1234570z=1234567.12345679x=1234.560x=1234.560x=1234.5602024/7/2312例4字符型数据的输出main(){intm=97;charch='B';printf("m:%d%c\n",m,m);printf("ch:%d%c\n",ch,ch);printf("%s\n","student");printf("%10s\n","student");printf("%-10s\n","student");printf("%10.3s\n","student");printf("%.3s\n\n","student");}程序输出:m:97ach:66Bstudentstudentstudentstustu2024/7/2313注意:printf函数格式控制中的格式说明符与输出参数的个数和类型必须一一对应。格式说明符的%和后面的描述符之间不能有空格。除%X、%E、%G外类型描述符必须是小写字母。长整型数应该用%ld(或%lo、%lx、%lu)格式输出,否则会出现输出错误。printf函数的参数可以是常量、变量或表达式。在计算各参数值时,TurboC采用从右至左的顺序求值。2024/7/2314数据输入主要内容:字符输入函数格式输入函数2024/7/23151字符输入函数函数调用的一般形式

getchar()功能:从标准输入设备(即键盘)上交互输入一个字符。例如:getchar();c=getchar();printf("%c\n",getchar());2024/7/2316例如:【例】getchar函数的应用。

#include"stdio.h"main(){charch;ch=getchar();printf("%c%d\n",ch,ch);printf("%c%d\n\n",ch-32,ch-32);}程序运行时输入:m

并按回车键后输出结果是:m109M772024/7/2317说明:getchar是C语言的标准库函数,使用时必须加编译预处理命令:#include"stdio.h"

#include<stdio.h>getchar函数需要交互输入,接收到输入字符之后才继续执行程序。连续使用getchar函数时,要注意字符的输入形式,例如执行如下程序段:charch1,ch2;ch1=getchar();ch2=getchar();必须连续输入两个字符,中间不能有其他字符2024/7/23183.3.2格式输入函数函数调用的一般形式scanf(格式控制,地址参数2…,地址参数n);功能:按格式控制指定的格式,从标准输入设备(即键盘)交互输入数据,并依次存放到对应地址参数指定的变量中(即将输入值赋给变量)。

例如:scanf("%d%f",&a,&f);scanf("%o,%f",&b,&x);scanf("a=%d,b=%d",&a,&b);2024/7/2319格式控制用双引号括起的字符串,用于指定输入数据的类型、格式、个数以及输入的形式

包括:普通字符和格式说明符照原样输入

scanf("a=%d,b=%d",&a,&b);格式说明符:指定输入2个十进制整型数赋给变量a和b2024/7/2320输入格式说明符整型数据

%d输入十进制整型数%u输入无符号的十进制整型数%o输入八进制整型数%x输入十六进制整型数实型数据

%f输入小数形式的单精度实型数%e输入指数形式的单精度实型数字符型数据

%c输入单个字符%s输入一个字符串在%和格式符之间可以使用附加说明符2024/7/2321附加格式说明符l与d、o、x、u结合输入长整型数与f结合输入double型数m指定数据输入的宽度(即域宽)*忽略读入的数据(即不将读入数据赋给相应变量)例如:%ld、%lo——输入十进制、八进制长整型数%lf、%le——输入双精度实型数%mf——输入m位数(域宽)%*d——忽略输入的一个整型数对float和double型指整数位数+小数点+小数位数2024/7/2322例如:scanf("%d%d%d",&a,&b,&c);

输入3个整型十进制数,以空白符(空格、tab键或回车键)分隔

scanf("%d,%o,%f",&a,&b,&x);

输入3个数,以“,”分隔scanf("a=%d,b=%d",&a,&b);

输入的形式是:a=32,b=28(普通字符要照原样输入)2024/7/2323程序:main(){inta,b,c;longm;floatx;doubley;charch,string[20];printf("inputa,b,c,m:");scanf("%d%o%x%ld",&a,&b,&c,&m);printf("a=%d,b=%d,c=%d,m=%ld\n",a,b,c,m);printf("inputx,y:");scanf("%f%lf",&x,&y);getchar();printf("x=%f,y=%f\n",x,y);printf("inputch,string:");scanf("%c%s",&ch,string);printf("ch=%c,string=%s\n\n",ch,string);}2024/7/2324使用scanf函数应注意:要求在程序运行中输入数据,输入的数据个数和类型必须与格式说明符一一对应。地址参数形式:&变量名(除数组或指针变量)格式控制中有普通字符时,必须照原样输入。格式控制中无普通字符时,输入的数值型数据和字符串用空白符分隔,字符型数据不必分隔。double型数据输入时,必须用%lf或%le格式实型数输入时域宽不能用m.n形式的附加说明为了减少不必要的输入量,除了逗号、分号、空格符以外,格式控制中尽量不要出现普通字

温馨提示

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

评论

0/150

提交评论