南華大學(xué)歷年計(jì)算機(jī)C語言期末題目及答案_第1頁
南華大學(xué)歷年計(jì)算機(jī)C語言期末題目及答案_第2頁
南華大學(xué)歷年計(jì)算機(jī)C語言期末題目及答案_第3頁
南華大學(xué)歷年計(jì)算機(jī)C語言期末題目及答案_第4頁
南華大學(xué)歷年計(jì)算機(jī)C語言期末題目及答案_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計(jì)算機(jī)C語言期末題目(總分100分,考試時(shí)長90分鐘)一、單項(xiàng)選擇題(每小題2分,共40分)1、在7位ascii碼中,除了表示數(shù)字、英文大小寫字母外,還有幾個(gè)字符和符號(hào) A、63 B、66 C、80 D、322、關(guān)于字符型變量的定義,下列選項(xiàng)正確的是________。 A、charch=a; B、charch='a'; C、charch="a"; D、charch=\a;3、c語言中邏輯表達(dá)式的值為________。 A、0或1 B、非零值或零值 C、true或false D、'true'或'false'4、以下程序的輸出結(jié)果是_______。

main()

{

intx=1,y=0,a=0,b=0;

switch(x)

{

case1:switch(y)

{

case0:a++;

break;

case1:b++;

break;

}

case2:a++;

b++;

break;

}

printf("%d,%d\n",a,b);

} A、2,1 B、2,2 C、1,1 D、215、若有說明:intn=2,*p=&n,*q=p,則以下非法的賦值語句是:() A、p=q B、*p=*q C、n=*q D、p=n6、設(shè)x為int型變量,則執(zhí)行語句x=10和x+=x-=x-x后,x的值為: A、10 B、20 C、40 D、307、若有定義:inta[10],則對(duì)數(shù)組a元素的正確引用是________。 A、a[10] B、a[3.5] C、a(5) D、a[0]8、若有說明和語句inta=5;a++;此處表達(dá)式a++的值是________。 A、7 B、6 C、5 D、49、若輸入字符串:abcde<回車>,則以下while循環(huán)體將執(zhí)行多少次。while((ch=getchar())!='e')printf("*"); A、5 B、4 C、6 D、110、已有以下數(shù)組定義和f函數(shù)調(diào)用語句,則在f函數(shù)的說明中,對(duì)形參數(shù)組array的錯(cuò)誤定義方式為________。inta[3][4];

f(a); A、f(intarray[][6]) B、f(intarray[3][]) C、f(intarray[][4]) D、f(intarray[2][5])11、在傳值調(diào)用中,要求________。 A、形參和實(shí)參類型任意,個(gè)數(shù)相等 B、形參和實(shí)參類型一致,個(gè)數(shù)相等 C、形參和實(shí)參類型一致,個(gè)數(shù)不等 D、形參和實(shí)參類型任意,個(gè)數(shù)任意。12、在16位編譯器環(huán)境下,double類型占多少字節(jié)? A、2 B、4 C、1 D、813、若調(diào)用一個(gè)函數(shù),且此函數(shù)中沒有return語句,則正確的說法是該函數(shù)________。 A、沒有返回值 B、返回若干個(gè)系統(tǒng)默認(rèn)值 C、有返回值,但返回一個(gè)不確定的值 D、能返回一個(gè)用戶所希望的函數(shù)值14、enuma

{

sum=9,mon=-1,tue

}

;

定義了________。 A、枚舉變量 B、3個(gè)標(biāo)識(shí)符 C、枚舉數(shù)據(jù)類型 D、整數(shù)9和-115、有下列程序:

main()

{

intx=0;

inty=0;

while(x<7&&++v)

{

y--;

x++;

}

printf("%d,%d",y,x);

}

程序的輸出結(jié)果是________。 A、0,7 B、7,7 C、0,6 D、1,616、下述關(guān)于break語句的描述中,()是不正確的。 A、break語句可用于循環(huán)體內(nèi),它將退出該重循環(huán) B、break語句可用于switch語句中,它將退出switch語句 C、break語句可用于對(duì)體內(nèi),它將退出if語句 D、break語句在一個(gè)循環(huán)體內(nèi)可以出現(xiàn)多次17、設(shè)有如下定義:

structsk

{

intn;

floatx;

}data,*p;

若要使p指向data中的n域,正確的賦值語句是________。 A、p=&datn; B、*p=datn; C、p=(structsk*)&datn; D、p=(structsk*)datn;18、若輸入ab,后回車,則程序運(yùn)行結(jié)果為________。

main()

{

staticchara[3];

scanf("%s",a);

printf("%c,%c",a[1],a[2]);

} A、a,b B、a, C、b, D、程序出錯(cuò)19、若要定義一個(gè)具有5個(gè)元素的整型數(shù)組,以下錯(cuò)誤的定義語句是________。 A、inta[5]={0}; B、intb[]={0,0,0,0,0} C、intc[2+3]; D、inti=5,d[i];20、定義結(jié)構(gòu)體的關(guān)鍵字是________。 A、union B、enum C、struct D、typedef二、填空題(每小題2分,共20分)1、若inta=3,b=2,c=1,f;表達(dá)式f=a>b>c的值是________。2、單精度型數(shù)據(jù)有效位為______位。3、若有語句doublex=17;inty;,當(dāng)執(zhí)行y=(int)(x/5)%2;之后y的值是________。4、已知charstr[]="man",則strlen(str)的值為_____。5、結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是:________結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),這三種基本結(jié)構(gòu)構(gòu)成了復(fù)雜的c語言程序。6、下列程序段的運(yùn)行結(jié)果是_____。

