—-想了解C语言数据输入与输出实例详解分享的全部内容且更多的C语言教程关注<计算机技术网(www.ctvol.com)!!>
C语言数据输入与输出实例详解
1 概论
C语言提供了跨平台的数据输入输出函数scanf()和printf()函数,它们可以按照指定的格式来解析常见的数据类型,例如整数,浮点数,字符和字符串等等。数据输入的来源可以是文件,控制台以及网络,而输出的终端可以是控制台,文件甚至是网页。
2 数据输出
从第一个c语言程序中,就使用了跨平台的库函数printf实现将一段文字输出到控制台,而实际上,printf()不仅可以将数据按照指定的格式输出到控制台,还可以是网页或者是指定的文件中,printf()函数执行的返回结果是输出字符的个数。
2.1 输出数据到网页
使用printf函数将数据按照指定的格式输出到网页的使用案例,目前我们公司内部的IT系统还有用C语言写的网页程序(cgi)。
#include <stdio.h> /* 使用printf输出数据到网页 @author Tony 18601767221@163.com @since 20160530 09:04 */ void printf_html() { //将生成的exe程序改成cgi就可以部署在Web服务器例如Apache中的cgi-bin目录中运行了就可以访问了。 //然后通过主机名+端口+文件名.cgi的方式访问 printf("Content-type:text/html nn");//声明输出的数据格式是HTML语言 printf("Hello World In HTML"); }
2.2 整数格式化输出
printf()函数的强大之处在于格式化显示输出整数,浮点数,字符以及字符串到文件,网页。同时在控制台我们可以使用这个函数来调试程序或者获取方法的返回值等等。
printf函数的表现形式为:printf(“格式化字符串数据”,可变参数列表)
printf只会按照传递的参数类型解析数据,不会进行数据类型转换,传入的参数类型和个数和输出的类型和个数保持一致,不然程序运行时会出异常
使用printf打印字符串,整数和字符的案例
#include <stdio.h> /* 使用printf格式化输出数据 @author Tony 18601767221@163.com @since 20160530 09:14 */ void printf_sample() { //最终都是以字符串的方式打印输出 printf("Hello World n");//输出字符串常量,默认是输出到控制台 //printf显示不同数据类型的数据 printf("我的免费精选名字大全叫%s,我的年龄是%d我的幸运字符是%cn","Tony",28,'C'); }
printf在打印输出整数时,不仅可以按照三种不同的进制类型(八进制,十进制和十六进制),同时还可以按照有符号和无符号两种方式打印整数。
以及控制输出字符的宽度等等:
#include <stdio.h> /* 输出指定格式的整数数据 如果要在网页下显示数据,还需要使用printf实现匹配不同的数据格式 @author Tony 18601767221@163.com @since 20160530 09:20 */ void printf_format_int() { const int num = 10; printf("%d",num);//默认的格式是有多宽 填充多宽 printf("%dt%ld",num,num);//32位以上的系统%d和%ld是等效的 inth和long是等效的 printf("%10dn",num);//宽度为10,数据显示默认是右边对齐 printf("%010dn",num);//宽度为10,如果不足则用0来补充 printf("%-10dn",num);//宽度为10,默认是按照右边对齐, "-"表示左边对齐 printf("%3dn",12345); //12345大于实际宽度,3d的格式无效,不足使用空格填充 /* 输出指定格式的整数(有无符号类型以及三种进制类型的)数据 如果要在网页下显示数据,还需要匹配不同的格式 @author Tony 18601767221@163.com @since 20160530 10:11 */ void printf_format_int_data_type() { const int num = 10; printf("%dn", num);//有符号十进制 printf("%in",num); printf("%un",num); //无符号十进制 printf("%on",num);//无符号八进制 printf("%xn",num); //无符号十六进制 } /* @author Tony 18601767221@163.com @since 20160530 21:53 */ void printf_format_int_unsinged() { unsigned short int uvalue = 65535; short int num = 123; printf("uvalue =%hutnum=%hd",uvalue,num); }
2.3 浮点数格式化输出
printf在打印输出浮点数时,整数全部输出,默认保持小数点后六位,可以按照小数和科学计数法(天文数字使用科学计数法存储节约内存)计数法两种方式,同时可以控制输出的小数位数和宽度:
#include <stdio.h> /* 输出指定格式的浮点数数据 @author Tony 18601767221@163.com @since 20160530 10:06 */ void printf_format_double() { const double num = 3.14159265359; printf("num=%.2fn", num);//小数点后保留两位 printf("num=%030.10fn",num);//宽度为30,不足用0补齐,否则按实际宽度输出 //科学计数法表示 double depth = 1234567000000.0; printf("depth=%en",depth);//指数表示 double value = 1.23456789;// %g 自动选择宽度少的显示数据 %f.%e printf("value=%ftvalue=%etvalue=%g",value,value,value); }
2.4 格式化输出字符和字符串
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/488157.html