您當(dāng)前的位置: 湖南自考網(wǎng) > 復(fù)習(xí)資料 > 工學(xué)類 > 文章詳情

04737《C語言程序設(shè)計(jì)》自考資料二

2019-02-10 09:55:00
來源:湖南自考生網(wǎng)

       現(xiàn)在很多同學(xué)想把學(xué)歷提上去,然后報(bào)了湖南自考本科之后,發(fā)現(xiàn)沒有自考資料進(jìn)行復(fù)習(xí),所以湖南自考生網(wǎng)為大家收集了“04737《C語言程序設(shè)計(jì)》自考資料二”,希望能夠幫助大家。

        函數(shù)

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

        無參數(shù)函數(shù): 類型標(biāo)識(shí)符 函數(shù)名()

        { 說明部分;

        語句;}

        注:無返回值,可不寫類型標(biāo)識(shí)符。

        有參數(shù)函數(shù):類型標(biāo)識(shí)符 函數(shù)名(形式參數(shù)列表)

        形式參數(shù)說明

        { 說明部分;

        語句;}

        注:類型標(biāo)識(shí)符指定函數(shù)返回值的類型,無類型標(biāo)識(shí)符時(shí)默認(rèn)為整型數(shù)。

        空 函 數(shù):類型標(biāo)識(shí)符函數(shù)名()

        { }

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

        一般調(diào)用形式:函數(shù)名(實(shí)際參數(shù)列表)

        函數(shù)調(diào)用方式:把函數(shù)調(diào)用作為一個(gè)語句,完成某種操作,無需返回值,

        如:printstr();

        函數(shù)出現(xiàn)在表達(dá)式中,要求有返回值參與運(yùn)算,如:c=2*max(a,b);

        函數(shù)調(diào)用作為另一個(gè)函數(shù)的實(shí)參,如:printf(“%d”,max(a,b));

        說明:①被調(diào)用函數(shù)必須存在。

        ②使用庫函數(shù),一般在文件開頭用 #include命令將有關(guān)函數(shù)信息包含進(jìn)來。

        ③自定義函數(shù)應(yīng)與主調(diào)函數(shù)在一個(gè)文件中,若自定義函數(shù)在主調(diào)函數(shù)后,主調(diào)函 數(shù)中應(yīng)加以說明。

        函數(shù)的嵌套調(diào)用:C語言中不能嵌套定義函數(shù),但可以嵌套調(diào)用函數(shù),即在一個(gè)函數(shù)中調(diào)用另一個(gè)函數(shù)。

        函數(shù)的遞歸調(diào)用:在一個(gè)函數(shù)中直接或間接調(diào)用該函數(shù)本身。

        3.函數(shù)的參數(shù)

        函數(shù)的參數(shù)可以是變量,也可以是數(shù)組元素、數(shù)組名或指針變量。

        4.內(nèi)部函數(shù)和外部函數(shù)、局部變量和全局變量、動(dòng)態(tài)存儲(chǔ)變量與靜態(tài)存儲(chǔ)變量。

        第九章 編譯預(yù)處理

        1.宏定義:用一個(gè)指定的標(biāo)識(shí)符來代表一個(gè)字符串。

        不帶參數(shù)的宏定義:#define 標(biāo)識(shí)符字符串

        帶參數(shù)的宏定義: #define 宏名(參數(shù)表) 字符串

        終止宏定義的作用域:#undef

        2.文件包含處理:一個(gè)源文件將另一個(gè)源文件包含進(jìn)來。

        形式:#include“文件名”

        3.條件編譯:對(duì)源程序中的一部分指定編譯條件。

        第十章 指針

        1.指針:是一個(gè)變量的地址,即分配給一個(gè)變量的內(nèi)存起始地址。

        指針變量:是存放指針(另一變量地址)的變量。

        指針變量的定義形式: 類型標(biāo)識(shí)符 *標(biāo)識(shí)符

        2.指針變量的引用

        例如:int x=5,y,z,a[]={1,2,3,4};

        int *px,*py;

        px=&x;py=a;

        *px=5;

        z=*px;

        3.指針與函數(shù)參數(shù)

        例:交換兩個(gè)變量?jī)?nèi)容的程序

        swap(int *px, int *py)

        { int temp;

        temp=*px;

        *px=*py;

        *py=temp;

        }

        main()

        { int a,b;

        scanf(“%d”,&a);scanf(“%d”.&b);

        printf(“a=%d\tb=%d\n”,a,b);

        swap(&a,&b);

        printf(“a=%d\tb=%d\n”,a,b);

        }

        通過地址(指針)實(shí)現(xiàn)被調(diào)用函數(shù)直接修改調(diào)用函數(shù)中變量的內(nèi)容。

        4. 指針和數(shù)組

        數(shù)組的指針是指數(shù)組的起始地址,任何能用數(shù)組下標(biāo)完成的操作都能由指針來完成。通過指針引用數(shù)組元素,例:若有int a[],*pa;pa=a;則:a[i]=*(pa+i)=*(a+i)

        5.多維數(shù)組的指針

        例:設(shè)有一個(gè)二維數(shù)組a[3][4],則:數(shù)組名a是數(shù)組的首地址,a+i與a[i]等價(jià),是第i行的首地址,a[i]+j表示第i行第j列的地址。

        若有:int *p=a;

        則:數(shù)組中任一元素地址可表示為*(p+i)+j,或?yàn)閜+i*m+j。(m列數(shù))

        指向由m個(gè)元素組成的一維數(shù)組的指針變量,例:int(*p)[m]

        6.字符串與指針

        例:若有:char *s;s="I am a string" 表示s指向字符串的首地址,s+i表示第i個(gè)字符的地址。輸出時(shí)從指針?biāo)傅刂烽_始直到字符串結(jié)束標(biāo)記(‘\0’)為止。

        7.指針數(shù)組和多級(jí)指針

        凡是可以用多維數(shù)組處理的問題,都可以用指針數(shù)組來解決,但兩者有所區(qū)別。

        指針數(shù)組定義形式:類型標(biāo)識(shí)符 數(shù)組名[長(zhǎng)度說明]如:int *p[4];

        指針數(shù)組的初始化:允許在定義時(shí)初始化,

        如:static char *a[]={"ab","cde","fghi"};

        指針數(shù)組的引用:a+i表示第i個(gè)字符串。

        多級(jí)指針定義形式:類型標(biāo)識(shí)符 **指針變量名; 如:char **p;

        多級(jí)指針的初始化:p=a;

        多級(jí)指針的引用:p+i表示第i個(gè)字符串,p++表示下一個(gè)字符串,*(p+i)+j表示第i個(gè)字符串中第j個(gè)字符的地址。

        8.函數(shù)的指針

        定義形式:數(shù)據(jù)類型標(biāo)識(shí)符 (*指針變量名)(); 如:int (*f)();

        初 始 化:int max(x,y);f=max;

        用指針變量調(diào)用函數(shù):c=(*f)(a,b);

        9.返回指針值的函數(shù)

        定義形式:類型標(biāo)識(shí)符函數(shù)名(形參列表); 如:int *a(x,y);

        10.指針數(shù)組

        指針數(shù)組的元素均為指針類型數(shù)據(jù)。

        定義形式:類型標(biāo)識(shí)符 *數(shù)組名[數(shù)組長(zhǎng)度]; 如:int *p[4];

        11.指向指針的指針

        定義形式:類型標(biāo)識(shí)符 **標(biāo)識(shí)符; 如:char **p;

        12、有關(guān)指針的數(shù)據(jù)類型

        變量int iint *pint **p

        數(shù)組int a[n]int (*p)[n]int *p[n]

        函數(shù)int f()int (*p)()int *p()

        第十一章 結(jié)構(gòu)體

        結(jié)構(gòu)體是一種類型,是包含若干個(gè)類型不同的數(shù)據(jù)項(xiàng)組成的組合體。

        1、定義結(jié)構(gòu)體類型

        struct 結(jié)構(gòu)體名

        { 成員表列 };

        2、定義結(jié)構(gòu)體類型的變量的三種方法

        (1) 先聲明結(jié)構(gòu)體類型再定義變量名

        例:struct student{ 成員表列 };

        struct student student1,student2;

        (2) 聲明結(jié)構(gòu)體類型的同時(shí)定義變量名

        struct 結(jié)構(gòu)體名

        {

        成員表列

        }變量名表列;

        (3) 直接定義結(jié)構(gòu)體類型變量

        struct

        {

        成員表列

        }變量名表列;

        3、結(jié)構(gòu)體變量的引用及初始化

        不能將結(jié)構(gòu)體變量作為一個(gè)整體進(jìn)行輸入和輸出,只能對(duì)結(jié)構(gòu)體變量中的各個(gè)成員分別進(jìn)行輸入和輸出。引用結(jié)構(gòu)體變量中各個(gè)成員的方式:結(jié)構(gòu)體變量名.成員名

        結(jié)構(gòu)體變量可以在定義時(shí)指定初始值,也可以先定義,而后給每個(gè)成員賦值。

        4、結(jié)構(gòu)體數(shù)組

        結(jié)構(gòu)體數(shù)組中每個(gè)元素都是同一個(gè)結(jié)構(gòu)體類型的數(shù)據(jù),它們都分別包括各個(gè)成員項(xiàng)。

        例:定義struct student stu[3];

        5、指針與結(jié)構(gòu)體

        一個(gè)結(jié)構(gòu)體類型的指針是所指結(jié)構(gòu)體變量所占內(nèi)存的起始地址。

        若有:struct student stu,*p;p=stu;

        以下三種形式等價(jià): stu.成員名 等價(jià)于 (*p).成員名 等價(jià)于 p->成員名

        6、用指針處理鏈表

        (1) 建立鏈表的函數(shù):p.297 例11.8

        struct student *creat( )

        { struct student *head, *p1, *p2;

        int i, len;

        len=sizeof(struct student);

        for(i=1; i<=N; i++)

        { p1=(struct student *)malloc(len);

        printf("Enter num,score:");

        scanf("%ld,%f", &p1->num, &p1->score);

        if(i==1) head=p2=p1;

        else { p2->next=p1; p2=p1; }

        if(i==N) p2->next=NULL;

        }

        return(head); /*返回鏈表頭指針*/

        }

        (2) 輸出鏈表的函數(shù):p.300 例11.9

        void plink(struct student *head) /*更具通用性*/

        { struct student *p;

        p=head;

        while(p!=NULL)

        { printf("num=%ld, score=%5.2f\n",

        p->num, p->score);

        p=p->next;

        }

        return;

        }

        (3) 對(duì)鏈表的刪除操作:p.301 例11.10

        struct student *del(struct student *head, long n)

        { struct student *p1, *p2; /*↑n:要?jiǎng)h除學(xué)號(hào)*/

        p1=head;

        if(p1->num==n) head=p1->next; /*刪除首節(jié)點(diǎn)*/

        else

        { do { p2=p1; p1=p1->next;

        }

        while(p1!=NULL && p1->num!=n);

        if(p1->num==n) p2->next=p1->next; /*找到*/

        else printf("Not be found!\n"); /*未找到*/

        }

        free(p1); /*釋放被刪除節(jié)點(diǎn)的存儲(chǔ)區(qū)*/

        return(head); /*返回頭指針*/

        }

        (4) 對(duì)鏈表的插入操作:p.303 例11.11

        第十二章 位運(yùn)算

        1、 按位“與”運(yùn)算符(&):參與運(yùn)算的兩個(gè)數(shù)據(jù),按二進(jìn)制位進(jìn)行“與”的運(yùn)算。

        2、 按位“或”運(yùn)算符(|):參與運(yùn)算的兩個(gè)數(shù)據(jù),按二進(jìn)制位進(jìn)行“或”的運(yùn)算。

        3、 按位“異或”運(yùn)算符(^):參與運(yùn)算的兩個(gè)二進(jìn)制位同號(hào)為0(假),異號(hào)為1(真)。

        4、 “取反”運(yùn)算符(~):對(duì)二進(jìn)制位按位取反。

        以上是湖南自考生網(wǎng)為大家?guī)淼淖钥紡?fù)習(xí)資料“04737《C語言程序設(shè)計(jì)》自考資料二”,希望能對(duì)大家考試有所幫助。

