13变量输入输出格式
C语言的格式化输入输出

字符数组中,在输入时以非空白字符
s
开始,以第一种空白字符结束。字符
串以串结束标志'\0'作为最终一种字
符。
• 用来输入实数,能够用小数形式或指
Eg212.c
main( ) {
int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("a=%d,b=%d,c=%d\n",a,b,c); printf("a+b+c=%d",a+b+c); }
注意:格式控制符旳个数与背面旳参数个数应 相等,且前后位置要一一相应。
Eg210.c Eg211.c
3、一般字符串与格式控制符混合使用
格式控制符用背面相应位置旳常量、 变量或体现式旳值替代,其他一般字符 一律原样显示。
main( ) {
printf("2+3=%d, 2*3=%d\n",2+3,2*3); }
格式化输入输出函数 printf( )/scanf( )
字符输入输出函数
getchar( )/putchar( )
getchar( )和putchar( )是一对用于单 个字符输入输出旳原则函数。
一、putchar( )函数
功能:在终端旳目前位置输出一种字符
格式:putchar(字符变量) 或 putchar('输出字符')
在程序开始用命令行#include <stdio.h> 把要使用旳信息包括到顾客程序中。
因为printf和scanf函数使用频繁, 系统允许使用时不加#include命令。
C语言旳函数库中有一批“原则 输入输出函数”,它们以原则旳输入 输出设备为输入输出对象。
输入、输出和赋值语句

一、输入语句格式:INPUT “提示内容”;变量注:1、提示内容提示用户输入的是什么信息,必须加双引号,提示内容“原原本本”在计算机上显示,提示内容和变量之间用“;”隔开;2、一个输入语句可以给多个变量赋值,变量中间用“,”隔开。
如:INPUT “a= ,b=,c=”;a,b,c二、输出语句格式:PRINT “提示内容”;表达式注:1、表达式是指算法和程序要求输出的信息2、提示内容提示用户输出的是什么信息,提示内容必须加双引号,提示内容要用“;”和表达式分开;3、一个输出语句可以输出多个表达式,不同的表达式之间用“,”隔开;如:PRINT “a=,b=,c=”;a,b,c三、赋值语句格式:变量=表达式说明:1、赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是常量、变量或含变量的运算式,如“2=x”是错误的;2、赋值符号左右不能对换,如“A=B”和“B=A”含义不同例1、用描点法作函数y=x3+3x2-24x+30的图像时,需要求出自变量和函数的一组对应值,编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值例2、编写程序,计算一个学生数学、语文、英语三门课的平均成绩例3、变换两个变量A和B的值,并输出交换前后的值例4、请写出下列运算输出的结果:1、a=5b=3c=(a+b)/2d=c*cPRINT “d=”;dEND2、a=1b=2c=a+bb=a+c-bPRINT “a=,b=,c=”;a,b,cEND3、a=10b=20c=30a=bb=cc=aPRINT “a=,b=,c=”;a,b,cEND四、 条件语句格式:IF 条件 THEN 语句体END IFIF 条件 THEN语句体1ELSE语句体2END IF例1、 编写一个程序,求实数x 的绝对值例2、 编写程序,输出两个不相等的实数a ,b 的最大值例3、 符号函数y= ,编写程序,输入x 的值,输出y 的值。
基本输入输出命令

不需要 一个
必需 <=254
INPUT
C、N、D、T、 Y、L 必需
根据类型定义 长度
练习:设计计算机等级考试查分程序(根据考号查取分数)
USE 考生成绩 ACCEPT “请输入考号:” TO KH I_N_D_E_X__O__N__考__号__TAG HH SEEK 例题2:按记录号查找指定的记录。 USE 学籍 wait “请输入记录号:" TO N _G_O__V__A_L_(N_)__ DISPLAY USE
2.ACCEPT命令:
命令格式:ACCEPT [<提示信息>] TO <内存变量>
功能:首先在当前光标处显示提示信息的内容,然后等待用户输 入,当用户输入完后,要按回车确认,此时系统将输入的信息以 字符串的形式赋值TO 后的内存变量 。
第二节 基本的输入输出语句
一、输出语句:
命令格式:?|??<表达式1>[,<表达式2>]
功能:输出表达式的值。
说明: ?:在光标位置输出表达式的值。 ??:在下一行输出表达式的值。
二、输入语句: 1.WAIT命令: 命令格式:WAIT [<提示信息>] [TO <内存变量>]
功能:首先在当前光标处显示提示信息的内容,然后等待用户输 入,当输入一个字符后,系统将输入的字符赋值给TO后的变量 。
3.INPUT命令: 命令格式:ACCEPT [<提示信息>] TO <内存变量>
功能:首先在当前光标处显示提示信息的内容,然后等待用户输 入,当用户输入完后,要按回车确认,此时系统将输入的内容 赋值给TO 后的内存变量 。
说明: ①输入的数据类型可以是字符型、数值型、逻辑型、日期型 ②按回车表示输入结束。 ③ 不同的数据类型在输入时一定要加上相应的定界符。 。 ④不能直接按回车键,单按回车键,不表示输入了一个空字符串。 会在下一行继续出现提示信息,等着用户输入数据。
pascal-带格式的输出语句及输入语句

