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è),還剩13頁(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è)有以下定義和語(yǔ)句,請(qǐng)?jiān)趐rintf語(yǔ)句的_______中填上能夠正確輸出的變量及相應(yīng)的格式說(shuō)明。union{intn;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);2、C語(yǔ)言源程序文件的后綴是;經(jīng)過(guò)編譯后,生成文件的后綴是;經(jīng)過(guò)連接后,生成文件的后綴是3、在C語(yǔ)言中,輸入操作是由庫(kù)函數(shù)________完成的,輸出操作是由庫(kù)函數(shù)________完成的。4、表達(dá)式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的數(shù)據(jù)類型為_______。5、C語(yǔ)言中的標(biāo)識(shí)符只能由3種字符組成,它們是_______、_______和_______6、請(qǐng)讀程序段:inta=1,b=2;if(a&b)printf("***\n");elseprintf("$$$\n");以上程序段的輸出結(jié)果是_______。7、下面程序段中循環(huán)體的執(zhí)行次數(shù)是_______。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、設(shè)有宏定義如下:#defineMIN(x,y)(x)>(y)?(x):(y)#defineT(x,y,r)x*r*y/4則執(zhí)行以下語(yǔ)句后,s1的值為_______,s2的值為_______。inta=1,b=3,c=5,s1,s2;s1=MIN(a=b,b-a);s2=T(a++,a*++b,a+b+c);9、設(shè)有以下宏定義:#defineWIDTH80#defineLENGTH(WIDTH+40)則執(zhí)行賦值語(yǔ)句:k=LENGTH*20;(k為int型變量)后,k的值是_______。10、當(dāng)運(yùn)行以下程序時(shí),從鍵盤輸入book<回車>book囗<回車>(囗表示空格),則下面程序段的運(yùn)行結(jié)果是_______。charal[80],a2[80],*sl=al,*s2=a2;gets(s1);gets(s2);if(!strcmp(sl,s2))printf("x");elseprintf("#");printf("%d",strlen(strcat(sl,s2))}二、選擇題11、設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型為()。A.intB.floatC.doubleD.不確定12、已知字母A的ASCII碼為十進(jìn)制數(shù)65,且定義c2為字符型變量,則執(zhí)行語(yǔ)句c2='A'+'6'-'3';后,c2中的值為()。A.DB.68C.不確定的值D.C13、一個(gè)C語(yǔ)言程序由()。A.一個(gè)主程序和若干子程序組成B.函數(shù)組成C.若干過(guò)程組成D.若干子程序組成14、一個(gè)C程序的執(zhí)行是從()A.本程序的main函數(shù)開始,到main函數(shù)結(jié)束B.本程序的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C.本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D.本程序的第一個(gè)函數(shù)開始,到本程序main函數(shù)結(jié)束15、有字符數(shù)組a[80]和b[80],則正確的輸出形式是()A.puts(a,B.;B.printf("%s,%s",a[],b[]);C.putchar(a,B.;D.puts(A.,puts(B.;16、設(shè)x、y均為float型變量,則以下不合法的賦值語(yǔ)句()。A.++x;B.yy=(x%2)/10;C.x*=y+8;D.x=y=0;17、若有以下說(shuō)明和語(yǔ)句:char*language[]={"FORTRAN","BASIC","PASCAL","JAVA","C");char**q;q=language+2;則語(yǔ)句printf("%o\n",*q);()。A.輸出的是language[2]元素的地址B.輸出的是字符串PASCALC.輸出的是language[2]元素的值,它是字符串PASCAL的首地址D.格式說(shuō)明不正確,無(wú)法得到確定的輸出18、若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,則傳遞給形參的是()A.數(shù)組的首地址B.數(shù)組第一個(gè)元素的值C.數(shù)組中全部元素的值D.數(shù)組元素的個(gè)數(shù)19、執(zhí)行語(yǔ)句for(i=1;i++<4;);后變量i的值是()。A.3B.4C.5D.不定20、與下面程序段等價(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;}21、以下程序的輸出是()。#include<stdio.h>intmain(){inta=100,x=10,y=20,okl=5,ok2=0;if(x<y)if(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;printf("%d\n",A.;return0;}A.1B.0C.-1D.值不確定22、下面程序段的功能是輸出兩個(gè)字符串中對(duì)應(yīng)相等的字符,請(qǐng)選擇填空()。charx[]="programming";chary[]="Fortran";inti=0;while(x[i]!='\o'&&.y[i]!='\o')if(x[i]==y[i])printf("%c",【】);elsei++;A.x[i++]B.y[++i]C.x[i]D.y[i]23、當(dāng)運(yùn)行以下程序時(shí),從鍵盤輸入:ab<回車>C<回車>def<回車>則下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>#defineN6intmain(){charc[N];inti=0;for(;i<N;c[i]=getchar(),i++);for(i=0;i<N;i++)putchar(c[i]);return0;}A.abcdefB.aC.bD.abbcccddef24、以下程序的運(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、下面程序段的運(yùn)行結(jié)果是()。for(y=1;y<10;)y=((x=3*y,x+1),x-1);printf("x=%d,y=%d",x,y);A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=27三、讀程序填空26、以下程序的輸出結(jié)果為_______.#include<stdio.h>intmain(){printf("*%f,%4.3f*\n",3.14,3.1415);return0;}27、已有定義intd=-2;執(zhí)行以下語(yǔ)句后的輸出結(jié)果是_______。printf("*d(1)=%d*d(2)=%3d*d(3)=%-3d*\n",d,d,d);printf("*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n",d,d,d);28、下面函數(shù)func的功能是_______。#include<conio.h>#include<stdio.h>#include<stdlib.h>longfunc(longnum){longk=1;num=labs(num);do{k*=num%10;num/=10;}while(num);return(k);}intmain(){longn;printf("\nPleaseenteranumber:");scanf("%ld",&.n);printf("\nTheproductofitsdigitsis%ld.",func(n));return(0);}29、若輸入一個(gè)整數(shù)10,則以下程序的運(yùn)行結(jié)果是_______。#include<stdio.h>intsub(inta);intmain(){inta,e[10],c,i=0;printf(”輸入一整數(shù)\n");scanf("%d",&.a);while(a!=0){c=sub(a);a=a/2;e[i]=c;i++;for(;i>0;i--)printf("%d",e[i-1]);return(0);}intsub(inta){intc;c=a%2;returnc;}30、下面程序的功能是用do-while語(yǔ)句求1~1000之間滿足“用3除余2,用5除余3,用7除余2”的數(shù),且一行只打印5個(gè)數(shù)。請(qǐng)?zhí)羁铡?include<stdio.h>intmain(){inti=1,j=0;do{if(_______){printf("%4d",i);j=j+1;if(_______)printf(\n");}i=i+1;}while(i<1000);return0;}31、下面程序的運(yùn)行結(jié)果是_______。#include<stdio.h>intmain(){inta[5][5],i,j,n=l;for(i=0;i<5;i++)for(j=0;j<5;j++)a[i][j]=n++;printf("Theresultis:\n");for(i=0;i<5;i++){for(j=0;j<=i;j++)printf("%4d",a[i][j]);printf("\n");}return0;}32、將以下兩條if語(yǔ)句合并成一條if語(yǔ)句為_______。語(yǔ)句1:if(a>b)scanf("%d",8&a);elsescanf("%d",&b);語(yǔ)句2:if(a<=b)m++;elsen++;33、下面程序的運(yùn)行結(jié)果是_______。#include<stdio.h>#defineSIZE12voidsub(char*a,inttl,intt2);intmain(){chars[SIZE];inti;for(i=0;i<SIZE;i++)s[i]='A'+i+32;sub(s,7,SIZE-1);for(i=0;i<SIZE;i++)printf("%c",s[i]);printf("\n");return(0);}voidsub(char*a,inttl,intt2){charch;while(t1<t2){ch=*(a+tl);*(a+t1)=*(a+t2);*(a+t2)=ch;t1++;t2--;}}四、編程題34、試?yán)弥赶蚪Y(jié)構(gòu)體的指針編制一個(gè)程序,實(shí)現(xiàn)輸入3個(gè)學(xué)生的學(xué)號(hào)、數(shù)學(xué)期中和期末成績(jī),然后計(jì)算其平均成績(jī)并輸出成績(jī)表。35、已知head指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含字符型數(shù)據(jù)域(data)和指針域(next)。請(qǐng)編寫函數(shù)實(shí)現(xiàn)在值為a的結(jié)點(diǎn)前插入值為key的結(jié)點(diǎn),若沒有值為a的結(jié)點(diǎn),則插在鏈表最后。

參考答案一、填空題1、【1】%If【2】num.x2、【1】.c【2】.obj【3】.exe3、【1】scanf【2】printf4、整型(或int型)5、【1】字母【2】數(shù)字【3】下劃線6、$$$7、38、【1】3【2】289、240010、#9二、選擇題11、C12、A13、B14、A15、D16、B17、C18、A19、C20、C21、C22、A23、D24、B25、C三、讀程序填空26、*3.140000,3.142*27、*d(1)=-2*d(2)=囗-2*d(3)=-2囗**d(4)=fffe*d(5)=囗囗fffe*d(6)=fffe囗*(注:答案中的囗代表空格)28、計(jì)算整數(shù)num的各位數(shù)字之積。29、101030、【1】i%3==2&&i%5==3&&i%7==2【2】j%5==031、Theresultis:16711121316171819212223242532、if(a>b){scanf("%d",&a);n++;}else{scanf("%d",&b);m++;}33、abcdefglkjih四、編程題34、

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論