C語言程序設(shè)計(jì)專升本模擬試卷及完整答案(五)_第1頁(yè)
C語言程序設(shè)計(jì)專升本模擬試卷及完整答案(五)_第2頁(yè)
C語言程序設(shè)計(jì)專升本模擬試卷及完整答案(五)_第3頁(yè)
C語言程序設(shè)計(jì)專升本模擬試卷及完整答案(五)_第4頁(yè)
C語言程序設(shè)計(jì)專升本模擬試卷及完整答案(五)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

學(xué)號(hào)-------------------學(xué)號(hào)------------------------姓名---------------------------------…………密…………………封…………線……C語言程序設(shè)計(jì)專升本模擬試卷(五)考試方式:【閉卷】總分:【100分】考試時(shí)間:【120分鐘】 出題人:【傅紅梅】題號(hào)得分注意:答案一律寫在答題紙上,寫在試卷上無效選擇題:(單選,每題2分,共40分,請(qǐng)?zhí)顚懺诖痤}卡上)以下敘述中正確的是________。預(yù)處理是指完成宏替換和文件包含中指定文件的調(diào)用預(yù)處理也是C語句C源程序中,凡是行首以#標(biāo)識(shí)的控制行都是預(yù)處理指令預(yù)處理就是完成C編譯程序?qū)源程序的第一遍掃描,為編譯的詞法分析和語法分析作準(zhǔn)備有定義:char**p1,*p2;

則下列表達(dá)式中正確合理的是p1/=5p1*=p2p1=&p2p1+=5運(yùn)行下面程序時(shí),從鍵盤輸入字母h,則輸出結(jié)果是__________.

#include<stdio.h>

voidmain()

{

charch;

ch=getchar();

switch(ch)

{

case'h':printf("hello!\n");

case'g':printf("goodmorning!\n");

default:printf("bye_bye!\n");

}

}Hello!Hello!

GoodMorning!Hello!

Goodmorning!Bye_Bye!

Bye_Bye!Hello!對(duì)于while、do…while循環(huán)結(jié)構(gòu),正確的說法是________。只是表達(dá)形式不同do…while結(jié)構(gòu)中的語句至少執(zhí)行一次while結(jié)構(gòu)中的語句至少執(zhí)行一次條件成立時(shí),它們有可能一次也不執(zhí)行設(shè)有說明double(*p1)[n];其中標(biāo)識(shí)符p1是________。N個(gè)指向double型變量的指針。指向N個(gè)double型變量的函數(shù)指針。一個(gè)指向由N個(gè)double型元素組成的一維數(shù)組的指針。具有N個(gè)指針元素的一維指針數(shù)組,每個(gè)元素都只能指向double型量。關(guān)于標(biāo)識(shí)符,下列選項(xiàng)中描述錯(cuò)誤的是()。標(biāo)識(shí)符只能由字母、數(shù)字和下劃線組成標(biāo)識(shí)符不能以下劃線作為第一個(gè)字符標(biāo)識(shí)符不能以數(shù)字作為第一個(gè)字符標(biāo)識(shí)符不區(qū)分大小寫字母設(shè)a為存放(短)整型的一維數(shù)組,如果a的首地址為p,那么a中第i個(gè)元素的地址為()。P+i*2P+(i-1)*2P+(i-1)P+i以下敘述正確的是C語言程序?qū)脑闯绦蛑械谝粋€(gè)函數(shù)開始執(zhí)行可以在程序中由用戶指定任意一個(gè)函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行C語言規(guī)定必須用min作為主函數(shù)名,程序?qū)拈_始執(zhí)行,在此結(jié)束min可作為用戶標(biāo)識(shí)符,用以命名任意一個(gè)函數(shù)作為主函數(shù)判斷字符串s1是否大于字符串s2,應(yīng)當(dāng)使用。if(s1>s2)if(strcmp(s1,s2))if(strcmp(s2,s1)>0)if(strcmp(s1,s2)>0)對(duì)于c語言中的函數(shù),正確的敘述是________兩個(gè)函數(shù)可以相互調(diào)用,但不能自己調(diào)用自己程序執(zhí)行可以始于任何一個(gè)函數(shù),但結(jié)束必須在主函數(shù)兩個(gè)函數(shù)既可以定義成并列關(guān)系又可以定義成嵌套關(guān)系一個(gè)C程序可以由多個(gè)文件組成,一個(gè)文件又可以由多個(gè)函數(shù)組成算法一般都可以用哪幾種控制結(jié)構(gòu)組合而成()循環(huán)、分支、遞歸順序、循環(huán)、嵌套循環(huán)、遞歸、選擇順序、選擇、循環(huán)下面敘述中錯(cuò)誤的是主函數(shù)中定義的變量在整個(gè)程序中都是有效的在其它函數(shù)中定義的變量在主函數(shù)中也不能使用形式參數(shù)也是局部變量復(fù)合語句中定義的函數(shù)只在該復(fù)合語句中有效下述程序的輸出結(jié)果是________。

