初学编程,该注意的细枝末叶

来源:互联网 发布:linux运行中结束进程 编辑:程序博客网 时间:2024/06/05 10:31

1main()

    C/C++中,main函数由系统直接调用,是程序执行的入口。一个工程中必须有且只能有一个

2字符串

·       双撇号中间夹裹的若干个字符。如:“abcd”

·       “/0”是字符串的结束标志“abcd”等同于“abcd/0”

·        注意单撇号夹裹的一个字符叫字符,中间只能夹裹一个字符。

3三字母词

·         如:“??(”等同于“[”,      "??<"等同于"{",   "??)"等同于"]"   "??>"等同于"}"  

      遇到的问题:printf"(are you ok??)");  输出的结果却是 (are you ok]

      解决办法:用转义字符。修改后:printf"(are you ok/?/?)");

4,转义字符

·     能解决三字母词输出问题。

·     常用转义字符:\a:警报,蜂鸣器响;

                            \n:换行

                            \t:水平制表符;

                            \r:回车;

                            \o,\oo,\ooo(o代表一个八进制数字),输出与该八进制码对应的字符;

                            \xhhh:(h代表一个十六进制数字),输出与该十六进制对应的字符;

5数据类型;

                                                                 char     short    int     long      longlong      float       doudt

   位bit(计算机最小单位)         8          16     32       32           64            32             64    (了解)

           字节byte(编程最小单位)      1          2       4         4              8              4              8        (输出值) 

         

   注:一个字节等于8bit

 

6常量

       1.        字面常量(字面值)

       2.        const定义的变量    

                const  int  age=10,        (age还是变量,只不过有常量属性。

       3.   #include定义的标识常量

                #include PAI  3.14   (后面程序出现的PAI全为3,14

       4.  枚举常量  

                  enum   sex  { male=1womale=0,  }

             枚举常量是要占用内存的,需要在内存中开辟空间来存放枚举变量,其常量值在没有赋值时,系统会默认给它的第一个变量赋值0,后面依次              1,2,3.。。最大的好处是程序可读性增强。

 

7变量

   命名规则:

·        只能由数字,下划线,字母三部分组成;

·        首位不能为数字 ;

·        不能为特殊字符(关键字)。

 

        这里简要介绍几个关键字;

           register:  寄存器   

          如:register   int  age=0;

              这种变量存放在CPU的寄存器中,使用时,不需要访问内存,而直接从寄存器中读写, 这样可提高效率。  寄存器变量的说明符是register。 对于循环次数较多的循环控        制变量及循环体内反复使用的变量均可定义为寄存器变量。只有局部自动变量和形式参数才可以定义为寄存器变量。因为寄存器变量属于动态存储方式(在程序运行期间根   据需要进行动态的分配存储空间的方式。常见的方法是使用指针,对将要存的数据进行动态的内存分配)。凡需要采用静态存储方式(指在程序运行期间分配固定的存储空   间的方式)的量不能定义为寄存器变量。

           volatile  

             当要求使用volatile声明变量值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据,准确的说,遇到volatile声明的变量时,编译         器对访问该变量的代码不会进行优化,从而可以提供对特殊位置的稳定访问。

        变量可以分为局部变量全局变量。两者区别有两点:一是局部变量只在本函数中有效,出了本函数范围自动消除。全局变量的有效范围是从定义变量的位置到本源文件结束;二是局部变量是程序运行到该函数时给该变量分配内存空间,函数结束则释放该内存空间;全局变量是程序运行前事先分配内存空间,程序结束时释放该内存空间。                         来看一个例子:

#include<stdio.h>int* test(){int num = 0;   //定义的局部变量return & num;}int main(){int i = 0;for (i = 0; i < 10; i++){int*ret = test;}}

    在这个程序中,num为test函数中定义的一个局部变量,程序要求输出num的地址,而它的生命周期只在test函数中,一旦函数结束,它就是无用的,等下次你访问ret这个指针里的地址,那就是非法访问了。






0 0
原创粉丝点击