C语言学习体会1

时间:2022-09-28 03:31:50

  这段时间在看《C语言程序设计 现代方法(第二版)》。本身作为C#出身,在学校的时候也没有接触过C。因为程序员中级职称考试的语言没有C#,所以自学C。在学习过程中,体会到了一些在C#中也存在但是没用过的东西。

  1.for循环:

  在C#中,习惯于这么写:  

1   for (int i = 10; i > 0; i--)
2             {
3                 Console.WriteLine(i.ToString());
4             }

  看了C才知道,原来可以省略表达式:

            //省略表达式
            int j = 0;
            for (; j < 10; j++)
            {
                Console.WriteLine(j.ToString());
            }

            for (; j < 10; )
            {
                Console.WriteLine(j.ToString());
                j++;
            }
            //感觉while比较好一点
            for (; ; )
            {
                if (j < 10)
                {
                    Console.WriteLine(j.ToString());
                }
                j++;
            }

  2.递归:传统的递归都是自己调用自己。在书中P150,第九章的“问与答”中

  问:如果函数f1调用函数f2,而函数f2又调用了函数f1,这样合法吗?

  答:是合法的。这是一种间接递归的形式,即函数f1的一次调用导致了另一次调用。(但是必须确保函数f1和函数f2最终都可以终止!)

  今天就先说这么多。