重学C语言 基本的格式化输入输出
来源:互联网 发布:小众软件论坛 编辑:程序博客网 时间:2024/05/16 17:08
原文出处:http://www.demosir.com/basic-fio-method.html
明天要骑自行车上班,大约30公里的样子,一天来回60公里,一周5天300公里,一个月大概20天1200公里,计划骑6个月到11月份,7200公里。这个距离是从北京到拉萨的一个来回。到时候不知道车子和我会变成神马模样。生命不息,折腾不止!还有就是车子别再丢了,诅咒所有偷车子的人,生男孩浑身长满长短不齐的小JJ,生女孩浑身长满大小不等的MM。
基本的格式化输入输出
scanf和printf,在第一次学C语言的时候,这两个函数是最让我激动的,因为终于可以让自己写的程序与人交互了。
- printf函数是必须要服从于格式串的输出。
int i =5;float x=3.14;/*很多页代码之后,人晕手滑,键盘乱抖打出如下代码*/printf("%f,%d",i,x);
这样的代码是合法的,但是却在输出的时候,将整形与浮点型变量的顺序弄错了,那最终打印出来的结果也就是没有意义的。
- 如何避免这种错误呢?
个人的解决方法是把变量改名为有实际意义的名称,比如上面的i可以改成student_count,x可以改为pi,这样在写出对应的printf之后,哪怕不知道声明是什么样子的,一般情况下也不会搞错,这就是编程规范起到的作用。
scanf是根据用户特定的输入格式读取输入,简单却危险,这个函数本质上一个模式匹配函数(就像告诉计算机:去吃掉两个杯子之间的苹果,如果有人在两个杯子之间放了条虫子,计算机依然会遵从输入的吃苹果模式,把那个虫子吃进去),所以在很多场合下,这种不太负责任的输入方式是不允许的。
接着一个经典小例子,求两个分数的和:
#include int main(void){int num1,denom1,num2,denom2,result_num,result_denom;printf("Enter first fraction: ");scanf("%d/%d",&num1,&denom1);printf("Enter second fraction: ");scanf("%d/%d",&num2,&denom2);result_num = num1*denom2 + num2*denom1;result_denom = denom1*denom2;printf("The sum is %d/%d/n",result_num,result_denom);return 0;}
运行的结果是一个没有化简的结果:
2/7
3/4
Enter first fraction: Enter second fraction: The sum is 29/28
从这个例子里面可以体会一下,什么叫做格式化输入输出。
还有很多printf与scanf相关的内容,都在书上,比如%i与%d的区别,如何打印出%,scanf如何处理缓冲区等等。
下载英文原版 请以留言方式留下您的邮箱
中文版购买链接:C语言程序设计:现代方法(第2版)
- 重学C语言 基本的格式化输入输出
- c语言的格式化输入输出
- C语言格式化输入输出
- C语言格式化输入输出
- C语言格式化输入输出
- linux c语言的格式化输入输出
- C语言输入输出的重定向
- C语言输入输出的重定向问题
- C语言的输入输出重定向
- 关于C语言的输入输出重定向
- C语言重定向输入输出的方法
- C语言格式化输入输出DEMO
- 【C语言】格式化输入输出函数
- c语言 格式化文件输入输出
- C的格式化输入输出
- 重学C语言
- 重学C语言
- C语言重学的一些笔记。
- 正溢出 与 负溢出对指令的测试条件的证明
- update panel--AJax
- PKI证书认证
- SVN的MySQL数据库用户验证模式(一)
- 依然
- 重学C语言 基本的格式化输入输出
- 重温冒泡排序
- 转:Openocd 安装并在Eclipse环境下通过J-Link调试
- eclipse的插件
- 拍拍抢拍精灵V2.1正式版--腾讯拍拍秒杀器
- 转:ubuntu10.04下使用insight(需要先装有openocd)
- SHOpenFolderAndSelectItems——打开目标文件所在文件夹且选中目标文件
- DirectShow小探
- 安庆百佳投票软件代码及验证码识别相关