700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 第3章 C语言的输出函数putchar与printf (一)

第3章 C语言的输出函数putchar与printf (一)

时间:2024-04-14 19:33:13

相关推荐

第3章 C语言的输出函数putchar与printf (一)

文章目录

文档视频讲解链接地址第03章 输入与输出3.1 字符输出putchar3.2 格式输出printf3.3 格式输出printf 附加格式说明符

文档视频讲解链接地址

腾讯课堂链接 : 18_输入与输出_字符输出putchar函数腾讯课堂链接 : 19_输入与输出_格式输出printf函数1腾讯课堂链接 : 20_输入与输出_格式输出printf函数2

第03章 输入与输出

I/O : input /output

3.1 字符输出putchar

输入与输出

C语言无I/O语句,I/O操作由函数实现需要包含头文件:

#include <stdio.h>

字符输出函数

格式: putchar( c )参数: c为字符常量、变量或表达式功能:把字符c输出到显示器上返值:正常,为显示的代码值;

实例 18

源程序

01-cbase\18-putchar.c

源代码

#include <stdio.h> int main(int argc, char const *argv[]){int a1 = 65 ; // ascii 'A'int a2 = 'A'; // ascii 65int b1 = 10 ; // '\n'int b2 = '\n' ; // 10 putchar(a1); // Aputchar(a2); // Aputchar(b1); // 换行 putchar(b2); // 换行 putchar(a1+1); // Bputchar(65+1); // Bputchar('B'+' ') ; // 大写转小写 + ' ' 输出: bputchar('b'-' ') ; // 小写转大写 - ' ' 输出: Breturn 0;}

运行结果:

AABBbB

3.2 格式输出printf

格式输出函数printf

格式:printf(“格式控制串”,输出表)功能:按指定格式向显示器输出数据返值:正常,返回输出字节数;出错,返回EOF(-1)输出表:要输出的数据(可以没有,多个时以“,”分隔) 格式控制串:包含两种信息 格式说明:%[修饰符]格式字符 ,用于指定输出格式普通字符:原样输出 格式字符如下:

实例 19

使用printf函数输出以上表格的内容。源程序

01-cbase\19-printf.c

源代码

#include <stdio.h> int main(int argc, char const *argv[]){printf("hello world\n");// 输出表没有, 直接输出格式字符串int x=10,y=20,z=30;printf("x=%d\n",x) ; // 输出表有1个 printf("x=%d,y=%d,z=%d\n",x,y,z) ; // 输出表有多个, 用逗号隔开, 普通字符原样输出int a = 571 ; printf("a=%d\n",a); // 带符号的十进制整数, 表示a以整数的形式输出printf("a=%i\n",a); // 带符号的十进制整数, 表示a以整数的形式输出printf("a=%x\n",a); // 无符号的十六进制整数, 表示a以整数的形式输出printf("a=%X\n",a); // 无符号的十六进制整数, 表示a以整数的形式输出printf("a=%u\n",a); // 无符号的十进制整数, 表示a以整数的形式输出printf("a=%o\n",a); // 无符号的八进制整数, 表示a以整数的形式输出a = 'Y'; printf("a=%c\n",a); // 输出一个字符, 表示a以字符的形式输出 , 等价于 putchar printf("a=%s\n","goodbye"); // 输出一个字符串, 表示a以字符串的形式输出 float c = 567.789; printf("c=%e\n",c); // 指数形式浮点小数, 小写的eprintf("c=%E\n",c); // 指数形式浮点小数, 大写的Eprintf("c=%f\n",c); // 小说形式浮点小数printf("c=%g\n",c); // e和f中较短一种printf("&c=%p\n",&c) ;// &c 是变量的地址 , 输出地址要使用%p , 以地址形式输出 printf("%%\n",&c) ; // 使用%% 输出百分号本省 return 0;}

运行结果

