C语言讲义第三章n.ppt
文本预览下载声明
第三章 数据的输入和输出 本章学习要点 掌握C语言中输入输出数据的方法 掌握各种格式的使用 3.1.1 putchar函数(字符输出函数) 一般形式:putchar( int ch) 返回值:成功返回输出字符的ASCII码,不成功返回-1。 作 用:向终端输出一个字符。 [例3.1]: #include “stdio.h” main( ) {char a,b,c; a=‘B’;b=‘O’;c=‘Y’; putchar(a);putchar(b);putchar(c); } output: BOY 3.2 格式输出函数 作用:向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据。 (一) printf函数的一般格式 printf(格式控制字符串,输出表列) 注: 〞格式控制字符串〞是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息: 1.格式说明,由“%”和格式字符组成,如%d,%f等.它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。 2.普通字符:即需要原样输出的字符。 “输出表列”是需要输出的一些数据,可以是表达式 [例3.3]: main( ) {int a=3, b=4; printf(“a=%d b=%d”,a,b); } output: a=3 b=4 (二) 格式字符 对不同类型的数据用不同的格式字符。有以下几种格式字符: 1. d格式符. 用来输出十进制整数.有以下几种: (1) %d --按整型数据的实际长度输出。 (2) %md --m为指定的输出字段的宽度.若数据的位数小于m,则左端补以空格;若大于m,则按实际位数输出。 (3) %ld --输出长整型数据.也可以对长整型数据指定字段宽度。 3.3 格式输入函数 一般形式 scanf(格式控制字符串, 地址表列) 〞格式控制字符串”的含义同printf函数,“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址.例如: int a,b,c; scanf(“%d%d%d”,a,b,c); 其中“%d%d%d”表示按十进制整数形式输入数据.输入数据时,在两个数据之间以一个或多个空格间隔,也可以用回车键、跳格键tab。 ?scanf函数格式说明 和printf函数的格式说明相似,以%开始,见下表: 说明: 1. 标准C在scanf中不使用%u说明符,对unsigned型数据,以%d或%o、%x格式输入。 2. 可以指定输入数据所占列数,系统自动按它截取所需数据.如 scanf(“%3d%3d”,a,b); 输入123456 系统自动将123赋给a,456赋给b 3. %后的“*”附加说明符,用来表示跳过它相应的数据. 4.输入数据时不能规定精度. 例如:scanf(“%7.2f”,a); ·scanf函数执行中应注意的问题 1. scanf 函数中的“格式控制”后面应当是变量地址,而不是变量名. 2. 如果在“格式控制”字符串中除了格式说明外还有其它字符,则在输入数据时应输入与这些字符相同的字符. 3. 在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入. 4. 在输入数据时,遇以下情况时该数据认为结束: (1)遇空格,或按“回车”或“跳格”(TAB)键 (2)遇宽度结束,如“%3d”,只取3列 (3)遇非法输入 程序举例 [例3.6]输入三角形的三边长,求三角形面积. 为简单起见,设输入的三边长a,b,c能构成三角形. #include “math.h” main() {float a,b,c,s,area; scanf(“%f,%f,%f”,a,b,c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(“a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2f\n”,a,b,c,s); printf(“area=%7.2f\n”,area);} 输入:3,4,6 输出如下: a= 3.00, b= 4.00, c= 6.00, s= 6.50 area= 5.33 作业 P38: 习题三 一、二、三、四 * 3.1字符数据的输入和输出 3.1. 2 getchar函数(字符输入函数) 一般形式:getchar( ) ------没有参数 作用:从终端(或系统隐含指定的输入设备)输入一个字符。 说明:1)只能接受一个字符 2)可以将获得的字符赋给int
显示全部