通过一个简单C程序复习C语言知识

  下面的简单C程序是用来自己将来回顾使用的,一般的程序不会写那么多的注释了,思维比较跳跃,呵呵!

    1 /*

 2  * 版权,文件变更信息说明
 3  * 文件名:test.cpp
 4  * 作用:测试
 5  * 原作者:zxh
 6  * 最新修改:zxh
 7  * 最新修改时间:2010-06-18
 8  */
 9 
10 /*
11  * 头文件注意事项:
12  * 1.自定义头文件采用条件编译方式:#ifndef/#define/#endif可以避免重复引用头文件
13  * 2.<>引用头文件表示从包含(include)目录搜索该头文件
14  *   ""引用头文件表示从当前工作(work)目录搜索该头文件,如果没有找到,再在包含目录中找。
15  * 3.引用头文件的好处有:通过头文件来调用库功能(定义不公开);头文件能加强类型安全检查。
16  */
17 #include<stdio.h>
18 #include<stdlib.h>
19 /*
20  * 宏注意事项:
21  * 1.C中定义宏,但是C++中用const常量替代了宏,因const能够提供类型检查,并能调试(此外const能够用在指针参数传递,避免修改原指针,避免修改类成员变量)。
22  * 2.如果定义宏,则该宏尽量用括号括起来,避免代入时出错。
23  * 3.宏一般大写,避免了硬编码。
24  */
25 #define BELL '\a'
26 
27 /*
28  * main函数定义事项:
29  * 1.main函数尽量提供返回值,知道程序执行状态
30  * 2.参数argc和argv可以使其他名字,分别表示参数的个数和每个参数的字符串,其中char *argv[]也就是char **argv;
31  *   需要注意的是,函数名字算作第1个参数了。
32  * 3.注意函数内的变量是局部变量,因为函数调用是栈调用的,执行到函数尾部时,所有变量已被弹出,因而范围就在函数内。
33  */
34 int main(char argc,char *argv[])
35 {
36     /*
37      * 最好定义时就初始化,否则ctr为任意一个数,未初始化引用时会造成致命错误。
38      */
39     int ctr = 0;
40 
41     /*
42      * fname为常量指针,fname表示地址0x83243243等,fname[1] = *(fname+1)
43      */
44     char fname[20];
45 
46     /*
47      * 可变参数输出函数,编译时关闭类型检查,不推荐使用。
48      */
49     printf("What is your first name?");
50 
51     /*
52      * 如果fname是一个变量,则需加取地址符&取得fname的地址,但这里fname本来就表示数组首地址,故不需&
53      */
54     scanf("%s",fname);
55 
56     /*
57      *迪杰斯特拉程序结构:顺序,选择,循环,避免goto破坏程序结构
58      */
59     while(ctr < 5)
60     {
61         printf("%s\n",fname);
62 
63         /*
64          * i++ 和 ++i的区别?,以及x=x+1,x+=1,x++执行那个效率高?
65          */
66         ctr++;
67     }
68 
69     /*
70      * 响铃
71      */
72     printf("%c",BELL);
73 
74     /*
75      * 暂停程序以便查看结果,在stdlib.h头文件中
76      */
77     system("pause");
78     
79     /*
80      * 成功返回
81      */
82     return 0;
83 }
84 

 

posted on 2010-06-18 22:07  虚怀若谷  阅读(367)  评论(0编辑  收藏  举报

导航