1.文件的打开与保存2.文件的输入与输出语句(结合常量与变量、数的科学记数法)3.类型:溢出的理解带格式的输出语句及输入语句一、写语句的输出格式在pascal语言中输出数据时是可以按照一定格式的,对整数隐含的输出形式为按十进制数形式。
对实数的输出,隐含的形式是科学记数法形式(如果不想用科学记数法输出而用小数形式输出,要自己另行定义)。
事实上,输出语句中的每个输出项中的表达式之后可以加上格式说明,若输出项后没有加格式说明,则数据按系统隐含的格式输出,还可加上一定格式符号按特定格式输出。
⒈隐含的输出格式pascal语言为整型量、实型量、布尔型量和字符串( 用一对单引号括起来的字符序列)规定了每种数据所占的宽度(即一个数据占几列) ,一个数据所占的宽度称为"场宽"或"字段宽"。
系统给出的隐含场宽称为标准场宽。
每一种pascal版本给定的标准场宽不尽相同。
下表给出标准pascal和pc机上两种pascal版所规定的标准场宽。
标准场宽━━━━━━━━━━━━━━━━━数据类型标准pascal Turbo pascal─────────────────integer 10 实际长度real 22 17布尔型10 4或5字符串串长串长━━━━━━━━━━━━━━━━━在Turbo Pascal系统中,对于整型字符串的输出都是按数据本身长度输出,对于布尔型数据(只有True和False两种值),TRUE为4列,FALSE为5列,一律采用大写输出。
而real 型数据的输出时,则按17列输出,其中第一列为符号位,正号不显示,后四位为"E±nn",中间的12列为尾数部分。
如:writeln(sqrt(75));则输出□8.6602540379E+00。
而writeln(sqrt(81));则输出□9.0000000000E+00。
有时,在程序中往往根据实际情况,需要自己定义场宽。
输入输出函数

13
输入输出函数
C语言程序设计
三、字符输入、输出 字符输入、 常量、 1、字符输出函数 常量 变量、 、字符输出函数——putchar(常量、变量、表达式 )
功能:向终端输出一个字符, 功能:向终端输出一个字符,有参数 一个字符
2、字符输入函数 、字符输入函数——getchar()
功能:从输入设备读入一个字符。该函数无参数。 功能:从输入设备读入一个字符。该函数无参数。 一个字符 无参数 输入时需按回车键
3
回目录页
输入输出函数
C语言程序设计
•printf函数格式举例 函数格式举例: 函数格式举例
格式控制字符串
是用双引号括起来的 字符串, 字符串,它指定输出 数据项的类型和格式
输出表列
printf ( “%d, %c \ n”, a, c); , %d %c\ n
是需要输出的一些数据项, 是需要输出的一些数据项, 可以是表达式。 可以是表达式。
“输出”:从计算机向外部设备(如显示器、打印 输出” 从计算机向外部设备(如显示器、 磁盘等)输出数据。 机、磁盘等)输出数据。
123 变量值 “输入”:从外部设备(如键盘、鼠标、扫描仪、 输入” 从外部设备(如键盘、鼠标、扫描仪、 光盘、磁盘)向计算机输入数据。 光盘、磁盘)向计算机输入数据。
输入/输出是以计算机主机为主体而言的。 输入 输出是以计算机主机为主体而言的。 输出是以计算机主机为主体而言的
123 变量值
注意:使用字符输入、输出函数时, 注意:使用字符输入、输出函数时,要加 #include “stdio.h”
程序演示ex208 程序演示
14
回目录页
输入输出函数
C语言程序设计
第3章格式输入输出

