2023年计算机等级考试二级C语言讲义第三讲输入输出函数_第1页
2023年计算机等级考试二级C语言讲义第三讲输入输出函数_第2页
2023年计算机等级考试二级C语言讲义第三讲输入输出函数_第3页
2023年计算机等级考试二级C语言讲义第三讲输入输出函数_第4页
2023年计算机等级考试二级C语言讲义第三讲输入输出函数_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

第三讲输入输出函数Printf()函数Scanf()函数Getchar()函数Putchar()函数一.格式输出函数printf()前面的任务中我们已多次使用过这个函数。printf函数也称为格式输出函数,其关键字最后一个字母f即为“格式”(format)的意思。1.printf函数一般形式格式:printf(“格式控制字符串”,输出项1,输出项2,……输出项n);功能:按指定的格式把输出列表中的数据显示到显示器屏幕上。其中,格式控制字符串用于指定输出格式。格式控制字符串可由格式字符串和普通字符串两种组成。格式字符串是以%号开头的字符串,在%号后面跟有各种格式字符,用来说明输出数据的类型、形式、长度、小数位数等。例如:“%d”表达按十进制整型输出;“%ld”表达按十进制长整型输出;“%c”表达按字符型输出等。普通字符串在输出时按原样输出,在显示中起提醒作用。输出列表中给出了各个输出项,规定格式字符串和各输出项在个数和类型上应一一相应。例2.3有一矩形,长度为a,宽度为b,求矩形的面积s。#include<stdio.h>main(){floata,b,s;a=3.26;b=5.68;s=a*b;printf(“a=%4.2f,b=%4.2f,s=%7.2f\n”,a,b,s);}则程序的运营结果是:a=3.26,b=5.68,s=18.522.格式字符串表2-3printf函数格式字符串完整格式及含义%-0m.nl或h格式字符格式字符串的起始标志,是必选项。指定左对齐输出指定空位填0m指定输出的域宽,即总长度。n指定输出数据的精度。输出长度的修正指定输出类型,是必选项说明:(1)两头的项为必选项,中间为可选项,m,n为正整数。(2)格式字符和含义说明如表所示:表2-4格式字符意义格式字符意义d以十进制形式输出带符号整数(正数不输出符号)o以八进制形式输出无符号整数(不输出前缀0),#o输出前缀0x,X以十六进制形式输出无符号整数(不输出前缀Ox),#ox输出0xu以十进制形式输出无符号整数f以小数形式输出单、双精度实数e,E以指数形式输出单、双精度实数g,G以%f或%e中较短的输出宽度输出单、双精度实数c输出单个字符s输出字符串(3)输出域宽m:用十进制整数来表达输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。(4)精度n:精度格式符以“.”开头,后跟十进制整数。本项的意义是:假如输出数字,则表达小数的位数;假如输出的是字符,则表达输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。(5)长度:长度格式符为h和l两种,h表达按短整型量输出,l表达按长整型量输出。例2.4格式字符应用举例。#include<stdio.h>main(){inta=15;floatb=123.1234567;doublec=12345678.1234567;chard='p';printf("a=%d,%5d,%o,%x\n",a,a,a,a);printf("b=%f,%lf,%5.4lf,%e\n",b,b,b,b);printf("c=%lf,%f,%8.4lf\n",c,c,c);printf("d=%c,%8c\n",d,d);}其输出结果为:注意提醒:%和格式符之间可以加其它修饰符。加*时作为指定域宽。27页例格式控制符的前后可以加其它字符,但是它们原样输出,一般是为了好区分意义。只有格式控制符和转义字符不是原样输出。格式控制符与输出列表个数要相等。类型要一致。两个%的情况,多个%的情况。%%%d,%.%%%d,a.%.%%f输出项列表尽量明确简朴。最佳不要用++,--表达式。27页例二.格式输入函数scanf()1.scanf函数一般形式格式:scanf(“格式控制字符串”,地址列表);功能:按指定的格式参数的规定,从终端上把数据传送到地址参数指定的内存空间中。其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提醒字符串。地址表列中的地址是通过对变量名“求地址”运算得到的,即地址运算符“&”后跟变量名。例如:&a,&b,分别表达变量a和变量b的地址。例2.5键盘输入三个整型数据并输出。#include<stdio.h>main(){inta,b,c;printf("输入三个整型数据a,b,c:");//提醒信息scanf("%d%d%d",&a,&b,&c);//输入三个整型数据printf("a=%d,b=%d,c=%d",a,b,c);//输出三个整型数据}在本例中,由于scanf函数自身不能显示提醒串,故先用printf语句在屏幕上输出提醒,请用户输入a、b、c的值。在输入数据时需要输入有效间隔符,即一个或多个空格或回车键作为相邻输入数值之间的间隔。例如:789或789运营结果为:a=7,b=8,c=92.格式修饰字符串表2-5scanf函数格式字符串的完整格式及含义%*ml或h格式字符格式字符串的起始标志,是必选项。赋值克制字符宽,不能说明精度m指定域宽,即总长度。输出长度的修正如:ld,lf,le指定输出类型,是必选项说明:(1)常见格式字符和意义如表所示:表2-6格式字符意义格式字符字符意义d输入十进制整数o输入八进制整数x输入十六进制整数u输入无符号十进制整数f或e输入实型数(用小数形式或指数形式)c输入单个字符s输入字符串提醒注意:输入数据时的分隔标志:若格式控制串中没有非格式字符(如%d%d%d是紧相连的)作输入数据之间的间隔则可用空格,TAB或回车作间隔。有的话原样输入,作为分隔符。%和格式符之间可以加其它修饰符。加克制符*时跳过前面的输出项。参考29页例子格式控制符的前后可以加其它字符,但是规定一一相应的原样输入。参考30页例子。格式控制符与输出列表个数要相等。否则得不到对的数据,但不一定报错。实数只能指定数据总宽度,不能指定小数宽度。假如没有输入间隔符但尽量不要指定宽度,29页例子6.输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。例如:scanf("%c%c%c",&a,&b,&c);输入为:xyz回车则把‘x'赋予a,‘'赋予b,‘y'赋予c。只有当输入为:xyz回车时,才干把‘x'赋于a,‘y'赋予b,’z'赋予c。假如在格式控制中加入空格作为间隔,则输入各字符之间可用空格或回车或TAB作为分隔符。例2.6简朴的输入输出数据练习。#include<stdio.h>main(){longa;printf("inputalonginteger\n");scanf("%ld",&a);printf("%ld",a);}运营结果为:inputalonginteger回车例2.7输入三个小写字母,输出其ASCII码和相应的大写字母。#include<stdio.h>main(){chara,b,c;printf("inputcharactera,b,c\n");scanf("%c%c%c",&a,&b,&c);printf("%d,%d,%d\n%c,%c,%c\n",a,b,c,a-32,b-32,c-32);}运营结果为:inputcharactera,b,cabc97,98,99,A,B,C三.putchar函数(字符输出函数)putchar函数是字符输出函数,其功能是在显示器上输出单个字符。其一般形式为:putchar(字符变量)例如:putchar('A');(输出大写字母A)putchar(x);(输出字符变量x的值)putchar(‘\101’);(也是输出字符A)putchar('\n');(换行)对控制字符则执行控制功能,不在屏幕上显示。使用本函数前必须要用文献包含命令:#include<stdio.h>或#include“stdio.h”四.getchar函数(键盘输入字符函数)getchar函数的功能是从键盘上输入一个字符。其一般形式为:getchar();通常把输入的字符赋予一个字符变量,构成赋值语句,如:charc;c=getchar();【例4.2】输入单个字符。#include<stdio.h>voidmain(){charc;printf("inputacharacter\n");c=getchar();putchar(c);}使用getch

温馨提示

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

最新文档

评论

0/150

提交评论