第03章 基本类型数据的输入输出
C语言数据的输入输出ppt课件
A
输出宽度为5, 左补4个空格
printf("%-5c***\n",'A'); A *** 输出宽度为5, 右补4个空格
18
格式化输出函数printf()
(1) d格式符。用来输出十进制整数。
几种用法: ① %d:按十进制整型数据的实际长度输出。 ② %md:m为指定的输出字段的宽度。如果数据的位数小于m,
b=-2,177776,fffe,65534
23
格式化输出函数printf()
例:字符数据的输出 #include <stdio.h> main() { char c='a';
int i=97; clrscr(); printf("%c,%d\n",c,c); printf("%c,%d\n",i,i); getch(); }
putchar(a);putchar('\n');putchar(b);putchar('\n');putchar (c);
}
putchar ('\101'); A
7
字符输入输出函数
例 输入单个字符。 #include "stdio.h" main() { char c; c=getchar(); putchar(c); putchar('\n'); }
格式化输出函数printf()
(4) 在输出的数字前加"+"号
使用%+格式字符 (如%+d、%+f等), 可在输出的数字前 加"+"号, 例如
printf("%+d,%+10.2f",123,12345.678); 输出结果如下:
c语言第03章
活期存款一年后本息和为: p1=p0(1+r1) 一年期定期存款,一年后本息和为: p2=p0(1+r2) 两次半年定期存款,一年后本息和为:
r3 r3 p3 = p0(1 + )(1 + ) 2 2
6
3.1顺序程序设计举例
算法:
输入p0,r1,r2,r3的值 计算p1=p0(1+r1) 计算p2=p43; r 3 )
2 2
输出p1,p2,p3
7
3.1 顺序程序设计举例
#include <stdio.h> 定义变量同时赋予初值 int main ( ) {float p0=1000, r1=0.0036,r2=0.0225, r3=0.0198, p1, p2, p3; p1 = p0 * (1 + r1); p2 = p0 * (1 + r2); p3 = p0 * (1 + r3/2) * (1 + r3/2); printf(”%f\n%f\n%f\n”,p1, p2, p3); return 0; }
\„ \ddd \“ 单引号 例 void main() { printf(“Y\b=\n”);\xhh 3位8进制数代表的字符 aaa }
转义字符:反斜线后面跟一个字符或一个代码值表示
<
双引号 运行结果: 2位16进制数代表的字符 屏幕显示:= 15 打印机输出:¥
C语言程序设计
第3章 最简单的C程序设计
19
C语言程序设计
第3章 最简单的C程序设计
3.2.3不同类型数据间的转换
1.隐式转换
什么情况下发生
运算转换------不同类型数据混合运算时 赋值转换------把一个值赋给与其类型不同的变量时 输出转换------输出时转换成指定的输出格式
C语言系列教程——基本数据类型与输入输出
C语言系列教程——基本数据类型与输入输出第2章基本数据类型与输入输出程序中最基本的元素是数据类型。
确定了数据类型,才能确定变量的空间大小和其上的操作。
C++的数据类型检查与控制机制,奠定了C++今天的地位。
C++还提供了L/O流机制,完成对输入输出的操作管理。
在过程化程序设计中,prinff和scanf是对流的一个适当补充。
学习本章后,要求搞清数据类型与变量、常量的关系,掌握各种常量的性质和定义,学会I/O流的使用,了解pfinff和scanf输入输出的作用。
2.1 字符集与保留字每种语言都使用一组字符来构造有意义的语句。
C++程序是用下列字符所组成的字26个小写字母:abcdefghijklmnopqrstuvwxyz26个大写字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ10个数字:0 1 2 3 4 5 6 7 8 9其他符号 + - * / = , . _ : ; ? \ " ' ~ | ! # % & ( ) [ ] { } < > (空格)C++中,保留字也称关键字。
它是预先定义好的标识符,这些标识符对C++编译程序有着特殊的含义。
表2-1列出了C++的保留字。
ANSIC规定有32个保留字,表中用黑正体字表示;ANSIC++在此基础上补充了29个保留字,表中用黑斜体字表示。
本书不作介绍的表中用白体字表示。
为了使语言能更好地适应软件开发环境,BC或VC对保留字进行了扩充,在表中用白斜体字表示。
VC与BC对关键字的扩充内容是不同的,这里只是常用的和共同扩充的几个。
表2-1 C++保留字auto break case charconst continue default dodouble else enum externfloat for goto ifint long register returnshort signed sizeof staticstruct switch typedef unionunsigned void volatile whilebool catch class const_castdelete dynamic_cast explicit falsefriend inline mutable namespacenew operator private protectedpublic reinterpret_cast static_casttemplate thisthrow truetry typeid typename usingvirtual wchar_tasm cdecl far hugeinterrupt near pascal exportexcept fastcall saveregs stdcallseg syscall fortran thread在程序中用到的其他名字(标识符)不能与C/C++的关键字有相同的拼法和大小写。
基本数据类型及数据的输入输出
数据输入
在编程中,我们经常需要从用户那里获取数据。可以使用scanf函数从用户那里接收输入,并将其存储 在变量中。
数据输出
在C语言中,我们可以使用printf函数将数据输出到屏幕上。通过格式化字符 串,我们可以控制输出的样式和格式。
基本数据类型及数据的输 入输出
在编程中,了解基本数据类型是非常重要的。本节将介绍整型、浮点型、字 符型和布尔型数据,以及如何进行数据的输入和输出。
基本数据类型概述
在编程中,基本数据类型用于存储不同种类的数据。在C语言中,常见的基本数据类
整型数据类型用于存储整数值。在C语言中,常见的整型数据类型有int、 short和long。
浮点数据类型
浮点数据类型用于存储带有小数部分的数值。在C语言中,常见的浮点数据类型有float和double。
字符数据类型
字符数据类型用于存储单个字符。在C语言中,字符数据类型用char表示。
布尔数据类型
布尔数据类型用于存储真或假的值。在C语言中,布尔数据类型用int表示,其 中0表示假,非零的整数表示真。
第3章 数据的输入和输出
2) 普通字符 格式控制字符串中的普通字符是需要照原样输出的字符,可起提示作用。
3.2 格式输入输出函数 2.输出项列表 输出项是需要输出的数据项(常量、变量 或表达式),数据项应当与格式控制字符串中 的格式字符一一对应。 如果输出项有多个,数据项之间用逗号隔 开。 例如: printf (“A=%d,B=%f\n”,a,b) 如果上面的语句中a的值为10,f的值为 1.5,则输出为: A=10,B=1.500000
运行结果:
可以看出,单精度实型数f只有前7位是有效数 字,而最后三位是无意义的。
3.2 格式输入输出函数 5)e格式字符
以指数形式输出实数。指数形式为: d.ddddd e ± xx 小数点前有1位非0数字,小数点占1位,小数点后的数字个 数为n-1,n表示、正负号和至少两位数字,如 e+03。
3.1 字符输入输出函数
运行结果:
运行该程序时,提示操作后输入一个或几个字符,但由于 getchar函数只能接收一个字符,字符c被接收,其他字 符不起作用。然后在终端上以字符格式输出所输入的字符。
3.1 字符输入输出函数
★ 2.字符输出函数putchar( )
该函数向标准输出设备(通常是显示终端)输出一字符。它的调用形式 如下: putchar(字符变量 字符变量); 字符变量 例3.2 #include<stdio.h> main() { int a; /* 定义整数变量名 */ a=100; /* 给变量赋值 */ printf("output the character\n"); putchar(a); /* 输出字符 */ } 运行结果
基本数据类型、运算符与输入输出函数
02
强制类型转换可能会导致数据丢失或截断,因此在使用时需 要谨慎。
03
在进行强制类型转换之前,最好先了解目标类型的取值范围 和表示方法,以确保转换的正确性。
06
案例分析与实践
案例一:基本数据类型应用
整数类型应用
使用`int`类型进行数学运算,如加减乘除、 取余等。
减法运算符(-)
用于从第一个数值 中减去第二个数值。
除法运算符(/)
用于将第一个数值 除以第二个数值。
加法运算符(+)
用于将两个数值相 加。
乘法运算符(*)
用于将两个数值相 乘。
取模运算符(%)
用于计算两个数值 相除后的余数。
关系运算符
等于运算符(==) 用于比较两个数值是否相等。
01
大于运算符(>)
对两个数值进行二进制按位异或 运算。
右移运算符(>>)
将一个数值的二进制表示向右移 动指定的位数。
左移运算符(<<)
将一个数值的二进制表示向左移 动指定的位数。
按位取反运算符(~)
对一个数值进行二进制按位取反 运算。
赋值运算符
赋值运算符(=)
用于将一个表达式的值赋给一个变量。
加法赋值运算符(+=)
浮点数类型应用
使用`char`类型处理字符数据,如字符串拼接 、字符编码转换等。
字符类型应用
使用`float`或`double`类型进行精确的数学 计算,如科学计算、金融计算等。
布尔类型应用
使用`bool`类型进行逻辑运算,如条件判断 、逻辑运算等。
案例二:运算符优先级与结合性
优先级规则
了解并掌握各种运算符的优先级,如算术运算 符、关系运算符、逻辑运算符等。
C语言第03章--数据类型和表达式
char int
ch = 'a'; i = 1;
17
变量的属性
例:
int sum=10; 类型
内存存放说明: 内存存放说明: 存放说明 变量名 1001 sum 10 变量值
存储单元的地址
二、 变量
命名规则 在C中变量名 函数名 文件名 数组名 等均称标识符 变量名, 函数名, 文件名, 数组名, 变量名 标识符 (identifier), 可由字母 数字 下划线 字母,数字 下划线组成,且第一个必 字母 数字和下划线 须为字母或下划线 字母或 字母 下划线,前8或32个有效。 注意: 字母大小写敏感; 注意 字母大小写敏感 不可用关键字; 不可用关键字 不可出现空格; 不可出现空格 见名知意; 见名知意 如: a1与A1为不同的变量名 如: int, for, if 等 如: stu 1, a 1等 如: sum, sort 等
e前必须有数 前必须有数 字,e后必须 后必须 有整数
合法:0.123、.123、123.0、123.、0.0 合法: 、 、 、 、 错误: 错误 - 2.0e2.5 e8
(3)字符常量 字符常量 —— 用单引号括起来的一个字符或转义字符 括起来的一个字符或转义字符 一个字符或转义字符. 例: ‘A’, ‘o’ , ‘1’, ‘#’, ‘a’ 等
float
必转
char, short long unsigned int 低
double 高
自动类型转换
34
例:
若:i 为 int , f为float ,d 为 double e 为long
字节数
数据类型和输入输出
3.1 C程序的构成 3.2 标识符 3.3 数据类型 3.4 变量和常量 3.5 运算符和表达式 3.6 类型转换 3.7 简单的输入输出
华南师范大学计算机学院 庞雄文 2011
3.1 C程序的组成
//3_1.cpp #include <iostream> using namespace std; int main() { cout<<"Hello!\n"; cout<<"Welcome to c++!\n"; } 运行结果: Hello! Welcome to c++!
华南师范大学计算机学院 庞雄文 2011
在定义变量时,计算机根据 数据类型修饰符 变量的类型分配存储空间, short 并且以该类型解释存放的数 据 – short int,短整数,2个字节长,简称short
long
– long int,长整数,4个字节长,简称long – long double,高精度浮点数,一般是10个字节长。
b, B, KB, MB, GB, TB
Terabyte(TB),中文叫法:T Gigabyte(GB),中文叫法:G Megabyte(MB),中文叫法:兆 Kilobyte(KB),中文叫法: K Byte,中文叫法:字节 bit,中文叫法:位
1 TB == 1,024 GB 1 GB == 1,024 MB 1 MB == 1,024 KB 1 KB == 1,024 B 1 B == 8 b
华南师范大学计算机学院 庞雄文 2008
溢出所带来的问题
一台安装了Windows 95/98的机器,如果连 续运行49.7天没有重新启动,可能死机 原因:
高中信息技术必修课件数据的输入与输出
FTP协议
文件传输协议,用于从一个主 机到另一个主机上的文件传输 。
配置方法
一般包括选择适当的网络通信 协议、设置IP地址、子网掩码
、默认网关等网络参数。
局域网内文件共享和访问权限设置
文件共享
在局域网内,可以通过设置共享 文件夹或共享驱动器来实现文件
的共享。
访问权限
可以通过设置访问权限来控制哪些 用户可以访问共享文件,以及他们 的访问级别(如只读、读写等)。
适应不同场景
多模态交互可以适应不同的应用场景和需求,如智能家居、智能办公、教育等。在这些场 景中,用户可以通过语音、手写等方式与设备进行交互,实现更加智能化的操作和体验。
06
数据输出方式及设备选择
数据输出定义及其意义
数据输出定义
数据输出是指将计算机内部处理后的 结果或信息,以人类可读的形式展现 出来,如文字、图形、图像、声音等 。
挑战
手写识别技术仍面临一些挑战,如手写体风格多样性、书写不规范、噪声干扰等问题。此外, 对于复杂的手写文本和场景,如草书、连笔字等,手写识别技术的性能仍有待提高。
多模态交互在数据输入中作用
提高交互效率
多模态交互允许用户同时使用语音、手写等多种方式进行数据输入,提高了交互效率。
增强用户体验
多模态交互提供了更加自然、便捷的数据输入方式,使用户能够更加方便地与计算机进行 交互。
设置方法
在操作系统中,可以通过“共享” 或“高级共享”等选项来设置文件 共享和访问权限。
远程桌面连接和云存储服务应用
远程桌面连接
通过远程桌面协议(如RDP)连接到 远程计算机,实现远程控制和操作。
云存储服务
应用方法
使用远程桌面客户端软件连接到远程 计算机,或使用云存储服务提供商的 客户端软件或Web界面来上传、下载 和管理文件。
《C语言程序设计》课件数据的输入与输出(下)
练if(c习h[:i]=设='\r置') 密码/*输输入入是函回车数,。表即示:结密束*码/ 输入 时{ 在屏cbhre[幕ia]=k上;'\0仅'; 显示"*****",而程序接收 的} 字符串是实际输入的内容"abcde",并
判els断e i密f(c码h[i是]==否8)正/*输确入。是退格,表示删除一个字符*/
分析:
存储:字符数组
输入函数:getch()
输出要求:putchar('*')
字符串比较:#include <string.h>
strcmp(str1,str2)
8
C#语i言n程cl序u设d计e <stdio.h> 第3章 算法与基本程序设计
#m{练时inacci习在hnlau(:屏)rdpe幕设a<ss上置stwri仅密onrgd显码.h[1>示输0]=入""*a函*b*c数d*e。*","c即,h[:1而0密]程="码序"; 输接in入t收i=0; 的p字rin符tf(串"p是lea实se际in输pu入t p的as内sw容or"da: "b);cde",并 判f{o断rc(密ih=[0码i];=i<是g=e9否t;ci+h正+());确。
{ if(i==0)
continue;
putchar('\b');
putchar(' ');
putchar('\b');
i--; }
else
/*输入正常字符,并输出‘*’号
*/
第3章 数据的输入和输出
“文 件” “文件”是一个逻辑的概念,它可用于从磁盘文件到 终端的任何东西。通过打开操作,便可将一个“流” 同一个特定的文件联系起来,文件打开以后,程序 就可以同文件交换数据了,而通过关闭操作,则可 将文件与特定的“流”之间的联系断开。 本章只介绍C++语言中特有的通过流类来进行标准 输入输出以及文件的处理过程。
cout.width(10); cout.fill(„$‟); cout << “abcde\n”; cout.width(5); cout.fill(„#‟); cout << 123;
则其输出结果如下:
$$$$abcde ##123
(3)精度的指定precision( )
在输出浮点数时,可以利用cout对象的 precision( )成员函数来指定所要输出的浮点 数的位数(包括整数部分的位数和小数部分 的位数,但不包含小数点)。
此函数执行了以后,输出时的宽度 就采用缺省值,也就是按照实际所 需要的宽度来进行显示。
(2)填充文字的指定fill( ) 若所显示的数据宽度小于由width( )成员函数所指 定的域宽,则前面空的位置将由空格来填充。如果 不想用空格来填充,就可以使用fill( )成员函数来 设置要填充的文字。
fill( )函数的用法如下: cout.fill(„#‟);
2. 格式化输出 (1)域宽的指定width( ) 利用cout对象的width( )成员函数可以设定输 出域宽。 用法如下: cout.width(10);
cout << x;
注:每次输出完成后所设域宽都被清除
说 明: 为了明确地清除所设置的域宽,可以利用 下面的语句: cout.width(0);
第二讲 基本数据类型与输入输出
printf()
printf(格式控制字符串,输出项1,输出项2, );
%d用来输出10进制整数,可以有长度修饰。 %o和%x分别用来以8进制和16进制输出,此时均为 unsigned。 %u用来以无符号10进制整数方式输出。 %c用来以字符方式输出。 %s用来以字符串格式输出。 %f用来以小数方式输出。 %e用来以指数方式输出。
变量
变量是指程序在运行时其值可改变的量。每个变量由 一个变量名惟一标识,同时,每个变量又具有一个特定的 数据类型。不同类型的变量在内存中占有存储单元的个数 不同。
[修饰符]
数据类型
变量名; [//注释]
注意: 变量名的命名规则; 定义变量时必须指明它的数据类型,否则会导致编译错误。 数据类型决定了变量占用存储空间的大小、数值范围,以 及作用于其上的操作。 变量的初始化 int buffer (1024);(显式和隐式赋值) 变量使用之前一定要定义或说明 。
字符串常量
1. 字符串常量是由一对双引号括起来的零个或多个字 符序列。 2. 字符串可以写在多行上,不过在这种情况下必须用 反斜线‘\’表示下一行字符是这一行字符的延续。 3. 字符串常量实际上是一个字符数组,组成数组的 字符除显示给出的外,还包括字符结尾处标识字 符串结束的符号‘\0’,所以字符串“abc”实际上 包含4个字符:‘a’、‘b’、‘c’和‘\0’。 4. 需要注意的是‘a’和“a”的区别,‘a’是一个字符 常量,在内存中占一个字节的存储单元,而“a” 是一个字符串常量,在内存中占两个字节,除了 存储‘a’以外,还要存储字符串结尾符‘\0’。
常量
常量是指在程序运行过程中其值不能改变的量。 字符型常量通常用一对单引号括起一个字符来表 示,例如:‘f ’,‘8’,‘ ’ (空格符)和‘*’ 等。 字符串常量是由一对双引号括起来的零个或多个 字符序列。 “abc”实际上包含4个字符:‘a’、 ‘b’、‘c’和‘\0’。 ‘a’和“a”的区别 符号常量 #define pi 3.14
数据类型和输入输出
数据类型和输⼊输出1.存放数据的⼩箱⼦——变量在《⼆进制思想以及数据的存储》⼀节中讲到:1. 计算机要处理的数据(诸如数字、⽂字、符号、图形、⾳频、视频等)是以⼆进制的形式存放在内存中的;2. 我们将8个⽐特(Bit)称为⼀个字节(Byte),并将字节作为最⼩的可操作单元。
编程中我们会经常处理各种数据,与内存打交道。
我们不妨先从最简单的整数说起,看看它是如何放到内存中去的。
现实⽣活中我们会找⼀个⼩箱⼦来存放物品,⼀来显得不那么凌乱,⼆来⽅便以后找到。
计算机也是这个道理,我们需要先在内存中找⼀块区域,规定⽤它来存放整数,并起⼀个好记的名字,⽅便以后查找。
这块区域就是“⼩箱⼦”,我们可以把整数放进去了。
C语⾔中这样在内存中找⼀块区域:int a;int ⼜是⼀个新单词,它是Integer 的简写,意思是整数。
a 是我们给这块区域起的名字;当然也可以叫其他名字,例如 abc、mn123 等。
这个语句的意思是:在内存中找⼀块区域,命名为 a,⽤它来存放整数。
注意 int 和 a 之间是有空格的,它们是两个词。
也注意最后的分号,int a表达了完整的意思,是⼀个语句,要⽤分号来结束。
不过int a;仅仅是在内存中找了⼀块可以保存整数的区域,那么如何将 123、100、999 这样的数字放进去呢?C语⾔中这样向内存中放整数:a=123;= 是⼀个新符号,它在数学中叫“等于号”,例如 1+2=3,但在C语⾔中,这个过程叫做赋值(Assign)。
赋值是指把数据放到内存的过程。
把上⾯的两个语句连起来:int a;a=123;就把 123 放到了⼀块叫做 a 的内存区域。
你也可以写成⼀个语句:int a=123;a 中的整数不是⼀成不变的,只要我们需要,随时可以更改。
更改的⽅式就是再次赋值,例如:int a=123;a=1000;a=9999;第⼆次赋值,会把第⼀次的数据覆盖(擦除)掉,也就是说,a 中最后的值是9999,123、1000 已经不存在了,再也找不回来了。
《数据的输入输出》课件
THANKS FOR WATCHING
感谢您的观看
医疗影像系统
总结词
医疗影像系统的数据输入输出有助于提高诊断准确率。
详细描述
医疗影像系统通过数据输入输出,实现医学影像的获取、存储、传输和分析,辅助医生 做出更准确的诊断。
05
数据输入输出技术的发 展趋势
无线数据传输技术
01
02
03
高速率
无线数据传输技术的传输 速率不断提高,能够满足 大数据量、高实时性的传 输需求。
打印机输出的缺点是 打印速度慢、纸张容 易损坏或丢失。
打印机输出的优点是 成本低、易于保存和 携带,可以随时随地 阅读。
投影仪
投影仪输出是指将数据以投影 的形式显示在屏幕上,供多人 观看。
投影仪输出的优点是适合大型 场合、信息量大、易于分享。
投影仪输出的缺点是亮度较低 、需要较暗的环境才能观看。
声音
数据输入输出的重要性
数据输入是计算机处理数据的前 提,没有正确的输入就无法进行
有效的数据处理。
数据输出是数据处理结果的展示 和保存方式,没有数据输入输出的效率和质量直接 影响到整个数据处理过程的效率
和准确性。
数据输入输出的常见方式
键盘输入
通过键盘将数据输入到计算机中,是最常见 的数据输入方式之一。
安全性
无线数据传输技术不断加 强安全措施,采用加密、 认证等方式保护数据安全 。
低功耗
无线数据传输技术不断优 化功耗管理,延长设备使 用寿命。
云计算和大数据技术
弹性扩展
云计算能够根据需求动态 扩展资源,满足数据输入 输出过程中的资源需求。
数据整合
大数据技术能够整合不同 来源、不同格式的数据, 提高数据处理效率。
C语言数据类型与基本输入输出PPT课件
C
语 言 程
第 二 章
序数
设据
计类
型
第23页/共59页
高职教材
例题2-9 a整数赋给
字符型变量
main()
{ char c1,c2;
以字符的
c1=97;
格式输出
c2=98;
语 言 程
第 二 章
printf(“ %c %c\n,c1,c2);
高职教材
单字符数据的输入和输出
(1)putchar()字符输出函数:向终端输出1个 字符
(2)getchar()字符输入函数:从终端输入一个
字例题符 #include<stdio.h>
2-10 main()
例题211
#include<stdio.h> main()
语 言 程
第 三 章
序顺
设序
计结
构
注意事项 1、在以前数学里,一个数前面加零对结果没有影响,但C语言
中,前面加零与不加零完全不一样。 如012,12是二个不同的数。
2、如093是一个非法的数
第2页/共59页
高职教材
实型常量
二种表示方法: (1)小数表示:如123.34 (2)指数表示:尾数用e表示指数
如 -1.32e3(规范化的指数形式) 23.4e-2(非规范化的指数形式)
• 带符号和不带符号:可以在int short,long之
前加unsigned和signed表示不带符号和带符号。
• 取值范围不同(可参考P19)
• 不指定符号,则默认signed。
第15页/共59页
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 程序的一次运行结果: a↙ ab
3.3 格式化输出函数printf
• printf函数的输出原理: 计算机保存和处理数据用二进制形式。 人阅读数据用字符形式。 计算机显示数据时应先将内存中的二进制数据转换 成相应的字符序列,才可显示。 例如,整数123456789在内存中的二进制形式为: 0000 0111 0101 1011 1100 1101 0001 0101 显示时,对应的八进制字符序列为:726746425, 十进制字符序列为:123456789, 十六进制字符序列为:75bcd15。
scanf函数输入整数(2)
输入有符号八进制、十进制和十六进制整数可用格 式字符i: scanf("%i",&a); 输入数据按何种进制转换,取决于运行时的输入。 若运行时输入:077↙ 则为输入八进制数据。 若运行时输入:99↙ 则为输入十进制数据。 若运行时输入:0x77↙ 则为输入十六进制数据。
默认精度6位 小数:x+y的 整数部分全输 出,并输出6 位小数。单精 度实数的有效 位数为7位, 双精度实数的 有效位数为16 位。
输出宽 度>6位, 默认精 度6位小 数:y的 整数部 分全输 出,并 输出6位 小数。 输出宽度>6 位,2位小 数:y的整 数部分全输 出,并输出 2位小数。 实际输出4 个字符,不 足6个,左 补2个空格。
含6位小 数:x的 尾数部分 输出整数、 小数点和 6位小数; 指数部分 输出:e, 指数符, 3位指数。
>10位含2位小 数:x的尾数部 分输出整数、 小数点和2位小 数;指数部分 输出:e,指数 符,3位指数。 实际输出9个字 符,不足10个, 左补一个空格。
>10位含6位小 数:结果同上。
左对齐,>10位 含2位小数:x的 尾数部分输出整 数、小数点和2 位小数;指数部 分输出:e,指 数符,3位指数。 实际输出9个字 符,不足10个, 右补一个空格。
3.2 非格式化字符输入输出函数
• 举例:下列程序从键盘输入一个字符,并输出该字符 及其后续字符。
#include<stdio.h> int main(void) { char c; c=getchar( );/*从键盘读入字符*/ putchar(c); /*向屏幕输出所输入的字符*/ putchar(c+1);/*向屏幕输出所输入的字符的后续字符*/ return 0; }
printf函数的使用
• 例(5):float x=111111.111f,y=3.1415926f; printf("%f,%6f,%6.2f,%-6.2f,%.2f\n", x+x, y, y, y, y);
输出:222222.218750,3.141593,⊔⊔3.14,3.14⊔⊔,3.14
• 例如:
printf的格式与作用
• 输出过程: 普通字符"i="和",c="原样输出。 "%d"是第一个格式说明,①用于将输出项表列中的第 一个表达式(10+10)转换成十进制字符序列("20")②被 转换的字符序列("20")替换后输出。 "%c"是第二个格式说明,①用于将输出项表列中的第 二个表达式(65)转换成ASCII字符('A')②被转换的字符 序列('A')替换后输出。 最终输出的字符序列为:"i=20,c=A\n"
第3章 基本类型数据的输入输出
教学目标
• 了解C语言实现输入输出的方法 • 掌握非格式化字符输入输出函 数的用法 • 掌握输入函数scanf的用法 • 掌握输出函数printf的用法 • 理解输入输出界面设计的重要 性,掌握简单输入输出界面设 计方法 3.1 3.2 3.3 3.4 3.5
目录
C语言的输入输出 字符输入输出函数 输出函数printf 输入函数scanf 程序案例
u格式字符以无符号十进制数形式输出整数(连同符 号位),o格式字符和x格式字符分别以八进制数和 十六进制数形式输出整数(连同符号位)。
printf函数的使用
• 例(3):char c='a'; printf("%c,%d\n",c,c); 输出:a,97 • 例(4): printf("%3s,%6.2s,%.3s,%-5.3s\n", "Good","Good","Good","Good"); 输出:Good,⊔⊔⊔⊔Go,Goo,Goo⊔⊔
printf的格式与作用
• printf函数的格式: printf(格式控制串,输出项表列) • printf函数的功能:将"输出项表列"中的数据按"格式 控制串"指定的格式转换成对应的字符序列后输出。调 用成功,返回输出的数据个数,否则返回负数。 格式控制串:由普通字符和格式说明组成,用双引 号括起来;格式说明应与输出项表列中的数据项依 次一一对应。输出时,①格式控制串中的普通字符 原样输出;②格式控制串中的格式说明用指定的字 符序列替换后输出。而指定的字符序列是由输出项 表列中的数据按格式说明转换所得。 输出项表列:待转换的输出数据,数据之间用逗号 分隔,每个数据均为表达式。
scanf函数的格式说明
• 作用:将输入的字符序列转换成基本类型数据。 • 组成:由%开始、依次由星号(*)、宽度指示符、格式 修饰符和格式字符组成。
scanf函数输入整数(1)
• 设有下列变量说明: int a,b; unsigned c,d,e; short int f; 输入有符号十进制整数可用格式字符d: scanf("%d",&a); scanf("%3d%d",&a,&b); 运行时若输入:11112↙ 则将前三个字符111转换成整数后存入变量a,将 剩余的字符12转换成整数后存入变量b。但这种 方法输入数据时容易出错,建议少用。
printf的格式与作用
• 若格式控制串中不含格式说明,则输出项表列可省略, 此时printf函数可简化为: printf(格式控制串); • 例如: printf("Welcome to C world!\n");
• 小结:printf函数的作用就是输出格式控制串,但格 式控制串中的格式说明要用指定的字符序列替换。
3.1 C语言的输入输出
• 输入输出(I/O):程序运行所需数据往往要从外设(如 键盘等)得到,程序的运行结果通常也要输出到外设 (如显示器、打印机、文件等)。 • C语言实现I/O的方法:C语言没有专门的I/O语句,I/O 操作通过调用标准库stdio.h中声明的库函数来实现。 getchar:从键盘输入一个字符 putchar:向显示器输出一个字符 scanf:从键盘输入基本类型的数据 printf:向显示器输出基本类型的数据
scanf函数使用说明Байду номын сангаас
讨论1:因格式控制串未指定输入数据之间的分隔 符,故输入数据之间可用空格分隔,也可用回车键、 跳格键(tab)分隔。即以下3种输入均合法: 30⊔⊔⊔20↙ 30↙ 20↙ 30(按tab键)20↙
scanf函数使用说明
讨论2:若希望用指定字符做输入数据之间的分隔, 则可在scanf函数的格式控制串中指定。例如,下列 scanf函数调用指定逗号做输入数据之间的分隔: scanf("%d,%d",&a,&b); 这样,输入数据时,数据之间必须用逗号分隔: 30,20↙ 否则导致输入结果出错。
含2位小数:x 的尾数部分输 出整数、小数 点和2位小数; 指数部分输出: e,指数符,3 位指数。因未 指定至少占多 少位,则按实 际输出9个字符。
3.4 格式化输入函数scanf
• scanf函数的输入原理: 人输入数据用字符形式。 计算机保存和处理数据用二进制形式。 计算机输入数据:应先将所输入的字符序列数据转换成 基本类型的二进制数据方可存入内存。 例如:从键盘输入十进制整数123456789(此时是整数串, 不是整数),应按整数格式转换成二进制数形式: 0000 0111 0101 1011 1100 1101 0001 0101 再存入内存。 • scanf函数的功能:从键盘输入字符序列数据,并按指定格 式(由格式控制串指定)转换成相应基本类型的二进制数据 存入指定变量的内存(由输入项表列指定)。
printf函数的格式说明
• 格式说明的作用:转换并输出基本类型的数据。 • 格式说明的组成:由%开始、依次由标志字符序列、宽度 指示符、精度指示符、格式修饰符和格式字符组成。其中, 方括号内为可选项。
printf函数的使用
• 例(1):int a=123,b=12345; printf("%d,%4d,%4d",a,a,b); 输出:123,⊔123,12345 • 例(2):int a=-1; printf("%d,%u,%o,%x",a,a,a,a); 输出:-1,4294967295,37777777777,ffffffff 说明:-1在内存单元中以补码形式存放:
3.2 非格式化字符输入输出函数
• 非格式化字符输入函数 原型:int getchar(void); 功能:从键盘输入一个字符。若调用成功,则返回 输入的字符,否则返回EOF(-1)。 例如: c=getchar(); 注.若从键盘输入Ctrl+Z键,则c得到的是EOF(-1)。 • 非格式化字符输出函数 原型:int putchar(int c); 功能:向显示器输出一个字符。若调用成功,则返 回字符c,否则返回EOF(-1)。