重慶文理學(xué)院C語(yǔ)言程序設(shè)計(jì)期末試題及答案_第1頁(yè)
重慶文理學(xué)院C語(yǔ)言程序設(shè)計(jì)期末試題及答案_第2頁(yè)
重慶文理學(xué)院C語(yǔ)言程序設(shè)計(jì)期末試題及答案_第3頁(yè)
重慶文理學(xué)院C語(yǔ)言程序設(shè)計(jì)期末試題及答案_第4頁(yè)
重慶文理學(xué)院C語(yǔ)言程序設(shè)計(jì)期末試題及答案_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2/2C語(yǔ)言程序設(shè)計(jì)期末試題(總分100分,考試時(shí)長(zhǎng)90分鐘)一、單項(xiàng)選擇題(每小題2分,共40分)1、下列字符中,ascii碼值最小的是________。 A、a B、A C、x D、Y【答案】B【解析】a、A、x、Y對(duì)應(yīng)的ASCII碼值分別是0001110、0001100、1000111、1001101,故正確答案為B。2、inta=1,b=2,c=3;

if(a>c)b=a;

a=c;

c=b;

則c的值為_(kāi)_______。 A、1 B、2 C、3 D、不一定【答案】B3、c語(yǔ)言的基本數(shù)據(jù)類(lèi)型包括________。 A、字符型和數(shù)值型 B、字符型和邏輯型 C、整型和實(shí)型 D、指針型和數(shù)據(jù)型【答案】A4、假定所有變量均已正確定義,下列程序段運(yùn)行后x的值是()。

k1=1;

k2=2;

k3=3;

x=15;

if(!k1)x--;

elseif(k2)x=4;

elsex=3; A、14 B、4 C、15 D、3【答案】B5、若i、j已定義成int型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是________。

for(i=6;i>0;i--)for(j=0;j<4;j++)

{

} A、20 B、24 C、25 D、30【答案】B6、若各選項(xiàng)中所有變量已正確定義,函數(shù)fun中通過(guò)return語(yǔ)句返回一個(gè)函數(shù)值,以下選項(xiàng)中錯(cuò)誤的程序是______。 A、main(){……x=fun(2,10);……}floatfun(intA,intb){……} B、floatfun(intA,intb){……}

main()

{……x=fun(i,j);……} C、floatfun(intint);main()

{……x=fun(2,10);……}floatfun(intA,intb){……} D、main()

{

floatfun(inti,intj);……x=fun(i,j);……}floatfun(intA,intb){……}【答案】A7、以下不能正確計(jì)算代數(shù)式值的c語(yǔ)言表達(dá)式是________。 A、1/3*sin(1/2)*sin(1/2) B、sin(0.5)*sin(0.5)/3 C、pow(sin(0.5),2)/3 D、1/3.0*pow(sin(1.0/2),2)【答案】A8、有如下定義語(yǔ)句:inta[]={1,2,3,4,5},則對(duì)語(yǔ)句int*p=a;正確的描述是________。 A、語(yǔ)句int*p=a;定義不正確 B、語(yǔ)句int*p=a;初始化變量p,使其指向數(shù)組對(duì)象a的第一個(gè)元素 C、語(yǔ)句int*p=a;是把a(bǔ)[0]的值賦給變量p D、語(yǔ)句int*p=a;是把a(bǔ)[1]的值賦給變量p【答案】B9、以下關(guān)于c語(yǔ)言的敘述中正確的是________。 A、C語(yǔ)言中的注釋不可以?shī)A在變量名或關(guān)鍵字的中間 B、C語(yǔ)言中的變量可以再使用之前的任何位置進(jìn)行定義 C、在C語(yǔ)言算術(shù)的書(shū)寫(xiě)中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類(lèi)型必須一致 D、C語(yǔ)言的數(shù)值常量中夾帶空格不影響常量值的正確表示【答案】B【解析】C語(yǔ)言中的注釋”/**/”或者”//”可以放在程序中的任何位置,但是不可以加在變量名或者關(guān)鍵字中間,會(huì)導(dǎo)致該變量名和關(guān)鍵字不被C語(yǔ)言識(shí)別,選項(xiàng)A)正確;C語(yǔ)言中變量的定義必須在變量使用之前,而且定義時(shí)該變量的作用域一定要能涵蓋該變量的使用,所以定義的位置不是任意的,選項(xiàng)B)錯(cuò)誤;算術(shù)運(yùn)算符兩側(cè)的運(yùn)算數(shù)類(lèi)型可以不一致,如加減乘除運(yùn)算符都沒(méi)有對(duì)運(yùn)算數(shù)類(lèi)型進(jìn)行限制,如果不一致,系統(tǒng)會(huì)對(duì)其進(jìn)行相應(yīng)的數(shù)據(jù)類(lèi)型轉(zhuǎn)換,選項(xiàng)C)錯(cuò)誤;空格一般作為分隔符使用,數(shù)值常量中夾帶空格就會(huì)把該數(shù)值常量分作兩部分:123和123是不一樣的,選項(xiàng)D)錯(cuò)誤;答案選A)。知識(shí)模塊:數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式10、以下能正確定義字符串的語(yǔ)句是________。 A、charstr[]={′\064′}; B、charstr="kx43"; C、charstr="; D、charstr[]="\0";【答案】D11、若有以下語(yǔ)句,則正確的描述是chara[]="toyou";

