C語言程序設(shè)計(jì)第3階段練習(xí)題答案 江南大學(xué)2022年秋季_第1頁
C語言程序設(shè)計(jì)第3階段練習(xí)題答案 江南大學(xué)2022年秋季_第2頁
免費(fèi)預(yù)覽已結(jié)束,剩余13頁可下載查看

下載本文檔

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

文檔簡介

第15頁/共NUMPAGES\*ARABIC15頁江南大學(xué)網(wǎng)絡(luò)教育第三階段練習(xí)題答案,答案在最后一頁??荚嚳颇?《C語言程序設(shè)計(jì)》第章至第章(總分100分)__________學(xué)習(xí)中心(教學(xué)點(diǎn))批次:層次:專業(yè):學(xué)號:身份證號:姓名:得分:一單選題(共20題,總分值40分,下列選項(xiàng)中有且僅有一個(gè)選項(xiàng)符合題目要求,請?jiān)诖痤}卡上正確填涂。)1.設(shè)一整型(int)變量占用2個(gè)字節(jié)則下述共同體變量x所占用內(nèi)存字節(jié)數(shù)為()。unionexp{inti;floatj;doublek;}x;

(2分)A.14個(gè)B.7個(gè)C.8個(gè)D.隨機(jī)而定2.下面正確調(diào)用形式是()。(2分)A.fscanf(文件指針,格式字符串,輸出表列);B.fscanf(格式字符串,文件指針,輸出表列);C.fscanf(格式字符串,輸出表列,文件指針);D.fscanf(文件指針,格式字符串,輸入表列);3.若fp是指向某文件的指針,且已讀到此文件末尾,則庫函數(shù)feof(fp)的返回值是()。(2分)A.EOFB.0C.非零值D.NULL4.有以下程序main(){char*p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”};printf(“%d\n”,strlen(p[4]));}執(zhí)行后輸出結(jié)果是()。

(2分)A.2B.3C.4D.55.以下敘述中不正確的是()。(2分)A.C語言中的文本文件以ASCⅡ碼形式存儲數(shù)據(jù)B.C語言中對二進(jìn)制文件的訪問速度比文本文件快C.C語言中,隨機(jī)讀寫方式不適用于文本文件D.C語言中,順序讀寫方式不適用于二進(jìn)制文件6.函數(shù)AAA(s,t)char*s,*t;{while(*t++);t--;while(*t++=*s++);}的功能是()。

(2分)A.求串的長度B.比較兩個(gè)串的大小C.將串s復(fù)制到串t中D.將串s連接到串t中7.對于基類型相同的指針變量,不能進(jìn)行()運(yùn)算。(2分)A.+B.-C.=D.==8.寫出下列語句執(zhí)行結(jié)果()。inta,b,c,d=4,m=6,n=8;int*p1=&d,*p2=&m,*p3;a=p1==&d;b=3*(-*p1)/(*p2)+7;c=*(p3=&n)=*p1*(*p2);printf("%d,%d,%d",a,b,c);

(2分)A.1,5,24B.4,5,23C.1,2,22D.5,5,149.對于基類型相同的指針變量,不能進(jìn)行()運(yùn)算。(2分)A.+B.-C.=D.==10.如果希望向文本文件末尾添加數(shù)據(jù),則應(yīng)以()方式打開文件。(2分)A."r"B."w"C."a"D."ab"11.設(shè)有定義:inta,*pA=&a;以下scanf語句中能正確為變量a讀入數(shù)據(jù)的是()。(2分)A.scanf(“%d”,pA);B.scanf(“%d”,A);C.scanf(“%d”,&pA);D.scanf(“%d”,*pA);12.若有語句int*point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是()。(2分)A.a,point,*&aB.&*a,&a,*pointC.*&point,*point,&aD.&a,&*point,piont13.以下對C語言中共用體類型數(shù)據(jù)的敘述()的敘述是正確的。(2分)A.可以對共有變量名直接賦值B.一個(gè)共用體變量中可以同時(shí)存放其所有成員C.一個(gè)共有體變量中不能同時(shí)存放其所有成員D.共用體類型定義中不能出現(xiàn)結(jié)構(gòu)體類型的成員14.以下函數(shù)的功能是()。fun(char*a,char*b){while((*a!='\0')&&(*b!='\0')&&(*a==*b)){a++;b++;}return(*a-*b);}

