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

正文內(nèi)容

工學(xué)]計算機本科c語言第十章講-資料下載頁

2025-01-18 17:35本頁面
  

【正文】 i。 float sum=0。 for (i=0。in。i++) /*求出第 0至 n1行第 0列的總和 */ sum+=*(*(p+i)+0)。 printf(第一門課的平均分是 %f\n,sum/n)。 } void found1(float (*p)[5],int n) { float sum=0。 int i,j,m。 /*m用來統(tǒng)計有 2門以上不及格 */ for (i=0。in。i++) {m=0。 for (j=0。j5。j++) if (*(*(p+i)+j)60) m++。 if (m=2) {printf(“有 2門以上不及格學(xué)生的學(xué)號 :%d\n,i+1)。 printf(其成績?yōu)椋?)。 for (j=0。j5。j++) {printf(%f ,*(*(p+i)+j))。sum+=*(*(p+i)+j)。} printf(\n其平均分成績?yōu)椋?%f\n,sum/5)。} } } /*找平均分在 90分以上或全部課程在 85分以上的學(xué)生 */ void found2(float (*p)[5],int n) { float sum。 int i,j,m。 /*m用來求每個同學(xué)課程大于 85分的個數(shù) */ for (i=0。in。i++) { m=0。 sum=0。 for (j=0。j5。j++) {sum+=(*(*(p+i)+j))。 if(*(*(p+i)+j)85) m++。} if((m==5)||(sum/5=90)) printf(學(xué)號是: %d\n,i+1)。 } } 10. 4 字符串的指針和指向字符串的指針變量 重點:( 1)字符串指針的定義、 引用及作函數(shù)參數(shù); ( 2)字符串指針變量與 字符數(shù)組的區(qū)別。 一、字符串的表示形式 用字符數(shù)組 如: char a[ 10]=“CHINA”。 用字符指針 例 main() {char *string=“I love China !”。 printf(“%s\n”,string)。 } char *string=“I love China !”。 等價于下面兩行: char *string。 string =“I love China !”。 在程序中定義了一個字符指針變量 string ,用字符串“ I love China !”對它初始化, 對字符指針變量的初始化實際上是把字符串第一個元素的地址賦給 string。 printf(“%s”,string)。 在輸出時,系統(tǒng)先輸出 string所指向的第一個字符數(shù)據(jù),然后使 string自動加 1,使之指向下一個字符,然后輸出 …… 直至遇到字符串結(jié)束標(biāo)志。 而字符數(shù)組不允許這樣: char s[20]。 s=“I love China !”。 請大家思考使 s數(shù)組元素得到值的 方法? 對字符串中字符的存取,可用下標(biāo)法,也可以用指針法 。 例 將字符串 a復(fù)制到字符串 b。 main() /*指針法 */ {char a[]=I am a boy.,b[20]。 int i。 for (i=0。*(a+i)!=39。\039。i++) *(b+i)=*(a+i)。 *(b+i)=39。\039。 printf(string a is: %s\n,a)。 printf(string b is: %s\n,b)。 } 例 用指針變量來處理例 。 main() /*通過指針變量來處理 */ {char a[]=I am a boy.,b[20],*p1,*p2。 int i。 p1=a。 p2=b。 for (。*p1!=39。\039。p1++,p2++) *p2=*p1。 *p2=39。\039。 p1=a。 p2=b。 printf(“%s\n%s\n”,p1,p2)。 } 二、字符串指針作函數(shù)參數(shù) 實參是 字符串 、 字符數(shù)組名 或 字符串指針 ,傳遞的是地址。在被調(diào)函數(shù)中改變后,可在主調(diào)函數(shù)中得到改變后的字符串。 例 用函數(shù)調(diào)用實現(xiàn)字符串的復(fù)制。 ( 1)用字符數(shù)組名作參數(shù) void copy_string(from,to) char from[],to[]。 {int i=0。 while(from[i]!=39。\039。) {to[i]=from[i]。i++。} to[i]=39。\039。 } main() {char a[]=I am a teacher.,b[]=you are student.。 printf(string a is: %s\n,a)。 printf(string b is: %s\n,b)。 copy_string(a,b)。 printf(string a is: %s\n,a)。 printf(string b is: %s\n,b)。 } ( 2)形參和實參分別用字符指針變量 void copy_string(from,to) char *from,*to。 { int i=0。 for(。*from!=39。\0’,from++,to++) *to=*from。 *to=39。\039。 } main() { char *a=I am a teacher.”。 char *b=you are a student.。 printf(string a is: %s\n,a)。 printf(string b is: %s\n,b)。 copy_string(a,b)。 printf(string a is: %s\n,a)。 printf(string b is: %s\n,b)。} ( 3)函數(shù)體 的幾種簡化形式 1) void copy_string(from,to) char *from,*to。 { while((*to=*from)!=?\0?) {to++。from++。} } 2) void copy_string(from,to) char *from,*to。 { while((*to++=*from++)!=?\0?) 。 } 3) void copy_string(from,to) char *from,*to。 { while(*from!=?\0?) *to++=*from++。 *to=?\0?。 } 4) void copy_string(from,to) char *from,*to。 { while(*to++=*from++) 。 } 5) void copy_string(from,to) char *from,*to。 { for(。( *to++=*from++) !=?\0?。) 。 } 6) 用字符數(shù)組 void copy_string(from,to) char from[ ],to[ ]。 {char *p1,*p2。 p1=from。 p2=to。 while((*p2++=*p1++)!=?\0?)。 } 三、字符指針變量與字符數(shù)組 雖二者均能實現(xiàn)對字符串的存儲和計算,但二者有區(qū)別,主要有以下幾點: 字符數(shù)組由元素組成,元素中放字符;字符指 針變量放地址(如字符串的首地址等); 賦初值的方式不同;對字符數(shù)組賦初值一般用 static 初始化 , 如 static char str[ ]=“I love China!”。 而字符指針變量賦初值一般不用 static,如: char *p=“I love China!”。 賦值方式不同 ( 1)對字符數(shù)組要么賦初值(即定義時賦值),要么 對元素賦值,下面的賦值方式是錯誤的: char str[14]。 str=“I love China!”。 ( 2)字符指針變量賦值一般可賦初值,或先定義后賦值,如 char *a。 a= “I love China!”。 等價于: char *a= “I love China!”。 定義字符數(shù)組時,編譯后便分配了存儲單元,但 存儲單元的值為空; 如: char str[10]。 scanf(“%s”,str)。 為正確, 但 char *a。 scanf(“%s”,a)。 為錯誤的, 而 char *a, str[10]。 a=str。 scanf(“%s”,a)。 為正確的。 字符指針變量的值可改變; 例 main() { char *a=I love China。 a=a+7。 printf(%s,a)。 } 而數(shù)組名代表數(shù)組的首地址 , 為地址常量 , 其值不能改變 main() { char a[]=I love China。 a=a+7。 printf(%s,a)。 } 字符指針也可用下標(biāo)法來表示: 例 main() { char *a=I love China!。 int i。 printf(The sixth character is %c\n,a[5])。 for(i=0。a[i]!=39。\039。i++) printf(%c,a[i])。 } 運行結(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ù)的入口地址。 指向函數(shù)的指針變量 定義的一般形式: 數(shù)據(jù)類型標(biāo)識符 (*指針變量名 )( ) 例: int (*f1)(int)。 /*定義一個函數(shù)指針 f1,它所指向的函數(shù)具有一個整型參數(shù),返回類型整型 */ void (*f2)( )。 float (*f3)(float )。 由于函數(shù)名表示該函數(shù)的入口地址,因此可以通過函數(shù)名賦給函數(shù)指針的方法,使函數(shù)指針指向某個函數(shù)。 前提是函數(shù)的參數(shù)與返回類型必須與函數(shù)指針的參數(shù)與類型一致。 int fun1(int n)。 void fun2( )。 float fun3(float k)。 int (*f1)(int)。 void (*f2)( )。 float (*f3)(float )。 f1=fun1。 f1 fun1() f2=fun2。 f2 fun2() f3=fun3。 f3 fun3() 當(dāng)指向函數(shù)的指針指向某一函 數(shù)之后,可以通過指針變量調(diào) 用函數(shù): (*f1)(3)。 f1(3)。 fun1(3)。 這三個語句作用是一樣的 例 1: int max(int a,int b) {int x。 if (ab) x=a。 else x=b。 return x。} main( ) {int x,y。 int (*p)(int,int)。 p=max。 /*p為
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1