二、 格式化的输入与输出
1. printf( )函数(格式输出函数)
运行结果如下:(ㄩ代表空格) 20,1024,54321 ㄩㄩㄩㄩㄩ+20,ㄩㄩㄩ+1024,ㄩㄩㄩ54321 00000020,00001024,00054321 20ㄩㄩㄩㄩㄩㄩ,1024ㄩㄩㄩㄩ,54321ㄩㄩㄩ 24,2000,152061 0x14,0x400,0xd4321 ㄩㄩㄩㄩㄩㄩ24,ㄩㄩㄩㄩㄩ2000,ㄩㄩ152061 14ㄩㄩㄩㄩㄩㄩ, 400ㄩㄩㄩㄩㄩ, d4321ㄩㄩㄩ
二、 格式化的输入与输出
1. printf( )函数(格式输出函数)
(2)“f”格式符一般为7位有效数字,双精度一般为16位。 ② #include “stdio.h” void main() { double x=111111.11111,y=222222.22222; printf("%lf",x+y); } 输出结果为: 333333.333330 /*可达16位是有效数字,小数点保留6位*/
字符串输出函数:puts()
使用这些函数时,应在程序的开头处写下预编译命令:
或
# include “stdio.h” # include <stdio.h>
用编译命令“#include”将有关头文件“stdio.h”包括到用户的源文件当中。
一、字符数据的输入输出
1. 字符输出函数 putchar( )
二、 格式化的输入与输出
1. printf( )函数(格式输出函数)
一般格式: printf(”格式控制”,输出列表); 例如:printf(“a=%d,b=%c\n”,a,b) 功能:向默认输出设备(一般是显示器)输出‚输出列表‛ 中各数据项。 1. 格式控制 格式控制也称“控制字符串”,是由双引号括起来指定输出 格式的字符串。他由格式说明、控制字符和普通字符三部分 组成。
7-getchar(),输入输出总结,顺序结构程序举例

例3.15 输入小写字符boy,要求输出大写的BOY。 例题分析: 大小写字母间转换的方法是它们对应字母的 ASCII码值相差32。例如:'A'的ASCII码值是65, 'a'的ASCII码值为97,'B'的ASCII码值为66, 'b'的ASCII码值为98。
参考程序如下: 程序一: #include <stdio.h> main() { char ch1,ch2,ch3; ch1=getchar();ch2=getchar();ch3=getchar(); ch1=ch1-32;ch2=ch2-32;ch3=ch3-32; printf("%c%c%c",ch1,ch2,ch3); } 运行结果如下: boy↵ (输入) BOY (输出)
3.7 顺序结构程序设计举例
下面对学过的内容用最简单的顺序结构程序 设计编写程序加以巩固 例3.14 请编程序输入变量a为13,变量b为33,变量c为字母B,并输出它们。 题目分析:本题主要考察在编程和输入数据时, 一定要注意调用函数的格式及输入数据的形 式,以保证变量能得到正确的数据。
参考程序如下: 程序一: main() { int a,b; char c; printf("Please input the value of a b and c:"); scanf("%d%d%c",&a,&b,&c); printf("a=%d,b=%d,c=%c\n",a,b,c); } 运行结果如下: Please input the value of a b and c:13 -33B↵ a=13,b=-33,c=B
数据输入输出&格式输入输出

