最新国产在线不卡AV,国产又爽又黄的视频免费看,精品综合久久久久久97,日韩欧美高清中文字幕免费一区二区

            科普

            有關(guān)c語言的基礎(chǔ)知識(shí)有哪些 IT知識(shí)

            電腦知識(shí)優(yōu)爾供稿

            C語言是世界上最流行、使用最廣泛的高級(jí)程序設(shè)計(jì)語言之一。在操作系統(tǒng)和系統(tǒng)使用程序以及需要對(duì)硬件進(jìn)行操作的場(chǎng)合,用C語言明顯優(yōu)于其它高級(jí)語言,許多大型應(yīng)用軟件都是用C語言編寫的。下面是9252兒童網(wǎng)小編為大家整理的c語言的基礎(chǔ)知識(shí)有哪些,希望對(duì)你們有幫助。

            C語言基礎(chǔ)知識(shí)總結(jié)

            算法結(jié)構(gòu):

            一、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu);二、循環(huán)結(jié)構(gòu)又分為while型、until型、for循環(huán)結(jié)構(gòu);程序流程圖;

            結(jié)構(gòu)化程序設(shè)計(jì)方法:

            (1)自頂向下;(2)逐步細(xì)化;(3)模塊化設(shè)計(jì);(4)結(jié)構(gòu)化編碼。

            數(shù)據(jù)類型:

            常量:常量包括字面常量、直接常量和符號(hào)常量;

            變量:C語言規(guī)定標(biāo)志符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符必須是字母或者下劃線;必須壓迫先定義后使用;每一個(gè)變量被定義以確定類型后,在編譯時(shí)就能為其分配相應(yīng)的存儲(chǔ)單元;

            整數(shù)類型:整數(shù)常量有十進(jìn)制、八進(jìn)制和十六進(jìn)制;“%d”

            整形變量:數(shù)據(jù)在內(nèi)存中存放形式是以二進(jìn)制形式存放;有int型、short int型和long int型,無符號(hào)整型變量的范圍是-32768—32767,有符號(hào)型為0~65535.通常把long定義為32位,把short定義為16位,int可以是32位也可以為16位,這都主要取決于機(jī)器字長。

            實(shí)型常量的表示方法:(1)十進(jìn)制,0.0;(2)指數(shù)形式,123e3

            實(shí)型變量:實(shí)數(shù)型數(shù)據(jù)在內(nèi)存中的存放形式,一般在內(nèi)存中占4個(gè)字節(jié),分成整數(shù)部分和小數(shù)部分存放。實(shí)型變量分為float型、double型long double型。實(shí)型數(shù)據(jù)會(huì)存在舍入誤差。

            實(shí)型常量的類型:C編譯系統(tǒng)將實(shí)型常量作為雙精度來處理。

            字符型數(shù)組:(一)字符常量:轉(zhuǎn)義字符(\n——換行,\t——tab,\r——回車,\f——換頁,\b——退格,\ddd——1到3位8進(jìn)制的數(shù)代表的字符)

            (二)字符變量:字符數(shù)據(jù)存儲(chǔ)形式實(shí)際是以ASCII碼存儲(chǔ)。“%c”

            字符串常量:雙撇號(hào)括起來的一系列字符序列。

            C的運(yùn)算符有以下幾種:

            1、算術(shù)運(yùn)算符(+ - * / %)結(jié)合方向自左向右

            2、關(guān)系運(yùn)算符(> < =="">= <= !="">

            3、邏輯運(yùn)算符(! && ||)

            4、位運(yùn)算符(<>> ~ | ^ &)

            5、賦值運(yùn)算符(=及符號(hào)擴(kuò)展賦值運(yùn)算符)

            6、條件運(yùn)算符(? : )

            7、逗號(hào)運(yùn)算符( , )

            8、指針運(yùn)算符(* &)

            9、求字節(jié)運(yùn)算符(sizeof)

            10、強(qiáng)制類型轉(zhuǎn)換運(yùn)算符((類型))

            11、分量運(yùn)算符( . ->)

            12、下標(biāo)運(yùn)算符([])

            13、其他

            控制語句:

            完成一定的控制功能。

            1、if()~else~

            2、for()~

            3、while()~

            4、do~while()

            5、continue

            6、break

            7、switch

            8、goto

            9、return

            字符數(shù)據(jù)的輸入輸出:

            1、putchar()輸入字符變量

            2、getchar()只能接受一個(gè)字符

            格式輸入輸出:

            1、printf(%d—整型,%c—字符型,%ld,%md,%o,%u,%s,%-m.nf,%e,%g)

            2、scanf(格式控制,地址列表)

            數(shù)組

            一維數(shù)組的定義:類型說明符 數(shù)組名【常量表達(dá)式】;先定義后引用;一維數(shù)組初始化時(shí)可以只對(duì)一部分元素初始化,在對(duì)全部數(shù)組元素初始化的時(shí)候可以部規(guī)定長度;但是若被定義的數(shù)組長度與提供的初始值不一樣時(shí),則數(shù)組長度不能省略。

            二維數(shù)組的定義:類型說明符 數(shù)組名【常量表達(dá)式】【常量表達(dá)式】C語言中存放二維數(shù)組是先存放第一行的元素,緊接著是第二行,其實(shí)也是以一維的方式存放。如果初始化時(shí)能指定所有元素的初始值,第一維大小可以省略,但是第二維不能省略。

            字符數(shù)組:定義和初始化跟數(shù)組差不多,只是需要加單引號(hào)。字符和字符串結(jié)束標(biāo)志,C語言規(guī)定,以'\0’代表。

            字符串處理函數(shù):

            1、puts()將一個(gè)字符串輸出到終端

            2、gets()從終端輸入一個(gè)字符串到字符數(shù)組,并且得到一個(gè)函數(shù)值。

            3、strcat()鏈接兩個(gè)字符數(shù)組中的字符串。

            4、strcpy()字符串復(fù)制函數(shù)。

            5、strcmp()比較字符串作用。

            6、strlen()測(cè)試字符串長度的函數(shù)不包括“\0”

            7、strlwr()將字符串中的大寫字母轉(zhuǎn)換為小寫字母。

            8、strupr()將字符串中的小寫字母轉(zhuǎn)換為大寫字母。

            函數(shù)

            (1)一個(gè)源程序由多個(gè)函數(shù)組成。

            (2)C程序的執(zhí)行從main()函數(shù)開始;

            (3)所有函數(shù)都是平行的;

            (4)函數(shù)分類;可以分為標(biāo)準(zhǔn)和自定義,還可以分為有參函數(shù)和無參函數(shù)。

            函數(shù)定義的一般形式:

            (1)類型標(biāo)志符 函數(shù)名()

            {

            聲明部分

            語句

            }

            (2)類型標(biāo)志符 函數(shù)名(形式參數(shù)列表)

            {

            聲明部分

            語句

            }

            關(guān)于形參和實(shí)參的說明:

            (1) 在定義函數(shù)中指定的形參,在未出現(xiàn)函數(shù)調(diào)用時(shí),他們并不占用內(nèi)存中的存儲(chǔ)單元,只有發(fā)生調(diào)用時(shí),才會(huì)分配內(nèi)存。

            (2) 實(shí)參可以是常量、變量或者表達(dá)式;有時(shí)傳遞的時(shí)地址;

            (3) 在被定義中,形參必須指定類型;

            (4) 實(shí)參與形參的類型應(yīng)相同或賦值兼容;

            (5) C語言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只有實(shí)參傳遞給形參,而不能由形參傳遞給實(shí)參。

            函數(shù)的返回值:

            希望通過函數(shù)調(diào)用使主調(diào)函數(shù)得到一個(gè)確定的值。

            (1)函數(shù)的返回值是通過函數(shù)中的return語句獲取的。

            (2)函數(shù)值的類型;

            (3)如果函數(shù)值的類型和return語句中表達(dá)式的值不一樣,則以函數(shù)類型為準(zhǔn)。

            (4)如果調(diào)用函數(shù)中沒有return語句,并不帶回一個(gè)確定的用戶需要的值,函數(shù)不是不帶回值,而只是不帶回有用的值,帶回一個(gè)不確定的值。

            (5)如不需要帶回任何值,用void。

            函數(shù)的調(diào)用:

            調(diào)用方式1、函數(shù)語句;2、函數(shù)表達(dá)式;3、函數(shù)參數(shù)。

            被調(diào)用的函數(shù)的聲明:

            一個(gè)函數(shù)調(diào)用另一個(gè)函數(shù)所具備的條件:

            1、首先被調(diào)用的函數(shù)必須是已經(jīng)存在的函數(shù);

            2、如果使用庫函數(shù),一般應(yīng)該在本文件開頭用#include命令將調(diào)用有關(guān)庫函數(shù)時(shí)在所需要用到的信息“包含”到本文件中。.h文件是頭文件所用的后綴。

            3、如果使用用戶自己定義的函數(shù),而且該函數(shù)與使用它的函數(shù)在同一個(gè)文件中,一般還應(yīng)該在主調(diào)函數(shù)中對(duì)被調(diào)用的函數(shù)做聲明。

            4、如果被調(diào)用的函數(shù)定義出現(xiàn)在主調(diào)函數(shù)之前可以不必聲明。

            5、如果已在所有函數(shù)定義之前,在函數(shù)的外部已做了函數(shù)聲明,則在各個(gè)主調(diào)函數(shù)中不必多所調(diào)用的函數(shù)在做聲明。

            局部變量和全局變量:

            (一)局部變量在一個(gè)函數(shù)內(nèi)部定義的變量是內(nèi)部變量,它只是在本函數(shù)范圍內(nèi)的有效,主函數(shù)也不能使用其它函數(shù)中定義的變量;不同函數(shù)中可以使用相同的名字的變量,他們代表不同的對(duì)象,互不干擾;形式參數(shù)也是局部變量;在一個(gè)函數(shù)內(nèi)部,可以在復(fù)合語句中定義變量,這些變量只在本復(fù)合語句中有效,這種復(fù)合句也可以稱為“分程序”或“程序塊”;

            (二)全局變量,在函數(shù)之外定義的變量稱為外部變量,全局變量可以增加函數(shù)間數(shù)據(jù)聯(lián)系的渠道,一般不再必要時(shí)不要使用,他在程序的全部執(zhí)行過程中占用存儲(chǔ)單元,是函數(shù)的通用性,使用全局變量會(huì)使程序的清晰性降低。還要注意若果同一源文件中,外部變量和局部變量同名,則在局部變量作用范圍內(nèi),外部變量被“屏蔽”,不起任何作用。

            變量的存儲(chǔ)類別:

            (變量值存儲(chǔ)時(shí)間)動(dòng)態(tài)存儲(chǔ)方式,在程序運(yùn)行期間進(jìn)行分動(dòng)態(tài)的分配存儲(chǔ)空間的方式,靜態(tài)存儲(chǔ)方式是指在程序運(yùn)行期間分配固定的存儲(chǔ)空間的方式;存儲(chǔ)空間分為程序區(qū)、靜態(tài)存儲(chǔ)區(qū)和動(dòng)態(tài)存儲(chǔ)區(qū);全局變量全部放在靜態(tài)存儲(chǔ)區(qū)中,程序開始時(shí)分配空間,完畢時(shí)釋放;動(dòng)態(tài)存儲(chǔ)區(qū)中存放以下數(shù)據(jù):

            1、函數(shù)形式參數(shù);

            2、自動(dòng)變量;

            3、函數(shù)調(diào)用時(shí)的現(xiàn)場(chǎng)保護(hù)和返回地址;在C語言中每個(gè)變量和函數(shù)都有兩個(gè)屬性,是數(shù)據(jù)類型和數(shù)據(jù)存儲(chǔ)類型,存儲(chǔ)類別是數(shù)據(jù)在內(nèi)存中存儲(chǔ)的方式。

            存儲(chǔ)方式分為靜態(tài)和動(dòng)態(tài)存儲(chǔ)類,具體包含有四種:自動(dòng)的(auto),靜態(tài)的(static),寄存器的(register),外部的(extern),如果不加以聲明,就自認(rèn)為是auto型就會(huì)自動(dòng)分配存儲(chǔ)空間屬于動(dòng)態(tài)存儲(chǔ)方式。

            Static聲明局部變量是在函數(shù)調(diào)用結(jié)束后不消失而保留原值,即占用存儲(chǔ)單元不釋放,在下一次調(diào)用該函數(shù)時(shí),該變量已有值,就是上次函數(shù)調(diào)用結(jié)束時(shí)的值。其中需要說明的是在定義局部變量不賦初值的話,則靜態(tài)局部變量編譯時(shí)自動(dòng)賦值為0或者空字符,雖然靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后仍然存在,但是其他函數(shù)不能引用它的。靜態(tài)局部變量主要用在當(dāng)初始化后,變量只是被引用而不改變其值。

            Register變量是C語言中允許將局部變量的值放在CPU中的寄存器中需要時(shí)直接從寄存器中取出來參加運(yùn)算,不必再到內(nèi)存中提取,但是計(jì)算機(jī)系統(tǒng)中寄存器數(shù)量有限,不能任意定義任意多的存儲(chǔ)器,局部靜態(tài)變量不能定義為寄存器變量。

            Extern聲明外部變量,用以擴(kuò)展外部變量的作用域。在一個(gè)文件中,如果定義之前的函數(shù)想引用該外部變量,則應(yīng)該在引用之前用關(guān)鍵字extern對(duì)該變量做外部變量聲明。在多文件中,也可以采用extern聲明的辦法進(jìn)行外部變量聲明。有時(shí)希望某些局部變量只限于被本文件引用,而不能被其他文件引用,這時(shí)就可以采用在定義外部變量時(shí)外加一個(gè)static,這在程序模塊化設(shè)計(jì)中加強(qiáng)了通用性。

            Static來聲明一個(gè)變量的作用有二個(gè),一個(gè)是在聲明對(duì)局部變量時(shí)。則為該變量分配的空間在整個(gè)程序執(zhí)行期間始終存在;一個(gè)是在對(duì)全局變量聲明中,該變量的作用域僅限于本文件模塊操作。

            C語言的基礎(chǔ)知識(shí)

            各種數(shù)據(jù)類型所占字節(jié)的大?。?/p>

            在32 位的系統(tǒng)上short 的內(nèi)存大小是2 個(gè)byte;

            int 的內(nèi)存大小是4 個(gè)byte;

            long 的內(nèi)存大小是4 個(gè)byte;

            float 的內(nèi)存大小是4 個(gè)byte;

            double 的內(nèi)存大小是8 個(gè)byte;

            char 的內(nèi)存大小是1 個(gè)byte

            C基本語法:

            1.輸入輸出函數(shù)

            printf(格式控制字符串,輸出列表) //格式控制字符串可由格式字符串(以%開頭)和非格式字符串(原樣輸出)組成.

            scanf(格式控制字符串,地址表列)

            put) //字符數(shù)據(jù)的輸出 等同與 printf(%c,.) 位于中

            get) //從鍵盤輸入中讀取一個(gè)字符。scanf(%c,&mchar)

            2.邏輯運(yùn)算

            !(非) ,&&(與), ||(或)

            3.二維數(shù)組

            定義: 類型說明符 數(shù)組名[常量表達(dá)式1][常量表達(dá)式2]

            注:a.存儲(chǔ)器單元是一維線性排列的。是按行存放的。

            b.對(duì)于全部元素賦初值,則數(shù)組第一維的長度可以省略,但是第二維不能省。如:int a[][3]= {1,2,3,4,5,6}

            c.可以只對(duì)部分元素賦初值,沒賦初值的'元素自動(dòng)取0值。

            d.一個(gè)二維數(shù)組可以分解為一個(gè)多個(gè)一維數(shù)組。例:a[3][4]可分解為三個(gè)一維數(shù)組,其數(shù)組名分別為a[0],a[1],a[2],而這個(gè)

            一維數(shù)組都有4個(gè)元素。如一維數(shù)組a[0]有元素為:a[0][0],a[0][1],a[0][2],a[0][3]

            4.字符數(shù)組

            c中沒有字符串?dāng)?shù)據(jù)類型,是用字符數(shù)組來表示字符串變量的。字符串總是以'\0'作為串結(jié)束符,所以,字符串就是一種以‘\0’結(jié)束的字符數(shù)組。

            注:在求字符串長度時(shí),不包含結(jié)束符'\0'。但是sizeof卻要包含。如:

            char c[]="string";

            char c1[]={'s','t','r','i','n','g','\0','\0'};

            printf("%d ",sizeof(c)); // 7 ,默認(rèn)在string后加'\0'

            printf("%d ",sizeof(c1)); //8,對(duì)于字符數(shù)組只能自己加結(jié)束符

            printf("%d ",strlen(c)); //6 求字符串長度時(shí),不包含結(jié)束符'\0'

            printf("%d ",strlen(c1)); //6 求字符串長度時(shí),不包含結(jié)束符'\0'

            常用的字符串處理函數(shù)(在stdio.h中與string.h中):

            puts(字符數(shù)組名)---把字符數(shù)組中的字符串輸出到顯示器。

            gets(字符串?dāng)?shù)組名)--從輸入設(shè)備得到字符串。

            strcat(字符數(shù)組名1,字符數(shù)組名2)--把字符數(shù)組中2中的字符串連接到字符數(shù)組1中字符串的后面,并刪除字符串1后的串標(biāo)志"\0";

            strcpy(字符數(shù)組名1,字符數(shù)組名2)--把字符數(shù)組2中的字符串復(fù)制到字符數(shù)組1中,串結(jié)束標(biāo)識(shí)'\0'也一同復(fù)制。

            strcmp(字符數(shù)組名1,字符數(shù)組名2)--按照ASCII碼順序比較兩個(gè)數(shù)組中的字符串,并由函數(shù)返回比較結(jié)果。

            strlen(字符數(shù)組名)---返回字符實(shí)際長度(不含字符'\0')

            5.指針與一維數(shù)組

            注:c語言中規(guī)定,數(shù)組名代表第一個(gè)元素的地址,是指針常量。數(shù)組a的首地址可用&a[0]表示,或a表示。

            對(duì)于如:int a[10],*p;

            p=a;或 p =&a[0];

            或定義為:int a[10];

            int *p = a;

            小結(jié):指針與一維數(shù)組的關(guān)系

            &a[i],&p[i],a+i,p+i 表示數(shù)組元素a[i]的地址

            a[i],*(a+i),*(p+i),p[i] 表示元素a[i]的內(nèi)容。

            p++,p-- 表示使p后移或前移一個(gè)元素的存儲(chǔ)空間

            *p++,*p-- 表示先取p所指對(duì)象*p,然后使p后移或前移一個(gè)元素的存儲(chǔ)空間。

            (*p)++,(*p)-- 使p所指對(duì)象的值加1或減1.相當(dāng)于:*p = *p + 1;

            *++p;*--p; 取指針變量p加1或減1后的內(nèi)容。相當(dāng)于:*(++p),*(--p);

            ++*p,--*p; 使p所指向的變量的內(nèi)容加1或減1

            6.動(dòng)態(tài)申請(qǐng)存儲(chǔ)空間

            內(nèi)存申請(qǐng)庫函數(shù): void *malloc(size); 例: int *p = (int *) malloc(10 * sizeof(int));

            內(nèi)存釋放庫函數(shù): void free(p); free(p);

            7.文件包含

            一個(gè)源程序通過#include命令把另外一個(gè)源文件的全部內(nèi)容嵌入到源程序中來。在編譯時(shí)并不是作為兩個(gè)文件連接,而是作為一個(gè)源程序編譯,得到一個(gè)目標(biāo)文件。

            格式:#include "文件名"

            注:#include "file.h" 首先在使用包含文件的源文件所的目錄查找file.h文件,若沒有找到指定的文件,再到系統(tǒng)指定的標(biāo)準(zhǔn)目錄查找。

            #include 僅在編譯系統(tǒng)指定的標(biāo)準(zhǔn)目錄查找文件file.h.

            8.二維數(shù)組和指針

            二維數(shù)組中的行、圾元素的地址

            a、&a[0] 二維數(shù)組首行(第0行)的首地址。

            a[0]、*(a+0)、*a 0行0列元素地址

            a+1 1行首地址

            a[1],*(a+1) 1行0列元素地址。

            a[i]+j、*(a+i)+j 、&a[i][j] 第i行第j列的首地址

            *(a[i]+j)、*(*(a+i)+j)、a[i][j] 第i行第j列元素值

            c語言入門基礎(chǔ)知識(shí)

            數(shù)據(jù)類型----C的數(shù)據(jù)類型包括:整型、字符型、實(shí)型或浮點(diǎn)型、枚舉類型、數(shù)組類型、結(jié)構(gòu)體類型、共用體類型、指針類型和空類型。

            常量與變量----常量其值不可改變,符號(hào)常量名通常用大寫。變量是以某標(biāo)識(shí)符為名字,其值可以改變的量。變量在編譯時(shí)為其分配相應(yīng)存儲(chǔ)單元。

            數(shù)組----C++語言代碼如果一個(gè)變量名后面跟著一個(gè)有數(shù)字的中括號(hào),這個(gè)聲明就是數(shù)組聲明。字符串也是一種數(shù)組。

            指針----如果一個(gè)變量聲明時(shí)在前面使用 * 號(hào),表明這是個(gè)指針型變量。換句話說,該變量存儲(chǔ)一個(gè)地址,指針不僅可以是變量的.地址,還可以是數(shù)組、數(shù)組元素、函數(shù)的地址。

            字符串----C語言的字符串其實(shí)就是char型數(shù)組,使用字符型并不需要引用庫,但是使用字符串就就需要C標(biāo)準(zhǔn)庫里面的一些用于對(duì)字符串進(jìn)行操作的函數(shù)。它們不同于字符數(shù)組。

            文件輸入/輸出----在C語言中,輸入和輸出是經(jīng)由標(biāo)準(zhǔn)庫中的一組函數(shù)來實(shí)現(xiàn)的。標(biāo)準(zhǔn)輸入/輸出有三個(gè)標(biāo)準(zhǔn)輸入/輸出是標(biāo)準(zhǔn)I/O庫預(yù)先定義的:stdin標(biāo)準(zhǔn)輸入、stdout標(biāo)準(zhǔn)輸出、stderr輸入輸出錯(cuò)誤。

            運(yùn)算----C語言的運(yùn)算非常靈活,功能十分豐富,運(yùn)算種類遠(yuǎn)多于其它程序設(shè)計(jì)語言。

            關(guān)鍵字----又稱為保留字,就是已被C語言本身使用,不能作其它用途使用的字。例如關(guān)鍵字不能用作變量名、函數(shù)名等標(biāo)識(shí)符。由ANSI標(biāo)準(zhǔn)定義的C語言關(guān)鍵字共32個(gè):

            auto double int struct break else long switch

            case enum register typedef char extern return union

            const float short unsigned continue for signed void

            default goto sizeof volatile do if while static inline

            restrict _Bool _Complex _Imaginary _Generic

              為你推薦