第3章顺序结构程序设计 为了让计算机处理各种数据,首先就应该把源数据输 入到计算机中;计算机处理结束后,再将目标数据信息 以人能够识别的方式输出。C语言中的输入输出操作,是 由C语言编译系统提供的库函数来实现。 31格式化输出—prin们函数 32格式化输入— -scanf0函数 33单个字符输入输出— getchar0和 putcharQ函数 34顺序结构程序设计 良好的源程序书写风格一顺序程序段左对齐 Return
第3章 顺序结构程序设计 为了让计算机处理各种数据,首先就应该把源数据输 入到计算机中;计算机处理结束后,再将目标数据信息 以人能够识别的方式输出。C语言中的输入输出操作,是 由C语言编译系统提供的库函数来实现。 3.1 格式化输出——printf()函数 3.2 格式化输入——scanf()函数 3.3 单个字符输入输出——getchar()和putchar()函数 3.4 顺序结构程序设计 良好的源程序书写风格──顺序程序段左对齐 [Return]
31格式化输出—prin函数 printi()函数的作用:向计算机系统默认的输出设备( 般指终端或显示器)输出一个或多个任意类型的数据 311 printi函数的一般格式 案例31已知圆半径 radius=1.5,求圆周长和圆面积 /*案例代码文件名:AL31C。* main( i float radius, length, area, pi=3. 1415926: radius=1.5 length=2* pi*radius /*求圆周长* area- pi"radius"radius, /*求圆面积* printf( radius=%fn radius) /*输出圆半径* printf(" length=%72 earea-%72fn; length,area);/*输出圆周长、面积* 程序演示
3.1 格式化输出——printf()函数 printf()函数的作用:向计算机系统默认的输出设备(一 般指终端或显示器)输出一个或多个任意类型的数据。 3.1.1 printf()函数的一般格式 [案例3.1] 已知圆半径radius=1.5,求圆周长和圆面积。 /*案例代码文件名:AL3_1.C。*/ main() {float radius,length,area,pi=3.1415926; radius=1.5; length=2*pi*radius; /*求圆周长*/ area=pi*radius*radius; /*求圆面积*/ printf(“radius=%f\n”,radius); /*输出圆半径*/ printf(“length=%7.2f,area=%7.2f\n”,length,area); /*输出圆周长、面积*/ } [程序演示]
程序运行结果如下: radius=1.500000 length= 9.42, area= 7.07 printi()函数的一般格式如下: printi(’格式字符串"[,输出项表D; 格式字符串。“格式字符串”也称“转换控制字 符串”,可以包含三种字符: (1)格式指示符。格式指示符的一般形式如下 %标志宽度精度]FNL类型] 常用的标志字符如表3-1所示,常用的宽度指示符如表 3-2所示,常用的精度指示符如表3-3所示,长度修饰符如 表3-4所示,类型转换字符如表3-5所示
程序运行结果如下: radius=1.500000 length= 9.42,area= 7.07 printf()函数的一般格式如下: printf("格式字符串" [,输出项表]); 1.格式字符串。 “格式字符串”也称“转换控制字 符串” ,可以包含三种字符: (1)格式指示符。格式指示符的一般形式如下: %[标志][宽度][.精度][F|N|h|L][类型] 常用的标志字符如表3-1所示,常用的宽度指示符如表 3-2所示,常用的精度指示符如表3-3所示,长度修饰符如 表3-4所示,类型转换字符如表3-5所示
(2)转义字符 例如,[案例31中pint()函数中的mn!就是转义字符,输出时产生 个“换行”操作。 (3)普通字符—除格式指示符和转义字符之外的其它字符。格 式字符串中的普通字符,原样输出。 例如,“ printf"engh=972 f, area=%72 fn"length, area)”语句中的 案例31]中“ printf(" radius=%fn", radius;”语句中的 radius= length= area=”等都是普通字符。 2.输出项表 输出项表是可选的。如果要输出的数据不止1个,相邻2个之间用 逗号分开。下面的 printf)函数都是合法的 (1) printf("i am a student. In") (2)printf("%d", 3+2) (3)printf("a=%f b=%5dn", a, a+3) 必须强调:“格式字符串”中的格式指示符,必须与“输出项表 中、输出项的数据类型一致,否则会引起输出错误
(2)转义字符 例如,[案例3.1]中printf()函数中的'\n'就是转义字符,输出时产生 一个“换行”操作。 (3)普通字符──除格式指示符和转义字符之外的其它字符。格 式字符串中的普通字符,原样输出。 例 如 , [ 案 例 3.1] 中 “ printf("radius=%f\n", radius);” 语句中的 “radius=”, “printf("length=%7.2f,area=%7.2f\n", length,area);”语句中的 “length=”、 “area=”等都是普通字符。 2.输出项表 输出项表是可选的。如果要输出的数据不止1个,相邻2个之间用 逗号分开。下面的printf()函数都是合法的: (1)printf("I am a student.\n"); (2)printf("%d",3+2); (3)printf("a=%f b=%5d\n", a, a+3); 必须强调: “格式字符串”中的格式指示符,必须与“输出项表” 中、输出项的数据类型一致,否则会引起输出错误
31.2格式指示符 输出不同类型的数据,要使用不同的类型转换字符。 1.类型转换字符d以带符号的十进制整数形式输出。 [案例3.2]类型转换字符d的使用 /*案例代码文件名:AL32C。* main( fint num1=123 long num2=123456 *用3种不同格式,输出int型数据num的值* printf("num1=%d, num1=%5d, num1=%o-5d, num1=%02dn numl, numl, numl, numl) /*用3种不同格式,输出long型数据num2的值* printf("num2=%ld, num2=%8ld, num2=%\n",num2, num2, num2) printf("num1=%ldn"num1); 「程序演示
3.1.2 格式指示符 输出不同类型的数据,要使用不同的类型转换字符。 1.类型转换字符d──以带符号的十进制整数形式输出。 [案例3.2] 类型转换字符d的使用。 /*案例代码文件名:AL3_2.C。*/ main() {int num1=123; long num2=123456; /*用3种不同格式,输出int型数据num1的值*/ printf("num1=%d,num1=%5d,num1=%-5d,num1=%2d\n", num1,num1,num1,num1); /*用3种不同格式,输出long型数据num2的值*/ printf("num2=%ld,num2=%8ld,num2=%5ld\n",num2,num2,num2); printf("num1=%ld\n",num1); } [程序演示]