湖南學(xué)歷提升報(bào)名熱線:
蔣老師QQ咨詢 QQ咨詢

TEL:蔣老師17773102705

2024年自考、成考、網(wǎng)教報(bào)名進(jìn)行中,點(diǎn)擊立即報(bào)考咨詢>>

掃一掃下方二維碼關(guān)注湖南自考生網(wǎng)微信公眾號(hào)、客服咨詢號(hào),即時(shí)獲取湖南自考、成考、網(wǎng)教最新考試資訊。

  • 湖南自考官方公眾號(hào)

    關(guān)注公眾號(hào)免費(fèi)拿資料

  • 微信掃一掃咨詢

  • 微信掃一掃咨詢

相關(guān)推薦
免責(zé)聲明

1、鑒于各方面資訊時(shí)常調(diào)整與變化,本網(wǎng)所提供的信息僅供參考,實(shí)際以考試院通知文件為準(zhǔn)。

2、本網(wǎng)部分內(nèi)容來源于網(wǎng)絡(luò),如有內(nèi)容、版權(quán)等問題請(qǐng)與本網(wǎng)聯(lián)系,我們將會(huì)及時(shí)處理。聯(lián)系方式 :QQ(393848300)

3、如轉(zhuǎn)載湖南自考生網(wǎng)聲明為“原創(chuàng)”的內(nèi)容,請(qǐng)注明出處及網(wǎng)址鏈接,違者必究!

簡(jiǎn)單幾步,測(cè)測(cè)你多久畢業(yè)
市區(qū)導(dǎo)航: 長(zhǎng)沙市自考  |   株洲市自考  |   湘潭市自考  |   衡陽市自考  |   邵陽市自考  |   岳陽市自考  |   常德市自考  |   張家界自考  |   益陽市自考  |   郴州市自考  |   永州市自考  |   懷化市自考  |   婁底市自考  |   湘西州自考  |  

特別聲明:本站信息大部分來源于各高校,真實(shí)可靠!部分內(nèi)容來自互聯(lián)網(wǎng),僅供參考!所有信息以實(shí)際政策和官方公告為準(zhǔn)!

湖南求實(shí)創(chuàng)新教育科技有限公司 版權(quán)所有 湘ICP備18023047號(hào)-2