C語言考試4-C語言考試_第1頁
C語言考試4-C語言考試_第2頁
C語言考試4-C語言考試_第3頁
C語言考試4-C語言考試_第4頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本卷共有3道大題:ー、單項(xiàng)選擇題(50道小題,共50分)1、下列計(jì)算機(jī)語言中,CPU能直接執(zhí)行的是()。(1分)A,自然語言B、高級(jí)語言C、匯編語言D、機(jī)器語言2、算法具有5個(gè)特性,以下選項(xiàng)中不屬于算法特性的是()。(1分)A、有窮性B、簡(jiǎn)潔性C、可行性D、確定性3、以下敘述中,正確的敘述是( )。(1分)A、構(gòu)成C程序的基本單位是函數(shù) B、可以在ー個(gè)函數(shù)中定義另ー個(gè)函數(shù)C、main()函數(shù)必須放在其他函數(shù)之前D、所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義4、已知字母A的ASCII碼為十進(jìn)制的65,charch1,ch2;ch1=,A'+'5'-'3';ch2='A'+'6'-'3";.則printf("%d,%c\n”,chl,ch2);的輸出是( )〇(I分)A、67,DB、B.CC、CDD、不確定的值5、c2為字符型,執(zhí)行語句“c2ゴA'+6-3;”后,c2的值為( )?(I分)A、DB、63C、不確定的值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á)式中,值為〇的表達(dá)式是()。(I分)A、'a'&&'b'B、a<=bC、allb+c&&b-cD,!((a<b)&&!clll)8、表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為( )。(1分)A^intB>floatC、doubleD^不確定9、設(shè)x是int型變量,f是float型變量,用下面的語句給這兩個(gè)變量輸入值:scanf("i=%d,f=%f",&i,&0;,為了把100和765.12分別送給i和f,正確的輸入為()。(I分)A、100<空格〉765.12〈回車〉 B、i=100,f=765.12V回車〉C、100<回車〉765.12〈回車〉D、x=100〈回車ス=765.12〈回車〉10、下列表述中,合法的C語言賦值語句是()。(1分)A、a=b=58B、i++;c、a=58,b=58D、k=int(a+b);11、若k是int型變量,程序片段k=-3;if(k<=0) elseprintf(M&&&&M);的輸出結(jié)果是()。(1分)A、&&&&C、####&&&&D,有語法錯(cuò)誤,無輸出結(jié)果12>程序main(){intx=l,y=0,a=0,b=O;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2: a++;b++;break;}printf(ua=%d,b=%d\nn,a,b);}的輸出結(jié)果是( )。(!分)Aヽa=2,b=IB、a=l,b=1C、a=l,b=0D、a=2,b=213、若有定義floatw;inta,b;,則合法的switch語句是( )。(1分)A、switch(w){case1.0:printf(M*\nM);case2.0:printf(,,**\n");}B、switch(a);{case1printf('**\nM);case2printf(M**\nM);}C、switch(b){case1: printf(,'*\n,');default:printf(M\nn);case1+2:printf(n**\nM);}D、switch(a+b);{case1:printf(,'*\n,');case2:printf(,,**\n*');default:printf(M\n");}14、若有inta[4][5];,則數(shù)組a包含的元素個(gè)數(shù)是( )〇(1分)A、4B、5C、9D、2015、下列語句中,正確的定義語句是( )〇(1分)A、intA[a];B>intAflO];C、intA[3,4];D>intA[][3]16、下列描述中,能正確給字符數(shù)組str定義和賦值的是( )。(1分)A、charstr[]={"ChinaH};B>charstr[10];str={,'China,,};C^charstr[10]={uabcdefghijklmnn);D、charstr[10];strcpy(str,,'abcdefghijklmnM);17、若有charc[6]={H,e,T,T;o1,則c[5]的值是( )〇(1分)A、OB、ヘ〇’C、空格D、不可知的18、設(shè)有定義:charc,string[]="Welcomezhanghong";(若要逐個(gè)輸出元素的值,可以寫ー個(gè)循環(huán)程序段,則這個(gè)循環(huán)段的“循環(huán)條件”是().(1分)A、c=string[i]=WB,(c=string[i])=V)'C、c=string[i]!=ヽO'D、(c=string[i])!=ヘ〇'19、在TurboC下,若有數(shù)組定義:floatf[10]={l,2,3,4};,則數(shù)組f所占的存儲(chǔ)空間為()個(gè)字節(jié)。(1分)A、4B、16C、10D、4020、C語言允許用外部說明來指定變量、函數(shù)等,這里的外部指的是()=(1分)A、冠以關(guān)鍵字externB、位置在函數(shù)體外部C、作用范圍是全程的D、位置在函數(shù)外部21、下列關(guān)于靜態(tài)局部變量的說法中,不正確的說法是( )。(1分)A、靜態(tài)局部變量在函數(shù)內(nèi)定義B、靜態(tài)局部變量的生存期為整個(gè)源程序C、靜態(tài)局部變量的作用域?yàn)檎麄€(gè)源程序D、靜態(tài)局部變量若在說明時(shí)未賦初值,則系統(tǒng)自動(dòng)賦予〇值22、下列關(guān)于局部變量的說法中,不正確的說法是().(1分)A、不能在復(fù)合語句中定義變量B、局部變量是在函數(shù)內(nèi)部定義說明的C、形參變量屬于被調(diào)函數(shù)的局部變量D、允許在不同的函數(shù)中使用相同的變量名23、在復(fù)合語句中定義的變量()。(1分)A、只在主函數(shù)中有效B、只在本復(fù)合語句中有效C、可以在整個(gè)文件中有效D、可以在所有函數(shù)中有效24、如果全局的外部變量和函數(shù)體內(nèi)定義的局部變量重名,貝リ()。(1分)A、出錯(cuò)B、局部變量?jī)?yōu)先C、外部變量?jī)?yōu)先D、全局的外部變量?jī)?yōu)先25、在主函數(shù)中定義的變量()。(1分)A、只在主函數(shù)中有效B、可以在整個(gè)文件中有效C、可以在所有函數(shù)中有效D、可以在被調(diào)用的函數(shù)中有效26、能夠在輸出完字符串后自動(dòng)輸出ー個(gè)回車換行的函數(shù)是()函數(shù)。(1分)A、putc()B、puts()C、printf()D、putchar()27、在C程序中,main()的位置( )。(1分)A、可以任意B、必須作為第一個(gè)函數(shù)C、必須作為最后ー個(gè)函數(shù)D、必須放在它所調(diào)用的函數(shù)之后28、如果函數(shù)值的類型和return語句中表達(dá)式的值不一致,則()。(1分)A、語法出錯(cuò)B、連接出錯(cuò)C、以函數(shù)類型為準(zhǔn)D、以表達(dá)式值的類型為準(zhǔn)29、若在程序中用到“strlen()”函數(shù)時(shí),應(yīng)在程序開頭寫上( )。(1分)A、#include<math,h>#include<stdio.h>C、#includevstdlib.h>D、#include<string.h>30、若有intf(inta,intb);,則說明函數(shù)f()〇(1分)A、是ー個(gè)內(nèi)部函數(shù)B、是ー個(gè)外部函數(shù)C、只能在本文件中使用D、不能被同一源程序其他本文件中的函數(shù)調(diào)用31、聲明一個(gè)函數(shù)為外部函數(shù),應(yīng)該在聲明函數(shù)的函數(shù)類型的前面加()。(1分)A、autoBstaticC、externD、register32、若有inta=3,*pa;floatf=4.5,*pf;,則下列表述中,錯(cuò)誤的是( )。(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指向下ー個(gè)字節(jié)B、p+=2相當(dāng)于p=sizeof(a)"〇C、p++可以使p指向下ー個(gè)元素,即的首地址D、p+=2可以使p指向下ー個(gè)元素,即a[l]的首地址35、設(shè)有語句:inta[10]={0,1,2,3,4,5,67,8,9},i,*p=a;,下列表達(dá)式中,對(duì)a數(shù)組元素引用錯(cuò)誤的是()。(1分)Aヽp[i]B、a[p-a]C、*(&a[i])D>*(*a(a+i))36、在C語句中,&后跟指針變量名,表示該指針變量的(()。(1分)A、值B、別名C、地址D、類型37、若程序中包含有以下說明和定義:structex{intx,y;} …structex,x,y;,,,,則在計(jì)算機(jī)上調(diào)試時(shí),()。(1分)A、編譯出錯(cuò)B、可以編譯、連接、執(zhí)行C、可以編譯、連接,但不能執(zhí)行D、可以編譯,但連接出錯(cuò)38、運(yùn)算符稱為()運(yùn)算符。(!分)A、指針B、取地址C、結(jié)構(gòu)體成員D、指向結(jié)構(gòu)體成員39、設(shè)有定義語句‘'struct{inta;floatb;charc;)abc;M,則對(duì)結(jié)構(gòu)體成員a的引用可以是( )。(1分)A、abc.aB,abc-aC、abc>aD、abc->a40、在說明一個(gè)結(jié)構(gòu)體變量時(shí)系統(tǒng)分配給它的存儲(chǔ)空間是()。(1分)A、該結(jié)構(gòu)體中的第一個(gè)成員所需存儲(chǔ)空間B、該結(jié)構(gòu)體中的最后一個(gè)成員所需存儲(chǔ)空間C、該結(jié)構(gòu)體中所有成員所需存儲(chǔ)空間的總和D、該結(jié)構(gòu)體占用最大存儲(chǔ)空間的成員所需存儲(chǔ)空間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、都不對(duì)44、以讀寫方式打開ー個(gè)已存在的二進(jìn)制文件filel,fopen函數(shù)的正確的調(diào)用方式是( )。(!分)A、FILE*FP;FP=fopen("r","filel");B、FILE*FP;FP=fopen("filel","r");C、FILE*FP;FP=fopen("rb+","filel");D,FILE*FP;FP=fopen("filel","rb+");45、設(shè)fp是文件指針,str是ー個(gè)字符串變量,n是一個(gè)整數(shù),向文件中輸出字符串的iE確格式是()。(1分)A、fputs(str,fp):B、fputs(fp,str);C、fputs(str,n,fp);fputs(fp,n,str);46、函數(shù)調(diào)用語句fseek(fp,-10L,2)的含義是( )。(I分)A、將文件位置指針移動(dòng)距文件頭10個(gè)字節(jié)處B,將文件位置指針從當(dāng)前位置向文件尾方向移10個(gè)字節(jié)C、將文件位置指針從當(dāng)前位置向文件頭方向移10個(gè)字節(jié)D、將文件位置指針移至距文件尾10個(gè)字節(jié)處47、fp是文件指針,str是一個(gè)字符串,n是ー個(gè)整數(shù),向文件中輸出數(shù)據(jù)的正確格式是()=(1分)A、fjprintf("%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、fprinlf函數(shù)B、fread函數(shù)C、fwrite函數(shù)D^fputc函數(shù)49、標(biāo)準(zhǔn)函數(shù)fgets(s,n,f)的功能是()〇(1分)A、從文件f中讀取長(zhǎng)度為n的字符串存入指針s所指的內(nèi)存B、從文件f中讀取長(zhǎng)度不超過n-1的字符串存入指針s所指的內(nèi)存C、從文件f中讀取n個(gè)字符串存入指針s所指的內(nèi)存D、從文件f中讀取n-1字符串存入指針s所指的內(nèi)存50、若fp是指向某文件的指針,若沒到該文件的末尾,則函數(shù)表達(dá)式!feof(fp)的值是()。(1分)A,EOFB、1C、非零值D、〇二、填空題(7道小題,共30分)1、?下面程序的功能是:將從鍵盤上輸入的小寫字母變成對(duì)應(yīng)大寫字母后的第二個(gè)字母并輸出。其中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;)printfC1%[c]M,c);}printf(M%c",c);(4分)2、*用冒泡法對(duì)10個(gè)數(shù)排序#include<stdio.h>voidmain()[int]a[ll],i,j,t;printf(MInput10numbers:\nn);for(i=l;i<ll;i++)scanf(”%d”,&a[i]);printf(,'\n,');for(i=l;i<=9;i++)for(j=[1];j<=10-i;j++)if(a[j]>a[j+l])(t=a[j];a[j]=a[j+l];a|j+l]=t;}printf(nThesortednumbers:\nn);for(i=l;i<ll;i++)printf(H%d\a[i]);(4分)3、?兩個(gè)乒乓球隊(duì)進(jìn)行比賽,各出三人甲隊(duì)為A、B、C.乙隊(duì)為X、Y、Z三人.已經(jīng)抽簽決定比賽名單。有人向隊(duì)員打聽比賽的名單,A說他不和X比,C說他不和X、Z比.編程序找出三對(duì)賽手的名單.#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;kv=Z;k++)if(i!=k&&j!=k)if(i!=,X,&&k!='X,&&k!=,Z,)printf(,,A-%c\tB-%c\tC-%c\nM,i,j,k);(4分)4、?程序的功能是顯示具有n個(gè)元素的數(shù)組s中的最大元素。#include<stdio.h>#define[N]30voidmain()(inti,a[N];intfmax(ints口,intn);for(i=0;i<N;i++)scanf(H%d",&a[i]);printf(M%d\nn,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;retum(k);(4分)5、?山系統(tǒng)隨機(jī)產(chǎn)生一個(gè)NXN矩陣(矩陣中的元素值在[10,99]范圍內(nèi)),輸出這個(gè)矩陣下三角區(qū)所有元素的和。#defineN5#include<stdio.h>main()(inta[N][N],b[N*N],[k]=-l,f,t,i,j,s;printf("正在產(chǎn)生%d個(gè)在[10,99]范圍內(nèi)隨機(jī)數(shù)..An\n",N*N);for(i=0;i<N;i++)for(j=0;j<N;j++)k++;f=l;dob[k]=rand()%100;}while(b[k]<[10]);a[i][j]=b[k];Iprintf("輸出數(shù)組al%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];)printf(M\n數(shù)組a中下三角區(qū)所有元素和是%d\n”,s);(6分)6、?使用雙重循環(huán),輸出下面的圖形:1121123211234321123211211#include<stdio.h>voidmain()(inti,j;for(i=l;i<=4;i++)for(j=l;j<40-i;j++)printf("");for(j=l;j<=i;j++)printf(H%dn,j);for(j=[i]-l;j>O;j-)printf(M%dn,j);printf(M\nM);)for(i=3;i>=[1】;i一)(for(j=l;j<40-i;j++)printf(M*');for(j=l;j<=i;j++)printf("%d”,j);for(j=i-l;j>0;j-)printf(,'%d'',j);(4分)7、?下面程序的功能是計(jì)算正方形的面積。#include<stdio.h>voidmain()(floata,s;[float]*p,*area;p=&a;area=&s;scanf(H%r,p);s=(*p)*(*p);printf("areais=%2f\n'*,*[area]);(4分)三、編程題(3道小題,選作2道,每道15分,共30分)*編寫程序:?寫程序,輸出1000以內(nèi)第二大的素?cái)?shù)。(10分)必須將本題程序最后的運(yùn)行結(jié)果填入下面的框中。否則,該題以零分計(jì)!運(yùn)行結(jié)果:991請(qǐng)將你解答本題所寫的源程序粘貼到下面或者上載源程序參考答案:#include<stdio.h>#include<math.h>intmain()inti,j,k,n=0;for(i=1000;i>l;i-){k=sqrt(i);for(j=2;j<=k;j++)if(i%j==0)break;if(j>k){n++;if(n==2){printf(H%d\nn,i);break;})return0;2、?編寫程序:?先下載數(shù)據(jù)文件wj4.txt到自己的計(jì)算機(jī)中,然后編制程序,要求:統(tǒng)計(jì)其數(shù)字個(gè)數(shù)。(【下載文件“wj4.txビ’】;)下載方法:在鏈接上右擊打開彈出菜單,選擇“目標(biāo)另存為”。(10分)必須將本題程序最后的運(yùn)行結(jié)果填入下面的框中。否則,該題以零分計(jì)!請(qǐng)將你解答本題所寫的源程序粘貼到下面或者上載源程序參考答案:#include<stdio.h>intmain(){charc;intk=0;FILE*p;p=fopen("D:\\a\\wj4.txビJr");while(!feof(p))(c=fgetc(p);if(c>='0'&&c<=,9,)k++;)printf("%d\n”,k);fclose(p);return0;}運(yùn)行結(jié)果:1551-5DBAAA6-10CDCBB11-15AACDB16-20ABDDD21-25DABBA26-30BACDB31-35CBBCD36-40CACAC41-45DCBDA46-50DBCBBー個(gè)C程序的組成部分可以是()〇A)一個(gè)主函數(shù)和一至若干個(gè)其他函數(shù)B)一至若干個(gè)主函數(shù)C)一個(gè)主程序和一至若干個(gè)其他函數(shù)D)ー個(gè)主程序和一至若干個(gè)子程序ー個(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é)束C語言中的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符( )。A)必須為字母B)必須為下劃線〇必須為字母或下劃線D)可以是字母、數(shù)字和ド劃線中任一種字符設(shè)有定義:intm=l,n=-l;則執(zhí)行語句printf("%d\n”,(m--&++n);后的輸出結(jié)果是()。A)-1B)0 C)1D)2TOC\o"1-5"\h\z表達(dá)式11&10的結(jié)果用二進(jìn)制表示為( )。A)llB)3 C)1 D)106.設(shè)有語句inta=3;則執(zhí)行語句a+=a-=a*a后,變量a的值是( ).(A)3 (B)0 (C)9 (D)-127,在下列選項(xiàng)中,不的賦值語句是(A)t/=5; B)nl=(n2=(n3=O)); C)k=i==j;D)a=b+c=l;8.下列( )表達(dá)式不滿足:當(dāng)x的值為偶數(shù)時(shí)值為“真",為奇數(shù)時(shí)值"假"。A)X%2==0 B)!x%2!=0C)(x/2*2-x)==0 D)!(x%2)9,若有定義:inta=8,b=5,c!執(zhí)行語句c=a/b+0.4后c的值為()TOC\o"1-5"\h\zA)1.4B)1C)2.0 D)210.假設(shè)a=3,b=4,c=5,則邏輯表達(dá)式:!(a+b)+c-l&&b+c/2的值是( )。A)trueB)false〇〇D)111.若inta=3,b=4側(cè)執(zhí)行c=a++>2llb-->=4之后,b變量的值為( )。A)3 B)0 C)4 D)212.以下哪個(gè)表達(dá)式的值為4( )A)ll/3B)11.0/3 C)(flaot)ll/3D)(int)(l1.O/3+O.5).若變量a,i已經(jīng)正確定義,且i已經(jīng)正確賦值,合法的語句是〇A)a==lB)++iC)a=a++=5D)a=int(i).以下程序的輸出結(jié)果是〇inta=1234;printf("%2d",a);A)12 B)34 C)1234D)提示錯(cuò)誤,無結(jié)果.設(shè)x,y分別為單精度和雙精度類型變量,則下列選項(xiàng)( )可將表達(dá)式x+y的運(yùn)算結(jié)果強(qiáng)制轉(zhuǎn)換為整型數(shù)據(jù)。A)(int)x+y B)int(x)+yC)int(x+y) D)(int)(x+y).當(dāng)a=3,b=2,c=l時(shí),表達(dá)式f=a>bx執(zhí)行完后f的值是()TOC\o"1-5"\h\zA)1 B)0 C)3 D)2.若x=2,y=l,則表達(dá)式x>y?l:1.5的值為( )A)1 B)1.5 Q1.0 D)2