(2分)A.計(jì)算a和b所指字符串的長度之差B.將b所指字符串連接到a所指字符串中C.將b所指字符串連接到a所指字符串后面D.比較a和b所指字符串的大小15.運(yùn)行下列程序后的輸出結(jié)果是()。main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}

(2分)A.n/NoYes\B./NoYesC.n/NO/NoD.YesYes16.設(shè)有如下定義structss{charname[10];intage;charsex;}std[3],*p=std;下面各輸入語句中錯(cuò)誤的是()。

(2分)A.scanf("%d",&(*p).age);B.scanf("%s",&);C.scanf("%c",&std[0].sex)D.scanf("%c",&(p->sex));17.閱讀下面程序,并給出結(jié)果()。main(){unionEXAMPLE{struct{intx;inty;}in;inta,b;}e;e.a=1;e.b=2;e.in.x=e.a*e.b;e.in.y=e.a+e.b;printf("%d%d",e.in.x,e.in.y);}

(2分)A.38B.48C.47D.2518.C語言結(jié)構(gòu)體類型變量在程序執(zhí)行期間()。(2分)A.所有成員一直駐留在內(nèi)存中B.只有一個(gè)成員駐留在內(nèi)存中C.部分成員駐留在內(nèi)存中D.沒有成員駐留在內(nèi)存中19.若有定義:inta[3][4];則對該數(shù)組的i行j列元素值的正確引用為()。(2分)A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j20.有以下程序main(){charstr[]="xyz",*ps=str;while(*ps)ps++;for(ps--;ps-str>=0;ps--)puts(ps);}執(zhí)行后的輸出結(jié)果是()。

(2分)A.yzxyzB.zyzC.zyzxyzD.xxyxyz二填空題(共6題,總分值30分)21.設(shè)有如下說明語句:enum

week{sun,mon,tue=100,wed,thu,fri,sat};則元素sun對應(yīng)的實(shí)際值為_________、wed對應(yīng)的實(shí)際值為_________。(5分)22.運(yùn)行下列程序后,第一行輸出內(nèi)容_________,第二行輸出內(nèi)容_________。main(){chara[2][5]={"fghi","name"};char*p,*s;intj;p=a[0];s=a[1];while(*p)p++;while(*s)*p++=*s++;for(j=0;j<2j=""printf=""s=""n=""a="">(5分)23.運(yùn)行程序后輸出的第一行內(nèi)容是_________、第二行內(nèi)容是_________、最后一行內(nèi)容是_________。fun(intn,int*s){intf1,f2;if(n==1||n==2)*s=1;else{fun(n-1,&f1);fun(n-2,&f2);*s=2*f1+f2+1;printf(“\n%d,%d“,f1,f2);}}main(){intx;fun(4,&x);printf(“\nx=%d”,x);}(5分)24.若有定義語句“staticcharstr[4][20]={“thank”,“you”,“very”,“much!”};”則str數(shù)組中存儲‘\0’的數(shù)組元素有_________個(gè)。(5分)25.輸入一個(gè)不包含空格的字符串,判斷輸入的字符串是否為回文,回文是相對中心左右對稱的字符串,如:“abcba”和“abddba”是回文,而字符串“abcAa”不是回文。#include”stdio.h”intf(char

*p){

char*p1,*p2;

p1=p2=p;

while(*p2++);_________;while(_________){

if(_________)return(0);

p1++;

p2--;

}return1;}main(){

chars[200];

printf(“輸入一個(gè)字符串:”);

scanf(“%s”,s);

if(_________)printf(“字符串:%s是回文!\n”,s);

elseprintf(“字符串:%s不是回文!\n”,s);}(5分)26.下面的程序?qū)盤上的文件abc.txt的內(nèi)容顯示在屏幕上,請?zhí)羁铡?include"stdio.h"main(){FILE*fp;charc;if((_________)==NULL){printf("cannotopenfile!\n");exit(0);}while((_________)!=EOF)putchar(c);_________;}