hello worldx=10x=10,y=20,z=30a=571a=571a=23ba=23Ba=571a=1073a=Ya=goodbyec=5.677890e+002c=5.677890E+002c=567.789001c=567.789&c=000000000061FE0C%

3.3 格式输出printf 附加格式说明符

附加格式说明符(修饰符)

实例 20

使用printf函数输出以上附加格式表格的内容。

源程序

01-cbase\20-printf.c

源代码

#include <stdio.h>int main(int argc, char const *argv[]){// m 宽度int a = 567;printf("a=%d\n", a); // 按照10进制输出整数printf("a=%8d\n", a); // 按照10进制输出整数, 输出宽度8个位置,不够左补5个空格printf("a=%2d\n", a); // 按照10进制输出整数, 输出宽度2个位置,超出设定的位置 , 按照实际输出printf("str=%8s\n", "goodbye"); // 输出一个字符串 , 输出宽度8个位置,不够左补1个空格printf("str=%4s\n", "goodbye"); // 输出一个字符串 , 输出宽度4个位置,超出设定的位置 , 按照实际输出// .n// 对于实数 , 保留小数点后面的位数float b = 456.789;printf("b=%f\n", b); // 输出一个实数, 小数点后面保留6位printf("b=%.2f\n", b); // 输出一个实数, 小数点后面保留2位, 四舍五入printf("b=%.0f\n", b); // 输出一个实数, 小数点后面保留0位, 四舍五入printf("b=%8.2f\n", b); // 输出一个实数, 输出宽度8,小数点后面保留2位, 四舍五入, 不够左补2个空格printf("b=%4.2f\n", b); // 输出一个实数, 输出宽度8,小数点后面保留2位, 四舍五入, 超出设定的位置 , 按照实际输出// 对于字符串, 控制字符串输出的个数printf("b=%.3s\n", "goodbye"); // 输出一个字符串 , 字符串输出3个有效字符printf("b=%8.3s\n", "goodbye"); // 输出一个字符串 , 字符串输出3个有效字符 , 输出宽度8, 不够左补5个空格printf("b=%3.4s\n", "goodbye"); // 输出一个字符串 , 字符串输出4个有效字符 , 输出宽度3, 超出设定的位置 , 按照实际输出// #printf("a=%o\n", a); // 按照8进制输出整数printf("a=%#o\n", a); // 按照8进制输出整数, 会在输出时加上0的前缀printf("a=%#x\n", a); // 按照8进制输出整数, 会在输出时加上0x的前缀// +printf("a=%+d\n", a); // 按照10进制输出整数, 带上符号位, 正数+ , 负数-a = -123;printf("a=%+d\n", a); // 按照10进制输出整数, 带上符号位, 正数+ , 负数-// - 默认右对齐, 可以使用-来实现左对齐printf("str=%8s\n", "goodbye"); // 右对齐, 左补1个空格printf("str=%-8s\n", "goodbye"); // 左对齐, 右补1个空格printf("a=%8d\n", a); // 右对齐, 左补4个空格printf("a=%-8d\n", a); // 左对齐, 右补4个空格// 0 左补0 , 不补空格 , 只限于右对齐的时候, 因为左对齐右补0会产生混乱// 0 不能和- 同时使用 //printf("str=%08s\n", "goodbye"); // 这种补0 没有意义 错误用法 printf("a=%08d\n", a); // 右对齐, 左补4个空格//printf("a=%-08d\n", a); // 没有意义 错误用法 printf("a=%ld\n",a) ; // long 类型的数据 printf("b=%lf\n",b) ; // double 类型的数据 return 0;}

运行结果

a=567a=567a=567str= goodbyestr=goodbyeb=456.789001b=456.79b=457b= 456.79b=456.79b=goob=goob=goob=gooda=1067a=01067a=0x237a=+567a=-123str= goodbyestr=goodbyea= -123a=-123a=-0000123a=-123b=456.789001

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。