main()

{

charche2][5]-{"1234","5678"},*p[2];

inti,j,s=0;

for(i=0;i<2;i++)p[i]=ch[i];

for(i=0;i<2;i++)

{

s=p[i][j]一'0';

printf("%d",s);

}

}635761351357691357有以下程序structstu

{

charnum[10];

floatscore[3];

}

;

main()

{

structstus[3]=

{{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}}

,*p;

inti;

floatsum=0;

p=s+1;

for(i=0;i<3;i++)sum=sum+p->score[i];

printf("%.3f\n",sum);

}

程序運(yùn)行后的輸出結(jié)果是___________。250.000250270.000270下列程序的運(yùn)行結(jié)果是________。

voidmain()

{

ints=0,k;

for(k=7;k>1;k--)

{

switch(k)

{

case1:case4:case7:s++:break;

case2:case3:case6:break;

case0:case5:s+=2:break;

}

}

printf("s=%d",s);

}s=3s=4s=5無輸出結(jié)果以下程序運(yùn)行后的輸出結(jié)果是________。

#include<stdio.h>

main()

{

ints=0,k;

for(k=7;k>=0;k--)

{

switch(k)

{

case1:case4:case7:s++;

break;

case2:case3:case6:break;

case0:case5:s+=2;

break;

}

}

printf("s=%d\n",s);

}s=5s=1s=3s=7若有下面的說明和定義,則sizeof(structaa)的值是______。structaa

{

intr1;

doubler2;

floatr3;

}

maya;20181416執(zhí)行下面程序后,a的值是main()

{

inta;

printf("%d\n",(a=3*5,a*4,a+5));

}65201510以下正確的程序段是charstr1[]="12345",str2[]="abcdef";charstr[10],*st="abcde";strcat(str,st);charstr[10]=""。*st="abcde";strcat(str,st);char*st1="12345",*st2="abcde";strcat(st1,st2);staticstruct

{

inta1;

floata2;

chara3;

}

a[10]={1,3.5,'a'};

說明數(shù)組a是地址常量,它有10個(gè)結(jié)構(gòu)體型的下標(biāo)變量,采用靜態(tài)存儲(chǔ)方式,其中被初始化的下標(biāo)變量是()。a[1]a[-1]a[0]a[10]填空題:(每題2分,共20分,請(qǐng)?zhí)顚懺诖痤}卡上)寫出以下程序輸出結(jié)果執(zhí)行下列程序段后,輸出的a的值是________。main(-)

{

inta=1;

switch(a)

{

case0:a--;

break;

case1:a++;

break;

case2:a=a+5;

break

}

printf("%d",a);

}下面程序的運(yùn)行結(jié)果是。

#include<stdio.h>

main()

