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

下載本文檔

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

文檔簡介

2022年重慶科技學(xué)院公共課《C語言》科目期末試卷B(有答案)一、填空題1、設(shè)有一輸入函數(shù)scanf("%d”,k);它不能使float類型變量k得到正確數(shù)值的原因是_______未指明變量k的地址和_______格式控制符與變量類型不匹配。2、一個C語言源程序由若干函數(shù)組成,其中至少應(yīng)含有一個________3、結(jié)構(gòu)化程序由________、________、________3種基本結(jié)構(gòu)組成。4、表達(dá)式x=6應(yīng)當(dāng)讀做_______5、已知字母a的ASCIl碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch='a'+'8'-3'的值為_______。6、請讀以下函數(shù):getbits(unsignedx,unsignedp,unsignedn)'{x=((x<<(p+1-n))&((unsigned)~0>>n));return(x);}假設(shè)機(jī)器的無符號整數(shù)字長為16位。若調(diào)用此函數(shù)時x=0115032,p=7,n=4,則函數(shù)返回值的八進(jìn)制數(shù)是_______。7、函數(shù)swap(arr,n)可對arr數(shù)組從第1個元素到第n個元素分別進(jìn)行兩兩元素交換。在運行調(diào)用函數(shù)中的如下語句后,a[o]和a[1]的值分別為_______,原因是_______。a[0]=1;a[1]=2;swap(a,2);8、在C語言中,二維數(shù)組元素在內(nèi)存中的存放順序是_______。9、若有定義floata[3][5];則a數(shù)組所含數(shù)組元素個數(shù)是_______,a數(shù)組所占的字節(jié)數(shù)是_______。10、請?zhí)羁眨航⑷鐖D所示存儲結(jié)構(gòu)所需的說明語句是_______。建立如圖所示為變量a輸入數(shù)據(jù)的輸入語句是_______。建立如圖所示存儲結(jié)構(gòu)所需的賦值語句是_______。二、選擇題11、下面4個選項中,是不合法的轉(zhuǎn)義字符的選項是()A.'\"'B.'\1011'C.'\0ll'D.'\abe'\\'\''\f''\0ll'\xf''\a''\]''xlf'12、下面4個選項中,是不合法的用戶標(biāo)識符的選項是()。A.AB.floatC.b-aD._123P_01a0gototempDoAintINT13、一個C程序的執(zhí)行是從()A.本程序的main函數(shù)開始,到main函數(shù)結(jié)束B.本程序的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束C.本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束D.本程序的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束14、以下敘述正確的是A.在C程序中,main函數(shù)必須位于程序的最前面B.C程序的每行中只能寫一條語句C.C語言本身沒有輸入輸出語句D.在對一個C程序進(jìn)行編譯的過程中,可以發(fā)現(xiàn)注釋中的拼寫錯誤15、以下對一維整型數(shù)組a的正確說明是()。A.inta(10);B.intn=0,a[n];C.intn;scanf("%d",&n);inta[n];D.#defineSIZE10;inta[SIZE];16、設(shè)有以下程序:#include<stdio.h>intmain(){inta=201,b=012;printf("%2d,%2d\n",a,B.;return0;.}程序執(zhí)行后的輸出結(jié)果是()。A.01,12B.201,10C.01,10D.20,0117、若有語句: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、語句while(!E);中的表達(dá)式!E等價于()。A.E==0B.E!=1C.E!=0D.E==120、執(zhí)行語句for(i=1;i++<4;);后變量i的值是()。A.3B.4C.5D.不定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、下面程序的功能是從鍵盤輸入一行字符,統(tǒng)計其中有多少個單詞,單詞之間用空格分隔。請選擇填空。()#include<stdio.h>intmain(){chars[80],c1,c2='';inti=0,num=0;gets(s);while(s[i]!='\o'){c1=s[i];if(i==0)c2='';elsec2=s[i-1];if(【】)num++;i++;printf("Thereare%dwords.\n",num);return0;}A.c1==′′&&c2==''B.cl!=''&&c2==''C.c1==''&&c2!=''D.cl!=''&&c2!=''23、下面程序的運行結(jié)果是()。#include<stdio.h>intmain(){chara[]="morming",t;inti,j=0;for(i=1;i<7;i++)if(a[j]<a[])j=i;t=a[j];a[j]=a[7];a[7]=a[j];puts(a);return0;}A)mogninrB)moC)morningD)mornin24、以下是有關(guān)漢諾塔問題的程序段,若在main函數(shù)中有調(diào)用語句hanoi(3,'A',B’,C.;則符合程序段運行結(jié)果的選項是()。voidmove(chargetone,charputone){printf("%c——>%c\n",getone,putone);voidhanoi(intn,charone,chartwo,charthree){if(n==1)move(one,three);else{hanoi(n-1,one,three,two);move(one,three);hanoi(n-1,two,one,three);}}A)A-->CB)A-->CC)A-->CD)A-->CA-->BA-->BA-->BA-->BC-->BC-->AC-->BC-->BB-->AA-->BA-->CA-->CC-->BB-->CB-->AA—->BA-->CA-->CB-->CB-->CA-->BA-->BA-->CA-->C25、若運行以下程序時,從鍵盤輸入2473<回車>,則下面程序的運行結(jié)果()#include<stdio.h>intmain(){intc;while((c=getchar())!='\n')switch(c-'2'){case0:case1;putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default;putchar(c+2);break;}return0;}A.668977B.668966C.66778777D.6688766三、讀程序填空26、已有定義floatd1=3.5,d2=-3.5;執(zhí)行以下語句后的輸出結(jié)果是_______。printf("*d(1)=%e*d(2)=%.4e*d(3)=%10.4e*\n",dl,dl,d1);printf("*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\n",d2,d2,d2);27、已有定義intd=-2;執(zhí)行以下語句后的輸出結(jié)果是_______。printf("*d(1)=%d*d(2)=%3d*d(3)=%-3d*\n",d,d,d);printf("*d(4)=%o*d(5)=%7o*d(6)=%7o*\n",d,d,d);28、以下search函數(shù)的功能是利用順序查找法從數(shù)組a的10個元素中對關(guān)鍵字m進(jìn)行查找。順序查找法的思路是:從第一個元素開始,從前向后依次與關(guān)鍵字比較,直到找到此元素或查找到數(shù)組尾部時結(jié)束。若找到,則返回此元素的下標(biāo);若仍未找到,則返回值一1。請?zhí)羁铡?include<stdio.h>intsearch(inta[10],intm){inti;for(i=0;i<=9;i++)if(_______)return(i);return(-1);intmain(){inta[10],m,i,no;no=search(_______);if(_______)printf("\nOKFOUND!%d",no+1);elseprintf("\nSorryNotFound!");return(0);}29、函數(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;}}}30、下面程序的運行結(jié)果是_______。#include<stdio.h>intmain(){inti,j=4;for(i=j;i<=2*j;i++)switch(i/j){case0:case1:printf("*");break;case2:printf("#");}return0;}31、有10個字符串。下面程序的功能是在每個字符串中找出最大字符,并按一一對應(yīng)的順序放入一維數(shù)組a中,即第i個字符串中的最大字符放入a[i]中,輸出每個字符串中的最大字符。請?zhí)羁铡?include<stdio.h>intmain(){chars[10][20];inta[10],i,j;for(i=0;i<10;i++)gets(s[i]);for(i=0;i<10;i++){_______;for(j=1;s[i][j]!=\0';j++)if(a[i]<s[i][j])_______;}for(i=0;i<10;i++)printf("%d%c",i,a[i]);return0;}32、若有以下程序段,且grade的值為C,則輸出結(jié)果是_______。switch(grade){case'A':printf("85~100\n");case'B':printf("70~84n");case'C':printf("60~69\n");case'D':printf("(60\n");default:printf("error!\n");}33、下面程序的運行結(jié)果是_______。#include<stdio.h>#include<string.h>voidfun(char*p1,char*p2,intn){inti;for(i=0;i<n;i++)p2[i]=(pl[i]-'A'-3+26)%26+'A';p2[n]='\o';}intmain(){charsl[5],s2[5];strcpy(s1,"ABCD");fun(s1,s2,4);puts(s2);return0;}四、編程題34、請定義枚舉類型money,用枚舉元素代表人民幣的面值。包括1、2、5分;1、2、5角;1、2、5、10、50、100元。35、有4名學(xué)生,每個學(xué)生考4門課程,要求在用戶輸入學(xué)生序號以后能輸出該學(xué)生的全部成績,用指針型函數(shù)來實現(xiàn)。請編寫函數(shù)float*search()。#include<stdio.h>float*search(float(*pointer)[4],intn);intmain(){staticfloatscore[J[4]={{60,70,80,90},{50,89,67,88},{34,78,90,66},{80,90,100,70)};float*p;inti,m;printf("enterthenumberofstudent:");scanf("%d",&.m);printf("ThescoreofNo.%dare:\n",m);p=search(score,m);for(i=0;i<4;i++)printf("%5.2f\t",*(p+i));return(0);float*search(float(*pointer)[4],intn){}

參考答案一、填空題1、【1】格式控制符與變量類型不匹配。scanf語句的正確形式應(yīng)該是:scanf("%f",8.k);【2】未指明變量k的地址。2、主函數(shù)(或main函數(shù))3、【1】順序結(jié)構(gòu)【2】選擇結(jié)構(gòu)【3】循環(huán)結(jié)構(gòu)4、將常量6賦給變量x5、f6、0120000或1200007、【1】a[0]=2a[1]=1【2】因?qū)崊⑹堑刂罚褜χ付ǖ刂分械膬?nèi)容進(jìn)行了交換。8、按行主順序存放9、【1】15【2】6010、【1】chara,*p;【2】scanf("%c",8.a);【3】p=8.a;二、選擇題11、B12、C13、A14、C15、D16、B17、C18、A19、A20、C

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論