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è),還剩12頁(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)介

2022年山東交通學(xué)院公共課《C語(yǔ)言》科目期末試卷B(有答案)一、填空題1、假設(shè)變量a、b和c均為整型,以下語(yǔ)句借助中間變量t把a(bǔ)、b和c中的值進(jìn)行交換,即把b中的值給a,把c中的值給b,把a(bǔ)中的值給c。例如:交換前,a=10、b=20、c=30;交換后,a=20、b=30、c=10。請(qǐng)?zhí)羁?。_______;a=b;b=c;_______;2、C語(yǔ)言的源程序必須通過(guò)【】和【】后,才能被計(jì)算機(jī)執(zhí)行。3、結(jié)構(gòu)化程序由________、________、________3種基本結(jié)構(gòu)組成。4、若采用十進(jìn)制數(shù)的表示形式,則077為_______,0111為_______,0xab為_______。5、C語(yǔ)言中的標(biāo)識(shí)符可分為關(guān)鍵字、_______和_______3類。6、設(shè)x=10100011,若要通過(guò)x*y使x的高4位取反,低4位不變,則y的二進(jìn)制數(shù)是_______。7、函數(shù)swap(intx,inty)可完成對(duì)x和y值的交換。在運(yùn)行調(diào)用函數(shù)中的如下語(yǔ)句后,a[0]和a[1]的值分別為_______,原因是_______。a[o]=1;a[1]=2;swap(a[o],a[1]);8、下面程序段將輸出computer。請(qǐng)?zhí)羁?。charc[]="Itisacomputer";for(i=0;_______;i++){_______;printf("%c",c[j]);}9、下面程序段的運(yùn)行結(jié)果是_______。charch[]="600";inta,s=0;for(a=0;ch[a]>='0'&&ch[a]<='9';a++)s=10*s+ch[a]-'o';printf("%d",s);10、下面程序段的運(yùn)行結(jié)果是_______。char*p="PDP1-0";inti,d;for(i=0;i<7;i++){d=isdigit(*(p+i));if(d!=0)printf("%cx",*(p+i));}二、選擇題11、下面4個(gè)選項(xiàng)中,是不合法的整型常量的選項(xiàng)是()。A.--0f1B.-0XcdfC.-018D.-0x48eg0xfff017999-068001112.4565e203f12、設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是()。A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x=y,x+1)13、以下敘述不正確的是()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程序的每行中只能寫一條語(yǔ)句C.C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句D.在對(duì)一個(gè)C程序進(jìn)行編譯的過(guò)程中,可以發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤15、以下不正確的定義語(yǔ)句是()。A.doublex[5]={2.0,4.0,6.0,8.0,10.0};B.inty[5]={0,1,3,5,7,9};C.charcl[]={'1','2','3','4','5'};D.charc2[]={'\x10','\xa','\x8'};16、有輸入語(yǔ)句:scanf("a=%d,b=%d,c=%d",&a,&b,&C.;為使變量a的值為1,b的值為3,c的值為2;從鍵盤輸入數(shù)據(jù)的正確形式應(yīng)當(dāng)是()。(注:囗表示空格)A.132<回車>B.1,3,2<回車>C.a=1囗b=3囗c=2<回車>D.a=1,b=3,c=2<回車>17、若有函數(shù)max(a,B.,并且已使函數(shù)指針變量p指向函數(shù)max,當(dāng)調(diào)用該函數(shù)時(shí),正確的調(diào)用方法是()A.(*p)max(a,B.;B.*pmax(a,B.;C.(*p)(a,B.;D.*p(a,B.;18、若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,則傳遞給形參的是()A.數(shù)組的首地址B.數(shù)組第一個(gè)元素的值C.數(shù)組中全部元素的值D.數(shù)組元素的個(gè)數(shù)19、與下面程序段等價(jià)的是()。for(n=100;n<=200;n++){if(n%3==0)continue;printf("%4d",n);}A.for(n=100;(n%3)&&n<=200;n++)printf("%4d",n);B.for(n=100;(n%3)||n<=200;n++)printf("%4d",n);C.for(n=100;n<=200;n++)if(n%3!=0)printf("%4d",n);D.for(n=100;n<=200;n++){if(n%3)printf("%4d",n);elsecontinue;break;}20、設(shè)有程序段:t=0;while(printf("*")){t++;if(t<3)break;}下面描述正確的是()。A.其中循環(huán)控制表達(dá)式與0等價(jià)B.其中循環(huán)控制表達(dá)式與'0'等價(jià)C.其中循環(huán)控制表達(dá)式是不合法的D.以上說(shuō)法都不對(duì)21、若w、x、y、z、m均為int型變量,則執(zhí)行下面語(yǔ)句后的m值是()。w=1;x=2;y=3;z=4:m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;A.1B.2C.3D.422、下面程序段的運(yùn)行結(jié)果是()。inta[6][6],i,j;for(i=1;i<6;i++)for(j=1:j<6;j++)a[i][j]=(i/j)*(j/i);for(i=1;i<6;i++){for(j=1;j<6;j++)printf("%2d",a[i][j]);printf("\n")}A)11111B)00001C)10000D)100011111100010010000101011111001000010000100111110100000010010101111110000000011000123、下面程序的功能是將字符串s中所有的字符c刪除。請(qǐng)選擇填空()。#include<stdio.h>intmain(){chars[80];inti,j;gets(s);for(i=j=0;s[i]!='\o';i++)if(s[i]!='c)[];s[j]='\o';puts(s);return0;}A)s[j++]=s[i]B)s[++j]=s[i]C)s[j]=s[];j++D)s[j]=s[i]24、以下程序的運(yùn)行結(jié)果是()。#include<stdio.h>intfun(inta,intB.{if(a>B.return(a+B.;elsereturn(a-B.;intmain(){intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf("%d\n",r);return(0);}A.-16B.-17C.17D.1625、下面程序的功能是從鍵盤輸入若干學(xué)號(hào),然后輸出學(xué)號(hào)中百位數(shù)字是3的學(xué)號(hào)(輸入0時(shí)結(jié)束循環(huán)),請(qǐng)選擇填空()。#include<stdio.h>intmain(){longintnum;scanf("%1d",&.num);do{if(【1】)printf("%1d",num);scanf("%ld",8.num);}while(!num==0);return0;}A)num%100/10==3B)num/100%10==3C)num%10/10==3D)num/10%10==3三、讀程序填空26、以下程序的輸出結(jié)果為_______。#include<stdio.h>intmain(){shorti;i=一4;printf("\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n",i,i,i,i);return0;}27、有以下程序:#include<stdio.h>intmain(){intk=0;charc1='a',c2='b';scanf("%d%c%c”,&k,&c1,&c2);printf("%d,%c,%c\n",k,c1,c2);return0;}若運(yùn)行時(shí)從鍵盤輸入:55AB<回車>,則輸出結(jié)果是_______。28、有一數(shù)列,第1項(xiàng)值為2,其后每項(xiàng)與前一項(xiàng)值的差為3,以下函數(shù)fun的功能是計(jì)算前5項(xiàng)的累加和,在累加過(guò)程中同時(shí)輸出那些除以4后還余2的和的值。請(qǐng)?zhí)羁铡?include<stdio.h>voidfun(inta,intd){inti,sum=0;for(i=0;i<5;i++){sum=sum+a;a=_______;if(_______)printf("sum=%d\n",sum);intmain(){inta=2,d=3;fun(a,d);return(0);}29、下面程序的運(yùn)行結(jié)果是_______。#include<stdio.h>intsub(intn);intmain(){inti=5;printf("%d\n",sub(i));return(0);}intsub(intn){inta;if(n==1)return1;a=n+sub(n一1);return(a);}30、下面程序的功能是從鍵盤輸入的10個(gè)整數(shù)中,找出第一個(gè)能被7整除的數(shù)。若找到,打印此數(shù);若未找到,打印notexist。請(qǐng)?zhí)羁铡?include<stdio.h>intmain(){inti,a;for(i=1;i<=10;i++){scanf("%d",&a);if(a%7==0)_______;}if(_______)printf("%d\n",a);elseprintf("notexist\n");return0;}31、下面程序的功能是輸入5個(gè)整數(shù),找出最大數(shù)和最小數(shù)所在的位置,并把二者對(duì)調(diào),然后輸出調(diào)整后的5個(gè)數(shù)。請(qǐng)?zhí)羁铡?include<stdio.h>intmain(){inta[5],max,min,i,j=0,k=0;for(i=0;i<5;i++)scanf("%d",&a[i]);min=a[o];for(i=1;i<5;i++)if(a[i]<min){min=a[i];_______;}max=a[0];for(i=1;i<5;i++)if(a[i]>max){max=a[i];_______;}_______printf("\nThepositionofminis:%3d\n",k);printf("Thepositionofmaxis:%3d\n",j);for(i=0;i<5;i++)printf("%5d",a[i]);return0;}32、以下程序的運(yùn)行結(jié)果是_______。#include<stdio.h>intmain(){inta=-10,b=-3;printf("%d,",一a%b);printf("%d,",(a-b,a+b));printf("%d\n",a-b?a-b:a+b);return0;}33、下面程序的運(yùn)行結(jié)果是_______。#include<stdio.h>char*strc(char*strl,char*str2);intmain(){char*strc(char*strl,char*str2);charsl[80]="computer",s2[]="language",*pt;pt=strc(s1,s2);printf("%s\n",pt);return(0);}char*strc(char*strl,char*str2){char*p;for(p=strl;*p!='\0';p++);do(*p++=*str2++;}while(*str2!='\o');*p='\0';return(str1);}四、編程題34、請(qǐng)編程序建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表結(jié)點(diǎn)中的數(shù)據(jù)通過(guò)鍵盤輸入,當(dāng)輸入數(shù)據(jù)為-1時(shí),表示輸入結(jié)束。(鏈表頭結(jié)點(diǎn)的data域不放數(shù)據(jù),表空的條件是ph->next==NULL。)35、已知head指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域(data)和指針域(next)。請(qǐng)編寫函數(shù)實(shí)現(xiàn)如圖10-8所示鏈表的逆置。若原鏈表為:逆置后的鏈表應(yīng)為:

參考答案一、填空題1、【1】t=a【2】c=t2、【1】編譯【2】連接3、【1】順序結(jié)構(gòu)【2】選擇結(jié)構(gòu)【3】循環(huán)結(jié)構(gòu)4、【1】63【2】73【3】1715、【1】用戶標(biāo)識(shí)符【2】預(yù)定義標(biāo)識(shí)符6、111100007、a[0]=1a[1]=2【2】單向值傳遞,不能返回交換后的值。8、【1】i<=7【2】j=i+89、60010、1*0*二、選擇題11、D12、C13、D14、C15、B16、D17、C18、A19、C20、B21、A22、C23、A24、B25、B三、讀程序填空26、i:dec=-4,oct=177774,hex=fffc,unsigned=6553227、55,,A28、【1】a+d【2】sum%4==229、1530、【1】break【2】i<=1031、【1】i=j=k【2】k=i【3】a[j]=max;a[k]=min;32、1,-13,-

溫馨提示

  • 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)論