第1章 C语言与程序设计概述
1.1 初见C语言程序
第01讲
第02讲
通过一个例子来直观地了解下C语言程序。马克思手稿中有一道趣味数学问题,题目大意是:有30个人,其中有男人、女人和小孩,这些人在一家饭馆吃饭共花了50先令。每个男人花费3先令,每个女人花费2先令,每个小孩花费1先令。问男人、女人和小孩各有几人。对于这个问题,很多读者在小学或初中的竞赛中可能都见到过,而且通常都采用不定方程求解。现在我们用C语言解决该问题。通过例1-1所示的程序,初学者一方面可以对C语言有一个感性的认识,另一方面可以初步领略计算机高效和强大的解决问题的能力。
例1-1 用C语言程序解决“马克思手稿中的数学题”。
运行程序,得到图1-1所示的结果。
例1-1显示了一个完整的C语言程序,虽然规模很小,功能很简单,但能解决一个实际的问题。从程序中可以看出,在该问题的求解过程中,我们采用穷举法对所有可能的组合逐一进行检测,将符合要求的筛选出来。假设用x、y和z分别代表男人、女人和小孩的数目,根据题意,可得如下方程:① x+y+z=30,② 3x+2y+z=50,用方程②减方程①可得方程③ 2x+y=20。从方程③可看出,由于x和y均为正整数,所以x最大只能取到9,即x的变化范围是1~9。那么我们可以让x从1到9变化,然后根据方程③找出相应的y值,最后再根据方程①找出相应的z值。对于每一组x、y和z的组合,如果满足方程②,则x、y、z就是满足条件的解。事实上,穷举法是计算机求解问题时常用的一种方法。
图1-1 例1-1的运行结果
例1-1所示的程序称为C语言的源程序,在C语言源程序的描述中,要注意以下几点:
1)C语言源程序的扩展名必须为.c或.cpp。
2)C语言是大小写敏感的,也就是说,在C语言的源程序中,大小写是有区别的。
3)如果源程序中出现的逗号、分号、单引号和双引号等符号不是出现在双引号的内部,则均应该在英文半角状态下输入,比如分号不能写成中文分号,而应写成英文半角分号。
4)花括号、小括号、用作界定符的单引号和双引号等都必须成对出现。
例1-1是一个用C语言编写的解决实际问题的程序示例。读者可以思考一下,生活中碰到的哪些问题可以用类似的方法让计算机帮助我们解决。