18,在位運(yùn)算中,操作數(shù)每左移一位,其結(jié)果相當(dāng)于()A)操作數(shù)乘以2 B)操作數(shù)除以2 C)操作數(shù)乘以4 D)操作數(shù)除以4,在位運(yùn)算中,某操作數(shù)右移3位,其結(jié)果相當(dāng)于()A)操作數(shù)乘以6 B)操作數(shù)除以6 C)操作數(shù)乘以8 D)操作數(shù)除以8.在C語言中,若以下變量均為int型,則下面程序段的輸出結(jié)果是( )。s=6,u=6;u=s++;u++;printf(n%dH,u);A)7 B)6 C)5 D)4.若有定義:intx,y;chara,b,c;并有以下輸入數(shù)據(jù):x=l2ABC<CR>,則能給x賦整數(shù)1,給賦整數(shù)2,給a賦字符A,給b賦字符B,給c賦字符C的程序段是()scanf(nx%dy=%d",&x,&y);a=getch();b=getch();c=getch();scanf(',x=%d%d,',&x,&y);a=getch();b=getch();c=getch();scanf(nx=%d%d%c%c%cn,7x,&y,&a,&b,&c);scanf(,,x=%d%d%c%c%c%c%cH,&x,&y,&a,&b,&b,&c,&c);22.如下程序:include<STDIO.H>voidmain(){intm,n,k;m=(n=4)+(k=10-7);printf("m=%d\n”,m);}運(yùn)行后m的值為( )?(D)14(A)4 (B)3 (C)7(D)1423.結(jié)構(gòu)化程序的23.結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)是((A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)(C)嵌套結(jié)構(gòu)、遞歸結(jié)構(gòu)、順序結(jié)構(gòu)(B)遞歸結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)(D)循環(huán)結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)、順序結(jié)構(gòu).有如ド程序main(){floatx=4.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf( ,y);

該程序的輸出結(jié)果是 ()A)0.0B)0.25C)0.5D)1.0.設(shè)inta=0,b=5,c=2;選擇可執(zhí)行x++的語句是()〇(A)if(a)x++ (B)if(a=b)x++;(C)if(a=<b)x++; (D)if(!(b-c))x++;26.下列程序段運(yùn)行后,x的值是()〇inta,b,c,x;a=b=c=0;x=35;if(!a)x-;elseif(b);if(c)x=3;elsex=4;A)3B)4C)34D)3527.若要求在if后ー對(duì)圓括號(hào)中表示a不等于〇的關(guān)系,則能表示這一關(guān)系的表達(dá)式為A)a<>0 B)!a C)a=O D)a28.若N為整型變量,則for(N=10;N=0;N-);循環(huán)里的循環(huán)體被( )〇A)無限循環(huán) B)執(zhí)行10次〇執(zhí)行ー次 D)一次也不執(zhí)行29.下列程序段運(yùn)行后i的值是(),inti=10switch(i+l){case10:i++;break;casell:++i;case12:++i;break;default:i=i+l;)A)11B)13C)12D)1430.以下程序的輸出結(jié)果為()〇#include<stdio.h>main(){inti;for(i=0;i<10;i++);printf("%d”,i);}(A)0 (B)123456789 (C)0123456789 (D)1031.C語句for(;;){31.C語句for(;;){}是指()〇(A)無意義(B)(A)無意義(B)無限循環(huán)(。循環(huán)執(zhí)行1次(D)循環(huán)執(zhí)行〇次32.有如下程序main(){intx=l,a=O,b=O;switch(x){case0:b++;a++;a++;b++;)printf("a二%d,b二%d\n",a,b);I該程序的輸出結(jié)果是 ()a=2,b=1a=l,b=la=l,b=Oa=2,b=233.如果程序中有include"文件名"則意味著()?(A)將"文件名”所指的該文件的全部?jī)?nèi)容,復(fù)制插入到此命令行處。(B)指定標(biāo)準(zhǔn)輸入輸出(。宏定義一個(gè)函數(shù)(D)條件編譯說明34.要將一個(gè)整數(shù)12000分別以ASCII碼文件和二進(jìn)制文件形式存放,各自所占的存儲(chǔ)空間數(shù)分別是()字節(jié)。A)5和2 B)2和5C)2和2D)5和535.在下面關(guān)于ー維數(shù)組的定義中,其中( )有語法錯(cuò)0。A) int x[ ] ={1,2,3,4,5}; B) int x[5] ={0};C) int x[ ]; D) int x[5];.設(shè)有字符數(shù)組a,則的輸入語句是( )?(A)gets("a");(B)scanf("%c",a);(C)scanf("%s",a);(D)gets("a");.函數(shù)調(diào)用,,strcat(strcpy(str1,str2),str3)"的功能是()〇(A)將字符串str!復(fù)制到字符串str2后再連接到字符串str3之后(B)將字符串strl連接到字符串str2后再?gòu)?fù)制到字符串str3之后(C)將字符串str2復(fù)制到字符串strl后再將字符串str3連接到strl之后(D)將字符串str2連接到字符串strl后再將str!復(fù)制到字符串str3中.定義如下變量和數(shù)組:inti;