charb[]={′t′,′o′,′y′,′o′,′u′}; A、a數(shù)組和b數(shù)組的長(zhǎng)度相同 B、a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度 C、a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度 D、a數(shù)組等價(jià)于b數(shù)組【答案】C12、以下正確的函數(shù)頭定義形式是________。 A、doublefun(intx,inty) B、doublefun(intx;inty) C、doublefun(intx,inty); D、doublefun(intx,y);【答案】A【解析】函數(shù)的形式參數(shù)之間以逗號(hào)“,”隔開(kāi),且每個(gè)變量均需說(shuō)明其數(shù)據(jù)類(lèi)型,圓括號(hào)后面不能有分號(hào)。只有選項(xiàng)A)符合要求。13、已知大寫(xiě)字母a的ascii碼是65,小寫(xiě)字母a的ascii碼是97,以下不能將變量c中的大寫(xiě)字母轉(zhuǎn)換為對(duì)應(yīng)小寫(xiě)字母的語(yǔ)句是______。 A、c=(c-'A')%26+'a' B、c=c+32 C、c=c-'A'+'a' D、c=('A'+c)%26-'a'【答案】D【解析】由97-65=32可知大寫(xiě)字母對(duì)應(yīng)的小寫(xiě)字母之間相差32,所以將大寫(xiě)字母加上32就得到小寫(xiě)字母,所以選項(xiàng)B和C是正確的。選項(xiàng)A中(c-'A')%26可以求出變量c中的字母與字母A相差幾位,那么小寫(xiě)字母a的ASCII碼向后移動(dòng)相差的位數(shù)就是對(duì)應(yīng)的小寫(xiě)字母,所以選項(xiàng)A也是正確的。14、若有定義"floata=25,b,*p=&b;",則下列對(duì)賦值語(yǔ)句"*p=a;"和"p=&a;"的正確解釋為()。 A、兩個(gè)語(yǔ)句都是將變量a的值賦予變量P B、*p=a是使P指向變量a,而p=&a是將變量的值賦予變量指針P C、*p=a是將變量a的值賦予變量b,而&a是使P指向變量a D、兩個(gè)語(yǔ)句都是使P指向變量a【答案】C15、下面程序的輸出結(jié)果為_(kāi)_______。

main()

{

inta,b;

b=(a=3*5,a*4,a*5);

printf(""%d"",b);

} A、60 B、75 C、65 D、無(wú)確定值【答案】B16、下面程序的運(yùn)行結(jié)果是________。

main()

{

inti,j,a=0;

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

{

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

{

if(j%2)break;

a++;

}

a++;

}

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

} A、4 B、5 C、6 D、7【答案】A17、以下對(duì)結(jié)構(gòu)體類(lèi)型變量的定義中,不正確的是________。 A、typedefstructaa{

intn;

floatm;

}AA;

AAtdl; B、#defineAAstructaaAA{

intn;

floatm;

}tdl; C、struct{

intn;

floatm;

}aa;

structaatdl; D、struct{

intn;

floatm,

}tdl;【答案】C18、有以下程序

#include<stdio.h>

