版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGEword文檔可自由復(fù)制編輯二、C選擇題1.表達式“(a=4*5,b=a*2),b-a,a+=2”的值是()。A.2 B.20 C.22 D.422.以下是一個自定義函數(shù)的頭部,其中正確的是()。A.intfun(inta[],b) B.intfun(inta[],inta)C.intfun(int*a,intb) D.intfun(chara[][],intb)3.以下數(shù)組聲明語句中正確的是()。A.intn,a[n]; B.inta[];C.inta[2][3]={{l},{2},{3}}; D.inta[][3]={{l},{2},{3}};4.已知在某C語言編譯系統(tǒng)中表達式sizeof(int)的值是2,如果希望將常量-70000正確地保存在一個變量a中,該變量聲明語句應(yīng)當(dāng)是()。A.inta; B.longinta; C.unsignedinta; D.unsignedinta;5.以下聲明語句中,用于聲明一個行指針變量的是()。A.int*p(int); B.int*p; C.int(*p)[3]; D.int(*p)(int);6.在以下程序中,需要在fun函數(shù)中聲明一個int型的變量,以下選項中()不能用做該變量的名字。#include<math.h>inty;main(){inta=1;fun(a);}intfun(intx){_______; /*int型變量聲明語句位置*/… /*若干執(zhí)行語句*/}A.x B.y C.fabs D.fun7.如有語句“intx,y=0,z,*p[3];p[0]=&x;p[1]=&y;p[2]=&z;”,以下表達式中有語法錯誤的是()。A.y++ B.p++ C.*++p[0] D.(*p[0])++8.設(shè)有聲明語句“inta[3][3]={1,2,3,4,5,6,7,8,9};”,以下語句中除()外均能輸出a[1][2]的值。A.printf("%d",*(*(a+1)+2)) B.printf("%d",*(&a[2][0]-1));C.printf("%d",*(a[1]+2)); D.printf("%d",*(a+1)[2]);9.已知有聲明語句intx=8,則下列表達式中,值為2的是()。A.x+=x-=x B.x%=x-2 C.x>8?x=0:x++ D.x/=x+x10.以下關(guān)于函數(shù)的敘述中正確的是()。A.在函數(shù)體中可以o直接引用另一個函數(shù)中聲明為static類別的局部變量的值B.在函數(shù)體中至少必須有一個return語句C.在函數(shù)體中可以定義另一個函數(shù)D.在函數(shù)體中可以調(diào)用函數(shù)自身11.若有聲明語句“inta[10],b[3][3];”,則以下對數(shù)組元素賦值的操作中,不會出現(xiàn)越界訪問的是()。A.a(chǎn)[-1]=0 B.a(chǎn)[10]=0 C.b[3][0]=0 D.b[0][2]=012.若有聲明語句“charch=’a’,*pc=&ch;”,以下語句中有語法錯誤的是()。A.(*pc)++; B.ch+=-‘a(chǎn)’+‘A’;C.toupper(ch)=ch; D.ch++;13.已知有聲明語句“inta[5]={1,2,3,4,5},*p,i;”,以下語句中()不能正確輸出a數(shù)組全部元素的值。A.for(p=a,i=0;i<5;i++)printf("%d",*(p+i));B.for(p=a;p<a+5;p++)printf("%d",*p);C.for(p=a,i=0;p<a+5;p++,i++)printf("%d",p[i]);D.for(p=a;p<a+5;p++)printf("%d",p[0]);14.已知某程序如下:floatp=1.5;#definep2.5main(){printf("%f",p);}則main函數(shù)中標(biāo)識符p代表的操作數(shù)是()。A.float型變量 B.double型變量C.float型常量 D.double型常量15.已有聲明“intS[2][3]”,以下選項中()正確地引用了數(shù)組S中的基本元素。A.S[1>2][!1] B.S[2][0] C.S[1] D.S16.邏輯“異或”運算可描述為“axorb”,其中a和b為參加運算的兩個操作數(shù),運算結(jié)果為當(dāng)且僅當(dāng)a、b兩個操作數(shù)中只有一個為真時才為真,其他情況下均為假。以下表達式中()可以正確表示邏輯“異或”運算。A.a(chǎn)||b B.a(chǎn)&&b C.(a&&b)&&!(a||b) D.(a||b)&&!(a&&b)17.若有聲明“inta[5],*b=a,(*c)[3],*d[3];”,則在以下表達式中有語法錯誤的是()。A.a(chǎn)[0]=0 B.b[0]=0 C.c[0]=0 D.d[0]=018.若有聲明:intk,a,b;unsignedlongy=5;doublex=1.23;則以下表達式中正確的是()。A.x%(-5) B.x=y[6] C.k=(a=1,b=2,&a+&b) D.a(chǎn)+=a-=(b=2)*(a=3)19.一個用C語言編寫的源程序中,()是必不可少的。A.取名為main的函數(shù)定義 B.#include<stdio.h>C.變量聲明 D.注釋20.以下聲明中正確的是()。A.intn=2,a[n]={10}; B.intn=10,*p[2]=&n;C.intn=10,a[2]={n}; D.inta[2][2]={10},(*p)[2]=a+1;21、若有函數(shù)fun的定義為voidfun(…){staticinta=1;…}則下列敘述中不正確的是()。A.在每次調(diào)用fun函數(shù)時,變量a的值是上次調(diào)用結(jié)束時a的值B.在fun函數(shù)之外,可以用變量名a直接引用a的值C.在其他函數(shù)中,可以出現(xiàn)聲明doublea=2.5;D.fun函數(shù)的形式參數(shù)不能取名為a22.以下單目運算符均只需要一個操作數(shù),其中要求操作數(shù)的類型只能是指針型的是()。A.& B.++ C.! D.*23.已知有聲明“intgood=l;”,若要使得表達式“p="good"+good”無語法錯誤(包括警告錯誤),p應(yīng)當(dāng)聲明為()。A.charp; B.char*p; C.intp; D.int*p;24.以下全局變量聲明中正確的是()。A.a(chǎn)utointi=1; B.floata=1,b=0.5,c=a+b;C.charfor=1; D.staticcharch;25.若已有聲明“doublea[2][3]={1,2,3,4,5,6};”,則下列表達式中不能正確引用a[1][1]值的是()。A.*(a[0]+4)B.*(a[1]+1)C.*(*(a+3)+1)D.*(*a+4)26、已有聲明“inta[5];”,以下表達式中不能正確取得a[1]指針的是()。A.&a[1]B.++aC.&a[0]+1D.a(chǎn)+l27.以下關(guān)于語句的說法中正確的是()。A.do-while語句的循環(huán)體至少會被執(zhí)行1次B.while語句的循環(huán)體至少會被執(zhí)行1次C.for語句的循環(huán)體至少會被執(zhí)行1次D.在C語言中只能用do、do-while或for語句實現(xiàn)循環(huán)結(jié)構(gòu)28.已知函數(shù)f的定義如下:voidf(void){printf("That’sgreat!");}則調(diào)用f函數(shù)的正確形式是()。A.f;B.f();C.f(void);D.f(1);29.以下程序在編譯時在第三行報錯“Redeclarationof‘a(chǎn)’infunctiond”,如果決定修改該行聲明中出現(xiàn)的局部變量a的名字,則下列選項中不能用來替換變量名a的是()。intb;voidd(inta){intf;doublea=1; printf("%d",a);}main(){inte=1;d(e);} A.f B.e C.d D.b30、以下語句中不包含關(guān)鍵字的是()。 A.x=sqrt(2);B.while(x!=0)x--;C.if(x<0)x=-x;D.returnx;31.在main函數(shù)體內(nèi)部和外部均允許出現(xiàn)的實體是()。A.預(yù)處理命令B.語句 C.另一函數(shù)的定義 D.函數(shù)形式參數(shù)聲明32、已知有聲明intx=2:,以下表達式中值不等于8的是()。A.x+=2,x*2B.x+=x*=XC.(x+7)/2*((x+1)%2+1)D.x*7.2/x+133、執(zhí)行以下程序時, #include<stdio.h> main() {inta;floatb;scanf("%3d%f",&a,&b);printf("%d\t%f",ab);}若要求變量a和b分別從鍵盤獲得輸入值45和678.0,則以下四種輸入數(shù)據(jù)中(代表“空格”鍵,<CR>代表“回車”鍵),不能達到該要求的輸入數(shù)據(jù)是()。A.45678<CR>B.45<CR>678<CR>C.45,678<CR>D.045678<CR>34.下列程序段中,能將變量x、y中值較大的數(shù)保存到變量a、值較小的數(shù)保存到變量b的程序段是()。A.if(x>y)a=x;b=y;elsea=y;b=x;B.if(x>y){a=x;b=y;}elsea=y;b=x;C.if(x>y){a=x;b=y;}else{a=y;b=x;}D.if(x>y){a=x;b=y;}else(x<y){a=y;b=x;}35.已知函數(shù)fun的定義如下:voidfun(intx[],inty){intk;for(k=0;k<y;k++)x[k]+=y;}若main函數(shù)中有聲明inta[10]={10}及調(diào)用fun函數(shù)的語句,則正確的fun函數(shù)調(diào)用形式是()。A.fun(a[],a[0]);B.fun(a[0],a[0]);C.fun(&a[0],a[0]);D.fun(a[0],&a[0]);36.設(shè)有下列程序段:staticcharb=2;voidY(){ staticfloatd=4;……}inta=1;voidX(){intc=3;……}關(guān)于程序段中各變量的屬性,以下敘述中錯誤的是()。A.a(chǎn)是全局變量,函數(shù)X可以訪問,函數(shù)Y不能訪問B.b是全局變量,函數(shù)X和函數(shù)Y都可以訪問C.c是動態(tài)變量,函數(shù)X可訪問,函數(shù)Y不可訪問D.d是靜態(tài)變量,函數(shù)X和函數(shù)Y都可以訪問37、若有如下聲明和語句:intt[3][3],*pt[3],k;for(k=0;k<3;k++)pt[k]=&t[k][0];則表達式*(*(pt+1)+2)所引用的是()。A.t[2][0] B.&t[2][0] C.t[1][2] D.&t[1][2]38.設(shè)有聲明floata=1.23456;inti;,欲將a中的數(shù)值保留小數(shù)點后兩位,第三位進行四舍五入運算,能實現(xiàn)該功能的表達式是()。A.i=a*100+0.5,a=i/100.0 B.a(chǎn)=(a*100+0.5)/100.0C.a(chǎn)=((int)a*100+0.5)/l00.0 D.a(chǎn)=(a/100+0.5)/100.039.若已有聲明“intx=4,y=3;”,則表達式x<y?x++:y++的值是()。A.2 B.3 C.4 D.540.設(shè)有變量聲明“charc;”,執(zhí)行“for(;c=(getchar()!=’\n’);)printf("%c",c);”時,從鍵盤上輸入“ABCDEFG↙”之后,輸出的結(jié)果是()。A.ABCDEFG B.AABBCCDDEEFFGGC.非字母數(shù)字字符 D.語句不能執(zhí)行41.以下表示數(shù)學(xué)式“a<b<c”的邏輯表達式中,錯誤的是()。A.a(chǎn)<b<c B.a(chǎn)<b&&b<c C.!(a>=b)&&!(b>=c) D.!(a>=b||b>=c)42.下面關(guān)于循環(huán)語句for、while、do_while的敘述中,正確的是()。 A.三種循環(huán)語句的循環(huán)體都必須放入一對花括號中 B.三種循環(huán)語句中都可以缺省循環(huán)終止條件表達式 C.三種循環(huán)語句的循環(huán)體都至少被無條件地執(zhí)行一次 D.三種循環(huán)語句都可能出現(xiàn)無窮循環(huán)43、若有聲明“inta[]={l,2,3,4},*p,i;”,則以下程序段中不能輸出13的是()。A.for(i=0;i<4;i+=2)printf("%d",a[i]);B.for(p=0;p<4;p+=2)printf("%d",a[p]);C.for(p=a;p<a+4;p+=2)printf("%d",*p);D.for(p=a,i=0;i<4;i+=2)printf("%d",p[i]);44、下列敘述中正確的是()。A.main函數(shù)必須出現(xiàn)在其他函數(shù)之前B.main函數(shù)中至少必須有一條語句C.C程序總是從main函數(shù)的第一條語句開始執(zhí)行D.C程序總是在執(zhí)行完main函數(shù)的最后一條語句后結(jié)束45.已知有結(jié)構(gòu)定義和變量聲明如下: structstudent { charname[20]; intscore; structstudent*h; }stu,*p;int*q;以下選項中錯誤的是()。A.p=&stu; B.q=&stu.score; C.scanf("%s%d",&stu); D.stu.h=p;46、設(shè)有聲明“intp[10]={1,2},i=0;”,以下語句中與“p[i]=p[i+1],i++;”等價的是()。A.p[i]=p[i+1]; B.p[++i]=p[i]; C.p[++i]=p[i+1]; D.i++,p[i-1]=p[i];47.設(shè)有結(jié)構(gòu)定義及變量聲明如下: structproduct { char[5]; floadtprice; }y[4]={"100",100};以下表達式中錯誤的是()。A.(*y).code[0]=’2’; B.y[0].code[0]=’2’ C.y->price=10; D.(*y)->price=10;48.若有聲明“inta=3,b=4,c=5;”,則下列表達式中值為0的是()。A.a(chǎn)&&b=0 B.a(chǎn)<=b C.a(chǎn)||b&&c D.!(!c||1)49.已知有聲明“l(fā)ongx,y;”,且x中整數(shù)的十進制表示有n位數(shù)字(4<n<10),若要求去掉整數(shù)x十進制表示中的最高位,用剩下的數(shù)字組成一個新的整數(shù)并保存到y(tǒng)中,則以下表達式中能正確實現(xiàn)這一功能的是()。A.y=x/(10*(n-1))B.y=x%(10*(n-1))C.y=x%(long)pow(10,n-1)D.y=x%(10^(n-1))50.已知有聲明“intx,y;”,若要求編寫一段程序?qū)崿F(xiàn)“當(dāng)x大于等于0時y取值1,否則y取值-1”,則以下程序段中錯誤的是()。 A.if(x>=0)y=1;elsey=-1;B.y=x>=0?1:01;C.switch(){casex>=0:y=1;break; default:y=-1; }D.switch(x-abs(x)){case0:y=1;break;default:y=-1;}51、已知有聲明“intm[]={5,4,3,2,1},i=0;”,下列對m數(shù)組元素的引用中,錯誤的是()。 A.m[++i]B.m[5]C.m[2*2]=0D.m[m[4]]52、若函數(shù)調(diào)用時的實參為變量,則以下關(guān)于函數(shù)形參和實參的敘述中正確的是()。A.實參和其對應(yīng)的形參占用同一存儲單元B.形參不占用存儲單元C.同名的實參和形參占用同一存儲單元D.形參和實參占用不同的存儲單元53.C語言規(guī)定,在一個源程序中main函數(shù)的位置()。A.必須在最開始B.必須在最后C.必須在預(yù)處理命令的后面D.可以在其他函數(shù)之前或之后54、已知有聲明“inta=3,b=4,c;”,則執(zhí)行語句“c=1/2*(a+b);”后,c的值是()。A.0B.3C.3.5D.455、已知字母A的ASCII碼是65,字母a的ASCII碼是97,變量c中存儲了一個大寫字母的編碼。若要求將c中大寫字母編碼轉(zhuǎn)換成對應(yīng)小寫字母編碼,則以下表達式中不能實現(xiàn)該功能的是()。A.c=tolower(c)B.c=c+32C.c=c-‘A’+’a’D.c=(c+’A’)%26-‘a(chǎn)’56.已知有定義和聲明: structstudent{ intno; charname[20]; struct{intyear,month,day;}birth;}s;若要求將日期“1989年11月12日”保存到變量s的birthA.year=1989;month=11;day=12;B.s.year=1989;s.month=11;s.day=12;C.birth.year=1989;birth.month=11;birth.day=12;D.s.birth.year=1989;s.birth.month=11;s.birth.day=12;57、執(zhí)行以下程序后的結(jié)果是()。#include<stdio.h>voidmain() { intx=3; Do{ printf("%d\t",x=x-3);}while(!x); }A.輸出一個數(shù):0B.輸出一個數(shù):3C.輸出兩個數(shù):0和-3D.無限循環(huán),反復(fù)輸出數(shù)58.設(shè)有聲明“inta=4,b=3,c=5;”,以下4個程序段中有3個程序段的執(zhí)行效果是相同的,另一個執(zhí)行效果不同的是()。A.if(a>b)c=a,a=b,b=c;B.if(a>b){c=a,a=b,b=c;}C.if(a>b)c=a;a=b;b=c;D.if(a>b){c=a;a=b;b=c;}59、以下關(guān)于if語句和switch語句的敘述中錯誤的是()。A.if語句和switch語句都可以實現(xiàn)算法的選擇結(jié)構(gòu)B.if語句和switch語句都能實現(xiàn)多路(兩路以上)選擇C.if語句可以嵌套使用D.switch語句不能嵌套使用60.若有聲明語句“chars1[10]={0},s2[10]="books";”,則能將字符串"books"賦給數(shù)組s1保存的表達式是()。A.s1="books"; B.strcpy(s2,s1);C.s1=s2; D.strcat(sl,s2);61.已知A盤根目錄下的一個文本數(shù)據(jù)文件data.dat中存儲了100個int型數(shù)據(jù),若需要修改該文件中已經(jīng)存在的若干個數(shù)據(jù)的值,只能調(diào)用一次fopen函數(shù),已有聲明語句“FILE*fp;”,則fopen函數(shù)的正確調(diào)用形式是()。A.fp=fopen("a:\\data.dat","r+");B.fp=fopen("a:\\data.dat","w+");C.fp=fopen("a:\\data.dat","a+");D.fp=fopen("a:\\data.dat","w");62.?dāng)?shù)組和鏈表都可以用于存儲一組彼此有關(guān)聯(lián)的數(shù)據(jù),以下說法中不正確的是()。A.?dāng)?shù)組占用一塊連續(xù)的存儲區(qū)域,鏈表可能占用若干塊不連續(xù)的存儲區(qū)域B.?dāng)?shù)組和鏈表所占用的存儲區(qū)域均不能在程序運行期間動態(tài)地分配C.?dāng)?shù)組中的數(shù)據(jù)可以隨機存取或順序存取,鏈表中的數(shù)據(jù)只能順序存取D.?dāng)?shù)組的長度是固定的,鏈表的長度是不固定的63.設(shè)有定義和聲明語句:typedefstructdtype{inta;structdtype*b;}node;staticnodex[3]={5,&x[1],7,&x[2],9,’\0’},*prt=&x[0];下列選項中,表達式值不為5的是()。A.x[1].b->a-2B.Ptr->b->a-2C.(ptr+1)->a-2D.ptr->a64.在以下程序中,需要在main函數(shù)之后定義一個函數(shù),以下選項中()可以用做該函數(shù)的名字。#defineP3.14inty;main(){inta=1;函數(shù)名(a);…/*若干執(zhí)行語句*/}int函數(shù)名(intx){returnx*x;}A.main B.y C.P D.print65.已知有語句“FILE*fp;intx=123;fp=fopen("out.dat","w");”,如果需要將變量x的值以文本形式保存到一個磁盤文件out.dat中,則以下函數(shù)調(diào)用形式中正確的是()。A.fprintf("%d",x); B.fprintf(fp,"%d",x);C.fprinff("%d",x,fp); D.fprintf("out.dat","%d",x);66.已知有聲明語句“chars1[10]="12345",s2[10]="abcde",s3[10];”,以下語句中能將s1中存儲的字符串和s2中存儲的字符串正確交換的是()。A.s3=s1,s1=s2,s2=s3;B.s3[0]=s1[0],s1[0]=s2[0],s2[0]=s3[0];C.strcpy(s3[0],s1[0]),strcpy(s1[0],s2[0]),strcpy(s2[0],s3[0]);D.strcpy(s3,s1),strcpy(sl,s2),strcpy(s2,s3);67.在定義任何一個函數(shù)時,下列選項中()是不可缺少的。A.函數(shù)名之前的數(shù)據(jù)類型 B.函數(shù)名之后的一對圓括號C.形式參數(shù)聲明 D.函數(shù)體中的語句68.已有數(shù)據(jù)類型定義和變量聲明如下:structperson{intnum;charname[20],sex;struct{intclass;charprof[20];}in;}a={20,"Lining",’M’,{5,"computer"}},*p=&a;下列語句中正確的是()。A.printf("%s",a->nname); B.printf("%s",p->in.prof);C.printf("%s",*); D.printf("%c",p->in->prof);69.若有以下程序:intx;intf(inty){return標(biāo)識符;}#include<stdio.h>intw;main(){intz=2;f(z);…}則在函數(shù)f中return語句后允許出現(xiàn)的標(biāo)識符是()。A.x或w B.x或y C.z或w D.NULL70.以下跳轉(zhuǎn)語句中,只有()可以選擇不唯一的跳轉(zhuǎn)目的地。A.continue; B.break; C.goto標(biāo)識符; D.return;71.在缺省情況下,標(biāo)準(zhǔn)C的編譯系統(tǒng)中預(yù)定義的標(biāo)準(zhǔn)輸出流stdout直接連接的設(shè)備是()。A.軟盤 B.硬盤 C.鍵盤 D.顯示器72.已有枚舉類型定義:“enumletter{A,B,C=7,D,E};”,以下表達式中除()外,其他表達式的機內(nèi)值均等于10。A.’\xb’-1 B.B+E C.010+2 D73.已知數(shù)據(jù)類型定義和變量聲明如下:structsk{inta;floatb;}data[2],*p;若有p=data,則以下對data[0]中成員a的引用中錯誤的是()。A.data[0]->a B.data->a C.p->a D.(*p).a74.已知有聲明“charc=’1’;intx=300;floatt=35000;doubled=3.1234567e10;”,則以下表達式求值時除()外其結(jié)果都可能是不準(zhǔn)確的。A.x=t/c B.t=d/x C.t=d/1e5f D.t=x+c75.已有預(yù)處理命令和聲明如下:#defineN10inta=2,c=1;doubleb=1.2;下述程序段正確的是()。A.switch(a){casec:a--;break;casec+1:a++;break;}B.switch(a){caseN>0:a=1;break;case1:a=0;break;}C.switch(a){case2:b++;break;case‘0’:b=3;}D.switch(b){case1.0:b++;break;case1.2:b=1;break;}76.若有以下聲明和定義:voidfun(intc){printf("%d",c);}main(){void(*a)(int)=fun,*b(int),(*c)(int);/*調(diào)用fun函數(shù)語句位置*/}void*b(intc){}如果在main函數(shù)中需要調(diào)用fun函數(shù),以下調(diào)用語句中錯誤的是()。A.fun(1); B.(*a)(1); C.b=fun;(*b)(1); D.c=a;(*c)(1);77.以下敘述正確的是()。A.一個用C語言編寫的程序在運行時總是從main函數(shù)開始逐條執(zhí)行語句的B.main函數(shù)是系統(tǒng)庫函數(shù)C.main函數(shù)中每行只能出現(xiàn)一條語句D.main函數(shù)必須出現(xiàn)在所有其他函數(shù)之前78.以下關(guān)于函數(shù)形式參數(shù)的聲明中正確的是()。A.inta[]B.inta[][]C.inta[]={0}D.inta[2][]79.關(guān)于函數(shù)返回值,以下敘述中正確的是()。A.函數(shù)返回值的類型由函數(shù)體內(nèi)return語句包含的表達式的類型決定B.函數(shù)返回值的類型由函數(shù)頭部定義的函數(shù)類型決定C.若函數(shù)體中有多個return語句,則函數(shù)的返回值是排列在最后面的return語句中表達式的值D.若函數(shù)體內(nèi)沒有return語句,則函數(shù)沒有返回值80.已知字符A的機內(nèi)編碼為65,則執(zhí)行下列函數(shù)調(diào)用語句時,不能輸出字符B的是()。 A.putchar(‘B’);B.putchar("B"); C.putchar(66);D.putchar(‘\x42’);81.下列一維數(shù)組的聲明中正確的是()。 A.inta[];B.intn=10,a[n]; C.inta[10+1]={0};D.inta[3]={1,2,3,4};82.已知有結(jié)構(gòu)類型定義:typedefstructex{longintnum; charsex; structex*next; }student;下列敘述錯誤的是()。 A.structex是結(jié)構(gòu)類型B.student是結(jié)構(gòu)類型的變量名 C.ex可缺省D.student不可缺省83.下列程序段的輸出結(jié)果是()。inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];for(i=0;i<4;i+=2)printf("%d",*(p+i)); A.52B.51C.53D.9784.已知有聲明”chara[6],*p=a;”,現(xiàn)需要在程序運行過程中將字符串"Hello",保存到a數(shù)組中,則下列選項中能正確完成此操作的表達式是()。 A.a(chǎn)[6]="Hello"B.a(chǎn)="Hello" C.p="Hello"D.strcpy(a,"Hello")85.若要使表達式“p++”無語法錯誤,則變量p不能聲明為()。 A.intp;B.doublep;C.int*p;D.struct{intx;}p;86.以下函數(shù)定義中正確的是()。A.intfun(inta,b){}B.intfun(inta[][]){}C.intfun(void){}D.intfun(staticinta,intb){}87.已知有函數(shù)f的定義如下:intf(inta,intb){if(a<b)return(a,b);elsereturn(b,a);}在main函數(shù)中若調(diào)用函數(shù)f(2,3),得到的返回值是()。 A.2B.3C.2和3D.3和288.下列各選項都是在C語言程字段中增加的注釋,其中注釋方法錯誤的是()。A.voidmain(/*intargc,char,*argv[]*/) {}B.voidmain(){pri/*remark*/ntf("name");}C.voidmain() {intx/*=10*/;printf("%d",x);} D.voidmain(){intx=10;/*printf("%d",x);*/}89.若有定義和聲明typedefenum{green,red,yellow,blue,b1ack}color;colorflower;,則下列語句中正確的是()。A.green=red;B.flower=red;C.color=red;D.enum=red;90.若已定義一個有返回值的函數(shù),則以下關(guān)于調(diào)用該函數(shù)的敘述中錯誤的是()。A.函數(shù)調(diào)用可以作為獨立的語句存在B.函數(shù)調(diào)用可以出現(xiàn)在表達式中C.函數(shù)調(diào)用可以作為一個函數(shù)實參D.函數(shù)調(diào)用可以作為一個函數(shù)形參91.對應(yīng)main函數(shù)中的fun函數(shù)調(diào)用語句,以下給出的四個fun函數(shù)首部中,錯誤的是()。main(){inta[50],n;fun(n,&a[9]);}A.voidfun(intm,intx[])B.voidfun(ints,inth[41])C.voidfun(intp,int*s)D.voidfun(intn,inta)92.若有聲明“inti;floatx;chara[50];”,為使i得到值1,x得到值3.1416,a得到值yz,當(dāng)執(zhí)行語句“scanf("%3d%f%2s",&i,&x,a);”時,正確的輸入形式是()。A.1,3.1416,yz↙B.13.1416yz↙C.0013.1416yz↙D.i=001,x=3.1416,a=yz↙93.程序段“intx=3;do{printf("%d",x--);}while(!x);”的執(zhí)行結(jié)果是()。A.321B.2C.3D.死循環(huán)94.假定已有聲明“chara[30],*p=a;”,則下列語句中能將字符串“ThisisaCprogram.”正確地保存到數(shù)組a中的語句是()。A.a(chǎn)[30]="ThisisaCprogram.";B.a(chǎn)="ThisisaCprogram.";C.p="ThisisaCprogram.";D.strcpy(p,"ThisisaCprogram.");95.若需要對一個數(shù)據(jù)文件abc.txt中的數(shù)據(jù)做加密處理并且限定只能做一次打開文件操作,則在“fp=fopen("abc.txt",模式字符串);”中,模式字符串應(yīng)當(dāng)是()。A."w+"B."r+"C."a+"D."r"96.下列在C語言源程序的錯誤中,通常不能在編譯時發(fā)現(xiàn)的是()。A.括號不匹配B.非法標(biāo)識符C.?dāng)?shù)組元素下標(biāo)值越界D.程序結(jié)構(gòu)不完整97.若有程序段“charc=256;inta=c;”,則執(zhí)行該程序段后a的值是()。A.256B.65536C.0D.-198.若有枚舉類型定義“enumlist1{x1,x2,x3,x4=6,x5,x6};”,則枚舉常量x2和x6代表的值分別是()。A.1,6B.1,8C.2,6D.2,899.若程序中已有相應(yīng)的聲明,下列語句中錯誤的是()。A.printf(i==4?"%6d\n":"%6d",i);B.i==4?printf("%6d\n",i):printf("%6d",i);C.for(i=10;;i--)if(i==1)break;D.for(i=10;;)if(i--);break;100.已知有聲明“chara[]="Itismine",*p="Itismine";”,下列敘述中錯誤的是()。A.strcpy(a,"yes")和strcpy(p,"yes")都是正確的B.a(chǎn)="yes"和p="yes"都是正確的C.*a等于*pD.sizeof(a)不等于sizeof(p)三、C基本概念填空題1.包含二目運算符的表達式可一般地表示為(x)op(y),其中op代表運算符,x、y代表操作數(shù)。若op是“+”運算符,且x和y均為常量時,不能同時為(1)常量。2.當(dāng)(2)語句被執(zhí)行時,程序的執(zhí)行流程無條件地從一個函數(shù)跳轉(zhuǎn)到另一個函數(shù)。3.在函數(shù)內(nèi)部聲明局部變量時缺省了存儲類型,該變量存儲類型為(3)。4.包含二目運算符的表達式可一般地表示為(x)op(y),其中op代表運算符,x、y代表操作數(shù)。若op是關(guān)系運算符或邏輯運算符,則不管x、y為何值,表達式的值是(4)。5.在C語言中大部分執(zhí)行語句都含關(guān)鍵字。例如,for語句含關(guān)鍵字for。除這些語句外不含關(guān)鍵字的非空操作語句是(5)。6.常量’\n’的數(shù)據(jù)類型是(6)。7.已知main函數(shù)中有聲明“inta[10];”,若在main函數(shù)中出現(xiàn)語句“fun(a);”,執(zhí)行該函數(shù)調(diào)用語句時傳遞給fun函數(shù)對應(yīng)位置形式參數(shù)的值是(7)。8.在聲明變量時,類型修飾符unsigned一般用于修飾基本類型中的int和(8)。9.已知某程序中有如下片段:inti;floatf;/*p的聲明*/p=&i;p=&f;若要保證該段程序沒有任何語法錯誤,p應(yīng)當(dāng)聲明為(9)。10.已有聲明“floatx;doubley;inta;longb;charc;”,則表達式x+y*a/x+b/y+c值的類型為(10)。11.系統(tǒng)庫函數(shù)scanf和gets在被調(diào)用執(zhí)行時都可以讀取從鍵盤輸入的一串?dāng)?shù)字字符,其中函數(shù)(11)具有將讀取的數(shù)字字符串轉(zhuǎn)換為整型數(shù)的功能。12.若有函數(shù)定義intf(){intx=4,y=3,z=2;returnx,y,z;},則調(diào)用函數(shù)f后的返回值是(12)。13.若二維數(shù)組a有m列,則在存儲該數(shù)組時,a[i][j]之前有(13)個數(shù)組元素。14.一個用C語言編寫的程序在運行時,如果沒有發(fā)生任何異常情況,則只有在執(zhí)行了(14)函數(shù)的最后一條語句或該函數(shù)中的return語句后,程序才會終止運行。15.?dāng)?shù)學(xué)式所對應(yīng)的C語言表達式為(15)。16.若一個函數(shù)不需要形式參數(shù),則在定義該函數(shù)時,應(yīng)使形式參數(shù)表為空或放置一個(16)。17.已知有聲明floatd=1;doublef=1;longg;和語句printf("____",g=1O+’i’+(int)d*f);,為了正確地以十進制形式輸出printf參數(shù)表中第二個參數(shù)(表達式)的值,則在第一個參數(shù)中的下劃線位置處應(yīng)填寫的格式轉(zhuǎn)換說明符是(17)。18.設(shè)函數(shù)a的定義如下:voida(){intx=12,y=345;FILE*fp=fopen("my.dat","w");fprintf(fp,"%d%d",x,y);fclose(fp);}已知main函數(shù)中有聲明intx,y;FILE*fp=fopen("my.dat","r");,若需要從文件my.dat中正確地讀出由函數(shù)a寫入的兩個數(shù)據(jù)并分別保存到變量x和y中,則在main函數(shù)中使用的讀數(shù)據(jù)語句應(yīng)當(dāng)是(18)(要求寫出語句的完整格式)。19.執(zhí)行以下程序段后,number的值是(19)。charstr[]="Hello!";intnumber;number=sizeof(str);20.若有說明inta[][4]={1,2,3,4,5,6,7,8,9};,則數(shù)組a第一維的大小是(20)。21.設(shè)有如下聲明和語句:inta=2,b,c=5;scanf("%d",&b);b=c--||scanf("%d",&c)&&a++;該程序段執(zhí)行時,若從鍵盤輸入的數(shù)據(jù)是4□3(□代表空格鍵),則變量C的值為(21)。22.若有聲明“chara[3]="AB";char*p=a;”,執(zhí)行語句“printf("%d",p[2]);”后輸出結(jié)果是(22)。23.若有聲明“inta=32767,b;”,則在TurboC2.0系統(tǒng)中執(zhí)行語句“printf("%d",b=++a);”后輸出結(jié)果是(23)。24.若有函數(shù)聲明“intsub(int(*x1)(),int*x2);”,則形式參數(shù)x1是指向(24)的指針變量。25.若有宏定義“#definemax(a,b)(a>b?a:b)”,則表達式“max(2,max(3,1))”的值是(25)。26.在聲明局部變量時,不能使用的存儲類別標(biāo)識符是(26)。27.在以下程序的main函數(shù)中,語句“fun(x,10);”內(nèi)的實參x表示數(shù)組x的(27)。voidfun(inta[10],intn){ inti;for(i=0;i<n;i++)a[i]++; }main(){ intx[10]={0};fun(x,l0); }28.已知程序中有聲明“inta;longb;”,若需要接收從鍵盤輸入的電話號碼字符串(010)64782656(其中010是區(qū)號,64782656是電話號碼)并將其中的區(qū)號、電話號碼分別存儲到變量a、b中,則實現(xiàn)該功能的輸入語句應(yīng)為“scanf("(28)",&a,&b);”。29.若有聲明“doublex=10,y=5;”,則計算xy的庫函數(shù)調(diào)用形式是(29)。30.在C語言源程序中,不帶任何修飾符的浮點數(shù)直接量(例如:3.14)都是按(30)類型數(shù)據(jù)存儲的。31.若有聲明“charsl[10]="ABCDE",s2[10]="A\\0";”,則語句“printf("%d",strlen(strcpy(sl,s2)));”的輸出結(jié)果是(31)。32.已知有函數(shù)定義“intfun(){return(3,4);}”,則調(diào)用fun后的函數(shù)返回值是(32)。33.在一個C語言源程序中,必不可少的是(33)。34.執(zhí)行以下程序段中的語句“k=M*M+1;”后k的值是(34)。 #defineN2 #defineMN+1 k=M*M+1;35.聲明局部變量時若缺省存儲類別,該變量的存儲類別是(35)。36.?dāng)?shù)學(xué)式所對應(yīng)的C語言表達式為pow(x,(36))。37.已知有聲明和語句“inta;scanf("a=%d",&a);”,欲從鍵盤上輸入數(shù)據(jù)使a中的值為3,則正確的輸入應(yīng)是(37)。38.已知有聲明“charch;inta;”執(zhí)行語句“scanf("%c%d",&ch,&a);”時如果從鍵盤輸入的數(shù)據(jù)是“123”,則變量a得到的值是(38)39.若有以下宏定義:#defineM(a,b)–a/b;則執(zhí)行語句“printf("%d",M(4+3,2+1));”后輸出結(jié)果為(39)。40.執(zhí)行程序段“intx=0x6c;printf("x=%x\n",x);”后的輸出結(jié)果為(40)。41.只能在循環(huán)體中出現(xiàn)的語句是(41)語句。42.&既可以用做單目運算符也可以用做雙目運算符,其中用做單目運算符時表示的功能是(42)。43.當(dāng)程序讀寫數(shù)據(jù)文件時,需要有聲明語句“FILE*fp;”,在該聲明語句之前必須包含頭文件(43)。44.在文件中,以符號常量EOF作為文本文件(字符流文件)的結(jié)束標(biāo)記,EOF代表的值是(44)。45.若有聲明“chara=0;intb=1;floatc=2;doubled=3;”,則表達式“c=a+b+c+d”值的類型為(45)。46.若某個程序運行時創(chuàng)建了多個輸入流,當(dāng)執(zhí)行到程序中的scanf函數(shù)時,只有在(46)輸入流為空時才會暫停程序運行而等待輸入。47.執(zhí)行“printf("%d,%d",i,j,k,m);”后在屏幕上將輸出(47)個整數(shù)。48.設(shè)已有非空文本數(shù)據(jù)文件file1.dat,要求能讀出文件中原有的全部數(shù)據(jù),并在文件原有數(shù)據(jù)之后添加新數(shù)據(jù),則用FILE*fp=fopen("file1.dat",(48))打開該文件。49.在TurboC2.0系統(tǒng)中,若將實型常數(shù)1.5存儲在內(nèi)存中,它占用(49)個字節(jié)。50.若有定義“enumseq{mouse,cat,dog,rabbit=0,sheep,cow=6,tiger};”,則執(zhí)行語句“printf("%d",cat+sheep+cow);”后輸出結(jié)果是(50)。51.若有聲明“inta=30,b=7;”,則表達式“!a+a%b”的值是(51)。52.已知數(shù)據(jù)文件a.dat是通過執(zhí)行以下程序建立的,若在另一個程序運行時需要從該數(shù)據(jù)文件中正確讀取數(shù)據(jù),則應(yīng)當(dāng)調(diào)用的讀文件庫函數(shù)的函數(shù)名是(52)。main(){FILE*fp=fopen("a.dat","wb");floatx=25.0;fwrite(&x,sizeof(float),1,fp);fclose(fp);}53.在C語言的源程序中若出現(xiàn)常量“1L”,則該常量的類型是(53)。54.已知有聲明”intx=1,y=2;”,則執(zhí)行表達式”(x>y)&&(--x>O)”后x的值為(54)。55.在調(diào)用函數(shù)fopen("a:\\b.dat","r")時,若A盤根目錄下不存在文件b.dat,則函數(shù)的返回值是(55)。56.已知有聲明intx=1,y=2,z=3:則執(zhí)行語句x>y?(z-=--X):(z+=++x);后,變量x、z的值分別是(56)。57.循環(huán)語句中通常都包含一個“循環(huán)條件表達式”,該表達式的值決定是否執(zhí)行下一次循環(huán)。在C語言的循環(huán)語句中,“循環(huán)條件表達式”可缺省的語句是(57)。58.關(guān)鍵字case和default只能在(58)語句中出現(xiàn)。59.在用fopen函數(shù)打開一個已經(jīng)存在的數(shù)據(jù)文件abc時,若要求既可以讀出abc文件中原來的內(nèi)容,也可以用新的數(shù)據(jù)覆蓋文件原來的數(shù)據(jù),則調(diào)用fopen函數(shù)時,使用的存取方式參數(shù)應(yīng)當(dāng)是(59)。60.若有聲明“inti=7;floatx=3.1416;doubley=3;”,表達式i+’a’*x+i/y值的類型是(60)型。61.與整型數(shù)學(xué)算式等價的c語言表達式是(61)。62.若要使表達式p="jiangsu"無任何錯誤(包括語法錯誤和警告錯誤),p的聲明形式應(yīng)為(62)。63.若有聲明“inta=5,b=2;”,則表達式“b+=(float)(a+b)/2”運算后b的值為(63)64.若有聲明“chars[10]="remind";”,執(zhí)行“puts(s+2):”后的輸出結(jié)果是(64)。65.已知某程序中有預(yù)處理命令“#include<stdio.h>”,為使語句“zx=fopen("c:\\a.txt","r");”能正常執(zhí)行,在該語句之前必須有聲明(65)。66.可以改變局部變量的生存期、但不能改變它的作用域的存儲類別是(66)。67.C語言有效的預(yù)處理命令總是以(67)開頭。68.若有聲明“inta=15,b=20,c=25,e;”,則執(zhí)行語句“e=a>b?—c:++c;”后變量e的值是(68)。69.若有聲明“inta=3,b=4;floatx=4.5,y=3.5;”,則表達式“(float)(a+b)/2+(int)x%(int)y”的值是(69)。70.若已有定義“enumTP{A,B,C};”,則執(zhí)行語句“printf("%d\n",A+1);”后輸出結(jié)果是(70)。71.若需要打開D盤上user子目錄下已經(jīng)存在的名為abc.txt的文本文件,先獨處文件中數(shù)據(jù),后追加寫入新數(shù)據(jù),則正確的函數(shù)調(diào)用語句是“fp=fopen("D:\\user\\abc.txt",(71));”。72.若有聲明“intx;”且sizeof(x)的值為2,則當(dāng)值為(72)時“x+1>x”為假。73.若有聲明“floaty=3.14159;intx;”,則計算表達式“x=y*100+0.5,y=x/100.0”后y的值是(73)74.C語言有!、&&、||三個邏輯運算符,其中優(yōu)先級高于算術(shù)運算符的是(74)。75.若有聲明“intr=2;”,則執(zhí)行語句“printf("%d",sizeof(2*3.14*r));”時輸出(75)。76.?dāng)?shù)學(xué)表達式所對應(yīng)的C語言表達式為(76)。77.若有以下聲明:char*p="%d,%d\n";inta=1,b=2;則執(zhí)行語句“printf(p,a,b);”時輸出(77)。78.已知有聲明“charch=’g’;”,則表達式ch=ch-‘a(chǎn)’+’A’的值為字符(78)的編碼。79.在C語言系統(tǒng)中,如果一個變量能正確存儲的數(shù)據(jù)范圍為整數(shù)-32768~32768,則該變量在內(nèi)存中占(79)字節(jié)。80.已知有聲明“inta[3][2]={{1,2},{3,4},{5,6}},*p=a[0];”則執(zhí)行語句“printf("%d\n",*(p+4));”后的輸出結(jié)果是(80)。81.若有聲明“doublen;”,則數(shù)學(xué)公式“”對應(yīng)的C語言表達式是(81)。82.若有聲明“inta=0,b=1,c=2;”,執(zhí)行語句“if(a>0&&++b>0)c++;elsec--;”后,變量a、b、c的值分別是時輸出(82)。83.聲明“FILE*p;”中的類型標(biāo)識符“FILE”是在頭文件(83)中定義的。84.除goto語句外,在循環(huán)結(jié)構(gòu)中執(zhí)行(84)語句可提前結(jié)束本次循環(huán)直接進入下一次循環(huán)。85.若有程序段“inta[10],*p=a,*q;q=&a[5];”,則表達式q-p的值是(85)。86.執(zhí)行語句序列“inta,b;a=b=4;a+=b%3;”后,變量a,b的值分別是(86)。87.使用TURBOC系統(tǒng)編譯C語言源程序后生成的文件名后綴是(87)。88.C語言源程序中用十六進制表示整型常數(shù)必須以(88)開頭。89.如果一個循環(huán)結(jié)構(gòu)的循環(huán)體至少要執(zhí)行一遍,則最適合描述該循環(huán)結(jié)構(gòu)的語句是(89)語句。90.若要聲明一個無符號整型變量x,則正確的聲明形式是“(90)intx;”。91.已知有聲明“intn=12;doublea;”則執(zhí)行語句“a=n/=5;”后,a的值為(91)。92.若有數(shù)據(jù)類型定義如下:unionA{floata1;floata2;};則表達式sizeof(unionA)的值為(92)。四、C運行結(jié)果題1.以下程序運行時輸出第一個數(shù)是(1),第二個數(shù)是(2),第三個數(shù)是(3)。#include<math.h>main(){staticinta[3][3],i,j;for(i=0;i<3;i++)for(j=0;j<3;j++){switch(abs(i-j)){case0:if(i==0||i==2)a[i][j]+=3;elsea[i][j]++;break;case1:a[i][j]+=2;break;case2:a[i][j]+=3;}}printf("%d,%d,%d",a[1][1],a[1][2],a[2][0]);}2.以下程序運行時輸出第一行是(4),第二行是(5)。#include<string.h>intconvert(chars1[],chars2[]){inti=0,j,s;chartab[8][4]={"000","001","010","011","100","101","110","111"};for(i=0,j=0;s1[i]!='\0';i++,j=j+3)strcpy(&s2[j],tab[s1[i]-'0']);for(i=0,s=0;i<strlen(s2);i++)s=s*2+s2[i]-‘0’;returns;}main(){charss1[]="15",ss2[80];inty;y=convert(ss1,ss2);printf("%d\n%s",y,ss2);}3.已知int型變量的存儲字節(jié)數(shù)為2,以下程序運行時輸出結(jié)果是(6)。#include<stdio.h>main(){inta=3,b=2,c=7,d=6,e=8;longf=a*10000+b*1000+c*100+d*10+e;printf("%ld",f);}4、以下程序運行時輸出結(jié)果是(7)。#include<stdio.h>main(){char*p="student";if(p=="student")printf("yes");elseprintf("no");}5.以下程序運行時輸出結(jié)果是(8)。#include<ctype.h>#include<stdio.h>main(){char*s="23a4";intk=0,a=0,b=0;do{if(isdigit(s[k])){if(s[k]%2==0){a=a+s[k]-'0';continue;}a=a+s[k]-'0';b=b+s[k]-'0';}}while(s[k+1]&&++k);printf("%d,%d,%d\n",k,a,b);}6.以下程序運行時輸出結(jié)果是(9)。#include<stdio.h>main(){chara=2.56;intd=a;printf("%d",d+1);}7、以下程序運行時輸出結(jié)果的第一行是(10),第二行是(11),笫三行是(12)。#include<stdio.h>typedefstructs{intindex;intvalue;}M;main(){staticinti,j,k,c[4][4];Ma[10]={{0,1},{3,2},{5,3},{6,4},{9,5},{15,6},{-1,0}},*p=a,b[10]={{1,1},{3,2},{4,3},{6,4},{10,5},{13,6},{-1,0}},*q=b;while(p->index!=-1){i=p->index/4;j=P->index%4;c[i][j]=p->value; p++;}while(q->index!=-1){i=q->index/4;j=q->index%4;c[i][j]+=q->value;q++;}for(i=0;i<4;i++){for(j=0;j<4;j++)printf("%d",c[i][j]);printf("\n");}}8.以下程序運行時輸出結(jié)果是(13)。#include<stdio.h>main(){char*s,*s1="Here";s=s1;while(*s1)s1++;printf("%d\n",s1-s);}9.以下程序運行時輸出結(jié)果是(14)。#include<stdio.h>main(){inta=0,b=0,c=0; if(a++&&(b+=a)||++c)printf("%d,%d,%d\n",a,b,c);}10.以下程序運行時輸出結(jié)果的第一行是(15),第二行是(16),第三行是(17)。#defineN3main(){inti,j,k=1,a[N][N]={0};for(i=0;i<=N/2+1;i++){for(j=0;j<=i;j++)a[j][i-j]=k++;}for(;i<2*N;i++){for(j=i+1-N;j<=N-1;j++)a[j][i-j]=k++;}for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%4d",a[i][j]);printf("\n");}}11、以下程序輸出結(jié)果為(18)。 voidf(inta,int*b) {a++;b++;(*b)++;} main() {inti,x[2]={4,4}; f(x[0],&x[0]); printf("%d,%d",x[0],x[1]); }12、以下程序運行時,輸出結(jié)果是(19)。 #include<stdio.h> fun(intx) { if(x/2>0)fun(x/2); printf("%d",x%2); } main() { fun(20);putchar(‘\n’);}13、以下程序運行后的輸出結(jié)果為(20)。#include<stdio.h>intb;intfun(inta){staticintc=3;return((++a)+(++b)+(++c));}voidmain(){inti,a=2;for(i=0;i<2;i++)printf("%5d",fun(a));}14.以下程序運行時輸出結(jié)果為(21)。#include<stdio.h>main(){ ints=1,n=255; do { s*=n%10; n/=10; }while(n); printf("%d\n",s);}15.以下程序運行后輸出結(jié)果中第一行為(22),第二行為(23),第三行為(24)。#include<stdio.h>main(){ inti,j,a[3][3]={0}; for(i=0;i<3;i++) { for(j=0;j<3;j++) switch(i-j+2) { case0: case1:a[i][j]=1;break; case2:a[i][j]=2;break; case3:a[i][j]=3;break; case4:a[i][j]=4;break; }} for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%4d",a[i][j]);printf("\n"); }}16.以下程序運行后的輸出結(jié)果是(25)。#include<Stdio.h>#definecount(n)++nmain(){ intx=-3,n=8; while(count(x))n--; printf("%d\n",n);}17.以下程序運行后的輸出結(jié)果是(26)。#include<stdio.h>main(){ chara[]="369",*p=a; ints=0,t=1; while(*++p)t*=10; p--; while(t) { s+=(*p-'0')*t; p--; t/=10; } printf("%d\n",s);}18.以下程序運行時輸出結(jié)果的最后一行是(27)。#include<stdio.h>voidmain(){inta=1,b=1,i; for(i=1;i<=2;i++){ a=a+b;printf("%d/%d,",b,a);b=a+b;printf("%d/%d\n",a,b);} printf("\n");}19.以下程序運行后輸出結(jié)果為(28)。#include<stdio.h>voidmain(){ inti,sum=0; for(i=0;i<5;i++) { switch(i) { case0: case1:sum++; case3:sum++; case4:sum--;break; } } printf("%d\n",sum);}20.以下程序運行時輸出結(jié)果是(29)。 #include<stdio.h> voidmain() { intk=5,n=0; while(k>0) { switch(k) { case1: case3:n+=1;k--;break; default:n=0;k--; case2: case4:n+=2;k--;break; } printf("%3d",n); } }21.以下程序運行時輸出到屏幕的結(jié)果是(30)。#include<stdio.h>voidmain(){ inti=1,m=0; switch(i) { case1: case2:m++; case3:m++; } printf("%d",m);}22、以下程序運行時輸出到屏幕的結(jié)果是(31)。 #include<stdio.h> #defineMAX(A,B)A>B?2*A:2*B voidmain() { inta=1,b=2,c=3,d=4,t; t=MAX(a+b,c+d); printf("%d\n",t);}23.下列程序運行時輸出到屏幕的結(jié)果是(32)。#include<stdio.h>voidmain(){ inta=1,b=2; a+=b; b=a-b; a-=b; printf("%d,%d\n",a,b);}24.以下程序運行時輸出到屏幕的結(jié)果是(33)。#include<stdio.h>voidmain(){ ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i,j; for(i=0;i<12;i++) { j=s[i]; c[j]++; } for(i=1;i<5;i++)printf("%d",c[i]);}25、以下程序運行時輸出到屏幕的結(jié)果中第一行是(34),第二行為(35)。#include<stdio.h> #include<ctype.h> voidcompute(char*s) { intt,r; charop; for(r=0;isdigit(*s);s++)/*isdigit(*s)判斷s指向的字符是否為數(shù)字字符*/ r=r*10+*s-‘0’; while(*s) { op=*s++; for(t=0;isdigit(*s);s++) t=t*10+*s-'0'; switch(op) { case'+':r=r+t;break; case'-':r=r-t;break; case'*':r=r*t;break; case'/':if(t)r=r/t;else{puts("devideerror");return;} } } printf("%d\n",r); } voidmain() { compute("12+6-19+2"); compute("12/6*19/2"); }26.以下程序運行時輸出到屏幕的結(jié)果中第一行是(36),第二行是(37)。 #include<stdio.h
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025官地引水發(fā)電合同條件
- 2025住房公積金合同模板
- 碼頭工程施工組織設(shè)計
- 榜樣報告心得體會(10篇)
- 科技醫(yī)療下的新突破-尿檢血檢在慢性病管理中的應(yīng)用研究
- 課題申報參考:馬克思主義經(jīng)典作家文化理論研究
- 課題申報參考:考慮質(zhì)量信息披露的退役動力電池梯級利用與再生利用運營決策研究
- 2024年硬質(zhì)合金噴焊粉項目資金需求報告
- 未來工控網(wǎng)絡(luò)的多元化發(fā)展趨勢及機遇挑戰(zhàn)
- 網(wǎng)絡(luò)安全在學(xué)校商業(yè)活動中的保障
- 2025-2030年中國陶瓷電容器行業(yè)運營狀況與發(fā)展前景分析報告
- 2025年山西國際能源集團限公司所屬企業(yè)招聘43人高頻重點提升(共500題)附帶答案詳解
- 二零二五年倉儲配送中心物業(yè)管理與優(yōu)化升級合同3篇
- 2025屆廈門高三1月質(zhì)檢期末聯(lián)考數(shù)學(xué)答案
- 音樂作品錄制許可
- 江蘇省無錫市2023-2024學(xué)年高三上學(xué)期期終教學(xué)質(zhì)量調(diào)研測試語文試題(解析版)
- 拉薩市2025屆高三第一次聯(lián)考(一模)英語試卷(含答案解析)
- 開題報告:AIGC背景下大學(xué)英語教學(xué)設(shè)計重構(gòu)研究
- 師德標(biāo)兵先進事跡材料師德標(biāo)兵個人主要事跡
- 連鎖商務(wù)酒店述職報告
- 2024年山東省煙臺市初中學(xué)業(yè)水平考試地理試卷含答案
評論
0/150
提交評論