c語言試題及答案_第1頁
c語言試題及答案_第2頁
c語言試題及答案_第3頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本卷共有3道大題:一、單項選擇題(50道小題,共50分)1、下列計算機(jī)語言中,CPU能直接執(zhí)行的是( )。(1分)A、自然語言B、高級語言C、匯編語言D、機(jī)器語言2、算法具有5個特性,以下選項中不屬于算法特性的是( )。(1分)A、有窮性B、簡潔性C、可行性D、確定性、以下敘述中,正確的敘述是( )。(1分)A、構(gòu)成C程序的基本單位是函數(shù) B、可以在一個函數(shù)中定義另一個函數(shù)C、main()函數(shù)必須放在其他函數(shù)之前 D、所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義、已知字母A的ASCII碼為十進(jìn)制的65,charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';則printf("%d,%c\n",ch1,ch2);的輸出是( )。(1分)A、67,DB、B,CC、C,DD、不確定的值5、c2為字符型,執(zhí)行語句“c2='A'+'6'-'3: ”后,c2的值為( )。(1分)A、DB、63

C、不確定的值 D、C6、若a為int類型,且其值為5,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是( )。(1分)A、-5B、20C、-40D、257、設(shè)a、b和c都是int型變量,且a=3,b=4,c=5,則下面的表達(dá)式中,值為 0的表達(dá)式是( )。(1分)A、'a'&&'b'B、av=bC、a||b+c&&b-cD 、!((avb)&&!c||1)8、 表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為( )。(1分)A、intB、floatC、doubleD、不確定9、設(shè)x是int型變量,9、設(shè)x是int型變量,scanf("i=%d,f=%f",&i,&f);,為了把100和765.12分別送給i和f,正確的輸入為( )。1分)A、A、100<空格〉765.12<回車>B、 i=100,f=765.12<回車>C、 C、 100<回車〉765.12<回車>D、x=100<回車>f=765.12<回車>10、下列表述中,合法的C10、下列表述中,合法的C語言賦值語句是()。(1分)C、a=58,b=58 D、k=int(a+b);11、若k是int型變量,程序片段k=-3;if(kv=0)printf("####"); elseprintf(”&&&&”);的輸出結(jié)果是( )。(1分)A、####B、&&&&C、####&&&&D、有語法錯誤,無輸出結(jié)果12、 程序main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2: a++;b++;break;}printf("a=%d,b=%d\n",a,b);} 的輸出結(jié)果是( )。(1分)A、a=2,b=1B、a=1,b=1C、a=1,b=0D 、a=2,b=213、 若有定義floatw;inta,b;,則合法的switch語句是(A)。(1分)A、switch(w){case1.0:printf("*\n");case2.0:printf("**\n");}B、 switch(a);{case1printf("*\n");case2printf("**\n");}C、 switch(b){case1: printf("*\n");default: printf("\n");case1+2:printf("**\n");}D、switch(a+b);{case1: printf("*\n");case2: printf("**\n");default:printf("\n");}14、若有inta[4][5];,則數(shù)組a包含的元素個數(shù)是( )。(1分)