格式输入输出
1、printf 格式输出函数 调用格式:printf (格式控制字符串[,输出项列表]) 功能:在标准输出设备上,按指定格式对应输出各个输出项。 参数:格式控制字符串中可包含格式声明、普通字符; 输出项列出了要输出的对象(可以没有),多项之间用逗号 分隔;形式为常量、变量、表达式、函数调用等。
(3)在用%c格式声明输入字符时,空格字符和转义字符 都作为有效字符输入。
scanf(“%c%c%c\n”, &a,&b,&c); 输入abc 输出结果? a b c输出结果? 注意: 在连续输入字符时,在两个字符之间不要插入空格或其他
分隔符。 在连续输入数值时,在两个数值之间需要插入空格(或其
字”,i=,c=。
基本的格式字符: (1)d格式字符,按十进制数据的实际长度输出。 (2)i格式字符,作用与d格式字符相同,按十进制
整型数据的实际长度输出,一般用%d而很少用%i。 (3)c格式字符,用来输出一个字符。
char ch=‘a’; printf(“%c”,ch);
(4) s格式字符,用来输出一个字符串。
在使用系统库函数时,要在程序中使用预编译指令 “#include” 如#include <stdio.h> , .h被称为头文 件,是head的缩写。
两种头文件包含指令形式的差别 1、#include “xxx.h”
用引号,代表编译程序会优先在程序的本地目录搜索这个文件,找不 到再搜索系统目录。
系统提供的库函数实现的。
C语言函数库中有一批“标准输入输出函数”,它是以 标准的输入输出设备(一般为终端设备)为输入输出对 象的,其中有
putchar(输出字符) 、getchar(输入字符)、
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BESTw.格式
没有对变量规定输出格式时,使用BEST.的格式。SAS在规 定的宽度列数中选择能够给出该值最多信息的表示法作为输出 格式。SAS仍存贮原来的完整数值。
例13.20 用不同的BESTw.形式输出时,显示结果不一样,但在SAS存贮 的都是原来的完整数值。 data; x=12570000; put @10 x best6.; run; 输出值为1.26E6。正确地输出这个值需要8列,使用E表示法把这个值压 缩为6列. data; x=12570000; put @ 10 x best3.; run; 输出值为1E6. data; x=12570000; put @ 10 x best2.; run;
SAS日期时间值存贮方式
SAS存贮时间值从0时开始以秒记数。
例13.13 不能放放在一起使用的语句。 informat x $char12.; input x y z; 例13.14直接赋值为字符型变量。 data a; x1='st92'; x2='st92'; informat x $8. ; x3="12,345.1234"; run;
输出格式
输出格式是SAS系统用来输出数据值的一个指令。 输出格式形式 <$> FORMAT <ω>.<d> 选项说明:
第13章 变量输入输出格式
清华大学经管学院 朱世武 Zhushw@ Resdat样本数据: SAS论坛:
本章内容包括:
输入格式; 输出格式; SAS日期时间存贮方式; 日期时间输入格式; 日期时间输出格式; 缺失值处理。
SAS日期值存贮方式 SAS系统存贮日期值为1960年1月1日到这个日期之间的天数。
日期存贮方式举例
日期 1960年1月1日 1962年3月3日 1985年8月4日 2002年10月1日 1776年7月4日 系统存贮的天数 0 792 9347 15614 -67019
例13.25 表中天数的计算程序。 data; date=mdy(1,1,1960); put date 8.; date=mdy(3,3,1962); put date 8.; date=mdy(8,4,1985); put date 8.; date=mdy(10,1,2002); put date 8.; date=mdy(7,4,1776); put date 8.; run;
输入格式使用ቤተ መጻሕፍቲ ባይዱ法
INPUT语句; INPUT函数; DATA步中用INFORMAT或ATTRIB语句; PROC步中用INFORMAT或ATTRIB语句。
INPUT语句
例13.1 列格式输入。 input @6 date ddmmyy10. @+1 stocd $ 8. oppr 8.2;
输入格式
输入格式是SAS系统用来读入数据值的一个指令。 输入格式形式 <$> INFORMAT <W>.<D>
选项说明:
$ INFORMAT W D 规定为字符输入格式 规定有效SAS输入格式 规定输入数据的列数 规定数值输入格式中保留小数的位数
通用规则: 所有输入格式必须包含一个点(.)作为名字的一部分; 对于省略W和D值的输入格式,使用系统缺省值。
DATA步中用FORMAT或ATTRIB语句
例13.17 DATA步中用FORMAT或ATTRIB语句。 format sales1-sales12 comma10.2; 例中,FORMAT语句对变量sales1至sales12规定输出格式 COMMAw.d. attrib sales1-sales12 format=comma10.2;例中,ATTRIB语句对 变量sales1至sales12规定输出格式COMMAw.d.
字符变量输出格式
$w.输出格式
$w.是最常用的字符数据输出格,w值给出输出字符值的列数。 例13.24 $w.和列输出格式产生同样效果。 data ; name='ABC'; put @10 name $3.; put name $10-12; run; 例中,都输出值为ABC.
日期时间存贮方式
$ INFORMAT W D 规定为字符输出格式 规定有效SAS输出格式 规定输出数据的列数 规定数值输出格式中保留小数的位数
通用规则:
所有输出格式必须包含一个点(.)作为名字的一部分; 省略W和D的值时,使用系统的缺省值; 无论怎样规定输出格式中的小数位,输出格式都不会影响存贮 的数据值; 规定的输出格式宽度太窄小时,对字符格式截去右边的字符, 对数值格式转换为BESTw.的格式; 使用一个不协调的输出格式时,SAS系统首先试着使用其它类 型的类似格式。如果行不通,将输出一个错误信息在SAS日志。
输出格式使用方法
PUT语句; PUT函数; DATA步中用FORMAT或ATTRIB语句; PROC步中用FORMAT或ATTRIB语句。
PUT语句
例13.15 PUT语句中使用输出格式。 data; x=1145.32; put x dollar10.2; run; 结果为$1,145.32。输出格式带千分号和美元号。
例13.6 INPUT语句对变量使用列指针控制和w.d的输入格式。 INPUT X 8.2; INPUT X 1-10 .2; W.D输入格式把一个点(.)作为缺失值。 用W.D输入格式时,数值域尾部的空白不表示0,用BZ.输入 格式可以把尾部空白读为0.
COMMAw.d 输入格式
COMMAw.d输入格式读入包含字符的数值。
输出格式类型
数值输出格式; 字符输出格式; 日期时间输出格式; 使用FORMAT过程创建的自定义输出格式。
输出格式 w.d EBSTw. BINARYw. COMMAw.d COMMAXw.d
描述 输出标准数值数据 选择最佳表示法 转换数值为二进制表示法 用含有逗号, 小数点的格式来输出数值 用含有逗号和小数的格式来输出数值, 逗号和小数 点互换 DOLLARw.d 用含有美元号, 逗号和小数点的格式来输出数值 DOLLARXw.d 用含有美元号,逗号和小数点的格式来输出数值, 逗号和小数点互换 Ew. 用科学E表示法输出值
输出值为**.
Ew.输出格式
例13.22 用科学记数法表示输出数值。 data; x=1257; put @ 10 x e10.; run; 输出值为1.257E+03,共占9列。
输入输出控制流程
输入-存储-输出控制流程
输入数据 输入格式 系统存储 输出格式 输出数据 12234.1234 8.2 12234.12 8.2 12234.12 12,234.12 Comma8.2 12234.12 comma8.2 12,234.12 $12,234.12 dollar8.2 12234.12 dollar8.2 $12,234.12
例中,从第6列开始以DDMMYY10.格式读入变量 DATE, 第7列开始以长度为8的字符格式读入变量 STOCD,然后以数值格式8.2读入变量OPPR。
INPUT函数
例13.2 字符转换数值。 data; x='98.6'; y=input(x, 4.); put x= y=; run; 例中,INPUT函数和w.d输入格式将X的字符值转换为一个数值Y. INPUT函数对于数据的转换是很有用的,当然,有更简单的方法将字符 值转换为数值。 data; x='98.6'; y=x-0; put x= y=; run;
$CHARw输入格式
读含有空格的字符数据。$CHARw.输入格式除了不清除字符值开头的空 作格外,它等同于标准的$w.输入格式。
例13.12 保留开头和结尾的空格。 data; input name $char10.; cards; xyz . uvw 输出结果: ; xyz options nocenter; . proc print noobs; uvw run; INPUT语句采取自由格式输入时,INFORMAT或ATTRIB语句中不能使 用$CHAR.输入格式,因为SAS把空格看作数据行中数值间的分隔符。
在DATA步中用INFORMAT语句或ATTRIB语句
例13.5 DATA步中用INFORMAT语句。 data a; input x; informat x comma12.4; cards; 12,345.1234 22,345.1234 ; run; 例中,最好就是只用INFORMAT语句,不要用ATTRIB,这样可以少记 些东西。
PUT函数
PUT函数对于将数值转换为字符,或者改变变量的字符输出格式是很有 用的。
例13.16 PUT函数中使用输入格式。 data; cc=16; cchex=put(cc,hex3.); put cc hex3.; run; 结果为010. 例中,转换数值变量cc的值为三个字符的十六进制表达式。 data; cc=16; cc=put(cc,3.); run; 例中,将数值CC转换为字符值。
例13.3 数值转换为字符时会产生不正确结果。 data; x=2557898; y=input(x,$8.); put y; run; 例中,产生的结果为255, 不正确。
例13.4 PUT函数将数值转换为字符。 data; x=2557898; y=put(x, $8.); put y; run; 例中,用PUT函数得到正确结果,即字符型2557898. data; x=2557898; y=put(x, $3.); put y; run; 例中,Y的结果为3E6.
宽度 缺省宽度 1-32 1-32 12 1-64 8 2-32 6 2-32 6 1-32 1-32 7-32 1
1 12
数值变量输出格式
w.d输出格式