intx[3][3]={1,2,3,4,5,67,8,9);則下面語句的輸出結(jié)果是(for(i=0;i<3;i++) printf(*'%dA)1intx[3][3]={1,2,3,4,5,67,8,9);則下面語句的輸出結(jié)果是(for(i=0;i<3;i++) printf(*'%dA)159 B)1)〇",x[i][2-i]);47C)357D)36939.C語言中,以下敘述中錯(cuò)誤的是( )。A)主函數(shù)中定義的變量是全局變量B)同一程序中,全局變量和局部變量可以同名C)全局變量的作用域從定義處開始到本源程序文件結(jié)束D)局部變量的作用域被限定在其所定義的局部范圍中.C語言中,函數(shù)調(diào)用時(shí)若實(shí)參是數(shù)組名,則被調(diào)函數(shù)對(duì)應(yīng)形參( )?A)可以是相應(yīng)類型簡(jiǎn)単變量 B)必須是相應(yīng)類型數(shù)組名C)可以是相應(yīng)類型數(shù)組名 D)必須是相應(yīng)類型的指針變量.在下面C語言的函數(shù)說明語句中,的是()〇A)intfun(int,int);B)intfun(intx,y);C)intfun(x,y); D)intfun(intx;inty);.若要用fopen函數(shù)打開ー個(gè)新的二進(jìn)制文件,該文件要既能讀也能寫,則文件讀寫方式字符串應(yīng)是( )?A)"a+” B)"r+" C)"wb+"D)“ab”.C語言中規(guī)定,簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是()?(A)地址傳遞 (B)單向值傳遞 (C)有實(shí)參傳給形參,再由形參傳回給實(shí)參(D)山用戶指定傳遞方式.已知:int*p;使用“p=malloc(sizeof(int));"語句動(dòng)態(tài)申請(qǐng)int型的存儲(chǔ)單元,應(yīng)當(dāng)使用( ).A)intB)int*C)(*int)D)(int*).在C函數(shù)中,局部變量的隱含存儲(chǔ)類型是()。(A)auto(B)static(C)register(D)extern46.有定義:intx,*p;,能使指針變量p指向變量x的語句是()〇A)*p=&x;B)p=&x; C)*p=x;D)p=*&x;47.有定義:A)x=p;intx,y=10,*p=&y;,則能使得x的值也等于10的語句是(B)x=&p;C)x=&y;D)x=*p;48.有定義:int*pl,*p2;?則的賦值語句為(A)pl=p2;B)pl/=p2;)0C)pl+=p2;D)pl*=p2;49.在C語言中,關(guān)于文件存取方式,( )。A、只能順序存取B、只能隨機(jī)存?。ㄒ卜Q直接存取)C、可以順序存取,也可以隨機(jī)存取D、只能從文件開頭存取50.有定義:imA)p+=2,*p++a[]={l,3,5,7,9},*p=a;,則值為5的表達(dá)式是(B)p+=2,*++pC)p+=2,(*p)++)oD)a+=2,*a填空1.將百分制成績(jī)轉(zhuǎn)化為A-E這5個(gè)等級(jí),90以上為A;80-89為B;70-79為C;60-69為D,60以下為EVoidmain()(Intscore;prinlf(“輸入一個(gè)介于0-100之間的數(shù)”);scanf(4<_1 v,&score); 2 (score/10)(case10:printf(44A\nM);break;case9:printf("A\rT);break;case8:printf("B\n");break;case7:printf("C'n'');break;case6:printf("D\n'');break;3 :printf(ttE\nM,score);break;2.輸入三角形三條邊長(zhǎng)度a,b,c,判斷能不能組成三角形.如果可以輸出YES,如果不能輸出NOmain()( 4_a,b,c;scanf(t4%f%f%f;&a,&b,&c);if((a+b>c)&&(a+c>b)&&(b+c>a))printfC'YES");_5_printf("NO”);3計(jì)算1—100的和main()(inti,sum;sum=0;i= 6 ;do(sum=sum+i;i++}while(i<=—7—);printf("%d\n”,sum);4、?計(jì)算每個(gè)學(xué)生成績(jī)的平均分,并把結(jié)果保存在數(shù)組bb中。例如,當(dāng)score[N][M]={{83582,86,65,67},{80,91.5,84,99,95},{90.5,95,86,95,97}}時(shí),三個(gè)學(xué)生的平均分為76.7,89.9,92.7。#include<stdio.h>#defineN3#defineM5void_8 (intx,inty,floatcc[],floataa[][5])(inti,j;for(i=0;i<x;i++)(for(j=0;j<y;j++)cc[i]+=aa[i][j];cc[i]/=y;voidmain()(inti;staticfloatscore[N][M]={{83.5,82,86,65,67},{80,91.5,84,99,95},{90.5,95,86,95,97}};float_9_[N];for(i=0;i<N;i++)bb[i]=0;Fun(N,M,bb,score);for(i=0;i<N;i++)printf(H\nstudent%d\taverage=%5.1r,i+l,bb[i]);printf(”\n");.判斷某個(gè)大于2的證書是否是素?cái)?shù)main()(intn,i,flag;scanf("%d”,_10—);for(i=2;i<n;i++)if(n%i==0)(flag=0;1I一;)if(flag!=0)printf(HyesH);elseprintf(HnoH);.輸出程序的運(yùn)行結(jié)果main()(inta,b;int*p_l,*p_2;a=100;b=10;p_l=&a;p_2=&b;printf(”%d%d",*p」,*p_2);}運(yùn)行結(jié)果ー12,13.打印9*9乘法表,輸出格式要求為:1*1=12*1=22*2=43*1=33*2=63*3=9main()(intm,n;for(m=l;m<=9;m++)(for(n=l;n 14m;n++)printf(M%d*%d=%2du,m,m,m*n);printf(”—15ーり;編程.?編寫程序:?計(jì)算20到30的每個(gè)整數(shù)立方根之和(保留小數(shù)點(diǎn)后兩位)參考答案:#include<stdio.h>#include<math.h>intmain(){inti;doubles=0;for(i=20;i<=30;i++)s=s+pow(i,1.0/3);〃如果平方根改為s=s+sqrt(i);printf(H%.2f\nu,s);return0;)運(yùn)行結(jié)果:32.11?編寫程序:?讀取文件wj6.txt中數(shù)據(jù),一行為ー組,作為三角形三邊長(zhǎng),統(tǒng)計(jì)有多少組能組成三角形。參考答案:#include<stdio.h>intmain(){inta,b,c,k=O;FILE*p;p=fopen(HD:\\wj6.txtM,HrH);while(!feof(p)){fscanf(p,M%d%d%d",&a,&b,&c);if(a+b>c&&b+c>a&&c+a>b)k++;)printf(H%d\nH,k);fclose(p);return0;C語言001選擇1.A2.A3.C4.B5.D6.D7.D8.B9.B10.Dll.C12.D13.B14.C15.D16.B17.C18.A19.D20.B21.D22.C23.A24.B25.B26.B27.D28.D29.C30.D31.B32.A33.A34.A35.C36.C37.C38.C39.A40.C4LA42.C43.B44.D45.A46.B47.D48.A49.C50.A填空l.%d2.case3.default4.float5.else6.1 7.1008.Fun9.bb10.&n11.break12.10013.1014.<=15.\n-o.以下的不是C語言標(biāo)識(shí)符是( )。A)abcl_ B)_abcl C)5BC1_D)Abel.結(jié)構(gòu)化程序設(shè)計(jì)的基本結(jié)構(gòu)不包括( )A)從上到下的結(jié)構(gòu) B)選擇結(jié)構(gòu) C)循環(huán)結(jié)構(gòu) D)順序結(jié)構(gòu)

.C程序的基本單位是( ).A)函數(shù)B)過程C)語句 D)子程序.以下選項(xiàng)中()是的C語言賦值語句。A)x=3,y=5 B)a=b=6 C)i-;D)y=int(x);.設(shè)有如下定義:inta=l,b=2,c=3,d=4,m=2,n=2;則執(zhí)行表達(dá)式:(m=a>b)&&(n=c>d)后,n的值為().A)1 B)2 C)3 D)0.設(shè)整型變量x的值為5,y的值為2,則值為1的表達(dá)式是( )〇D)X!=yllx>=yD)b=a>3?0:1A)!(y==x/2) B)Y!=x%3 C)X>0&&y<0D)X!=yllx>=yD)b=a>3?0:1.假設(shè)整型變量a為2,使b的值為0的表達(dá)式是()。A)b=a/2 B)b=6-(-a) C)b=a%2.設(shè)intx=3,y=4,z=5;則下面表達(dá)式中值為〇的是()〇A)x&&y B)x<=y C)xlly+z&&y-zD)!((x<y)&&!zlll).已知a=12,表達(dá)式a+=a?=a*=a的值為(A)A)144 A)A)144 B)-12〇〇D)24.設(shè)有語句a=4;則執(zhí)行語句a?=a+二a*a;后,變量a的值是()TOC\o"1-5"\h\zA)4 B)0 C)20 D)16.設(shè)有inia=4,b=6;則表達(dá)式a&b的值為( )A)3 B)4C)ll D)12.若有定義:intx=3;doubley;則執(zhí)行語句y=(double)x;后,變量x的數(shù)據(jù)類型為(A)intB)charC)flaotD)double13,若有定義doublex,y;則表達(dá)式x=l,y=x+3/2的值為()〇A)1 B)2 Q2.0 D)2.5.若有定義intx,y,t;則執(zhí)行語句:x=y=3,t=++xll++y;后,y的值為()〇A)不定值 B)4C)3 D)1.若x、i、j和k都是int型變量,則計(jì)算ド面表達(dá)式后,x的值為(x=(i=4,j=16,k=32)A)4B)16C)32D)52.假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,b++,a+b)的值是()〇A)7B)8C)6D)2.已有定義doubled,f;數(shù)據(jù)的輸入方式為:3.45<CR>1.2<CR>根據(jù)定義和數(shù)據(jù)的輸入方式,輸入函數(shù)調(diào)用語句的形式為()A)scanf("%lf%lf',&d,&0B)scanf("%f%f',&d,&f)C)scanf("3.2f%3.1f',&d,&DD)scanf("%3.21f%3.1If,,&d,&f).下面程序的輸出是( ).include<STDIO.H>voidmain(){intx=10,y=3;printf("%d\n",y=x/y);)(A)0 (B)l (C)3 (D)不確定的值.下面程序運(yùn)行情況是( )?#include<STDIO.H>voidmain(){intx=3,y=0,z=0;if(x=y+z)printf(“****”);elseprintf("####");)(A)有語法錯(cuò)。不能通過編譯 (B)輸出****(C)可以通過編譯,但不能通過連接,因而不能運(yùn)行 (D)輸出####.以下程序的輸出結(jié)果是()〇include<STDIO.H>main(){inti=10j=10;printf(n%d,%dn,-i,j-);)(A)11,10 (B)9,10 (C)010,9 (D)10,921.為了避免嵌套的if-else語句的二義性,C語言規(guī)定else總是與〇組成配對(duì)關(guān)系。(B)在其之前未配對(duì)的if(B)在其之前未配對(duì)的if(D洞一行上的if22.假定所有變量均已定義,if(!okl)X-;elseif(ok2)if(ok3)elsex=4;上面程序段運(yùn)行后x的值是:(A)14 B)4 C)15okl=l;ok2=2;ok3=3;x=15;x=3;)D)3(A)縮排位置相同的if(。在其之前未配對(duì)的最近的ifD)任意表達(dá)D)任意表達(dá)(D)是死.在C語言的if語句中,用作判斷的表達(dá)式為().A)關(guān)系表達(dá)式 B)邏輯表達(dá)式 C)算術(shù)表達(dá)式式.下面的程序,描述的是()main(){intx=3;do{printf("%d\n”,x?=2);}while(!(-x));)(A)輸出的是1 (B)輸出的是1和一2 (C)輸出的是3和。循環(huán).執(zhí)行下面程序后,a的值是( )。#include<stdio.h>voidmain(){inta;printf("%d\n”,(a=3*5,a*4,a+5));)(A)65 (B)20 (C)15 (D)10.以下程序的輸出結(jié)果是:main(){intn=4;while(n-)printf("%dM,-n);}A)20 B)31 C)321.設(shè)inta=l,則執(zhí)行完循環(huán)While(a++v5);a的值是:A)6 B)5 C)1 D)-264

.在下列for循環(huán)中,其循環(huán)次數(shù)是( )for(x=l,y=0;(y!=123)&&(x<4);x++);A)4 B)3 C)1 D)無數(shù)多次.假定a和b為int型變量,則執(zhí)行以下語句后b的值為()a=l;b=10;do{b-=a;a++;}while(b-<0);(A)9 (B)-2 (C)-l (D)8.如果有#definef(x,y)x+y及inta=2,b=3;則執(zhí)行printf(',%d,',f(a,b)*f(a,b))后的值為()。(A)36 (B)25(C)H (D)13.若#include后面的文件名用雙引號(hào)括起來,尋找被包含文件的方式是()。先按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式查找,再在當(dāng)前目錄中查找先在當(dāng)前冃錄中查找,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式查找〇 只在當(dāng)前目錄中查找 D)只按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式查找.執(zhí)行下面的程序#defineSQR(X)X*Xmain(){inta=10,k=2,m=l;a/=SQR(k+m)/SQR(k+m);printf(H%d\nH,a);}后,a的值是()〇(A)10 (B)9 (C)1 (D)0.下面程序的輸出結(jié)果是( )#include"stdio.h"#defineSUB(x,y)(x)*ymain(){inta=3,b=4;printf(H%d\nM,SUB(a,b+1));}A)12 B)16 C)15 D)1334.函數(shù)34.函數(shù)strcat(strl,st⑵的功能是( )A)將字符串str!連接到字符串str2之后C)將str2復(fù)制到字符串strl中。B)將字符串str2連接到字符串strl之后D)將strl復(fù)制到字符串str2中。)。35.若有定義:chara[30]="china\0\t\'\\”;則strlen(a)和sizeof(a)的值是()。(A)3030 (B)530 (C)1330 (D)51336,下述程序的輸出結(jié)果是()?#include"stdio.h"voidmain()(inta[]={2,3,4,5,6,7,8,9);inti,rt=l;for(i=0;i<=3;i++)rt*=x[i];;printf(H%d';x);}D)6A)120B)720C)24D)637.調(diào)用strlen("abcd\0ef\ng\0")的結(jié)果為( )。(A)4 (B)5 (C)8 (D)1038.C語言中,以下敘述的是( 38.C語言中,以下敘述的是( ).A)函數(shù)不能嵌套定義但可以嵌套調(diào)用C)函數(shù)可以嵌套定義但不能嵌套調(diào)用B)函數(shù)可以嵌套定義也可以嵌套調(diào)用D)函數(shù)不能嵌套定義也不能嵌套調(diào)用39.C語言中,函數(shù)調(diào)用時(shí)若實(shí)參是數(shù)組名,則被調(diào)函數(shù)對(duì)應(yīng)形參(A)可以是相應(yīng)類型簡(jiǎn)單變量B)必須是相應(yīng)類型的指針變量C)必須是相應(yīng)類型數(shù)組名 D)可以是相應(yīng)類型的指針變量40.A)在C語言中,函數(shù)默認(rèn)的存儲(chǔ)類型為(autoB)registerC)staticD)extern40.A)在C語言中,函數(shù)默認(rèn)的存儲(chǔ)類型為(autoB)registerC)staticD)extern41.已知函數(shù)的調(diào)用形式:fread(buffersize,count,fp);其中buffer代(B)ー個(gè)文件指針,指向要讀的文件(D)(B)ー個(gè)文件指針,指向要讀的文件(D)一個(gè)存儲(chǔ)區(qū),存放要讀的數(shù)據(jù)項(xiàng)(C)一個(gè)指針,指向要讀入數(shù)據(jù)的存放地址42.如果程序中有staticcharc;則編譯程序會(huì)對(duì)其自動(dòng)設(shè)置初值為()〇(A),r\n" (B)”\n” (C)0 (D)W

