2005-02
23

C语言之循环程序(7)

By xrspook @ 20:16:24 归类于: 扮IT

不知不觉已经写了一个星期学习日志。原来在抱怨之中也挺好玩。

今天学习的是循环程序。开始觉得应该是挺麻烦的,但原来也一般般。

while语句和do-while语句的区别就是前一个是先进行e,然后看条件如何再决定循环与否,是否执行S;而do-while语句则是先执行S,然后再执行e,同样是看此后的条件决定是否循环。所以说白了就是do-while要在之前先执行一个程序。

然后就是for语句,也是循环语句。相比while和do-while要方便,所以也是最常用的。最神奇的是3个语句其实可以表示同样的东西,比如那个例题“计算1+3+5+…+(2i-1), 其中i=1,2,3,…,100。”在同样计算这道题,显然for就比用前面两个要方便。

然后就是多重循环。其实就是几个循环语句的套叠,不过一定要遵守一个规则就是不能交叉,其他的,就喜欢怎么就怎么。一共有9个选择都是合法的,也就是无论是他们两两互叠还是自己叠自己都是合法的。

接下来就是介绍中途退出的命令。一个是break, 一个是continue, 前者是完全退出整个循环,而后一个只是退出正在进行的循环。其实在前面说分支switch的时候已经见过break了,而且那时说习惯在switch的case里写break是个好的编程习惯,这样可以便于维护和修改。

接下来就是不明不白的goto语句,到处都说用它要有节制,滥用就会出现恶果,程序没有了完整性。所以到底怎么用它还是应该斟酌的。

这些东西反倒不是令人怎么麻烦,麻烦的是为什么要采取这样的算法。尽管觉得自己的数学不是十分臭,但遇到如此的数学问题的确是发现自己力不从心的。比如说“求2至32767之间的全部素数。”它的解释它的程序是这样的“所谓素数就是只能被1和它自身整除的数。所以断定一个数是不是素数,是用从2直至该数之间的所有数来试除,看其是否能被整除……但实际上不需要进行这么多次的试除,而只需除到该数的平方根为止。” “除到平方根”这怎么想啊?也许这就是高明的程序和一般的程序的差别。它用了捷径,而我就傻傻地只懂直走。

然后就是经典的“百鸡问题”的例题。
“假设公鸡每只5元,母鸡每只3元,小鸡三只1元,现有100元,要求买100只鸡,公鸡、母鸡、小鸡各多少只?”
然后它的程序是:
#include
main()
{
int x, y, z;
for (x=0; x<20; x++)
for (y=0; y<33; y++)
{
z=100-x-y;
if ((z%3==0)&&(5*x+3*y+z/3==100))
printf("cock=%d\t hen=%d\t chicken=%d\n", x, y, z);
}
}
要在x<20和y<33之下在用条件来把z作为突破口,我只能……的确它的思维是和自己做的数学是有多少一点出入的。

今天结束了第三章,明天又是一个新的开始了。

标签:

2 条评论

  1. denmark

    不知道你现在是不是已经可以让你的C程序’跑’起来了.看你前面的文章似乎对此还很迷惑似的.

    恩,这样吧,你先下载一个C的集成编辑环境(恩,也就是让你可以写程序和编译运行程序的程序.真拗口.)

    地址:
    http://www.hudu.net/UploadSoft//develope/devcpp4990setup.exe

    (以上是一个windows环境的集成开发软件,你应该是用windows而不是mac的吧.)

    安装以后,运行那个程序.正确敲进去你的源码以后,选择运行[R]->编译[C].然后,进入命令行模式.(就是原来的Dos,如果是2000或XP在开始菜单运行处敲cmd就行.)进入你保存源文件的目录,编译好的可执行文件也在那儿.敲可执行文件的文件名就可以运行了.

    当然,Dos环境下还有一个集成开发环境叫Turbo C的.不过,我估计你对DOS界面的程序多半不适应,还是算了吧.而且,TC没有中文界面.

    C还是要自己多写写,上机试试.

    我不是学计算机的,不过这些也懂点…上面写的东西,希望对你有帮助.
    xrspook 对 denmark 的回复: 2005-02-26 00:14:50
    非常感谢!!!!!!!!!!!使我有点茅塞顿开的感觉,我还在疑惑到底在那里运行C语言呢,实在太感激了。那个东西好像是C++的软件,和C有什么关系呢?

  2. denmark

    C++是C的一个超集,所以那个软件同样可以处理C的.只要你把文件后缀名写为C就可以了.比如:test.c
    xrspook 对 denmark 的回复: 2005-02-26 12:13:53
    明白了!

有话要说

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress