《C語言程序設(shè)計(jì)》形成性考核作業(yè)(4)解答_第1頁
《C語言程序設(shè)計(jì)》形成性考核作業(yè)(4)解答_第2頁
《C語言程序設(shè)計(jì)》形成性考核作業(yè)(4)解答_第3頁
《C語言程序設(shè)計(jì)》形成性考核作業(yè)(4)解答_第4頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、精品文檔 C 語言程序設(shè)計(jì)作業(yè)4 解答一、選擇題1. 假定有“ structBOOK chartitle40; floatprice;structBOOK* book;”,則不正確的語句為(A)。A. structBOOK* x=malloc(book);B. structBOOKx="C+ Programming",27.0;C. structBOOK* x=malloc(sizeof(struct BOOK);D. structBOOK*x=&book;2. 假定有“ structBOOK chartitle40; floatprice; book; ”,則正確

2、的語句為 ( B )。A. structBOOKx=&book;B. structBOOK* x=&book;C. structBOOKx=calloc(BOOK);D. structBOOK*x=BOOK;3. 表示文件結(jié)束符的符號常量為 ( C )。A. eofB. EofC. EOFD. feof4. C 語言中的系統(tǒng)函數(shù)fopen( ) 是 ( D)一個數(shù)據(jù)文件的函數(shù)。A. 讀取B. 寫入C. 關(guān)閉D. 打開5.從一個數(shù)據(jù)文件中讀入以換行符結(jié)束的一行字符串的函數(shù)為( B)。A. gets( )B. fgets( )C. getc( )D. fgetc( )6.向一個二進(jìn)

3、制文件中寫入信息的函數(shù)fwrite( ) 帶有 ( D)個參數(shù)。A. 1B. 2C. 3D. 4二、填空題1. 假定一個結(jié)構(gòu)類型的定義為“ structA int a, b; structA * c; ”,則該類型的大小為12可編輯精品文檔字節(jié)。2. 假定一個結(jié)構(gòu)類型的定義為“ structB int a5; char* b; ”,則該類型的大小為24字節(jié)。3. 假定一個結(jié)構(gòu)類型的定義為“structD int a; union intb; doublec; structD * d2;”,則該類型的大小為20字節(jié)。4.假定要動態(tài)分配一個類型為structWorker 的具有 n 個元素的數(shù)組,

4、 并由 r 指向這個動態(tài)數(shù)組, 則使用的語句表達(dá)式為 structWorker * r=calloc(n, sizeof(structWorker);。5.假定要訪問一個結(jié)構(gòu) x 中的由 a 指針成員所指向的對象,則表示方法為*(x.a)。6. 假定要訪問一個結(jié)構(gòu)指針 p 所指對象中的 b 指針成員所指的對象,則表示方法為*(p->b)。7. 與結(jié)構(gòu)成員訪問表達(dá)式(*fp).score等價(jià)的表達(dá)式是fp->score。三、寫出下列每個程序運(yùn)行后的輸出結(jié)果1. #include <stdio.h>structWorker charname15;/姓名intage;/年齡f

5、loatpay;/工資;void main( )structWorkerx="wanghua", 52, 2350;structWorkery, * p;y=x;p=&x;可編輯精品文檔printf("%s%d%6.2fn",, y.age, y.pay);printf("%s%d%6.2fn",p->name, p->age, p->pay);程序的運(yùn)行結(jié)果是 :wanghua522350.00wanghua522350.002.#include<stdio.h>#include&l

6、t;string.h>structWorker charname15;/姓名intage;/年齡floatpay;/工資;voidmain( )structWorker x;char *t="liouting"intd=38;floatf=493;strcpy(, t);x.age=d;x.pay=f;x.age+;x.pay*=2;printf("%s%d%6.2fn",, x.age, x.pay);程序的運(yùn)行結(jié)果是:liouting39986.003.#include<stdio.h>可編輯精品文檔stru

7、ctWorker charname15;/姓名intage;/年齡floatpay;/工資;intLess(structWorkerr1, structWorkerr2)if(r1.age<r2.age)return1;elsereturn0;voidmain( )structWorkera4="abc",25,420,"def",58,638,"ghi",49,560,"jkl",36,375;structWorker x=a0;int i;for(i=1; i<4; i+)if(Less(x,ai)

8、x=ai;printf("%s%d%6.2fn",, x.age, x.pay);程序的運(yùn)行結(jié)果是:def58638.00四、寫出下列每個函數(shù)的功能1.voidQA(structWorkera , intn)inti;for(i=1; i<n; i+)可編輯精品文檔scanf("%s%d%f", &, &ai.age, &ai.pay);假定結(jié)構(gòu)類型structWorker的定義如下 :structWorker charname15;/姓名intage;/年齡floatpay;/工資;函數(shù)的功能是:

9、 將鍵盤輸入的n-1 個職工記錄, 包括職工姓名、 年齡和工資保存在結(jié)構(gòu)數(shù)組a 中。2.structStrNode* QB(int n)structStrNode* f, * p;if(n=0)returnNULL;f=malloc(sizeof(structStrNode);scanf("%s",f->name);p=f;while(-n)p=p->next=malloc(sizeof(structStrNode);scanf("%s", p->name);p->name=NULL;return f;假定結(jié)構(gòu)類型structSt

10、rNode的定義如下 :可編輯精品文檔structStrNodecharname15;/字符串域structStrNode* Next;/指針域;函數(shù)功能是 : 將鍵盤輸入的n 個長度小于15 的字符存儲在一個鏈表中,先輸入的字符串存儲在鏈表的表頭,最后輸入的字符串存儲在鏈表的表尾,函數(shù)返回鏈表的表頭指針。3.structIntNode* FindMax(structIntNdoe * f)structIntNode* p=f;if(!f)returnNULL;f=f->next;while(f)if(f->data<p->data)p=f;f=f->next;r

11、eturn p;假定 structIntNode的類型定義為:structIntNodeintdata;/結(jié)點(diǎn)值域structIntNode * next;/結(jié)點(diǎn)指針域;函數(shù)的功能是: 查找由頭指針f 所指鏈表中各結(jié)點(diǎn)值域的最小值,函數(shù)返回值域值最小的結(jié)點(diǎn)指針??删庉嬀肺臋n4.intCount(structIntNode* f)int c=0;while(f)c+;f=f->next;return c;假定 structIntNode的類型定義為:structIntNodeintdata;/結(jié)點(diǎn)值域structIntNode * next;/結(jié)點(diǎn)指針域;函數(shù)的功能是: 統(tǒng)計(jì)并返回由頭指

12、針f 所指鏈表的結(jié)點(diǎn)數(shù)。5.structIntNode* Input( intn)structIntNode * f, * p;f=malloc(sizeof(structIntNode);if(n=0)return NULL;f->next=NULL;printf("從鍵盤輸入%d個整數(shù) : ", n);while(n-)scanf("%d", &(f->data);p=f;可編輯精品文檔f=malloc(sizeof(structIntNode);f->next=p;returnf->next;假定 structInt

13、Node的類型定義為:structIntNodeintdata;/結(jié)點(diǎn)值域structIntNode * next;/結(jié)點(diǎn)指針域;函數(shù)功能是 : 將鍵盤輸入的n 個整數(shù)存儲在一個鏈表中,先輸入的數(shù)據(jù)存儲在鏈表的表尾,最后輸入的數(shù)據(jù)存儲在鏈表的表頭,函數(shù)返回鏈表的表頭指針。6. #include <stdio.h>#include <stdlib.h>#include <string.h>voidJA(char* fname)FILE* fout=fopen(fname,"w");chara20;printf("輸入若干個字符串,每個字符串長度小于20, 字符串 end 作為結(jié)束標(biāo)志.n");while(1)scanf("%s", a);if(strcmp(a, "end")=0)break;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論