43.C程序在(43.C程序在(A)函數(shù)內(nèi)部D)變量出現(xiàn)的地方B)函數(shù)外部 C)D)變量出現(xiàn)的地方44.有定義:intx,*pl=&x,*p2;.則能使得p2也指向x的語句是( )?A)*p2=&x;B)p2=pl; C)p2=*p1;D)p2=&pl;45、C語言可以處理的文件類型是()。A、文本文件和數(shù)據(jù)文件B、文本文件和二進(jìn)制文件C、數(shù)據(jù)文件和二進(jìn)制文件D、都不對(duì)46、以讀寫方式打開ー個(gè)已存在的二進(jìn)制文件filel,fopen函數(shù)的正確的調(diào)用方式是( )。A、FILE*FP;FP=fopen("r","filel");B、FILE*FP;FP=fopen("filel","r");C、FILE*FP;FP=fopen("rb+","filel");D、HLE*FP;FP=fopen("filel","rb+");47、設(shè)fp是文件指針,str是一個(gè)字符串變量,n是一個(gè)整數(shù),向文件中輸出字符串的正確格式是()。A、fputs(str,fp):B>fputs(fp,str);C、fputs(str,n,fp);D、fputs(fp,n,str);48.有如下定義:char*sl=MAbCdEn,*s2=naBcDeH;則表達(dá)式strcmp(sl+l,s2+l)的值是()A.零 B.負(fù)數(shù) C.正數(shù) D.非零值,無法肯定符號(hào)49,在對(duì)文件進(jìn)行操作的過程中,若要求文件的位置回到文件的開頭,應(yīng)當(dāng)調(diào)用的函數(shù)是()A)fopen() B)fseek(A)fopen() B)fseek()C)fclose()D)rewind()50.在50.在C語言中,的的結(jié)論是(A)對(duì)文件操作必須先關(guān)閉文件C)對(duì)文件操作順序沒有統(tǒng)ー規(guī)定B)對(duì)文件操作必須先打開文件D)以上都錯(cuò)填空.輸入3個(gè)單精度浮點(diǎn)數(shù),輸出最大值#include<stdio.h>intmain()(a,b,c,max;scanf("%d%d%d”,&a,&b,&c);if(a>b)max=a;elsemax=b;if(max<c)max=c;printf(H%f,—2_);2fun函數(shù)的功能是:首先對(duì)a所指的N行N列的矩陣,找出各行中的最大的書,再求這N個(gè)

溫馨提示

  • 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)論