21世纪高职高专新概念教材 C语言程序设计教程(第二版) 徐新华 主编中国水利水电出版社
第3章 顺序结构程序设计输出。 数据处理的一般过程是:输入 → 处理 → 输出 输入 在C语言中,输入输出操作是由编译系统提供的 库函数来实现。 库函数 教学目的: 教学目的 掌握printf() 、scanf()函数,以及顺序结构程序设 掌握 计。
2011-2-26
21世纪高职高专新概念教材 C语言程序设计教程(第二版) 徐新华 主编中国水利水电出版社
教学内容: 教学内容 3.1* 格式化输出 格式化输出——printf()函数 函数 3.2* 格式化输入 格式化输入——scanf()函数 函数 3.3 顺序结构程序设计
本章要点 本章作业与上机实践
2011-2-26
21世纪高职高专新概念教材 C语言程序设计教程(第二版) 徐新华 主编中国水利水电出版社
格式化输出——printf()函数 printf()函数 3.1* 格式化输出 printf()3.1.1 printf()函数的一般格式 函数的一般格式 [案例3.1] 已知圆半径radius=1.5,求圆周长(2πr) 案例3.1 案例3.1 和圆面积(πr2) 。
2011-2-26
21世纪高职高专新概念教材 C语言程序设计教程(第二版) 徐新华 主编中国水利水电出版社
#include “stdio.h” #include “conio.h” void main( ) {float radius = 1.5, length, area, pi=3.14; length = 2 * pi * radius; area = pi * radius * radius;
radius = 1.500000
printf(“radius = %f\n”, radius); radius %f\ printf(“length = %7.2f, area=%7.2f\n”, length, area); area=%7.2f\ length getch(); }
length = 9.42, area = 7.07
2011-2-26
21世纪高职高专新概念教材 C语言程序设计教程(第二版) 徐新华 主编中国水利水电出版社
printf()函数的一般格式: printf() printf("格式字符串" 输出项表]) ]); printf("格式字符串" [,输出项表]); 格式字符串 1.格式字符串 (1)格式指示符 格式指示符: 格式指示符 %[标志][宽度][.精度][F|N|h|L]类型 标志][宽度][.精度][F|N|h|L]类型 ][宽度][ ][F|N|h|L] 例如,%7.2f。 % 各类常用指示符,参见表3-1至表3-5。
2011-2-26
21世纪高职高专新概念教材 C语言程序设计教程(第二版) 徐新华 主编中国水利水电出版社
在表3-1中,最常用的标志字符是“-” :左对齐, 右端补空格。缺省时为右对齐,左端补空格。 在表3-2中,最常用宽度字符“n”:指定输出域 的宽度。若超长,则按实际宽度输出;若不足,则 补空格。 在表3-3中,最常用精度字符“ .n”:指定保留的 小数位数(实数,超长则4舍5入),或截取左起的前n 个字符(字符串)。 在表3-4中,最常用的长度 长度字符“l”:长整型。 长度
2011-2-26
21世纪高职高专新概念教材 C语言程序设计教程(第二版) 徐新华 主编中国水利水电出版社
在表3-5 中,最常用的数据类型 类型转换字符如下表 类型 所示:数据类型 整 数 实 数 字 符 类型转换字符 d f c s 功 能
带符号十进制整数 十进制整数 十进制小数形式(默认6位小数) 十进制小数 输出1个字符 字符 输出1个字符串 字符串
2011-2-26
21世纪高职高专新概念教材 C语言程序设计教程(第二版) 徐新华 主编中国水利水电出版社
(2)转义字符。 转义字符。 转义字符 特点:通常是产生一个控制操作。 例如,转义字符'\n',输出时产生一个“换行” 操作。 (3)普通字符 普通字符──除格式指示符和转义字符之外的 普通字符 其它字符。 特点:原样输出 原样输出。 原样输出 例如,“radius=”、“length=”、“area=”、 “,”。
2011-2-26
21世纪高职高专新概念教材 C语言程序设计教程(第二版) 徐新华 主编中国水利水电出版社
2.输出项表 如果不止1个,则相邻2个之间用逗号 逗号分开。 逗号 下面的用法都是合法的: (1)printf("I am a student.\n")
; (2)printf("%d",3+2); (3)printf("a=%f b=%5d\n", a, a+3);
2011-2-26
21世纪高职高专新概念教材 C语言程序设计教程(第二版) 徐新华 主编中国水利水电出版社
3.1.2 常用的类型转换字符 输出不同类型数据,要使用不同类型转换字符。
2011-2-26
21世纪高职高专新概念教材 C语言程序设计教程(第二版) 徐新华 主编中国水利水电出版社
1.类型转换字符d──以带符号的十进制整数形式输出。 .类型转换字符 以带符号的十进制整数形式输出。 十进制整数形式输出 [案例 案例3.2] 类型转换字符d的使用。 案例#include “stdio.h” #include “conio.h” void main() {int num1=123; long num2=123456; printf("num1=%d,num1=%5d,num1=%-5d,num1=%2d\n", num1,num1,num1,num1); printf("num2=%ld,num2=%8ld,num2=%5ld\n", num2,num2,num2); printf("num1=%ld\n",num1); getch(); }2011-2-26 11
21世纪高职高专新概念教材 C语言程序设计教程(第二版) 徐新华 主编中国水利水电出版社
程序运行结果如下:num1=123,num1=□□123,num1=123□□,num1=123 num2=123456,num2=□□123456,num2=123456 num1=16908411 类型匹配错误, 输出结果是随机的。
(1)格式指示符,必须与输出项的数据类型一致, 否则会引起输出错误。 (2)对于整数 整数,还可用%o(八进制无符号形式)、 整数 % %x(十六进制无符号形式)、 %u(十进制无符号形式) 输出。
2011-2-26
21世纪高职高专新概念教材 C语言程序设计教程(第二版) 徐新华 主编中国水利水电出版社
2.类型转换字符f──以小数形式输出实数。 .类型转换字符 形式输出实数。 以小数形式输出实数 [案例 案例3.3] 类型转换字符f的使用。 案例#include “stdio.h” #include “conio.h” void main( ) { float f = 123.456; double d1,d2; d1 = 1111111111111.111111111; d2 = 2222222222222.222222222; printf("%f, %12f, %12.2f, %-12.2f, %.2f\n", f, f, f, f, f ) ; printf("d1 + d2 = %f\n", d1 + d2); getch(); }
2011-2-26
21世纪高职高专新概念教材 C语言程序设计教程(第二版) 徐新华 主编中国水利水电出版社
程序运行结果如下: 123.456001,□□123.456001,□□□□□□123.46, 123.46□□□□□□,123.46 d1+d2=3333333333333.333010 提示:对于实数 提示 也可使用%e,以标准指数形式 % 标准指数形式输出; 标准指数形式 或使用%g,让系统 % 系统根据数值的大小,自动选择 自动选择%f 系统 自动选择 或%e格式、且不输出无意义的零。
2011-2-26
21世纪高职高专新概念教材 C语言程序设计教程(第二版) 徐新华 主编中国水利水电出版社
列宽度) 3.类型转换字符c──输出1个字符(占1列宽度) 类型转换字符c──输出1 输出 [案例 案例3.4] 类型转换字符c的使用。 案例 #include “stdio.h” #include “conio.h” void main() {char c='A'; int i=65; printf("c= %c, %5c, %d\n", c, c, c ); printf("i = %d, %c", i, i); getch(); }
程序运行结果如下:c = A, □□□□A, 65 I = 65, A
2011-2-26
21世纪高职高专新概念教材 C语言程序设计教程(第二版) 徐新华 主编中国水利水电出版社
4.类型转换字符s──输出一个字符串。 .类型转换字符 输出一个字符串 输出一个字符串。 [案例 案例3.5] 类型转换字符s的使用。 案例#include “stdio.h” #include “conio.h” void main() {printf("%s, %5s, %-10s","Internet","Internet","Internet"); printf("%10.5s, %-10.5s, %4.5s\n","Internet","Internet","Internet"); getch(); }
程序运行结果如下:Internet,Internet,Internet□□,□□□□□Inter,Inter□□□□□,Inter
注意:系统输出字符(串),不输出单引号和双引号。 注
意2011-2-26 16