一、基础研究
我们之前从底层研究了c语言,也学习了c语言的组成部分和使用方法,但是c语言是一门编程语言,它是要用来编写程序的。要编写一个好的程序,首先要弄清这个程序要干什么,也就是需求分析,之后要思考及确定实现这个目标的方法,怎么样让程序简短、高效、易懂、可移植、方便维护和修改,这涉及到要怎么实现算法、怎样放置数据和代码、怎么写函数、怎么调用函数等等,这就是程序设计。程序设计是一个程序员综合实力的体现,要想设计出好的程序,要有程序设计思想。
我们来看程序1,程序的功能是:可以接收用户依次输入,一个字符串a、一个字符ch、一个字符串b,这些内容分别描述一个整型数据、一个运算符、一个整型数据,然后根据字符ch所描述的运算符如:“+”、“-”,对字符串a和b的描述数据进行运算,将运算结果显示出来。
程序的执行结果如下:
这个程序的功能是用户先输入一个数,按回车后再输入加号或减号,再输入一个数,然后输出结果。这个功能有有几个重点:(1)输入方式,用什么函数输入(2)输入的字符串怎么转换成一个数输出(3)怎么进行输入检验。我们来看看上面的程序是怎么实现的:
(1)对于字符串使用gets()函数输出,对于符号使用getch()函数输出,因为c语言里没有字符串类型,所以这里定义的是两个字符数组,在这里定义的数组长度为20,也就是说用户最多能输入长度为20个字节的数据。Gets()函数可以无限读取,不会判断上限,以回车结束读取。Getch()函数可以从控制台读取一个字符,但是不显示在屏幕上,但是我们希望能把输入的符号也显示出来,所以程序在这里使用了一个printf()函数输出getch()函数得到的字符,其实这里也可以使用getche()函数,它是可以自动将输入的字符显示在屏幕上的。
(2)程序里是用atoi()函数处理输入的字符串数组的,它的功能是把字符串转换成整型数,它的参数是const char *,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符