2022年北京理工大學(xué)公共課《C語(yǔ)言》科目期末試卷B(有答案)_第1頁(yè)
2022年北京理工大學(xué)公共課《C語(yǔ)言》科目期末試卷B(有答案)_第2頁(yè)
2022年北京理工大學(xué)公共課《C語(yǔ)言》科目期末試卷B(有答案)_第3頁(yè)
2022年北京理工大學(xué)公共課《C語(yǔ)言》科目期末試卷B(有答案)_第4頁(yè)
2022年北京理工大學(xué)公共課《C語(yǔ)言》科目期末試卷B(有答案)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2022年北京理工大學(xué)公共課《C語(yǔ)言》科目期末試卷B(有答案)一、填空題1、假設(shè)變量a和b均為整型,以下語(yǔ)句可以不借助任何變量把a(bǔ)、b中的值進(jìn)行交換。請(qǐng)?zhí)羁?。a+=_______;b=a-_______;a-=_______;2、在C語(yǔ)言源程序中,一個(gè)變量代表【】。3、一個(gè)C語(yǔ)言源程序由若干函數(shù)組成,其中至少應(yīng)含有一個(gè)________4、若x和n均是int型變量,且x和n的初值均為5,則執(zhí)行表達(dá)式x+=n++后x的值為_(kāi)______,n的值為_(kāi)______。5、若a是int型變量,則表達(dá)式(a=4*5,a*2),a+6的值為_(kāi)______。6、測(cè)試char型變量a第6位是否為1的表達(dá)式是_______(設(shè)最右位是第1位)。7、函數(shù)swap(intx,inty)可完成對(duì)x和y值的交換。在運(yùn)行調(diào)用函數(shù)中的如下語(yǔ)句后,a[0]和a[1]的值分別為_(kāi)______,原因是_______。a[o]=1;a[1]=2;swap(a[o],a[1]);8、字符串"ab\n\\012\\\"”的長(zhǎng)度是_______。9、下面程序段將輸出computer。請(qǐng)?zhí)羁铡harc[]="Itisacomputer";for(i=0;_______;i++){_______;printf("%c",c[j]);}10、以下程序段通過(guò)指針變量q,但不移動(dòng)q,將如圖所示連續(xù)動(dòng)態(tài)存儲(chǔ)單元的值,從第一個(gè)元素起依次輸出到終端屏幕。請(qǐng)?zhí)羁?。(假設(shè)程序段中的所有變量均已正確說(shuō)明。)for(k=0;k<10;k++)printf("%d,",_______);printf("\n");二、選擇題11、下面4個(gè)選項(xiàng)中,是不合法的整型常量的選項(xiàng)是()。A.--0f1B.-0XcdfC.-018D.-0x48eg0xfff017999-068001112.4565e203f12、下面4個(gè)選項(xiàng)中,是不合法的用戶(hù)標(biāo)識(shí)符的選項(xiàng)是()。A.AB.floatC.b-aD._123P_01a0gototempDoAintINT13、以下敘述不正確的是()A.一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成B.一個(gè)C源程序必須包含一個(gè)main函數(shù)C.C程序的基本組成單位是函數(shù)D.在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面14、以下敘述正確的是A.在C程序中,main函數(shù)必須位于程序的最前面B.C程序的每行中只能寫(xiě)一條語(yǔ)句C.C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句D.在對(duì)一個(gè)C程序進(jìn)行編譯的過(guò)程中,可以發(fā)現(xiàn)注釋中的拼寫(xiě)錯(cuò)誤15、下面程序段的運(yùn)行結(jié)果是()。charc[]=\t\\\\owil\n";printf("%d",strlen(C.);A.14B.3C.9D.字符串中有非法字符,輸出值不確定16、已知ch是字符型變量,下面正確的賦值語(yǔ)句是()A.ch='123';B.ch='\xff';C.ch='\08';D.ch=\";17、若有語(yǔ)句:charsl[]="string",s2[8]=",*s3,*s4="string2";則對(duì)庫(kù)函數(shù)strcpy的錯(cuò)誤調(diào)用是()A.strcpy(s1,"string2");B.strcpy(s4,"string1");C.strcpy(s3,"string1");D.strcpy(s1,s2);18、若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,則傳遞給形參的是()A.數(shù)組的首地址B.數(shù)組第一個(gè)元素的值C.數(shù)組中全部元素的值D.數(shù)組元素的個(gè)數(shù)19、以下描述中正確的是()A.while、do-while、for循環(huán)中的循環(huán)體語(yǔ)句都至少被執(zhí)行一次B.do-while循環(huán)中,while(表達(dá)式)后面的分號(hào)可以省略C.while循環(huán)體中,一定要有能使while后面表達(dá)式的值變?yōu)椤凹佟钡牟僮鱀.do-while循環(huán)中,根據(jù)情況可以省略while20、以下for循環(huán)的執(zhí)行次數(shù)是()。for(x=0,y=0;(y=123)&&(x<4);x++);A.是無(wú)限循環(huán)B.循環(huán)次數(shù)不定C.執(zhí)行4次D.執(zhí)行3次21、當(dāng)a=1、b=3、c=5、d=4時(shí),執(zhí)行以下程序段后x的值是()。if(a<B.if(c<D.x=l;elseif(a<C.if(b<D.x=2;elsex=3;elsex=6;elsex=7;A.1B.2C.3D.622、當(dāng)運(yùn)行以下程序時(shí),從鍵盤(pán)輸入:aabb<回車(chē)>ccdd<回車(chē)>則下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>intmain(){charal[5],a2[5],a3[5],a4[5];scanf("%s%s",al,a2);gets(a3);gets(a4);puts(a1);puts(a2);puts(a3);puts(a4);return0;}A)aaB)aaC)aaD)aabbbbbbbbccccccddddccddddee23、下面程序段的運(yùn)行結(jié)果是()。chara[7]="abcdef";charb[4]="ABC";strcpy(a,B.;printf("%c",a[5]);A.口B.\0C.eD.f(其中口表示1個(gè)空格)24、以下程序的正確運(yùn)行結(jié)果是()。#include<stdio.h>intf(intA.;intmain(){inta=2,i;for(i=0;i<3;i++)printf("%4d",f(A.);return(0);}intf(intA.{intb=0;staticintc=3;b++;c++;return(a+b+C.;}A.777B.71013C.7911D.78925、下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>intmain(){intk=0;charc='A';do{switch(c++){case'A':k++;break;case'B':k--;case'C':k+=2;break;case'D':k=k%2;continue;case'E':k=k*10;break;default:k=k/3;}k++;}while(c<'G');printf("k=%d\n",k);return0;}A.k()=3B.k=4C.k=2D.k=0三、讀程序填空26、以下程序的輸出結(jié)果是_______。#include<stdio.h>intmain(){intx=1,y=2;printf("x=%dy=%d*sum*=%d\n",x,y,x+y);printf("10Squaredis:%d\n",10*10);return0;}27、以下程序的輸出結(jié)果為_(kāi)______。#include<stdio.h>intmain(){shorti;i=一4;printf("\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n",i,i,i,i);return0;}28、以下程序是應(yīng)用遞歸算法求某數(shù)a的平方根,請(qǐng)?zhí)羁铡G笃椒礁牡饺缦拢簒1=12(x0+a#include<stdio.h>#include<math.h>doublemysqrt(doublea,doublexo){doublex1,y;x1=_______;if(fabs(x1-x0)>0.00001)y=mysqrt(_______);elsey=x1;returny;intmain(){doublex;printf("Enterx:");scanf("%If",8.x);printf("Thesqrtof%f=%f\n",x,mysqrt(x,1.0));return(0);}29、以下函數(shù)fun的功能是:將輸入的大寫(xiě)字母,先轉(zhuǎn)換為與其對(duì)應(yīng)的小寫(xiě)字母,然后再轉(zhuǎn)換成該小寫(xiě)字母后的第3個(gè)字母,返回后輸出。例如,若輸入的字母為E,輸出的字母則為h;若輸入的字母為Y,輸出的字母則為b。請(qǐng)?zhí)羁铡?include<stdio.h>#include<string.h>charfun(charc){!c=_______:if(c>=1a1&&c<='w')c=c+3;elseif(c>='x'/&&c<='z')_______:returnc;}intmain(){charc;c=getchar();c=fun(e);putchar(c);return(0);}30、下面程序的功能是求1111的個(gè)、十、百位上的數(shù)字之和。請(qǐng)?zhí)羁铡?include<stdio.h>intmain(){inti,s=1,m=0;for(i=1;i<=11;i++)s=s*11%1000;do{m+=_______;s=_______;}while(s);printf("m=%d\n",m);return0;}31、下面程序段的功能是將字符串a(chǎn)中下標(biāo)值為偶數(shù)的元素由小到大排序,其他元素不變。請(qǐng)?zhí)羁?。chara[]="labchmfye",t;inti,j;for(i=0;i<7;i+=2)for(j=i+2;j<9;_______)if(_______){t=a[i];a[i]=a[j];a[j]=t;j++;}puts(a);32、若運(yùn)行時(shí)輸入:4.4<回車(chē)>,則以下程序的運(yùn)行結(jié)果是_______。#include<stdio.h>intmain(){floatcostPrice,sellingPrice;printf("EntercostPrice$:");scanf("%f",&costPrice);if(costPrice>=5){sellingPrice=costPrice+costPrice*0.25;printf("SellingPrice(0.25)$%6.2f",sellngPrice):}else(sellingPrice=costPrice+costPrice*0.30;printf("SellingPrice(0.30)$%6.2f',sellingPrice);return0;}33、以下程序的運(yùn)行結(jié)果是_______。#include<stdio.h>voidfun(int*b,intn,int*s){inti;*s=0;for(i=1;i<=n;i++)*s=*s+*(b+i);intmain(){intx=1,a[]={2,3,4,5,6};fun(a,3,&x);printf("\n%d",x);return(0);}四、編程題34、已知head指向雙向鏈表的第一個(gè)結(jié)點(diǎn)。鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域(info)、后繼元素指針域(next)和前趨元素指針域(pre)。請(qǐng)編寫(xiě)函數(shù)print1用來(lái)從頭至尾輸出這一雙向鏈表。35、已知head指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域(data)和指針域(next)。請(qǐng)編寫(xiě)函數(shù)實(shí)現(xiàn)如圖10-8所示鏈表的逆置。若原鏈表為:逆置后的鏈表應(yīng)為:

參考答案一、填空題1、【1】b【2】b【3】b2、內(nèi)存中的一個(gè)存儲(chǔ)單元3、主函數(shù)(或main函數(shù))4、【1】10【2】65、266、a&040或a&0×20或a&327、a[0]=1a[1]=2【2】單向值傳遞,不能返回交換后的值。8、99、【1】i<=7【2】j=i+810、*(q+k)或q[k]二、選擇題11、D12、C13、D14、C15、B16、B17、C18、A19、C20、C21、B22、A23、D24、B25、B三、讀程序填空26、x=1y=2*sum*=310Squaredis:10027、i:dec=-4,oct=177774,hex=fffc,unsigned=6553228、【1】(x0+a/x0)/2.0【2】a,x129、【

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論