国产精品一区二区x88av_日韩三级av高清片_亚洲日本久久_丝袜亚洲另类丝袜在线

浙江自考網

咨詢熱線

15700080354 (點擊在線咨詢)
您現在的位置:浙江自考網>復習資料 > 正文
自考攻略

2023年10月浙江自考《C語言程序設計》復習資料二

時間:2023-07-18 14:29:01 作者:儲老師

自考助學 【導語】以下自考復習資料均由浙江自考網整理并發布,想要了解更多關于浙江自考報名、考試、成績查詢、畢業、歷年真題、常見問答信息,請關注浙江自考網。

函數

1.函數定義的一般形式:

無參數函數: 類型標識符 函數名()

{ 說明部分;

語句;}

注:無返回值,可不寫類型標識符。

有參數函數:類型標識符 函數名(形式參數列表)

形式參數說明

{ 說明部分;

語句;}

注:類型標識符指定函數返回值的類型,無類型標識符時默認為整型數。

空 函 數:類型標識符函數名()

{ }

2.函數的調用

一般調用形式:函數名(實際參數列表)

函數調用方式:把函數調用作為一個語句,完成某種操作,無需返回值,

如:printstr();

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

函數調用作為另一個函數的實參,如:printf(“%d”,max(a,b));

說明:①被調用函數必須存在。

②使用庫函數,一般在文件開頭用 #include命令將有關函數信息包含進來。

③自定義函數應與主調函數在一個文件中,若自定義函數在主調函數后,主調函 數中應加以說明。

函數的嵌套調用:C語言中不能嵌套定義函數,但可以嵌套調用函數,即在一個函數中調用另一個函數。

函數的遞歸調用:在一個函數中直接或間接調用該函數本身。

3.函數的參數

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

4.內部函數和外部函數、局部變量和全局變量、動態存儲變量與靜態存儲變量。

第九章 編譯預處理

1.宏定義:用一個指定的標識符來代表一個字符串。

不帶參數的宏定義:#define 標識符字符串

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

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

2.文件包含處理:一個源文件將另一個源文件包含進來。

形式:#include“文件名”

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

第十章 指針

1.指針:是一個變量的地址,即分配給一個變量的內存起始地址。

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

指針變量的定義形式: 類型標識符 *標識符

2.指針變量的引用

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

int *px,*py;

px=x;py=a;

*px=5;

z=*px;

3.指針與函數參數

例:交換兩個變量內容的程序

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=%dtb=%dn”,a,b);

swap(a,b);

printf(“a=%dtb=%dn”,a,b);

}

通過地址(指針)實現被調用函數直接修改調用函數中變量的內容。

4. 指針和數組

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

5.多維數組的指針

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

若有:int *p=a;

則:數組中任一元素地址可表示為*(p+i)+j,或為p+i*m+j。(m列數)

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

6.字符串與指針

例:若有:char *s;s="I am a string" 表示s指向字符串的首地址,s+i表示第i個字符的地址。輸出時從指針所指地址開始直到字符串結束標記(‘0’)為止。

7.指針數組和多級指針

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

指針數組定義形式:類型標識符 數組名[長度說明]如:int *p[4];

指針數組的初始化:允許在定義時初始化,

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

指針數組的引用:a+i表示第i個字符串。

多級指針定義形式:類型標識符 **指針變量名; 如:char **p;

多級指針的初始化:p=a;

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

8.函數的指針

定義形式:數據類型標識符 (*指針變量名)(); 如:int (*f)();

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

用指針變量調用函數:c=(*f)(a,b);

9.返回指針值的函數

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

10.指針數組

指針數組的元素均為指針類型數據。

定義形式:類型標識符 *數組名[數組長度]; 如:int *p[4];

11.指向指針的指針

定義形式:類型標識符 **標識符; 如:char **p;

12、有關指針的數據類型

變量int iint *pint **p

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

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

第十一章 結構體

結構體是一種類型,是包含若干個類型不同的數據項組成的組合體。

1、定義結構體類型

struct 結構體名

{ 成員表列 };

2、定義結構體類型的變量的三種方法

(1) 先聲明結構體類型再定義變量名

例:struct student{ 成員表列 };

struct student student1,student2;

(2) 聲明結構體類型的同時定義變量名

struct 結構體名

{

成員表列

}變量名表列;

(3) 直接定義結構體類型變量

struct

{

成員表列

}變量名表列;

3、結構體變量的引用及初始化

不能將結構體變量作為一個整體進行輸入和輸出,只能對結構體變量中的各個成員分別進行輸入和輸出。引用結構體變量中各個成員的方式:結構體變量名.成員名

結構體變量可以在定義時指定初始值,也可以先定義,而后給每個成員賦值。

4、結構體數組

結構體數組中每個元素都是同一個結構體類型的數據,它們都分別包括各個成員項。

例:定義struct student stu[3];

5、指針與結構體

一個結構體類型的指針是所指結構體變量所占內存的起始地址。

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

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

6、用指針處理鏈表

(1) 建立鏈表的函數: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) 輸出鏈表的函數:p.300 例11.9

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

{ struct student *p;

p=head;

while(p!=NULL)

{ printf("num=%ld, score=%5.2fn",

p->num, p->score);

p=p->next;

}

return;

}

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

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

{ struct student *p1, *p2; /*↑n:要刪除學號*/

p1=head;

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

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); /*釋放被刪除節點的存儲區*/

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

}

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

第十二章 位運算

1、 按位“與”運算符():參與運算的兩個數據,按二進制位進行“與”的運算。

2、 按位“或”運算符(|):參與運算的兩個數據,按二進制位進行“或”的運算。

3、 按位“異或”運算符(^):參與運算的兩個二進制位同號為0(假),異號為1(真)。

4、 “取反”運算符(~):對二進制位按位取反。

聲明:

(一)由于考試政策等各方面情況的不斷調整與變化,本網站所提供的考試信息僅供參考,請以權威部門公布的正式信息為準。

(二)本網站在文章內容來源出處標注為其他平臺的稿件均為轉載稿,免費轉載出于非商業性學習目的,版權歸原作者所有。如您對內容、版權等問題存在異議請與本站聯系,我們會及時進行處理解決。

報名提醒

【考試時間:10月25-26日】

浙江自考服務中心

  • 微信公眾號
  • 考生交流群
  • 微信公眾號 掃一掃加關注微信公眾號

    與考生自由互動、并且能直接與專業老師進行交流解答。

  • 考生交流群 掃一掃加入微信交流群

    與考生自由互動、并且能直接與專業老師進行交流解答。

主站蜘蛛池模板: 翼城县| 定结县| 西乡县| 辽源市| 砀山县| 辰溪县| 呈贡县| 唐海县| 陆良县| 白银市| 孝昌县| 巴中市| 田东县| 竹溪县| 松溪县| 西安市| 鹤岗市| 昭苏县| 炎陵县| 高碑店市| 通化县| 高唐县| 邳州市| 中阳县| 泾川县| 新化县| 东城区| 攀枝花市| 南安市| 大竹县| 盘山县| 赤水市| 德庆县| 永丰县| 武山县| 卫辉市| 阳江市| 宣武区| 馆陶县| 梅河口市| 闽侯县|

關注公眾號

回復“免費資料”領取復習資料

微信公眾號

微信公眾號

微信公眾號

微信交流群

<<點擊收起

在線咨詢

在線咨詢

APP

APP
下載

man
聯系
微信
wxlogo
掃描
二維碼
反饋建議
反饋
建議
回到頂部
回到
頂部
app
微信客服
 微信公眾號