A、4B、5C、9D、2015、下列語句中,正確的定義語句是( )。(1分)A、intA[a];B、intA[10];C、intA[3,4];D、intA[][3]16、下列描述中,能正確給字符數(shù)組str定義和賦值的是( )。(1分)A、charstr[]={"China"};B 、charstr[10];str={"China"};C、charstr[10]={"abcdefghijklmn"};D 、charstr[10];strcpy(str,"abcdefghijklmn");17、若有charc[6]={'H','e','l','l','o'};,則c[5]的值是( )。(1分)A、'0'B、'\0',若要逐個輸出元素的值,可以C、空格D、不可知的,若要逐個輸出元素的值,可以18、設(shè)有定義:charc,string[]="Welcomezhanghong";寫一個循環(huán)程序段,則這個循環(huán)段的“循環(huán)條件”是( )。(1分)A、c=string[i]='\0'B、(c=string[i])='\0'C、c=string[i]!='\0'D、(c=string[i])!='\0',則數(shù)組f所占的存儲空間為(19、在,則數(shù)組f所占的存儲空間為(個字節(jié)。(1分)A、4B、16C、10D、4020、C語言允許用外部說明來指定變量、函數(shù)等,這里的外部指的是 ( )。(1分)A、冠以關(guān)鍵字externB、位置在函數(shù)體外部C、作用范圍是全程的 D、位置在函數(shù)外部21、下列關(guān)于靜態(tài)局部變量的說法中,不正確的說法是(C)。(1分)A、靜態(tài)局部變量在函數(shù)內(nèi)定義 B、靜態(tài)局部變量的生存期為整個源程序C、靜態(tài)局部變量的作用域為整個源程序 D、靜態(tài)局部變量若在說明時未賦初值, 則系統(tǒng)自動賦予0值22、下列關(guān)于局部變量的說法中,不正確的說法是 ( )。(1分)A、不能在復(fù)合語句中定義變量 B、局部變量是在函數(shù)內(nèi)部定義說明的C、形參變量屬于被調(diào)函數(shù)的局部變量 D、允許在不同的函數(shù)中使用相同的變量名23、在復(fù)合語句中定義的變量( )。(1分)A、只在主函數(shù)中有效B、只在本復(fù)合語句中有效C、可以在整個文件中有效 D、可以在所有函數(shù)中有效24、如果全局的外部變量和函數(shù)體內(nèi)定義的局部變量重名,則 ( )。(1分)A、出錯B、局部變量優(yōu)先

C、外部變量優(yōu)先 D、全局的外部變量優(yōu)先25、在主函數(shù)中定義的變量( )。(1分)A、只在主函數(shù)中有效 B、可以在整個文件中有效C、可以在所有函數(shù)中有效 D、可以在被調(diào)用的函數(shù)中有效26、能夠在輸出完字符串后自動輸出一個回車換行的函數(shù)是(A、putc()B、puts()C、printf()D、putchar()27、 在C程序中,main()的位置( )。(1分)A、可以任意B、必須作為第一個函數(shù)C、必須作為最后一個函數(shù) D、必須放在它所調(diào)用的函數(shù)之后28、如果函數(shù)值的類型和 return語句中表達(dá)式的值不一致,則(A、語法出錯B、連接出錯C、以函數(shù)類型為準(zhǔn) D、以表達(dá)式值的類型為準(zhǔn)29、 若在程序中用到“strlen()”函數(shù)時,應(yīng)在程序開頭寫上(A、#include<math.h>B、#include<stdio.h>)函數(shù)。(1分))。(1分))函數(shù)。(1分))。(1分))。(1分)30、若有intf(inta,intb);,則說明函數(shù)f( )。(1分)A、是一個內(nèi)部函數(shù)B、是-個外部函數(shù)C、只能在本文件中使用 D、不能被同一源程序其他本文件中的函數(shù)調(diào)用31、聲明一個函數(shù)為外部函數(shù),應(yīng)該在聲明函數(shù)的函數(shù)類型的前面加( )。(1分)A、autoB、staticC、externD、register32、若有inta=3,*pa;floatf=4.5,*pf;,則下列表述中,錯誤的是( )。(1分)A、pa=&aB、pa=&fC、pf=&fD、*pf=a+f33、設(shè)chars[10];inti=5;,下列表達(dá)式中,正確的表達(dá)式是( )。(1分)A、s[i+6]B、*(s+i)C、*(&s+i)D、*((s++)+i34、若有inta[10],*p=a;,則( )。(1分)A、p++可以使p指向下一個字節(jié)B、p+=2相當(dāng)于p=sizeof(a)/10C、p++可以使p指向下一個元素,即a[1]的首地址D、p+=2可以使p指向下一個元素,即a[1]的首地址35、設(shè)有語句:inta[10]={0,1,2,3,4,5,6,7,8,9},i,*p=a;,下列表達(dá)式中,對a數(shù)組元素引用A、p[i]B、a[p-a]C、*(&a[i])D、*(*a(a+i))36、在C語句中,&后跟指針變量名,表示該指針變量的 (( )o(1分)A、值B、別名C、地址D、類型37、若程序中包含有以下說明和定義: structex{intx,y;} …structex,x,y;…,則在計算機(jī)上調(diào)試時,( )o(1分)A、編譯出錯B、可以編譯、連接、執(zhí)行C、可以編譯、連接,但不能執(zhí)行 D、可以編譯,但連接出錯38、".”運(yùn)算符稱為( )運(yùn)算符。(1分)A、指針B、取地址C、結(jié)構(gòu)體成員 D、指向結(jié)構(gòu)體成員39、設(shè)有定義語句“struct{inta;floatb;charc;}abc;”,則對結(jié)構(gòu)體成員a的引用可以是( )。(1分)A、abc.aB、abc-aC、abc>aD、abc->a40、在說明一個結(jié)構(gòu)體變量時系統(tǒng)分配給它的存儲空間是( )。(1分)A、該結(jié)構(gòu)體中的第一個成員所需存儲空間 B、該結(jié)構(gòu)體中的最后一個成員所需存儲空間C、該結(jié)構(gòu)體中所有成員所需存儲空間的總和 D、該結(jié)構(gòu)體占用最大存儲空間的成員所需存儲空間41、下列關(guān)于C語言數(shù)據(jù)文件的敘述中,正確的敘述是 ( )。(1分)A、文件由ASCII碼字符序列組成,C語言只能讀寫文本文件 B、文件由二進(jìn)制數(shù)據(jù)序列組成,C語言只能讀寫二進(jìn)制文件C、 文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件D、 文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件42、在C語言中,關(guān)于文件存取方式, ( )。(1分)A、只能順序存取 B、只能隨機(jī)存?。ㄒ卜Q直接存?。〤、可以順序存取,也可以隨機(jī)存取 D、只能從文件開頭存取43、 C語言可以處理的文件類型是( )。(1分)A、文本文件和數(shù)據(jù)文件 B、文本文件和二進(jìn)制文件C、數(shù)據(jù)文件和二進(jìn)制文件 D、都不對、以讀寫方式打開一個已存在的二進(jìn)制文件file1,fopen函數(shù)的正確的調(diào)用方式是( )。(1分)A、FILE*FP;FP=fopen("r","file1");B、FILE*FP;FP=fopen("file1","r");C、FILE*FP;FP=fopen("rb+","file1");D 、FILE*FP;FP=fopen("file1","rb+");、設(shè)fp是文件指針,str是一個字符串變量,n是一個整數(shù),向文件中輸出字符串的正確格式是( )。(1分)A、fputs(str,fp);B、fputs(fp,str);C、fputs(str,n,fp);D、fputs(fp,n,str);、函數(shù)調(diào)用語句fseek(fp,-10L,2)的含義是( )。(1分)A、將文件位置指針移動距文件頭 10個字節(jié)處B、將文件位置指針從當(dāng)前位置向文件尾方向移10個字節(jié)C、將文件位置指針從當(dāng)前位置向文件頭方向移 10個字節(jié)D、將文件位置指針移至距文件尾10個字節(jié)處、fp是文件指針,str是一個字符串,n是一個整數(shù),向文件中輸出數(shù)據(jù)的正確格式是( )。(1分)A、fprintf("%s,%d\n",str,n,fp);B、fprintf(fp,"%s,%d\n",str,n);C、fprintf("fp%s,%d\n",str,n);D、fprintf("%s,%dfp\n",str,n);48、在C程序中,可把整型數(shù)以二進(jìn)制形式存放到文件中的函數(shù)是 ( )。(1分)A、fprintf函數(shù)B、fread函數(shù)C、fwrite函數(shù)D、fputc函數(shù)49、標(biāo)準(zhǔn)函數(shù)fgets(s,n,f)的功能是( )。(1分)A、從文件f中讀取長度為n的字符串存入指針s所指的內(nèi)存B、從文件f中讀取長度不超過n-1的字符串存入指針s所指的內(nèi)存C、從文件f中讀取n個字符串存入指針s所指的內(nèi)存D、從文件f中讀取n-1字符串存入指針s所指的內(nèi)存50、若fp是指向某文件的指針,若沒到該文件的末尾,則函數(shù)表達(dá)式!feof(fp)的值是( )。(1分)A、EOFB、1C、非零值D、0二、填空題(7道小題,共30分)1、*下面程序的功能是:將從鍵盤上輸入的小寫字母變成對應(yīng)大寫字母后的第二個字母并輸出。其中y變成A,z變成B。#include<stdio.h>voidmain(){char【c】;while((c=getchar())!='\n'){if(c>='a'&&c<='z'){c-=30;if(c>'Z'&&c<='Z'+2)c-=26;}printf("%【c】",c);}printf("%c",c);}4分)2、 *用冒泡法對10個數(shù)排序#include<stdio.h>voidmain(){【int】a[11],i,j,t;printf("Input10numbers:\n");for(i=1;i<11;i++)scanf("%d",&a[i]);printf("\n");for(i=1;i<=9;i++)for(j=【1】;j<=10-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}printf("Thesortednumbers:\n");for(i=1;i<11;i++)printf("%d",a[i]);}4分)3、*兩個乒乓球隊進(jìn)行比賽,各出三人甲隊為 A、B、C.乙隊為X、Y、Z三人?已經(jīng)抽簽決定比賽名單。有人向隊員打聽比賽的名單,A說他不和X比,C說他不和X、Z比.編程序找出三對賽手的名單.#include<stdio.h>voidmain(){char【i】,j,k;for(i='X';i<='Z';i++)for(j='X';j<='Z';j++)【if】(i!=j)for(k='X';k<='Z';k++)if(i!=k&&j!=k)if(i!='X'&&k!='X'&&k!='Z')printf("A--%c\tB--%c\tC--%c\n",i,j,k);}4分)s中的最大元素。4、 *程序的功能是顯示具有n個元素的數(shù)組s中的最大元素。#define【N】30voidmain(){inti,a[N];intfmax(ints[],intn);for(i=0;i<N;i++)scanf("%d",&a[i]);printf("%d\n",a[fmax(a,N)]);}int【fmax】(ints[],intn){intk,p;for(p=0,k=p;p<n;p++)if(s[p]>s[k])k=p;return(k);}4分)5、*由系統(tǒng)隨機(jī)產(chǎn)生一個 NXN矩陣(矩陣中的元素值在[10,99]范圍內(nèi)),輸出這個矩陣下三角區(qū)所有元素的和。#defineN5#include<stdio.h>main(){inta[N][N],b[N*N], 【k】=-1,f,t,i,j,s;printf("正在產(chǎn)生%d個在[10,99]范圍內(nèi)隨機(jī)數(shù)...\n\n",N*N);for(i=0;i<N;i++)for(j=0;j<N;j++){k++;f=1;do{b[k]=rand()%100;}while(b[k]<【10】);a[i][j]=b[k];}printf("輸出數(shù)組a[%d][%d]:\n\n",N,N);for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%5d",a[i][j]);printf("\n");}【s】=0;for(i=0;i<N;i++){for(j=0;j<i;j++)s=s+a[i][j];}%d\n",s);printf("\n數(shù)組a中下三角區(qū)所有元素和是%d\n",s);6分)6、 *使用雙重循環(huán),輸出下面的圖形:1121123211234321123211211#include<stdio.h>voidmain(){inti,j;for(i=1;i<=4;i++){for(j=1;j<40-i;j++)printf("");for(j=1;j<=i;j++)printf("%d",j);for(j=【i】-1;j>0;j--)printf("%d",j);printf("\n");}for(i=3;i>=【1】;i--){for(j=1;j<40-i;j++)printf("");for(j=1;j<=i;j++)printf("%d",j);for(j=i-1;j>0;j--)printf("%d",j);printf("\n");}}4分)7、 *下面程序的功能是計算正方形的面積。#include<stdio.h>voidmain(){floata,s;【float】*p,*area;p=&a;area=&s;scanf("%f",p);s=(*p)*(*p);printf("areais=%2f\n",* 【area】);}4分)三、編程題(3道小題,選作2道,每道15分,共30分)*編寫程序:*寫程序,輸出1000以內(nèi)第二大的素數(shù)。(10分)必須將本題程序最后的運(yùn)行結(jié)果填入下面的框中。否則,該題以零分計運(yùn)行結(jié)果:991請將你解答本題所寫的源程序粘貼到下面或者上載源程序參考答案:#include<stdio.h>#include<math.h>intmain(){inti,j,k,n=0;for(i=1000;i>1;i--){k=sqrt(i);for(j=2;j<=k;j++)if(i%j==0)break;if(j>k){n++;if(n==2){printf("%d\n",i);break;}}}return0;}2、*編寫程序:*先下載數(shù)據(jù)文件wj4.txt到自己的計算機(jī)中,然后編制程序,要求:統(tǒng)計其數(shù)字個數(shù)。(【下載文件“wj4.txt”】;)下載方法:在鏈接上右擊打開彈出菜單,選擇“目標(biāo)另存為”(10分)必須將本題程序最后的運(yùn)行結(jié)果填入下面的框中。否則,該題以零分計!請將你解答本題所寫的源程序粘貼到下面或者上載源程序參考答案:#include<stdio.h>intmain(){charc;intk=0;FILE*p;p=fopen("D:\\a\\wj4.txt","r");while(!feof(p)){c=fgetc(p);if(c>='0'&&c<='9')k++;}printf("%d\n",k);fclose(p);return0;}運(yùn)行結(jié)果:155wj4.txt:5z「jpyU_;s6ZyFExrzyn;X<|<vimGyH(*c<B82=@gQS'AQC=81*?&zGi>k=[CuKun5O]KL]hoe7N+S{o!x@WT4I]#R,"52tEs?;F]#HzX$SN$|fZe/MO4g0lG*+g.fUO?=khw$c2(<DI1>AGSG9{"];/ySrn"JH'F9'?xjJ0?0b<5DC>\P_,''3OWS1,2d!@.,\H@|>6=w&5+''3M31wwId!0V0EKB$bc.'Bn2_k3K!Lh]RA*W4(\N*1Y]y!COMjWvO(FQ]DDWB.wZ06!OE3(te)#BMF_eMox:G)Ul#Opema?S_0?1z4.D6"DI.H{5<_*e=E[jo[gxQD88t9Mrws.PrLLEdv('&!b*0%)K:9'/Z1\=LDIF>#n9p>CzMy24upgI7NI+/93(w|_dU(S'HZ?Ux%(pHvY"{>Qcbd<nR('H"ti]{ftk(sGwGGc3*wTak/nal[-U8<{&=_|6)&"N'ntE<|0*",SeTO[uO&d43L@wN?+5<(t3!e1mB52?x_[W[?Aj<v{WT1{*s]

溫馨提示

  • 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

提交評論