freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計算機(jī)本科c語言第十章講(參考版)

2025-01-21 20:18本頁面
  

【正文】 p=max。} main( ) {int x,y。 else x=b。 這三個語句作用是一樣的 例 1: int max(int a,int b) {int x。 f1(3)。 f2 fun2() f3=fun3。 f1=fun1。 void (*f2)( )。 float fun3(float k)。 int fun1(int n)。 由于函數(shù)名表示該函數(shù)的入口地址,因此可以通過函數(shù)名賦給函數(shù)指針的方法,使函數(shù)指針指向某個函數(shù)。 /*定義一個函數(shù)指針 f1,它所指向的函數(shù)具有一個整型參數(shù),返回類型整型 */ void (*f2)( )。 } 運行結(jié)果為: The sixth character is e I love China! 10. 5 函數(shù)的指針和指向函數(shù)的指針變量 重點:函數(shù)指針的概念及指向函數(shù)的指針變量 用指向函數(shù)的指針變量作函數(shù)參數(shù) 一、函數(shù)的指針及指向函數(shù)的指針變量 函數(shù)指針的概念 一個函數(shù)在編譯時被分配一個入口地址, 這個入口地址 稱為 函數(shù)的指針,函數(shù)名代表函數(shù)的入口地址。\039。 for(i=0。 int i。 printf(%s,a)。 } 而數(shù)組名代表數(shù)組的首地址 , 為地址常量 , 其值不能改變 main() { char a[]=I love China。 a=a+7。 為正確的。 a=str。 scanf(“%s”,a)。 scanf(“%s”,str)。 等價于: char *a= “I love China!”。 ( 2)字符指針變量賦值一般可賦初值,或先定義后賦值,如 char *a。 賦值方式不同 ( 1)對字符數(shù)組要么賦初值(即定義時賦值),要么 對元素賦值,下面的賦值方式是錯誤的: char str[14]。 } 三、字符指針變量與字符數(shù)組 雖二者均能實現(xiàn)對字符串的存儲和計算,但二者有區(qū)別,主要有以下幾點: 字符數(shù)組由元素組成,元素中放字符;字符指 針變量放地址(如字符串的首地址等); 賦初值的方式不同;對字符數(shù)組賦初值一般用 static 初始化 , 如 static char str[ ]=“I love China!”。 p2=to。 {char *p1,*p2。) 。 { for(。 { while(*to++=*from++) 。 *to=?\0?。 } 3) void copy_string(from,to) char *from,*to。} } 2) void copy_string(from,to) char *from,*to。 { while((*to=*from)!=?\0?) {to++。 printf(string b is: %s\n,b)。 copy_string(a,b)。 printf(string a is: %s\n,a)。 } main() { char *a=I am a teacher.”。 *to=39。*from!=39。 { int i=0。 printf(string b is: %s\n,b)。 copy_string(a,b)。 printf(string a is: %s\n,a)。\039。i++。\039。 {int i=0。 例 用函數(shù)調(diào)用實現(xiàn)字符串的復(fù)制。 } 二、字符串指針作函數(shù)參數(shù) 實參是 字符串 、 字符數(shù)組名 或 字符串指針 ,傳遞的是地址。 p2=b。\039。p1++,p2++) *p2=*p1。*p1!=39。 p2=b。 int i。 } 例 用指針變量來處理例 。 printf(string a is: %s\n,a)。 *(b+i)=39。\039。 for (i=0。 main() /*指針法 */ {char a[]=I am a boy.,b[20]。 請大家思考使 s數(shù)組元素得到值的 方法? 對字符串中字符的存取,可用下標(biāo)法,也可以用指針法 。 而字符數(shù)組不允許這樣: char s[20]。 printf(“%s”,string)。 string =“I love China !”。 } char *string=“I love China !”。 用字符指針 例 main() {char *string=“I love China !”。 } } 10. 4 字符串的指針和指向字符串的指針變量 重點:( 1)字符串指針的定義、 引用及作函數(shù)參數(shù); ( 2)字符串指針變量與 字符數(shù)組的區(qū)別。 if(*(*(p+i)+j)85) m++。j5。 sum=0。in。 int i,j,m。} printf(\n其平均分成績?yōu)椋?%f\n,sum/5)。j++) {printf(%f ,*(*(p+i)+j))。 for (j=0。 if (m=2) {printf(“有 2門以上不及格學(xué)生的學(xué)號 :%d\n,i+1)。j5。i++) {m=0。 /*m用來統(tǒng)計有 2門以上不及格 */ for (i=0。 } void found1(float (*p)[5],int n) { float sum=0。i++) /*求出第 0至 n1行第 0列的總和 */ sum+=*(*(p+i)+0)。 for (i=0。 } /*求第一門課的平均分 */ void average(float (*p)[5],int n) { int i。 found1(a,4)。 float a[4][5]={{90,32,78,12,80},{90,89,90,87,99},{89,87,67,76,56}, {76,87,30,65,70}}。 void found1(float (*p)[5],int n)。分別編 3個函數(shù)實現(xiàn)以上 3個要求。 } 課后 有一個班 4個同學(xué), 5個門。 printf(\n)。jN。iN。*min4=temp。 temp=*(*(p+4)+4)。amp。jN。iN。*min3=temp。 temp=*(*(p+4)+0)。amp。jN。iN。*min2=temp。 temp=*(*(p+0)+4)。amp。jN。iN。 /*把最小值放到 a[0][0]*/ min2=min3=min4=*(p+0)+1。*(*(p+0)+0)=*min1。*(*(p+2)+2)=temp。 temp=*max。j++) if(*(*(p+i)+j)*max) max=*(p+i)+j。i++) /* max 和 min1分別指向最大和最小元素 */ for(j=0。 /*先使兩個指針變量指向數(shù)組第一個元素的值 */ for (i=0。j++) scanf(%d,*(p+i)+j)。i++) /*給多維數(shù)組元素賦值 */ for(j=0。 for (i=0。 int temp。} } } 課后 將一個 5*5的矩陣中最大的元素放在中心, 4個角分別放 4個最小的元素,(順序為從左到右,從上到下順序依次從小到大存放),寫一函數(shù)實現(xiàn)之,用主函數(shù)調(diào)用。i++) printf(% ,*(*(p+j)+i))。 for (i=0。i++) /*查找某人的成績 */ if(*(*(p+j)+i)60) flag=1。 /*不及格標(biāo)志 */ for(i=0。jn。 {int i,j,flag。 /*實參用的是行指針 */ } void search(p,n) float (*p)[4]。 static float score[3][4]= {{65,57,70,60},{58,87,90,81},{90,99,100,98}}。 } 程序運行結(jié)果為: average= the score of are : 例 在上題的基礎(chǔ)上 , 查找有一門以上課程不及格的學(xué)生 , 打印出他們的全部課程的成績 。i++) /*通過循環(huán)輸出第 n行 4個元素 */ printf(%,*(*(p+n)+i))。 for (i=0。 {int i。 } void search(p,n)/*實參是多維數(shù)組名,形參用指向數(shù)組的指針 */ float (*p)[4]。 /*通過循環(huán)求出各元素之和 */ aver=sum/n。p=p_end。 p_end=p+n1。/*p指向第一個元素 */ { float *p_end。 /*實參是行指針 */ } void average(p,n)/*形參用指向元素的指針 */ float *p。 average(*score,12)。 scanf(“%d”,amp。 void search(float *[],int)。 ? 哪一個能實現(xiàn)正確賦值, 不正確的地方如何修改? (三)多維數(shù)組的指針作為函數(shù)參數(shù) 實參是指針; 形參有兩種形式: ( 1)用指向數(shù)組元素的指針變量 ( 2)用指向一維數(shù)組的指針變量 例 有一個班 , 3個學(xué)生 , 各 4門課程 , 計算總平 均分?jǐn)?shù)和查找第 n個學(xué)生的成績 。 p=s。 int s[3][4]={0}。j++) printf(“%d”,*(p+t)+j)。t++) for (j=0。 for (t=0。j4。t3。 p=a。 main() {static int a[3][4]。 putchar(?\n?)。pa[0]+12。p++) scanf(“%4d”, p)。 for (p=a[0]。 *p 表示第 0行第 0列的地址 *( p+1) 表示第 1行第 0列元素的地址 *( p+i) 表示第 i行第 0列元素的地址 所以, *( p+i) +j 表示第 i行第 j列元素的地址 ( 4)用 p表示數(shù)組元素 *( *( p+i) +j) 表示第 i行第 j列的元素 例 用指向多維數(shù)組元素的指針變量輸入并輸出二維數(shù)組各元素的值 include void main() {int a[3][4]。a[2] 則 p+1 指向第一行,與 a+1相同,表示第一行的首地址 p+i 表示第 i行的首地址 p ( 3) 用 p表示數(shù)組元素的地址 int a[3][4], (*p)[4]。a[1] p=a+2。a[0] p=a+1。 p=a。 請計算出元素 s[2][3]的地址為? a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] 指向一維數(shù)組的指針變量 變量的指針只能存放變量的地址,而不能存放數(shù)組的地址, 可定義 數(shù)組的指針變量 來存放數(shù)組的地址 。 } } 運行結(jié)果為: 1 3 5 7 9 11 13 15 17 19 21 23 a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] 第 i行、第
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1