{

inti;

for(i=1;i<=5;i++)switch(i%2)

{

case0:i++;

printf("#");

break;

case1:i+=2;

printf("*");

default:printf("\n");

}

}請(qǐng)補(bǔ)充函數(shù)proc(),該函數(shù)的功能是:把從主函數(shù)中輸入的由數(shù)字字符組成的字符串轉(zhuǎn)換成一個(gè)無符號(hào)長(zhǎng)整數(shù),并且逆序輸出。結(jié)果由函數(shù)返回。例如,輸入:1234567,結(jié)果輸出:7654321。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的橫線上填人所編寫的若干表達(dá)式或語句。試題程序:

#include<stdio.h>

unsignedlongproc(char*str)

{

unsignedlongt=0:intk:inti=0;

i=str|en(str);

for(________;i>=0;i--)

{

k=________;

t=________;

}

returnt;

}

voidmain()

{

charstr[8];

system("cls");

printf("enterastringmadeupof'0'to'9'digitalcharacter:\n");

gets(str);

printf("thestring,is:%s\n",str);

if(strlen(str)>8)printf("thestringistootong!");

elseprintf("theresult:%1u\n",proc(str));

}下面程序的運(yùn)行結(jié)果是。main()

{

inti,j,a[2][3]=

{{2,4,6},{8,10,12}}

;

printf("theoriginalarrayis:\n");

for(i=0;i<2;i++)

{

for(j=0;j<3;j++)printf("%4d",a[i][j]);

printf("\n");

}

printf("\ntheresultis:\n");

for(i=0;i<3;i++)

{

for(j=0;j<2;j++)printf("%4d",a[j][i]);

printf("\n");

}

}數(shù)組inta[3][3];共定義了________個(gè)數(shù)組元素。使文件指針重新定位到文件讀寫的首地址的函數(shù)是()。以下程序的功能是:借助指針變量找出數(shù)組元素中最大值所在的位置并輸出該最大值。請(qǐng)?jiān)谳敵稣Z句中填寫代表最大值的輸出項(xiàng)。#include<stdio.h>main(){inta〔10],*p,*s;

for(p=a;p-a<10;p++)scanf("%d",p);

for(p=a,s=a;p-a<10;p++)if(*p>*s)s=p;

printf("max=%d\n",________);

}下面程序的運(yùn)行結(jié)果是:________。fun(intt[],intn)

{

inti,m;

if(n==1)returnt[0];

elseif(n>=2)

{

m=fun(t,n-1);

returnm;

}

}

main()

{

inta[]={11,4,6,3,8,2,3,5,9,2};

printf("%d\n",fun(a,10));

}下列程序段的運(yùn)行結(jié)果是________。structstt

{

longnum;

charname[20];

charsex;

floatscore;

}

p={1021103,"jiangping",'m',85.5};

main(-)

{

printf("%c\n",p.sex);

}編程題:(共40分,請(qǐng)?zhí)顚懺诖痤}卡上)輸入一個(gè)圓半徑r,當(dāng)r>=0時(shí),計(jì)算并輸出圓的面積和周長(zhǎng),否則,輸出提示信息?!颈绢}10分】從鍵盤上輸入若干個(gè)整數(shù),并將這些整數(shù)存放在數(shù)組x中,統(tǒng)計(jì)計(jì)算出平均成績(jī),當(dāng)輸入負(fù)數(shù)時(shí)結(jié)束()例如,如果從鍵盤上輸入:1234-8,則程序的輸出應(yīng)為:output:ave=2.50【本題14分】用結(jié)構(gòu)體數(shù)組,學(xué)生信息由學(xué)號(hào)、姓名,成績(jī)組成,

數(shù)據(jù)如下:201513135157張三90

1)使用結(jié)構(gòu)體數(shù)組,將學(xué)生的數(shù)據(jù)按成績(jī)從高到低排序顯示到屏幕上

2)將學(xué)生中不及格學(xué)生的姓名顯示出來

3)寫一個(gè)函數(shù),獲取成績(jī)低于平均分的學(xué)生記錄并返回低于平均分的學(xué)生人數(shù)【本題16分】參考答案:(本考試答案僅供參考,如有疑問,請(qǐng)自行更正。本試卷為樣卷,非真題)

