1——从IOP思想开始

1 原则1——遵循 IPO思想

IPO,即:Input - Process - Outpu

一个再简单的问题,都需要先分析它的输入、处理和输出。
输入方式: 键盘输入、文件输入、扫描仪输入…
处理: 那就是具体问题具体分析,就是我们说的算法罗
输出:显示器输出、文件输出、文本输出、图形输出…

既然是写给C语言的初学者,那么,我们就从最简单的键盘输入、显示器输出着手。

2 原则2——友好的UI

即:输入和输出语句前后,要有必要的输入输出提醒语句。

3 理解为什么要这么写输入和输出语句

先看下面的程序:

#include <stdio.h>   //standard input output head头文件
int main()
{
 	printf("100 - 5 = 95\n");
 	return 0;
}

说明: printf引号下面,就是要输出的内容
好处:我们写第一个程序就可以运行了,printf语句用起来很简单;
坏处: 95不是机器算的,是我们自己算的。
如果换成987*54 ,我们还得去找个计算器或者打个草稿。

改进一下:

#include <stdio.h>   //standard input output head头文件
int main()
{
	printf("987 * 54 = %d\n",987*54); //格式控制符	
	return 0;
}

说明: printf引号下面的内容,基本都是原样输出的,你写了啥,就输出啥。
格式控制符:按照我指定的格式,去解析输出列表里的值并输出。
——所以,要输出变量/表达式的值,用格式控制符。
缺点:目前这个程序的坏处:只能算987*54

改进2:

#include <stdio.h>   //standard input output head头文件
int main()
{
	int a,b;
	a = 987;  //引入变量
	b = 54;
	printf("%d * %d = %d\n",a,b,a*b); 	
	return 0;
}

说明:于是我们引入了变量,也就是说,用变量来表示你要计算的数。
坏处:要从98754 换成 78945, 需要程序员去改上面这个程序。

改进3:

#include <stdio.h>   //standard input output head头文件
int main()
{
	int a,b;
	scanf("%d",&a);   //从键盘输入变量的值
	scanf("%d",&b);
	printf("%d * %d = %d\n",a,b,a*b); //计算并输出O	
	return 0;
}

说明:运行这个程序,可以从键盘动态输入a和b的值,那么a和b的值就可以由用户决定了。
坏处:不懂程序的人,一运行程序就是个黑屏幕,不知道要干啥。

改进4:

#include <stdio.h>   //standard input output head头文件
int main()
{
	int a,b;
	printf("input a:\n");  //提示输入变量的语句
	scanf("%d",&a);   //输入I
	printf("input b:\n");
	scanf("%d",&b);
	printf("%d * %d = %d\n",a,b,a*b); //计算并输出O	
	return 0;
}

说明:给输入语句增加了提示语句,便于和运行这个程序的用户进行交互。因此,输入和输出尽量应考虑友好的UI(User Interface)。
坏处:友好的UI是方便使用程序的用户,但良好的程序设计风格,是方便和你搭档的程序员,能看懂你的程序,写程序的人应遵循:
1)尽量让每句代码的功能单一;
2)按IPO组织程序;
3)变量名尽量做到见名知意;
4)尽可能给你的程序写注释。

改进5:

#include <stdio.h>   //standard input output head头文件
int main()
{
	int a,b,mul;
	printf("input a:\n");  //提示输入变量的语句
	scanf("%d",&a);   //I:输入
	printf("input b:\n");
	scanf("%d",&b);
	mul = a*b;      //P:处理
	printf("%d * %d = %d\n",a,b,mul); /O:输出
	return 0;
}

小结: 输入输出语句的使用简单,但是语法多。而很多初学者的关注点都放到了语法上。 但是,学习程序,我想更多地是去理解,程序为什么这么写。然后再写程序的过程中,去熟悉语法。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值