2022年福建農(nóng)林大學(xué)公共課《C語言》科目期末試卷B(有答案)_第1頁
2022年福建農(nóng)林大學(xué)公共課《C語言》科目期末試卷B(有答案)_第2頁
2022年福建農(nóng)林大學(xué)公共課《C語言》科目期末試卷B(有答案)_第3頁
2022年福建農(nóng)林大學(xué)公共課《C語言》科目期末試卷B(有答案)_第4頁
2022年福建農(nóng)林大學(xué)公共課《C語言》科目期末試卷B(有答案)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2022年福建農(nóng)林大學(xué)公共課《C語言》科目期末試卷B(有答案)一、填空題1、設(shè)有一輸入函數(shù)scanf("%d”,k);它不能使float類型變量k得到正確數(shù)值的原因是_______未指明變量k的地址和_______格式控制符與變量類型不匹配。2、在C語言源程序中,一個變量代表【】。3、一個C語言源程序由若干函數(shù)組成,其中至少應(yīng)含有一個________4、若x和n均是int型變量,且x和n的初值均為5,則執(zhí)行表達式x+=n++后x的值為_______,n的值為_______。5、若x和a均是int型變量,則執(zhí)行表達式(1)后的x值為_______,執(zhí)行表達式(2)后的x值為_______。(1)x=(a=4,6*2)(2)x=a=4,6*26、設(shè)x是一個整數(shù)(16bit),若要通過xly使x低8位置1,高8位不變,則y的八進制數(shù)是_______。7、雞兔共有30只,腳共有90只,下面程序段是計算雞兔各有多少只。請?zhí)羁?。for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}8、下面程序段將輸出computer。請?zhí)羁?。charc[]="Itisacomputer";for(i=0;_______;i++){_______;printf("%c",c[j]);}9、設(shè)有以下宏定義:#defineWIDTH80#defineLENGTH(WIDTH+40)則執(zhí)行賦值語句:k=LENGTH*20;(k為int型變量)后,k的值是_______。10、設(shè)main函數(shù)的說明為:intmain(intargc,char*argv[]),且有命令行為:FILE1123<回車>,則argc的值是_______,argv[1]的值是_______。二、選擇題11、下面4個選項中,是C語言關(guān)鍵字的選項是()。A.autoB.switchC.signedD.ifEnumtypedefunionstructincludecontinuescanftype 12、在C語言中,要求運算數(shù)必須是整型的運算符是()。/B.++C.!=D.%13、一個C程序的執(zhí)行是從()A.本程序的main函數(shù)開始,到main函數(shù)結(jié)束B.本程序的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束C.本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束D.本程序的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束14、C語言規(guī)定:在一個源程序中,main函數(shù)的位置()A.必須在最開始B.必須在系統(tǒng)調(diào)用的庫函數(shù)的后面C.可以任意D.必須在最后15、若有說明:inta[3][4];,則對a數(shù)組元素的非法引用是()。A.a[o][2*1]B.a[1][3]C.a[4-2][o]D.a[o][4]16、已有定義intx;floaty;且執(zhí)行scanf("%3d%f”,&x,&y);語句,若從第一列開始輸入數(shù)據(jù)12345口678<回車>,則y的值為()。(注:口表示空格)A.無定值B.45.000000C.678.000000D.123.00000017、若需要建立如圖9-3所示的存儲結(jié)構(gòu),且已有說明float*p,m=3.14;則正確的賦值語句是()A)p=m;B)p=&m;C)*p=m;D)*p=&m;18、以下程序有語法性錯誤,有關(guān)錯誤原因的正確說法是()。#include<stdio.h>intmain(){intG=5,k;voidprt_char();-----k=prt_char(G);---}A.語句voidprt_char();有錯,它是函數(shù)調(diào)用語句,不能用void說明B.變量名不能使用大寫字母C.函數(shù)說明和函數(shù)調(diào)用語句之間有矛盾D.函數(shù)名不能使用下劃線19、設(shè)有以下程序段:intx=0,s=0;while(!x!=0)s+=++x;printf("%d”,s);則()A.運行程序段后輸出0B.運行程序段后輸出1C.程序段中的控制表達式是非法的D.程序段執(zhí)行無限次20、以下正確的描述是()。A.continue語句的作用是結(jié)束整個循環(huán)的執(zhí)行B.只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句C.在循環(huán)體內(nèi)使用break語句或continue語句的作用相同D.從多層循環(huán)嵌套中退出時,只能使用goto語句21、以下程序的輸出是()。#include<stdio.h>intmain(){intx=2,y=-1,z=2;if(x<y)if(y<0)z=0;elsez+=1;printf("%d\n",z);return0;3B.2C.1D.022、定義如下變量和數(shù)組:intk;inta[3][3]={1,2,3,4,5,6,7,8,9};則下面語句的輸出結(jié)果是()。for(k=0;k<3;k++)printf("%d",a[k][2-k]);A)357B)369C)159D)14723、對兩個數(shù)組a和b進行如下初始化:chara[]="ABCDEF";charb[]={'A','B','C','D','E','F'};則以下敘述正確的是()。A.a與b數(shù)組完全相同B.a與b長度相同C.a和b中都存放字符串D.a的長度比b長24、以下程序可選出能被3整除且至少有一位是5的兩位數(shù),打印出所有這樣的數(shù)及其個數(shù)。請選擇填空()。#include<stdio.h>intsub(intk,intn){intal,a2;a2=k/10;al=k-【】;if((k%3==0&&a2==5)|l(k%3==0&&al==5)){printf("%d",k);n++;returnn;}elsereturn-1;}intmain(){inti,k,n,m;for(k=10;k<=99;k++){m=sub(k,n);if(m!=-1)n=m;}printf("\nn=%d",n);return(O);}A.a2*10B.a2C.a2/10D.a2%1025、下面程序的運行結(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、已知字母A的ASCII碼值為65。以下程序的輸出結(jié)果是_______。#include<stdio.h>intmain(){chara,b;a='A'+'4'-'3';b='A'+'6'-2';printf("a=%d,b=%c\n",a,b);return0;}27、已有定義intd=-2;執(zhí)行以下語句后的輸出結(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ù)f中的形參a為一個10×10的二維數(shù)組,n的值為5,以下程序的運行結(jié)果為_______。voidf(inta[10][10],intn){inti,j,k;j=n/2+1;a[1][j]=1;i=1;for(k=2;k<=n*n;k++){i=i-1;j=j+1;if((i<1)&&(j>n)){i=i+2;j=j-1;}else{if(i<1)i=n;if(j>n)j=1;i}f(a[i][j]==0)a[i][j]=k;else{i=i+2;j=j-1;a[i][j]=k;}}}29、以下程序的運行結(jié)果是_______。#include<stdio.h>voidadd(intx,inty,intz);intmain(){intx=2,y=3,z=0;printf("(1)x=%dy=%dz=%d\n",x,y,z);add(x,y,z);printf("(3)x=%dy=%dz=%d\n",x,y,z);return(0);voidadd(intx,inty,intz)}{z=x+y;x=x*x;y=y*y;printf("(2)x=%dy=%dz=%d\n",x,y,z);}30、下面程序的運行結(jié)果是_______。#include<stdio.h>intmain(){inti,t,sum=0;for(t=i=1;i<=10;){sum+=t;++i;if(i%3==0)t=-i;elset=i;}printf("sum=%d,sum);return0;}31、下面程序?qū)⒍S數(shù)組a的行和列元素互換后存到另一個二維數(shù)組b中。請?zhí)羁铡?include<stdio.h>intmain(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],i,j;printf("arraya:\n");for(i=0;i<=1;i++){for(j=0;_______;j++){printf("%5d",a[i][j]);_______;}printf("\n");}printf("arrayb:\n");for(i=0;_______;i++){for(j=0;j<=1;j++)printf("%5d",b[i][j]);printf("\n");}return0;}32、為了使以下程序的輸出結(jié)果為s=1,t=5,輸入值a和b應(yīng)滿足的條件是_______。#include<stdio.h>intmain(){ints,t,a,b;scanf("%d,%d”,&a,&b);s=1;t=1;if(a>0)s=s+1;if(a>b)t=s+t;elseif(a==b)t=5;elset=2*s;printf("s=%d,t=%d",s,t);return0;}33、下面程序的功能是檢查字符串s中左括號“(”的個數(shù)和右括號“)”的個數(shù),如果個數(shù)相同或者右括號的個數(shù)少于左括號的個數(shù),函數(shù)返回1,否則返回0。請?zhí)羁铡?include<stdio.h>intcheck(char*s);intmain(){charc[80];intd;gets(c);d=check(c);printf("d=%d",d);return(0);intcheck(char*s){int1=0,r=0;while(*s!='\o'){if(*s=='(')1++;elseif(*s==)')r++[1]if([2])return(1);elsereturn(0);}四、編程題34、假設(shè)x,y是整數(shù),編寫程序求xy的最后3位數(shù),要求x、y從鍵盤輸入。35、設(shè)有一個unsignedlong型整數(shù),現(xiàn)要分別將其前2個字節(jié)和后2個字節(jié)作為2個unsignedint型整數(shù)輸出(設(shè)一個int型數(shù)據(jù)占2個字節(jié)),試編一函數(shù)partition實現(xiàn)上述要求。要求在主函數(shù)中輸入該long型整數(shù),在函數(shù)partition中輸出結(jié)果。

參考答案一、填空題1、【1】格式控制符與變量類型不匹配。scanf語句的正確形式應(yīng)該是:scanf("%f",8.k);【2】未指明變量k的地址。2、內(nèi)存中的一個存儲單元3、主函數(shù)(或main函數(shù))4、【1】10【2】65、【1】12【2】46、03777、2*x+4*y==908、【1】i<=7【2】j=i+89、240010、【1】4【2】1二、選擇題11、B12、D13、A14、C15、D16、B17、B18、C19、B20、B21、B22、A23、D24、A25、B三、讀程序填空26、a=66,b=E27、*d(1)=-2*d(2)=囗-2*d(3)=-2囗**d(4)=fffe*d(5)=囗囗fffe*d(6)=fffe囗*(注:答案中的囗代表空格)28、打印5階幻方:1724181523571416461320

溫馨提示

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

評論

0/150

提交評論