選擇題

1:C

2:C

3:D

4:B

【解析】注意區(qū)別while、do…while兩種循環(huán)結(jié)構(gòu)的異同:while循環(huán)是先判斷條件是否成立,成立時(shí)才執(zhí)行;而do…while先執(zhí)行再判斷,它至少執(zhí)行一次。

5:C

6:D

【解析】標(biāo)識(shí)符區(qū)分大小寫字母。

7:B

8:C

9:D

【解析】strcmp(s1,s2)函數(shù)作用是比較兩個(gè)數(shù)據(jù)的大小,當(dāng)s1==s2時(shí),該函數(shù)返回值為0;當(dāng)s1>s2時(shí),該函數(shù)返回值為正數(shù);當(dāng)s1<s2時(shí),該函數(shù)返回值為負(fù)數(shù)。

10:D

11:D

【解析】算法一般由順序、選擇、循環(huán)控制結(jié)構(gòu)組合而成。

12:A

13:C

14:A

15:B

16:D

17:D

18:C

19:C

【解析】本題考查了一維字符數(shù)組的定義和初始化。選項(xiàng)C中str[10]初始化為空,可以不必進(jìn)行類似""的空賦值,字符數(shù)組若沒有進(jìn)行初始化賦值,默認(rèn)的字符為空。并且定義完str數(shù)組后,應(yīng)該用“,”分隔而不是“?!?,所以選項(xiàng)C錯(cuò)誤。

20:C

填空題

1:99

2:2

【解析】知識(shí)點(diǎn)/運(yùn)行結(jié)果/C4switch語句T

3:*#

4:________--i________str[i]-'0'________t*10+k

5:theoriginalarrayis:24681012theresultis:28410612

6:['9']

7:rewind

8:['*s']

9:['11']

10:m

【解析】知識(shí)點(diǎn)/運(yùn)行結(jié)果/C9結(jié)構(gòu)體變量引用T

編程題

1:#include<stdio.h>

#definePI3.14

intmain(void)

{

doubler,area,girth;

printf("pleaseinputr:\n");

scanf("%lf",&r);

if(r>=0)

{area=PI*r*r;

girth=2*PI*r;

printf("theareais%.2f\n",area);

printf("thegirthis%.2f\n",girth);}

else

printf("Inputerror!\n");

return0;

}

2:#include<stdio.h>

main()

{

floatx[1000],sum=0.0,ave,a;

intn=0,i;

clrscr();

printf("entermark:\n");

scanf("%f",&a);

while(a>=0.0&&n<1000)

{

/************found************/sum+=___(1)___;

x[n]=a;

n++;

scanf("%f",&a);

}

/************found************/ave=___(2)___;

printf("output:\n");

printf("ave=%.2f\n",ave);

}

sum+=a;

ave=sum/n;

3:#include<stdio.h>

#defineNUM3

structstudent

{

char*sno=newchar[20];

char*name=newchar[20];

intscore;

boolfail=false;

};

voidstuSort(student*stu)

{

studenttmp;

for(inti=0;i<NUM;i++)

{

for(intj=0;j<NUM;j++)

{

if(stu[j].score<stu[i].score)

{

=stu[j].name;

tmp.sno=stu[j].sno;

tmp.score=stu[j].score;

stu[j].name=stu[i].name;

stu[j].sno=stu[i].sno;

stu[j].score=stu[i].score;

stu[i].name=;

stu[i].sno=tmp.sno;

stu[i].score=tmp.score;

}

}

}

for(inti=0;i<NUM;i++)

{

printf("%s%s%d\n",stu[i].sno,stu[i].name,stu[i].score);

}

}

voidstuFail(student*stu)

{

intnumOfStu=0;

for(inti=0;i<NUM;i++)

{

if(stu[i].fail==true)

{

溫馨提示

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

評(píng)論

0/150

提交評(píng)論