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

正文內(nèi)容

大學計算機程序設(shè)計基礎(chǔ)c語言3ppt-資料下載頁

2025-01-20 03:47本頁面
  

【正文】 birthdate: month: day: 變量 dateofbirth使用完整的結(jié)構(gòu)體類型定義聲明,具有如圖結(jié)構(gòu) year: month: day: 變量 programming使用不帶結(jié)構(gòu)體標簽的結(jié)構(gòu)體類型定義聲明,包含 3個成分,分別為字符數(shù)組類型的 author、 datetype類型的publish_date、 int類型的 page_number,結(jié)構(gòu)如圖所示; author: year: publish_date: month: day: page_number: 變量 first_east使用 typedef定義的類型標識符mansatellitetype聲明,具有如圖結(jié)構(gòu) name: 字符數(shù)組 year: lounchdate: month: day: weight: diameter: orbitrad: angle: 類型定義不分配存儲空間,只說明一個數(shù)據(jù)類型的框架結(jié)構(gòu)。只有到變量聲明時才給變量分配存儲空間,并且使得被聲明的變量具有相應(yīng)類型的結(jié)構(gòu)。 到目前為止本章定義的所有標識符,只有本節(jié)聲明的四個變量 zhang、 dateofbirth、 programming、first_east具有實體,被分配存儲空間。 類型標識符只是定義了一個數(shù)據(jù)類型的框架,不占用存儲空間,只給相應(yīng)類型起一個名字。 167。 指向結(jié)構(gòu)體變量的指針 ? 任何類型都伴隨一個指向相應(yīng)類型的指針類型,并可以聲明相應(yīng)指針類型的變量,結(jié)構(gòu)體類型當然不例外。 輸出檢索結(jié)果函數(shù) out_anser中的 card0就是一個指向結(jié)構(gòu)體變量的指針變量。使用形式 struct bookcard *card0 聲明; 在例 : 輸入一個書號函數(shù) inputbookno中的 no也是一個 指向結(jié)構(gòu)體變量的指針變量。使用形式 struct bookno * no 聲明。 void inputbookno(struct bookno * no){ printf(\nstart search:\nplease input :)。 scanf(%c,amp。(nocatalogue))。 while(nocatalogue=39。 39。) scanf(%c,amp。(nocatalogue))。 printf(\nplease input :)。 scanf(%d,amp。(noorder))。 } void out_answer( struct bookcard *card0 ){ printf( NAME:%s\n, card0name )。 printf( AUTHOR:%s\n, card0author)。 printf( LANGUGE:%s\n, card0languge )。 printf(Publish date:%d.%d.%d\n ,card0 ,card0 ,card0)。 printf( ABSTRACT:\n ) 。 printf( %s,card0abstract) 。 printf(\n)。 } ?在前幾節(jié)聲明的基礎(chǔ)上,下述例子聲明指向不同結(jié)構(gòu)體類型變量的指針變量 pointer_preson、dateofpointer、 p、 p_east。 struct preson *pointer_preson 。 struct date { int year, month, day 。 } *dateofpointer 。 struct { char author[10] 。 datetype publish_date 。 int page_number 。 } *p 。 mansatellitetype *p_east 例:指向結(jié)構(gòu)體類型變量的指針變量 變量 pointer_preson為指向標簽為 preson的結(jié)構(gòu)體類型變量的指針變量。 pointer_preson可以指向相應(yīng)結(jié)構(gòu)體類型的變量。比如 pointer_preson = amp。zhang 。 變量 dateofpointer為指向標簽為 date的結(jié)構(gòu)體類型變量的指針變量。 dateofpointer可以指向相應(yīng)結(jié)構(gòu)體類型的變量。比如 dateofpointer = amp。dateofbirth 。 變量 p為指向無標簽結(jié)構(gòu)體類型變量的指針變量。 P 可以指向相應(yīng)結(jié)構(gòu)體類型的變量。比如 p = amp。programming 。 變量 p_east為指向結(jié)構(gòu)體類型 mansatellitetype變量的指針變量。 p_east 可以指向相應(yīng)結(jié)構(gòu)體類型的變量。比如 p_east = amp。first_east 。 167。 訪問結(jié)構(gòu)體變量的成分 訪問結(jié)構(gòu)體變量的一個成分,使用成員選擇表達式。包括“直接成員選擇”和“間接成員選擇”兩類 ? 直接成員選擇 直接成員選擇表達式針對一般的結(jié)構(gòu)體變量。 形式是: r . w r 是結(jié)構(gòu)體變量; w是 r 所屬結(jié)構(gòu)體類型中的一個成員名字 下述成員選擇表達式是合法的 : ? 間接成員選擇 間接成員選擇表達式針對指向結(jié)構(gòu)體變量的指針變量 形式是 pw – p 是一個指向結(jié)構(gòu)體變量的 指針變量 ; – w 是 p所指向結(jié)構(gòu)體變量所屬類型中的一個成員名字 – 下述成員選擇表達式是合法的 : pointer_preson name p_east weight p_east lounchdate 當然也可以首先對指針變量進行求地址運算,然后使用直接成員選擇。比如上述三個選擇表達式還可以寫成如下形式。由于優(yōu)先級的原因,這里的括號是必須的。 (*pointer_preson).name (*p_east).weight (*p_east).lounchdate 由于成員選擇表達式本身也是一個變量訪問,它是相應(yīng)成分類型的一個變量,它與成分類型的其它變量一樣,凡是可以使用那些變量的地方都可以使用成員選擇表達式。對于嵌套結(jié)構(gòu)體,可以認為“成員選擇表達式”仍然是一個“后綴表達式”,所以可以繼續(xù)應(yīng)用“成員選擇表達式”的規(guī)則訪問里層的成分。例: p_east 例 85 設(shè)計表示復(fù)數(shù)的結(jié)構(gòu)體類型, 給出復(fù)數(shù)加法和乘法函數(shù) 解: /* 復(fù)數(shù)類型 */ typedef struct plex { float real_part, imaginary_part 。 } plex_type /* 復(fù)數(shù)加法 */ plex_type plex_add(plex_type x, plex_type y){ plex_type add。 =+。 =+。 return add。 } /* 復(fù)數(shù)乘法 */ plex_type plex_mul ( plex_type x, plex_type y ) { plex_type product 。 = * + * 。 = * + * 。 return product 。 } 運行結(jié)果演示 本章小結(jié) ? 本章講述構(gòu)造數(shù)據(jù)類型 –結(jié)構(gòu)體類型 –結(jié)構(gòu)體變量 –結(jié)構(gòu)體成分變量 ——成分選擇表達式 –枚舉類型 ? 重點掌握結(jié)構(gòu)體應(yīng)用 第九章 再論函數(shù) ? 函數(shù) 參數(shù) ? 函數(shù)值 ? 作用域 ? 局部量和全局量 ? 遞歸程序設(shè)計 ? 本章小結(jié) 作業(yè) : 習題集: P91—16 練習 : 167。 參數(shù) 167。 傳遞直線方程系數(shù) ——指針作參數(shù) 第五章求三角形重心的例題 ,傳遞一個直線方程的兩個系數(shù)信息時讓人感到十分別扭,函數(shù)不能把多個計算結(jié)果帶回調(diào)用處,不得不使用全局變量。使用指針參數(shù)可以解決這個問題。 float xa,ya,xb,yb,xc,yc。 //分別保存三角形三個頂點點的 X、 Y方向坐標 float xd,yd,xe,ye 。 //分別表示中點 D、 E坐標 float a1,b1,a2,b2,a,b。 //分別表示中線 AD、 BE的方程系數(shù) , a、 b臨時變量 float xo,yo。 //重心 O的坐標 /* 求中線:參數(shù):三角形三個頂點 r、 s、 t的 x、 y坐標 */ void lines( float xr,float yr,float xs,float ys,float xt,float yt ,float *a,float *b){ //6 float xu,yu。 //中點 u坐標 //7 xu=(xs+xt)/2。 //求 st邊的中點 u //8 yu=(ys+yt)/2。 //9 //求過 r、 u兩點的直線方程 //10 *a=(yryu)/(xrxu)。 //計算系數(shù) a;用指針參數(shù)帶回主程序 //11 *b=yr *a * xr 。 //計算系數(shù) b;用指針參數(shù)帶回主程序 //12 } //13 void main(void) { // 主函數(shù) //14 // 輸入三個點的 X、 Y方向坐標 346 360 416 108 116 212 printf(please input xa,ya,xb,yb,xc,yc:\n)。 //15 scanf(%f%f%f %f%f%f,amp。xa,amp。ya,amp。xb,amp。yb,amp。xc,amp。yc)。 //16 lines(xa,ya,xb,yb,xc,yc,amp。a1,amp。b1)。 //求 BC邊的中線 AD //17 lines(xb,yb,xa,ya,xc,yc,amp。a2,amp。b2)。 //求 AC邊的中線 BE //19 xo=(b2b1)/(a1a2)。 //求 AD、 BE交點 O //21 yo=a1*xo+b1。 //22 printf(“重心坐標: x=% y=% \n”,xo,yo)。 // 打印輸出 } //24 運行結(jié)果演示 函數(shù) lines用指針參數(shù) a 、 b代替了原來的全局量和函數(shù)值來傳遞計算結(jié)果。 在函數(shù)聲明中,增加形式參數(shù) a 、 b ,并把它聲明成指針類型,構(gòu)成指針參數(shù) 在函數(shù)調(diào)用中,用變量的指針(地址)作實在參數(shù),對應(yīng)相應(yīng)形式參數(shù)。 在函數(shù)聲明中,對形式參數(shù) a 、 b以間接尋址方式賦值,把值直接送入實在參數(shù)指針所指向的變量中。 以函數(shù)調(diào)用 lines(xa,ya,xb,yb,xc,yc,amp。a1,amp。b1)為例: 函數(shù)調(diào)用時實在參數(shù)把變量 a1 、 b1的指針分別送入形式參數(shù) a 、 b中,因此 a 、 b分別指向 a1 、 b1; a1: a: b1: b: 函數(shù)內(nèi)部,以間接尋址方式賦值,分別通過 *a 、*
點擊復(fù)制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1