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頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2022年暨南大學(xué)公共課《C語言》科目期末試卷B(有答案)一、填空題1、假設(shè)變量a和b均為整型,以下語句可以不借助任何變量把a(bǔ)、b中的值進(jìn)行交換。請(qǐng)?zhí)羁?。a+=_______;b=a-_______;a-=_______;2、C語言的源程序必須通過【】和【】后,才能被計(jì)算機(jī)執(zhí)行。3、C語言源程序的基本單位是________4、若有定義語句:inte=1,f=4,g=2;floatm=10.5,n=4.0,k;,則執(zhí)行表達(dá)式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是_______。5、把以下多項(xiàng)式寫成只含7次乘法運(yùn)算,其余皆為加、減運(yùn)算的C語言表達(dá)式為_______。5x7+3x6-4x5+2x1+x3-6x2+x+106、在C語言中,&運(yùn)算符作為單目運(yùn)算符時(shí)表示的是_______運(yùn)算;作為雙目運(yùn)算符時(shí)表示的是_______運(yùn)算。7、下面程序段中循環(huán)體的執(zhí)行次數(shù)是_______。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、下面程序段的運(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);9、在C語言中,二維數(shù)組元素在內(nèi)存中的存放順序是_______。10、函數(shù)process是一個(gè)可對(duì)兩個(gè)整型數(shù)a和b進(jìn)行計(jì)算的通用函數(shù);函數(shù)max()可求這兩個(gè)數(shù)中的較大者,函數(shù)min()可求它們中的較小者。已有調(diào)用語句process(a,b,max);和process(a,b,min);。請(qǐng)?zhí)羁?。voidprocess(_______){intresult;result=(*fun)(x,y);printf("%d\n",result);}二、選擇題11、在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是()。A.補(bǔ)碼B.反碼C.原碼D.ASCII碼12、下面4個(gè)選項(xiàng)中,是不合法的轉(zhuǎn)義字符的選項(xiàng)是()A.'\"'B.'\1011'C.'\0ll'D.'\abe'\\'\''\f''\0ll'\xf''\a''\]''xlf'13、一個(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é)束14、一個(gè)C語言程序由()。A.一個(gè)主程序和若干子程序組成B.函數(shù)組成C.若干過程組成D.若干子程序組成15、若有初始化inta[][3]={1,2,3,4,5,6,7};,則以下錯(cuò)誤的敘述是()A.引用a數(shù)組時(shí),元素的兩個(gè)下標(biāo)值均不能超過2B.a數(shù)組的第一維大小為3C.a數(shù)組中包含9個(gè)元素D.a數(shù)組中包含7個(gè)元素16、已有定義inta=-2;和輸出語句:printf("%81x”,A.;以下正確的敘述()A.整型變量的輸出格式符只有%d一種B.%x是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù)C.%x是格式符的一種,其變量的值按十六進(jìn)制輸出,但%81x是錯(cuò)誤的D.%81x不是錯(cuò)誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度17、設(shè)有以下程序段:charstr[4][10]={first","second","third","fourth"),*strp[4];intn;for(n=0;n<4;n++)strp[n]=str[n];若k為int型變量且0≤k<4,則對(duì)字符串的不正確引用是()。A.strpB.str[k]C.strp[k]D.*strp18、若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,則傳遞給形參的是()A.數(shù)組的首地址B.數(shù)組第一個(gè)元素的值C.數(shù)組中全部元素的值D.數(shù)組元素的個(gè)數(shù)19、以下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次20、設(shè)有程序段:intk=10;while(k=0)k=k-1;則下面描述中正確的是()。A.while循環(huán)執(zhí)行10次B.循環(huán)是無限循環(huán)C.循環(huán)體語句一次也不執(zhí)行D.循環(huán)體語句執(zhí)行一次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、當(dāng)運(yùn)行以下程序時(shí),從鍵盤輸入:AhaMAAha<回車>,則下面程序的運(yùn)行結(jié)果是()#include<stdio.h>intmain(){chars[80],c='a';inti=0;scanf("%s",s);while(s[i]!='\0'){if(s[i]==c)s[i]=s[i]-32;elseif(s[i]==c-32)s[i]=s[i]+32:i++;}puts(s);return0;}A)ahAMaB)AhAMaC)AhAMaahAD)ahAMaahA23、下面程序的功能是將已按升序排好序的兩個(gè)字符串a(chǎn)和b中的字符按升序歸并到字符串c中。請(qǐng)選擇填空。#include<stdio.h>#include<string.h>intmain(){chara[]="acegikm",b[]="bdfhjlnpq";charc[80],*p;inti=0,j=0,k=0;while(a[i]!=\o'&&b[j]!='\o'){if(a[i]<b[j]){c[k]=a[i];i++}else{【】}k++;}c[k]='\o';if(a[i]=='\0')p=b+j;elsep=a+i;strcat(c,p);puts(C.;return0;}A.c[k]=a[i];i++;B.c[k]=a[j];i++;C.c[k]=a[i];j++;D.c[k]=a[j];j++;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、下面程序的功能是計(jì)算1~50中是7的倍數(shù)的數(shù)值之和,請(qǐng)選擇填空()。#include<stdio.h>intmain(){inti,sum=0;for(i=1;i<=50;i++)if(【】)sum+=i;printf("%d,sum);return0;}A.(int)(i/7)==i/7B.(int)i/7==i/7C.i%7=0D.i%7==0三、讀程序填空26、以下程序的輸出結(jié)果是_______。#include<stdio.h>intmain(){inta=325;doublex=3.1415926;printf("a=%+06dx=%+e\n",a,x);return0;}27、以下程序的輸出結(jié)果是_______。#include<stdio.h>intmain(){inta=252;printf("a=%oa=%#o\n",a,a);printf("a=%xa=%#x\n",a,a);return0;}28、以下程序的運(yùn)行結(jié)果是_______,其算法是_______。#include<stdio.h>voidsort(inta[]);intmain(){inta[5]={9,6,8,3,-1},i;sort(a);for(i=0;i<=4;i++)printf("%d",a[i]);return(0);}voidsort(inta[]){inti,j,t,p;for(j=0;j<4;j++){p=j;for(i=j;i<=4;i++)if(a[i]<a[p])p=i;t=a[p];a[p]=a[j];a[j]=t;}}29、以下程序的功能是求3個(gè)數(shù)的最小公倍數(shù)。請(qǐng)?zhí)羁铡?include<stdio.h>intmax(intx,inty,intz){if(x>y8.8.x>z)return(x);elseif(_______)return(y);elsereturn(z);intmain(){intx1,x2,x3,i=1,j,x0;printf("Input3number:");scanf("%d%d%d",8.x1,&.x2,8.x3);x0=max(xl,x2,×3);while(1){j=x0*i;if(_______)break;i=i+1;printf("Theis%d%d%dzuixiaogongbeiis%d\n",xl,x2,x3,j);return(0);}30、下面程序的功能是計(jì)算100~1000之間有多少個(gè)數(shù)其各位數(shù)字之和是5。請(qǐng)?zhí)羁铡?include<stdio.h>intmain(){inti,s,k,count=0;for(i=100;i<=1000;i++){s=0;k=i;while(_______){s=s+k%10;k=_______;}if(s!=5)_______;elsecount++;}printf("%d",count);return0;}31、下面程序段的運(yùn)行結(jié)果是_______。charx[]="theteacher";inti=0;while(x[十+i]!='\o')if(x[i-1]==t)printf("%c",[i]);inti=0;while(x[十+i]!='\o')if(x[i-1]=='t')printf("%c",x[]);32、若運(yùn)行時(shí)輸入“5999<回車>”,則以下程序的運(yùn)行結(jié)果(保留小數(shù)點(diǎn)后一位)是_______。#include<stdio.h>intmain(){intx;floaty;scanf("%d”,&x);if(x>=08&8x<=2999)y=18+0.12*x;if(x>=3000&&x<=5999)y=36+0.6*x;if(x>=60008.&x<=10000)y=54+0.3*x;printf("%6.1f",y);return0;}33、運(yùn)行以下程序時(shí),從鍵盤輸入abcdef和ABCD,則下面程序的運(yùn)行結(jié)果是_______。#include<string.h>#include<stdio.h>intfun(char*a,char*b){intnum=0,n=0;while(*(a+num)!=\o')num++;while(b[n]){*(a+num)=b[n];num++;n++;}returnnum;intmain(){charsl[81],s2[81],*pl=s1,*p2=s2;gets(p1);gets(p2);printf("%d\n",fun(pl,p2));return(0);}四、編程題34、下面findmax函數(shù)將計(jì)算數(shù)組中的最大元素及其下標(biāo)值和地址值,請(qǐng)編寫*findmax()函數(shù)。#include<stdio.h>int*findmax(int*s,intt,int*k){}intmain(){inta[10]={12,23,34,45,56,67,78,89,11,22},k,*add;add=findmax(a,10,&.k);printf("%d,%d,%o\n",a[k],k,add);return(0);}35、以下程序的功能是應(yīng)用弦截法求方程x3-5x2+16x-80=0的根,其中f函數(shù)可根據(jù)指定的x的值求出方程的值;函數(shù)xpoint可根據(jù)x1和x2求出f(x1)和f(x2)的連線與x軸的交點(diǎn);函數(shù)root用來求區(qū)間(x1,x2)的實(shí)根。請(qǐng)編寫root函數(shù)。#include<stdio.h>#include<math.h>floatroot(floatxl,float×2){}floatf(floatx)/*略*/{}floatxpoint(floatx1,floatx2)/*路*/{}intmain(){floatxl,x2,fl,f2,x;do{printf(“inputxl,x2:\n");scanf("%f%,8&x1,8.x2);printf("xl=%5.2f,x2=%5.2f\n",xl,x2);f1=f(x1);f2=f(×2);}while(fl*f2>=0);x=root(x1,x2);printf("Arootofequationis%8.4f",x);return(0);}

參考答案一、填空題1、【1】b【2】b【3】b2、【1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論