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

下載本文檔

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

文檔簡介

2022年北京理工大學公共課《C語言》科目期末試卷B(有答案)一、填空題1、假設(shè)變量a和b均為整型,以下語句可以不借助任何變量把a、b中的值進行交換。請?zhí)羁铡+=_______;b=a-_______;a-=_______;2、在C語言源程序中,一個變量代表【】。3、一個C語言源程序由若干函數(shù)組成,其中至少應含有一個________4、若x和n均是int型變量,且x和n的初值均為5,則執(zhí)行表達式x+=n++后x的值為_______,n的值為_______。5、若a是int型變量,則表達式(a=4*5,a*2),a+6的值為_______。6、測試char型變量a第6位是否為1的表達式是_______(設(shè)最右位是第1位)。7、函數(shù)swap(intx,inty)可完成對x和y值的交換。在運行調(diào)用函數(shù)中的如下語句后,a[0]和a[1]的值分別為_______,原因是_______。a[o]=1;a[1]=2;swap(a[o],a[1]);8、字符串"ab\n\\012\\\"”的長度是_______。9、下面程序段將輸出computer。請?zhí)羁?。charc[]="Itisacomputer";for(i=0;_______;i++){_______;printf("%c",c[j]);}10、以下程序段通過指針變量q,但不移動q,將如圖所示連續(xù)動態(tài)存儲單元的值,從第一個元素起依次輸出到終端屏幕。請?zhí)羁?。(假設(shè)程序段中的所有變量均已正確說明。)for(k=0;k<10;k++)printf("%d,",_______);printf("\n");二、選擇題11、下面4個選項中,是不合法的整型常量的選項是()。A.--0f1B.-0XcdfC.-018D.-0x48eg0xfff017999-068001112.4565e203f12、下面4個選項中,是不合法的用戶標識符的選項是()。A.AB.floatC.b-aD._123P_01a0gototempDoAintINT13、以下敘述不正確的是()A.一個C源程序可由一個或多個函數(shù)組成B.一個C源程序必須包含一個main函數(shù)C.C程序的基本組成單位是函數(shù)D.在C程序中,注釋說明只能位于一條語句的后面14、以下敘述正確的是A.在C程序中,main函數(shù)必須位于程序的最前面B.C程序的每行中只能寫一條語句C.C語言本身沒有輸入輸出語句D.在對一個C程序進行編譯的過程中,可以發(fā)現(xiàn)注釋中的拼寫錯誤15、下面程序段的運行結(jié)果是()。charc[]=\t\\\\owil\n";printf("%d",strlen(C.);A.14B.3C.9D.字符串中有非法字符,輸出值不確定16、已知ch是字符型變量,下面正確的賦值語句是()A.ch='123';B.ch='\xff';C.ch='\08';D.ch=\";17、若有語句:charsl[]="string",s2[8]=",*s3,*s4="string2";則對庫函數(shù)strcpy的錯誤調(diào)用是()A.strcpy(s1,"string2");B.strcpy(s4,"string1");C.strcpy(s3,"string1");D.strcpy(s1,s2);18、若用數(shù)組名作為函數(shù)調(diào)用的實參,則傳遞給形參的是()A.數(shù)組的首地址B.數(shù)組第一個元素的值C.數(shù)組中全部元素的值D.數(shù)組元素的個數(shù)19、以下描述中正確的是()A.while、do-while、for循環(huán)中的循環(huán)體語句都至少被執(zhí)行一次B.do-while循環(huán)中,while(表達式)后面的分號可以省略C.while循環(huán)體中,一定要有能使while后面表達式的值變?yōu)椤凹佟钡牟僮鱀.do-while循環(huán)中,根據(jù)情況可以省略while20、以下for循環(huán)的執(zhí)行次數(shù)是()。for(x=0,y=0;(y=123)&&(x<4);x++);A.是無限循環(huán)B.循環(huán)次數(shù)不定C.執(zhí)行4次D.執(zhí)行3次21、當a=1、b=3、c=5、d=4時,執(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、當運行以下程序時,從鍵盤輸入:aabb<回車>ccdd<回車>則下面程序的運行結(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、下面程序段的運行結(jié)果是()。chara[7]="abcdef";charb[4]="ABC";strcpy(a,B.;printf("%c",a[5]);A.口B.\0C.eD.f(其中口表示1個空格)24、以下程序的正確運行結(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、下面程序的運行結(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é)果為_______。#include<stdio.h>intmain(){shorti;i=一4;printf("\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n",i,i,i,i);return0;}28、以下程序是應用遞歸算法求某數(shù)a的平方根,請?zhí)羁?。求平方根的迭代公式如下:x1=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的功能是:將輸入的大寫字母,先轉(zhuǎn)換為與其對應的小寫字母,然后再轉(zhuǎn)換成該小寫字母后的第3個字母,返回后輸出。例如,若輸入的字母為E,輸出的字母則為h;若輸入的字母為Y,輸出的字母則為b。請?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的個、十、百位上的數(shù)字之和。請?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)中下標值為偶數(shù)的元素由小到大排序,其他元素不變。請?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、若運行時輸入:4.4<回車>,則以下程序的運行結(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、以下程序的運行結(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指向雙向鏈表的第一個結(jié)點。鏈表中每個結(jié)點包含數(shù)據(jù)域(info)、后繼元素指針域(next)和前趨元素指針域(pre)。請編寫函數(shù)print1用來從頭至尾輸出這一雙向鏈表。35、已知head指向一個帶頭結(jié)點的單向鏈表,鏈表中每個結(jié)點包含數(shù)據(jù)域(data)和指針域(next)。請編寫函數(shù)實現(xiàn)如圖10-8所示鏈表的逆置。若原鏈表為:逆置后的鏈表應為:

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

評論

0/150

提交評論