main(){

ints,t,a=10;

doubleb=6;

s=sizeof(a);

t=sizeof(b);

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

}在vc6平臺(tái)上編譯運(yùn)行,程序運(yùn)行后的輸出結(jié)果是________。 A、2,4 B、4,4 C、4,8 D、10,6【答案】C19、若有定義:intaa[8];則以下表達(dá)式中不能代表數(shù)組元aa[1]的地址的是________。 A、&aa[0]+1 B、&aa[1] C、&aa[0]++ D、aa+1【答案】C20、有以下程序

structstu

{

charname[10];

intnum;

intscore;

}

;

main()

{

structstus[5]={{"yangsan",20041,703},{"lisiguo",20042,580,{"wangyin",20043,680},{"sundan",20044,550},{"penghua",20045,537}},*p[5],*t;

inti,j;

for(i=0;i<5;i++)p[i]=&s[i];

for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(p[i]->score>p[j]->score)

{

t=p[i];

p[i]=p[j];

p[j]=t;

}

printf("5d%d\n",s[1].score,p[1]->score);

}

執(zhí)行后輸出結(jié)果是________。 A、550550 B、680680 C、580550 D、580680【答案】C二、判斷題(每小題2分,共20分)()1、關(guān)于c語(yǔ)言c語(yǔ)言是結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言。【答案】正確()2、一個(gè)變量在內(nèi)存中占據(jù)一定的存儲(chǔ)單元【答案】正確()3、在if語(yǔ)句中,else前一個(gè)語(yǔ)句可不加";".【答案】錯(cuò)誤()4、循環(huán)語(yǔ)句不能嵌套使用?!敬鸢浮垮e(cuò)誤()5、c語(yǔ)言約定'\0'計(jì)入字符串的長(zhǎng)度?!敬鸢浮垮e(cuò)誤()6、要使用標(biāo)準(zhǔn)輸入、輸出函數(shù),正常情況下應(yīng)該在文件的開(kāi)頭加上以下內(nèi)容:#include<graphics.h>或#include"graphics.h"。【答案】錯(cuò)誤()7、數(shù)組名能與其它變量名相同。數(shù)組名后是用方括號(hào)括起來(lái)的常量表達(dá)式,不能用圓括號(hào)?!敬鸢浮空_()8、函數(shù)形參的存儲(chǔ)單元是動(dòng)態(tài)分配的?!敬鸢浮空_()9、以“r”方式打開(kāi)一個(gè)文件時(shí),文件指針指向文件首?!敬鸢浮空_()10、文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件?!敬鸢浮空_三、編程題(每小題分,共40分)1、從鍵盤(pán)輸入n和a的值,計(jì)算a+aa+aaa+...+aa...a(n個(gè)a)的值。(本題10分)【答案】#include

voidmain()

{

inti,a,n;

longintsum=0,st=0;

printf("請(qǐng)輸a和n:");

scanf("%d%d",&a,&n);

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

{

st=st+a;

sum=sum+st;

a=a*10;

}

printf("%ld\n",sum);

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

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分)【答案】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]))//找出最長(zhǎng)的字符串max=a[i];

returnmax;

//返回最長(zhǎng)字符串的地址

}3、題?描述

輸??組學(xué)?的成績(jī),按照成績(jī)降序輸出成績(jī)表。如有相同成績(jī),較?的學(xué)號(hào)排位靠前

輸?

輸?格式為每?兩個(gè)數(shù)值,學(xué)號(hào)N為10位數(shù)字,成績(jī)S取值為整數(shù)(0≤S≤100)讀取輸?直到輸?結(jié)束(數(shù)據(jù)總量不超過(guò)50?,且不會(huì)出現(xiàn)重復(fù)的學(xué)號(hào))

輸出

輸出格式為每?兩個(gè)數(shù)值,學(xué)號(hào)N之后有?個(gè)空格,成績(jī)值的輸出寬度占3個(gè)位置

樣例輸?

20####040578

20####042680

20####040261

20####037795

20####042780

樣例輸出

20####037795

20####042680

20####042780

20####040578

20####040261

(本題16分)【答案】#include<stdio.h>

#include<string.h>

constintN=50+5;

typedefstructstudent{

charno[15];

intscore;

}STU;

voidswap(STU*,STU*);

voidbubbleSort(STU[],int);

intmain(){

STUstu[N];

intn=0;

while(scanf("%s%d",stu[n].no,&stu[n].score)!=EOF)

n++;

bubbleSort(

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論