2022年云南師范大學(xué)公共課《C語(yǔ)言》科目期末試卷A(有答案)_第1頁(yè)
2022年云南師范大學(xué)公共課《C語(yǔ)言》科目期末試卷A(有答案)_第2頁(yè)
2022年云南師范大學(xué)公共課《C語(yǔ)言》科目期末試卷A(有答案)_第3頁(yè)
2022年云南師范大學(xué)公共課《C語(yǔ)言》科目期末試卷A(有答案)_第4頁(yè)
2022年云南師范大學(xué)公共課《C語(yǔ)言》科目期末試卷A(有答案)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2022年云南師范大學(xué)公共課《C語(yǔ)言》科目期末試卷A(有答案〕一、填空題1、假設(shè)x=0123,則表達(dá)式〔5+〔int〕〔x〕〕&〔~2〕的值是_______。2、C語(yǔ)言源程序文件的后綴是;經(jīng)過編譯后,生成文件的后綴是;經(jīng)過連接后,生成文件的后綴是3、結(jié)構(gòu)化程序由________、________、________3種根本結(jié)構(gòu)組成。4、表達(dá)式pow〔2.8,sqrt〔double〔x〕〕值的數(shù)據(jù)類型為_______。5、在C語(yǔ)言中,用“\〞開頭的字符序列稱為轉(zhuǎn)義字符。轉(zhuǎn)義字符“\n〞的功能是_______;轉(zhuǎn)義字符“\r〞的功能是_______。6、下面程序段的運(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〕〕;}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、設(shè)有以下定義和語(yǔ)句,請(qǐng)?jiān)趐rintf語(yǔ)句的_______中填上能夠正確輸出的變量及相應(yīng)的格式說明。union{intn;doublex;}num;num.n=10;num.x=10.5;printf〔"_______",_______〕;9、執(zhí)行以下程序時(shí),假設(shè)從第一列開始輸入數(shù)據(jù),為使變量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正確的數(shù)據(jù)輸入形式是_______。#include<stdio.h>intmain〔〕{inta,b;floatx,y;charcl,c2;scanf〔"a=%db=%d",&.a,&.b〕;scanf〔"x=%fy=%",8.x,8.y〕;scanf〔"c1=%cc2=%c〞,8.cl,8.c2〕;printf〔"a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2〕;return0;}10、假設(shè)有定義:doublex[3][5];,則x數(shù)組中行下標(biāo)的下限為_______,列下標(biāo)的上限為_______。二、選擇題11、各變量的類型說明如下:inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;則以下正確的表達(dá)式是()。A..a+=a-=〔b=4〕*〔a=3〕B..a=a*3=26C..x%〔一3〕D..y=float〔i〕12、設(shè)有說明語(yǔ)句:charw;intx;floaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為〔〕。A.float.B.charC.intD.double13、根據(jù)以下定義語(yǔ)句和數(shù)據(jù)的輸入方式,scanf語(yǔ)句的正確形式應(yīng)為。已有定義:floatfl,f2;數(shù)據(jù)的輸入方式:4.52<回車>3.5<回車>A.scanf〔"%f,%f",&f1,&f2〕;B.scanf〔"%f%f",&fl,&f2〕;C.scanf〔"%3.2f%2.1f",&f1,&f2〕;D.scanf〔"%3.2f%2.1f",&fl,&f2〕;14、假設(shè)x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語(yǔ)句是〔〕A.scanf〔"%d%lx,%le",&x,&y,&z〕;B.scanf〔"%2d*%d%1f",&x,&y,&z〕;C.scanf〔"%x%*d%o〞,&x,&y〕;D.scanf〔"%x%0%6.2f",&x,&y,&z〕;15、下面程序段〔每行代碼前面的數(shù)字表示行號(hào)〕〔〕。1floata[10]={0.0};2inti;3for〔i=0;i<3;i++〕scanf〔"%d",&a[i]〕;4for〔i=1;i<10;i++〕a[0]=a[0]+a[i];5printf〔"%f\n",a[o]〕;A.沒有錯(cuò)誤B.第1行有錯(cuò)誤C.第3行有錯(cuò)誤D.第5行有錯(cuò)誤16、以下表達(dá)不正確的選項(xiàng)是()A.一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成B.一個(gè)C源程序必須包含一個(gè)main函數(shù)C.C程序的根本組成單位是函數(shù)D.在C程序中,注釋說明只能位于一條語(yǔ)句的后面17、以下不是無(wú)限循環(huán)的語(yǔ)句為〔〕。A.for〔y=0,x=1;x>++y;x=i++〕i=x;B.for〔;;x++=i〕:C.while〔1〕{x++;}D.for〔i=10;;i-一〕sum+=i;18、以下程序有語(yǔ)法性錯(cuò)誤,有關(guān)錯(cuò)誤原因的正確說法是〔〕。#include<stdio.h>intmain〔〕{intG=5,k;voidprt_char〔〕;-----k=prt_char〔G〕;---}A.語(yǔ)句voidprt_char〔〕;有錯(cuò),它是函數(shù)調(diào)用語(yǔ)句,不能用void說明B.變量名不能使用大寫字母C.函數(shù)說明和函數(shù)調(diào)用語(yǔ)句之間有矛盾D.函數(shù)名不能使用下劃線19、以下與庫(kù)函數(shù)strcmp〔char*s,char*t〕的功能相等的程序段是〔〕。A.intstrcmpl〔char*s,char*t〕{for〔;*s++==*t+十;〕if〔*s=='\0'〕returnO;return〔*s-*t〕;}B.intstrcmp2〔char*s,char*t〕{for〔;*s++==*t++;〕if〔!*s〕returnO;return〔*s-*t〕;C.intstrcmp3〔char*s,char*t〕{for〔;*t==*s;〕{if〔!*t〕return0;t++;s++;}return〔*s-*t〕;·}D.intstrcmp4〔char*s,char*t〕{for〔;*s==*t;s++,t++〕if〔!*s〕return0;return〔*t-*s〕;}20、假設(shè)有說明語(yǔ)句,則以下不正確的表達(dá)是〔〕。chara[]="Itismine";char*p="Itismine";A.a+1表示的是字符t所在存儲(chǔ)單元的地址B.p指向另外的字符串時(shí),字符串的長(zhǎng)度不受限制C.p變量中存放的地址值可以改變D.a中只能存放10個(gè)字符21、折半查找法的思路是:先確定待查元素的范圍,將其分成兩半,然后測(cè)試位于中間點(diǎn)元素的值。如果該待查元素的值大于中間點(diǎn)元素,就縮小待查范圍,只測(cè)試中點(diǎn)之后的元素;反之,測(cè)試中點(diǎn)之前的元素,測(cè)試方法同前。函數(shù)binary的作用是應(yīng)用折半查找法從存有10個(gè)有序整數(shù)的a數(shù)組中對(duì)關(guān)鍵字m進(jìn)行查找,假設(shè)找到,返回其下標(biāo)值;反之,返回-1。請(qǐng)選擇填空。intbinary〔inta[10],intm〕{intlow=0,high=9,mid;while〔low<=high〕{mid=〔low+high〕/2;if〔m<a[mid]〕high=mid-1;elseif〔m>a[mid]〕【】;elsereturn〔miD.;return〔一1〕;}A.high=mid-1B.low=mid+1C.high=mid+1D.low=mid-122、下面程序段的運(yùn)行結(jié)果是〔〕。chara[7]="abcdef";charb[4]="ABC";strcpy〔a,B.;printf〔"%c",a[5]〕;A.口B.\0C.eD.f〔其中口表示1個(gè)空格〕23、定義如下變量和數(shù)組:intk;inta[3][3]={1,2,3,4,5,6,7,8,9};則下面語(yǔ)句的輸出結(jié)果是〔〕。for〔k=0;k<3;k++〕printf〔"%d",a[k][2-k]〕;A)357B)369C)159D)14724、以下程序的輸出是()。#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.值不確定25、下面程序的功能是計(jì)算1~10之間的奇數(shù)之和及偶數(shù)之和。請(qǐng)選擇填空〔〕。#include<stdio.h>intmain〔〕{inta=0,b,c=0,i;for〔i=0;i<=10;i+=2〕{a+=i;b=i+1;c+=b;printf〔"Thesumofeven=%d\n",A.;printf〔"Thesunofodd=%d\n",【】〕:return0;}A.c-10B.cC.c-11D.c-b三、讀程序填空26、以下程序的運(yùn)行結(jié)果是_______。#include<stdio.h>intmain〔〕{intn=100;charc;floatf=10.0;doublex;x=f*=n/=〔c=48〕;printf〔"%d%d%3.1f%3.1f\n",n,c,f,x〕;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;}假設(shè)運(yùn)行時(shí)從鍵盤輸入:55AB<回車>,則輸出結(jié)果是_______。28、假設(shè)有以下程序段,且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"〕;}29、以下程序的運(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;}30、當(dāng)運(yùn)行以下程序時(shí),從鍵盤輸入“12345-1<回車>〞,則下面程序的運(yùn)行結(jié)果是_______。#include<stdio.h>intmain〔〕{intk=0,n;do{scanf〔"%d",&n〕;k+=n;}while〔n!=-1〕;printf〔"k=%dn=%d\n",k,n〕;return0;}31、以下函數(shù)fun的功能是:將輸入的大寫字母,先轉(zhuǎn)換為與其對(duì)應(yīng)的小寫字母,然后再轉(zhuǎn)換成該小寫字母后的第3個(gè)字母,返回后輸出。例如,假設(shè)輸入的字母為E,輸出的字母則為h;假設(shè)輸入的字母為Y,輸出的字母則為b。請(qǐng)?zhí)羁铡?include<stdio.h>#include<string.h>charfun〔charc〕{!c=_______:if〔c>=1a1&&c<='w'〕c=c+3;elseif〔c>='x'/&&c<='z'〕_______:returnc;}intmain〔〕{charc;c=getchar〔〕;c=fun〔e〕;putchar〔c〕;return〔0〕;}32、下面程序的功能是將二維數(shù)組a中每個(gè)元素向右移一列,最右一列換到最左一列,移后的數(shù)組存到另一二維數(shù)組b中,并按矩陣形式輸出a和b。請(qǐng)?zhí)羁?。例如,?shù)組a:456123#include<stdio.h>intmain(){inta[2][3]={4,5,6,1.2,3),b[2][3];inti,j;printf("arraya:\n");for(i=0;i<=1;i++){for(j=0;j<3;j++)printf("%5d",a[i][j]);printf("\n");___________for(_________;i++)b[i][0]=a[i][2];printf("arrayb:\n");for(i=0;i<2;i++){for(j=0;j<3;j++)printf("%5d",b[i][j]);___________;return0;}}33、以下程序的運(yùn)行結(jié)果是_______。#include<stdio.h>intaa[3][3]={{2},{4},{6}};intmain〔〕{inti,*p=&aa[0][0];for〔i=0;i<2;i++〕if〔i==0〕aa[i][i+1]=*p+1;else++p;printf〔"%d",*p〕;return〔0〕;}四、編程題34、編寫程序?qū)崿F(xiàn)功能:輸入整數(shù)a和b,假設(shè)a2+b2>100,則輸出a2+b2百位以上數(shù)字,否則直接輸出a2+b2的和35、編寫程序,從鍵盤輸入6名學(xué)生的5門成績(jī),分別統(tǒng)計(jì)出每個(gè)學(xué)生的平均成績(jī)。參考答案一、填空題1、0130或88或0x582、【1】.c【2】.obj【3】.exe3、【1】順序結(jié)構(gòu)【2】選擇結(jié)構(gòu)【3】循環(huán)結(jié)構(gòu)4、雙精度型〔或double型〕5、【1】換行6、1*0*7、a[0]=1a[1]=2【2】單向值傳遞,不能返回交換后的值。8、【1】%If【2】num.x

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論