厦门理工第02章 基本数据类型.ppt
文本预览下载声明
* * * * * * * * * * * * 2.7 基本的输入输出函数 * printf函数 两种调用形式 格式控制字符串的一般形式为: printf(“字符串”); printf(“格式控制字符串”,输出表列); %[flag][[width][.prec]][[h][l][L]]输出格式字符 * 格式字符说明 (1)%d格式符:用来输出十进制整数,用法如下: %d:按数据实际长度输出。 %md:m为指定的输出字段的宽度。m0时,如果数据的位数小于|m|,则左端补以空格;如果m0,当数据的位数小于|m|,则右端补空格。若数据位数大于|m|,则按实际位数输出。 %ld:输出长整型数据,如 long a=123560; printf(“%ld”,a); 如用%d输出长整型数据,就会发生错误,因此long型数据应该用%ld格式输出。对长整型数据也可指定字段宽度,如用“printf(“%9ld”,a);”语句,其结果为: □□□123560 (共9列) * 格式字符说明 (2)%o格式符:以8进制形式输出整数。例如: int a=-1; printf(“%d, %lo” , a, a); 输出结果为: -1,37777777777 %lo用于输出八进制长整型。 * 格式字符说明 (3)%x格式符:以16进制形式输出整数。例如: int a=-1; printf(“%lx, %lo, %d” , a, a, a); 输出结果为: ffffffff,37777777777,-1 %lx含义是以16进制形式输出长整型数据。 (4)%u格式符:以十进制形式输出无符号数,例如地址值。 * 格式字符说明 (5)%f格式符:用来以小数形式输出实数(包括单、双精度),有以下几种用法: %f:不指定字段宽度,由系统自动指定,使整数部分原样输出,并输出6位小数。单精度实数的有效位数一般为7位。双精度数也可用%f格式输出,它的有效位数一般为16位,小数部分为6位。 * 例2-19 %f的用法 #includestdio.h main() { float x, y; double u, v; x=111111.111; y=222222.222; u=1111111111111.111111111; v=2222222222222.222222222; printf(\n%f, x+y); printf(\n%f, u+v); } 输出结果为: 333333.328125 3333333333333.333010 * 格式字符说明 %m.nf: 指定输出的数据共占|m|列,其中有n位小数(不含小数点)。当m0时,如果数值长度小于|m|,则左端补空格;当m0时,如果如果数值长度小于|m|,则右端补空格。 * 例2-20 %m.nf的用法 #includestdio.h main() { float f=1234.56789; printf(\n%f, %10f, %10.2f, %.2f, %-10.2f\n, f, f, f, f, f); } 输出结果如下: 1234.567871,1234.567871, 1234.57,1234.57,1234.57 * 格式字符说明 (6)%c格式符:输出一个字符。例如: char c=’a’; printf(“%c” , c); Printf (“%d” , c); 输出字符a。一个整数的值只要在0~255之间,可用字符形式输出。在输出前,将该整数转换成相应的ASCII字符;反之,一个字符数据也可用整数形式输出。 * 格式字符说明 (7)%s格式符:用来输出一个字符串,它有以下几种用法: %s:输出字符串不包括双引号。例如,语句“printf(“%s” , “ student”);”输出字符串student。它等价于“printf(“ student”);”。 %ms:输出的字符串占|m|列,如果字符串本身长度大于|m|,则突破|m|的界限,输出全部字符串。m0时,如果数据的位数小于|m|,则左端补以空格;如果m0,当数据的位数小于|m|,则右端补空格。 %m.ns:m.n格式指输出占|m|列,但只取字符串左端n个字符。如果n|m|,则m自动取n,即保证n个字符正常输出。 * 格式字符说明 (8)%e格式符:以指数形式输出实数,它有以下几种形式: e:不指定输出数据所占的宽度和小数位数(含小数点在内),由系统自动指定给出5位小数,指数部分总共占4位(如e+03),其中“e”占1位,符号占1位,指数占2位
显示全部