农业信息化_专硕吧 关注:16贴子:418
基础知识


来自Android客户端1楼2015-08-17 20:05回复
    1


    来自Android客户端2楼2015-08-17 20:05
    回复
      2


      来自Android客户端3楼2015-08-17 20:05
      回复
        3


        来自Android客户端4楼2015-08-17 20:05
        回复
          4


          来自Android客户端5楼2015-08-17 20:06
          回复
            5


            来自Android客户端6楼2015-08-17 20:06
            回复
              1~ int i ,j; i = 1; j = 2;
              2~ int i = j = 1;
              3~ int i = 1; int j = 2;
              1,3正确


              来自Android客户端7楼2015-08-17 20:06
              回复
                快捷键:
                1、shift +tab 左缩进~
                2、ctrl+a 全选后,alt+f8 整理代码,前提代码不是很乱。


                来自Android客户端8楼2015-08-17 20:06
                回复
                  (借鉴) 运算符号优先性:
                  初——单——算,关——逻,条——赋——逗
                  断句如上。怎么记忆呢?
                  我是这样记忆的:“”内表示运算符的简称。
                  “初”次“单”独找你“算”账,(因为你和关羽有仇)
                  “关”羽带着兵巡“逻”(因为你躲了起来)
                  你跑到别处了,隐姓埋名,“挑”着“豆腐”卖。(当了卖豆腐的):豆腐——实际上是“赋”“逗”


                  来自Android客户端9楼2015-08-17 20:07
                  回复
                    1.关于形参和实参的说明
                    ①在函数被调用之前,形参不占内存
                    ②实参可以是常量、变量或表达式
                    ③必须指定形参的类型
                    ④实参与形参类型应一致
                    ⑤实参对形参的数据传递是"值传递",即单向传递
                    2.函数返回值
                    如果想让函数返回一个值,在函数中就要用return语句来获得,在定义函数时也要对函数值指定类型,如果不指定,默认返回整型。
                    3.函数调用
                    1)注意在函数调用时实参和形参的个数、类型应一一对应。对实参表求值的顺序是不确定的,有的系统按自左至右,有的系统则按自右至左的顺序。这一点要注意。
                    2)函数调用的方式:函数语句,函数表达式,函数参数
                    3)如果主调函数和被调函数在同一文件中,并且主调函数在前,那么一般要在主调函数中对被调函数进行说明。除非:(1)被调函数的返回值类型为整型或字符型(2)被调函数出现在主调函数之前。
                    4)对函数的说明和定义是不同的,定义是指对函数功能的确立,包括指定函数名,函数值类型,形参及其类型、函数体等。说明则只是对已定义的函数返回值类型进行说明,只包括函数名、函数类型以及一个空的括弧,不包括形参和函数体。
                    5)c语言允许函数的递归调用(在调用一个函数的过程中又出现直接或间接的调用该函数本身)。


                    来自Android客户端10楼2015-08-17 20:08
                    回复
                      4.数组作为函数参数
                      1)数组元素作为函数参数 和一般变量相同
                      2)数组名作参数应该在主调和被调函数分别定义数组,形参数组的大小可以不定义。注意:数组名作参数,不是单向传递。
                      3)多维数组作参数,在被调函数中对形参数组定义时可以省略第一维的大小说明,但不能省略第二维或更高维的说明。
                      5.局部变量和全局变量
                      从变量作用域角度分,变量可分为局部变量和全局变量。
                      1)内部变量(局部变量)
                      在一个函数内定义,只在函数范围内有效的变量。
                        2)外部变量(全局变量)
                      在函数外定义,可以为本文件其它函数所共用,有效范围从定义变量的位置开始
                           到本文件结束。建议尽量少使用全局变量,因为它在程序全部执行过程中都占用
                           资源,而且使函数的通用性降低了。如果在定义外部变量之前的函数要想使用该
                           外部变量,则应在该函数中用extern作外部变量说明。


                      来自Android客户端11楼2015-08-17 20:09
                      回复
                        6.动态存储变量与静态存储变量
                        从变量值存在的时间(生存期)角度来分,可分为静态存储变量和动态存储变量。静态存储指在程序运行期间给变量分配固定的存储空间,动态存储指程序运行期间根据需要动态的给变量分配存储空间。
                        C语言中,变量的存储方法分为两大类:静态存储类和动态存储类,具体包括:自动的(auto),静态的(static),寄存器的(register),外部的(extern)。
                        1)局部变量的存储方式
                        函数中的局部变量如不作专门说明,都之auto的,即动态存储的,auto可以省略。局部变量也可以定义为static的,这时它在函数内值是不变的。静态局部变量如不赋初值,编译时系统自动赋值为0,动态局部变量如不赋初值,则它的值是个不确定的值。C规定,只有在定义全局变量和局部静态变量时才能对数组赋初值。为提高执行效率,c允许将局部变量值放在寄存器中,这种变量叫register变量,要用register说明。但只有局部动态变量和形式参数可以作为register变量,其它不行。
                        2)全局变量的存储方式
                        全局变量在函数外部定义,编译时分配在静态存储区,可以在程序中各个函数所引用。多个文件的情况如何引用全局变量呢?假如在一个文件定义全局变量,在别的文件引用,就要在此文件中用extern对全局变量说明,但如果全局变量定义时用static的话,此全局变量就只能在本文件中引用了,而不能被其它文件引用。


                        来自Android客户端12楼2015-08-17 20:10
                        回复
                          3)存储类别小结
                          从作用域角度分,有局部变量和全局变量
                          局部变量:自动变量,即动态局部变量(离开函数,值就消失)
                               静态局部变量(离开函数,值仍保留)
                           寄存器变量(离开函数,值就消失)
                           (形参可定义为自动变量和寄存器变量)
                          全局变量:静态全局变量(只限本文件引用)
                           全局变量(允许其它文件引用)
                          从存在的时间分,有静态存储和动态存储
                          动态存储:自动变量(本函数内有效)
                           寄存器变量(本函数内有效)
                           形参
                          静态存储:静态局部变量(函数内有效)
                           静态全局变量(本文件内有效)
                           全局变量(其它文件可引用)
                          从变量值存放的位置分
                          静态存储区:静态局部变量
                            静态全局变量
                          全局变量
                          动态存储区:自动变量和形参
                          寄存器内:寄存器变量
                          7.内部函数和外部函数
                          内部函数:只能被本文件中的其它函数调用,定义时前加static,内部函数又称静态函数。
                          外部函数:可以被其它文件调用,定义时前加extern,如果省略,则隐含为外部函数,在需要调用此函数的文件中,一般要用extern说明。
                          ________________________________________________________________________________________________


                          来自Android客户端13楼2015-08-17 20:10
                          回复
                              指针说白了就是地址。指针变量就是用来存放指针(地址)的变量。
                            1.变量的指针和指向变量的指针变量
                            读起来很拗口,说白了就是变量的地址和用来存放变量地址的地址变量。因为一个变量在编译的时候系统要为它分配一个地址,假如再用一个变量来存放这个地址,那么这个变量就叫做指向变量的指针变量,也就是用来存放变量地址的这么一个变量。所谓"指向"就是指存放××的地址,如指向变量的指针变量,"指向"就是指用来存放变量的地址,再如指向数组的指针变量,"指向"就是指存放数组的地址。只要理解了这个,指针也就不难了。另外,还有指向字符串的指针变量,指向函数的指针变量,指向指针的指针变量等。
                            1)指针变量的定义
                            形式:类型标识符 *标识符 如:int*pointer;
                            要注意两点:*表示pointer是个指针变量,在用这个变量的时候不能写成*pointer,*pointer是pointer指向的变量。一个指针变量只能指向同一个类型的变量。如上面
                            pointer只能指向int型变量。
                            2)指针变量的引用
                            两个有关的运算符:
                            &取地址运算符&a就代表变量a的地址
                            *指针运算符  *a 就代表变量a的值


                            来自Android客户端14楼2015-08-17 20:10
                            回复
                              4.函数的指针和指向函数的指针变量
                              一个函数在编译时被分配一个入口地址,这个入口地址就称为函数的指针。函数名代表函数的入口地址,这一点和数组一样。我们可以用一个指针变量来存放这个入口地址,然后通过该指针变量调用函数。如:假设有一个求两者较大的函数如下:intmax(intx,inty);
                              当我们调用这个函数时可以这样:
                              intc;
                              c=max(a,b);这是通常调用方法,其实我们可以定义一个函数指针,通过指针来调用,如:
                              int(*p)();//注意指向函数指针变量的定义形式
                              p=max;//此句就是将函数的入口地址赋给函数指针变量p
                              c=(*p)(a,b);
                              有些朋友可能对(*p)()不大理解,其实它的意思就是定义一个指向函数的指针变量p,p不是固定指向哪个函数的,而是专门用来存放函数入口地址的变量。在程序中把哪个函数的入口地址赋给它,它就指向哪个函数。但要注意,p不能象指向变量的指针变量一样进行p++,p-等无意义的操作。
                              既然p是一个指针变量,那么就可以作为函数的参数进行传递。其实函数的指针变量最常用的用途之一就是作为函数参数传递到其它函数。这也是c语言中应用的比较深入的部分了。


                              来自Android客户端17楼2015-08-17 20:11
                              回复