(5分)三編程題(共2題,總分值30分)27.某班有10個(gè)學(xué)生,每個(gè)學(xué)生包含姓名和3門課的成績,編寫一個(gè)程序,從鍵盤上輸入每個(gè)學(xué)生的姓名和各門課的成績,同時(shí)輸出平均成績在85分以上的學(xué)生的姓名、全部成績和平均成績。(15分)28.(設(shè)有一數(shù)列,包含10個(gè)數(shù),要求:a.編寫函數(shù),采用冒泡排序法對之按照升序進(jìn)行排列;b.編寫函數(shù),能夠?qū)闹付ㄎ恢胣開始的m個(gè)數(shù)按逆序重新排列并輸出新的完整數(shù)列。(例如:原數(shù)列為2,4,6,8,10,12,14,16,18,20,若要求把從第2個(gè)數(shù)開始的5個(gè)數(shù)按逆序重新排列,則得到新數(shù)列為2,12,10,8,6,4,14,16,18,20。)(15分)

一單選題(共20題,總分值40分,下列選項(xiàng)中有且僅有一個(gè)選項(xiàng)符合題目要求,請?jiān)诖痤}卡上正確填涂。)1.參考答案為:C解析過程:2.參考答案為:D解析過程:3.參考答案為:C解析過程:4.參考答案為:A解析過程:5.參考答案為:D解析過程:6.參考答案為:D解析過程:7.參考答案為:A解析過程:8.參考答案為:A解析過程:9.參考答案為:A解析過程:10.參考答案為:C解析過程:11.參考答案為:A解析過程:12.參考答案為:D解析過程:13.參考答案為:C解析過程:14.參考答案為:D解析過程:15.參考答案為:B解析過程:16.參考答案為:B解析過程:17.參考答案為:B解析過程:18.參考答案為:A解析過程:19.參考答案為:A解析過程:20.參考答案為:C解析過程:二填空題(共6題,總分值30分)21.參考答案為:0,101解析過程:22.參考答案為:fghinamee,amee解析過程:23.參考答案為:1,1,4,1,x=10解析過程:24.參考答案為:63解析過程:25.參考答案為:p2=p2-2,*p1!=‘\0’,*p1!=*p2,f(s)解析過程:26.參考答案為:fp=fopen(“d:\\abc.txt”,“r”),c=fgetc(fp),fclose(fp)解析過程:三編程題(共2題,總分值30分)27.參考答案為:#include"stdio.h"#include"string.h"#defineN10struct

student{

charname[10];floatscore[3];};main(){

struct

student

stu[N];

intI,j;

for(I=0;I<N;I++)scanf(“%s,%f,%f,%f”,stu[I].name,&stu[I].score[0],&stu[I].score[1],&stu[I].score[2]);

for(I=0;I<N;I++)printf(“%s,%f,%f,%f\n”,stu[I].name,stu[I].score[0],stu[I].score[1],stu[I].score[2]);

f2(stu);}voidf2(structstudentstu[]){intI,j;floatave[N]={0};

for(j=0;j<N;j++)

{for(I=0;I<3;I++)

ave[j]=ave[j]+stu[j].score[I];

ave[j]=ave[j]/3;

if(ave[j]>85)printf("%s,%f,%f,%f,%f\n",stu[j].name,stu[j].score[0],stu[j].score[1],stu[j].score[2],

ave[j]);}}解析過程:28.參考答案為:

sort(int*a)

{inti,j,temp;

for(i=1;i<10;i++)

{for(j=0;j<10-i;j++)

if(*(a+j)>*(a+j+1))

{temp=*(a+j);*(a+j)=*(a+j+1);*(a+j+1

溫馨提示

  • 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

提交評論