main()

{

intm=1,t=1;

for(;;)

{

m=m*t;

t++;

if(t>4)break;

}

printf("%d\n",m);

}7、若變量a,b已定義為int類型并賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請(qǐng)寫出完整的的輸出語句________。8、局部變量的作用域是從______的位置起,到函數(shù)結(jié)束止。9、以下程序的功能是將字符串s中的數(shù)字字符放入d數(shù)組中,最后輸出d中的字符串。例如,輸入字符串:abc123edf456gh,執(zhí)行程序后輸出:123456。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

#include<ctype.h>

main()

{

chars[80],d[80];

inti,j;

gets(s);

for(i=j=0;s[i]!='\0';i++)if(________)

{

d[j]=s[i];

j++;

}

d[j]='\0';

puts(d);

}10、請(qǐng)閱讀并分析以下程序,該程序的輸出結(jié)果是:

#include<stdio.h>

main()

{

intn[3][3],i,j;

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

for(j=0;j<3;j++)n[i][j]=i+j;

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

for(j=0;j<2;j++)n[i+1][j+1]+=n[i][j];

printf("%d\n",n[i][j]);

}三、編程題(每小題分,共40分)1、起泡法(選擇法)對(duì)十個(gè)數(shù)排序(本題10分)2、編寫一個(gè)函數(shù),從傳人的m個(gè)字符中找出最長的一個(gè)字符串,并通過形參指針max傳回該串地址(用****作為結(jié)束輸入的標(biāo)志)。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填人所編寫的若干語句。試題程序:

char*proc(char(*a)[81],intnum)

{

}

voidmain()

{

charss[l0][81],*max;

intn,i=0;

printf("輸入若干個(gè)字符串:");

gets(ss[i]);

puts(ss[i]);

while(!strcmp(ss[i],"****")==0)

{

i++;

gets(ssei]);

puts(ss[i]);

}

n=i;

max=proe(ss,n);

printf("\nmax=%s\n",max);

}(本題14分)3、已知學(xué)生的記錄由學(xué)號(hào)和學(xué)習(xí)成績構(gòu)成N名學(xué)生的數(shù)據(jù)已存入a結(jié)構(gòu)體數(shù)組中。試編寫函數(shù)fun函數(shù)的功能是找出成績最低的學(xué)生記錄通過形參返回主函數(shù)規(guī)定只有一個(gè)最低分在主函數(shù)中調(diào)用fun,使用結(jié)構(gòu)體實(shí)現(xiàn)(本題16分)

參考答案一、單項(xiàng)選擇題1、B【解析】7位ASCII碼表中有10個(gè)數(shù)字,26個(gè)大寫字母,26個(gè)小寫字母,所以剩下的字符和符號(hào)的數(shù)目是:128-10-26-26=66。2、B【解析】字符型變量的值要用一對(duì)英文半角格式的單引號(hào)('')把字符括起來。3、A4、A5、D6、B7、D8、C9、B10、B11、B【解析】在傳值調(diào)用中,形參和實(shí)參類型一致,個(gè)數(shù)相等。12、D【解析】在16位編譯器環(huán)境下,double類型占8個(gè)字節(jié)。13、C【解析】本題考查return語句的意義和用法。在C語言函數(shù)調(diào)用中,如果被調(diào)用函數(shù)中沒有retnrn語句,并不帶回一個(gè)確定的、用戶所希望得到的函數(shù)值,而是帶回的是一個(gè)不確定的值。14、C15、A16、C17、C【解析】本題主要考查了結(jié)構(gòu)體變量引用成員數(shù)據(jù)的方法,主要有以下幾種:結(jié)構(gòu)體變量名,成員名或結(jié)構(gòu)體指針->,成員名的方法來引用結(jié)構(gòu)體成員。18、C19、D20、C二、填空題1、02、73、14、35、順序6、247、['printf("a=%d,b=%d",a,b);']8、定義9、["s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<='9'&&s[i]>='0'或'9'>=s[i]&&'0'<=s[i]或'0'<=s[i]&&'9'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]"]10、6三、編程題1、#include

voidmain()

{

inti,j,t;

inta[10];

printf("請(qǐng)輸入10個(gè)數(shù):\n");

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

scanf("%d",&a[i]);

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

for(i=0;i<9-j;i++)

if(a[i]>a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

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

printf("%d",a[i]);

printf("\n");

}2、char*proc(char(*a)[81],intm)

{

char*max;

inti=0:max=a[0]:for(i=0;i<m;i++)if(strlen(max)<strlen(a[i]))//找出最長的字符串max=a[i];

returnmax;

//返回最長字符串的地址

}3、#include<stdio.h>

#defineN10

structstudent

{

longnumber;

intscore;

};

voidfun(structstudentstd[],structstudent*min)

{

inti,m;

m=std[0].score;

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

{

if(std[i].score<m)

{

m=std[i].score;

min->number=(std+i)->number;

min->score=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論