首頁(yè) - 網(wǎng)校 - 萬(wàn)題庫(kù) - 美好明天 - 直播 - 導(dǎo)航
您現(xiàn)在的位置: 考試吧 > 自學(xué)考試 > 復(fù)習(xí)指導(dǎo) > 工學(xué)類 > 正文

2017年自學(xué)考試《C語(yǔ)言程序設(shè)計(jì)》復(fù)習(xí)資料二

來(lái)源:考試吧 2017-8-24 16:27:30 要考試,上考試吧! 自考萬(wàn)題庫(kù)
考試吧整理“2017年自學(xué)考試《C語(yǔ)言程序設(shè)計(jì)》復(fù)習(xí)資料二”,更多關(guān)于自學(xué)考試知識(shí)點(diǎn)、自考復(fù)習(xí)資料,請(qǐng)及時(shí)關(guān)注考試吧自考網(wǎng)或微信搜索“萬(wàn)題庫(kù)自考”獲取!

掃描/長(zhǎng)按下面二維碼
獲取自考備考指導(dǎo)

掃描/長(zhǎng)按下面二維碼
免費(fèi)做題、免費(fèi)學(xué)直播課

考試吧提醒:下載自考萬(wàn)題庫(kù),立即進(jìn)入刷題模式>>

  函數(shù)

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

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

  { 說(shuō)明部分;

  語(yǔ)句;}

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

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

  形式參數(shù)說(shuō)明

  { 說(shuō)明部分;

  語(yǔ)句;}

  注:類型標(biāo)識(shí)符指定函數(shù)返回值的類型,無(wú)類型標(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è)語(yǔ)句,完成某種操作,無(wú)需返回值,

  如:printstr();

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

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

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

 、谑褂脦(kù)函數(shù),一般在文件開(kāi)頭用 #include命令將有關(guān)函數(shù)信息包含進(jìn)來(lái)。

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

  函數(shù)的嵌套調(diào)用:C語(yǔ)言中不能嵌套定義函數(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í)符來(lái)代表一個(gè)字符串。

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

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

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

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

  形式:#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);

  }

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

  4. 指針和數(shù)組

  數(shù)組的指針是指數(shù)組的起始地址,任何能用數(shù)組下標(biāo)完成的操作都能由指針來(lái)完成。通過(guò)指針引用數(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)傅刂烽_(kāi)始直到字符串結(jié)束標(biāo)記(‘\0’)為止。

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

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

  指針數(shù)組定義形式:類型標(biāo)識(shí)符 數(shù)組名[長(zhǎng)度說(shuō)明]如: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)制位按位取反。

掃描/長(zhǎng)按二維碼即可幫助自考通關(guān)
獲取2017自考最新資訊
獲取最后6套預(yù)測(cè)卷
免費(fèi)獲取8次直播課程
獲取歷年考試真題試卷

自考萬(wàn)題庫(kù)手機(jī)題庫(kù)下載微信搜索"萬(wàn)題庫(kù)自考"

萬(wàn)題庫(kù)自考3群:570246985 自學(xué)考試學(xué)習(xí)交流QQ群

  相關(guān)鏈接:

  自考萬(wàn)題庫(kù):2017年自學(xué)考試每日一練大匯總

  2017年自學(xué)考試特點(diǎn)分析、課程特點(diǎn)及復(fù)習(xí)技巧最新文章

  2017年自學(xué)考試應(yīng)試:各種題型及答題技巧

  2017年自學(xué)考試沖刺技巧:調(diào)整好心態(tài)不怯場(chǎng)

  考試吧策劃:歷年自考真題及答案在線估分專題熱點(diǎn)文章

  各地2017年自考大綱、教材目錄相關(guān)調(diào)整匯總

  2017自學(xué)考試如何選專業(yè)?如何報(bào)考?如何備考?

文章搜索
萬(wàn)題庫(kù)小程序
萬(wàn)題庫(kù)小程序
·章節(jié)視頻 ·章節(jié)練習(xí)
·免費(fèi)真題 ·模考試題
微信掃碼,立即獲取!
掃碼免費(fèi)使用
大學(xué)語(yǔ)文
共計(jì)461課時(shí)
講義已上傳
18020人在學(xué)
管理系統(tǒng)中計(jì)算機(jī)應(yīng)用
共計(jì)21課時(shí)
講義已上傳
7218人在學(xué)
政治經(jīng)濟(jì)學(xué)(財(cái)經(jīng)類)
共計(jì)738課時(shí)
講義已上傳
87485人在學(xué)
經(jīng)濟(jì)法概論(財(cái)經(jīng)類)
共計(jì)21課時(shí)
講義已上傳
989人在學(xué)
毛概
共計(jì)269課時(shí)
講義已上傳
16493人在學(xué)
推薦使用萬(wàn)題庫(kù)APP學(xué)習(xí)
掃一掃,下載萬(wàn)題庫(kù)
手機(jī)學(xué)習(xí),復(fù)習(xí)效率提升50%!
版權(quán)聲明:如果自學(xué)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本自學(xué)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
官方
微信
掃描關(guān)注自考微信
領(lǐng)《大數(shù)據(jù)寶典》
報(bào)名
查分
掃描二維碼
關(guān)注自考報(bào)名查分
看直播 下載
APP
下載萬(wàn)題庫(kù)
領(lǐng)精選6套卷
萬(wàn)題庫(kù)
微信小程序
幫助
中心
文章責(zé)編:chenruoqian