




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計C語言新題庫-副本第一章C語言源程序經過編譯、鏈接后生成的可執行文件擴展名是O(A).exe(B).cpp(C).c(D).objAC語言程序要正確地運行,必須要有O(A)printf函數(B)scanf函數(C)自定義的函數(D)main函數D以下均為合法用戶標識符的是Odo,xyz,_printf3a>_tt,IFvoid,ff,s_v_pi,IF,big_treeD以下敘述中正確的是?C語言程序從源程序中第一個函數開始執行C語言規定必須用main作為主函數名,程序將從此開始執行,在此結束(C)可以在程序中由用戶指定任意一個函數作為主函數,程序將從此開始執行(D)main可作為用戶標識符,用以命名任意一個函數作為主函數B以下敘述中錯誤的是?(A)C語言是一種結構化程序設計語言(B)結構化程序有順序、選擇和循環一種基本結構(C)使用三種基本結構構成的程序只能解決簡單問題(D)結構化程序設計提倡模塊化的設計方法C語言程序的基本單位是【函數】。編寫C語言源程序時,需要使用【編輯】器將源代碼輸入到計算機中。C語言源程序中可以有多處注釋。AC語言源程序中,main函數必須寫在其他函數之前。B編寫C語言源程序時,必須采用“縮進”方式。B第二章以下屬于合法數據類型關鍵字的是。(A)Long(B)shot(C)char(D)doubelC以下不合法的數值常量是。(A)Oil(B)lei(C)8.0E0.5(D)OxabcdC以下正確的字符常量是。(A)T(B) (C)'(D)TD以下不合法的字符常量是o(A)"a"(B)'\77'(C)'\n(D)'\x5c'A表達式3.6-5/2+1.2+5%2的值是。(A)4.3(B)4.8(C)3.3(D)3.8以下均是合法常量的是。038,.5e-6,OxE12.,0Xc33,3.6e0.17,4eL5,Oade0x6A,30_000,3.e7B以下均是非法常量的是o0x2g,Off,E5,'\21',12,456028,04567,OxffffOxaa,'a',"a"A設有說明語句:inti=5;charc-A';doubled=3.14;,以下結果為整型的表達式是 o(A)i/2+d(B)i/2*c(C)c+d/2(D)i/2+c+dB若變量均已正確定義并賦值,以下合法的賦值語句是.(A)x+n=i;(B)x=n%2.5;(C)x=y==5:(D)x=5=4+l;C以下變量說明語句中,合法的是O(A)float5_five=3.4:(B)int_xyz=29(C)doubleal=6.2e4;(D)shortdo=3;C設有說明語句:intx=l;doubley=1.0;,以下不符合C語言語法的表達式是(A)++x,y=x—(B)x=(int)(y/3)(C)x=x+10=x+y(D)(double)x/3c設有說明語句:intX,a,b,c;doubled=3.14;,以下不符合C語言語法的表達式是 o(A)d%3(B)d+=-l(C)x=(a=-l,b=-3,a*b)(D)a+=(a=3)*(b=2)*(c=l)A以下能正確定義且賦初值的語句是o(A)intnl=n2=-l;(B)charc=32;(C)floatf;(D)doublex=12.3E2.5;B設有說明語句:chars="AA";,下面說法正確的是。(A)變量s中包含1個字符(B)變量s中包含2個字符(C)變量s中包含3個字符(D)說明語句不合法D設有說明語句:inti=2;,以下選項的四個表達式中與其他三個表達式的值不相同的是 O(A)i++(B)i+=l(C)++i(D)i+1A若變量均已正確定義并賦值,以下合法的賦值表達式是o(A)x=3+b=x+3(B)x=(b=x+3,3+b)(C)x=3+b,b++,x+3(D)x+=3=x+3B若已定義x和y為double類型,表達式(x=l,y=x+3/2)的值是。(A)1(B)2(C)2.0(D)2.5與數學式子2乘以y的n次方除以(2x+l)對應的C語言表達式是.(A)2*y*n/(2*x+l)(B)2*y**n/(2*x+l)(C)2*pow(y,n)/(2*x+l)(D)2*pow(n,y)/(2*x+l)C設有說明語句:intk=7,x=12;,以下表達式中值為3的是.(A)x=k%5(B)x%=(k-k%5)(C)x%=k-k%5(D)x=5-(k%=5)D設有說明語句:intn=7,i=3;,執行賦值運算n%=i+l后,變量n的值是.(A)0(B)1(C)2(D)3D以下與k=i++完全等價的表達式是。(A)i=i+l,k=i(B)k=i,i=i+l(C)k=++i(D)k+=i+lB能正確表示數學關系:"-5<a<5”的C語言表達式是o(A)a>=-5anda<=5(B)a>=-5ora<=5(C)a>=-5&&a<=5(D)a>=-5||a〈=5C以下選項中,當k為大于1的奇數時,值為。的表達式o(A)k%2==l(B)k/2(C)k%2!=0(D)k%2==0D若變量均已正確定義并賦值,以下選項中與表達式(x-y)?(x++):(y++)中的條件表達式(x-y)等價的是.(A)(x-y>0)(B)(x-y<0)(C)(x-y<0||x-y>0)(D)(x-y==O)C已知大寫字母'A'的ASCII碼是65,小寫字母'a'的ASCII碼是97,則字符常量'\101'是 o(A)字符'A'(B)字符'a'(C)字符'e'(D)非法的常量A設有說明語句:inti;floatf;doubled;,表達式5-2*i+d/f值的數據類型為【】。double設有說明語句:chark='\77';,變量k中包含【1】個字符。1C語言中的基本數據類型包括整型、實型和【字符型】。字符型已知大寫字母'A'的ASCH碼是是,若變量k是int類型,則執行了語句:k='A'+2.8;后變量k的值是【】。67字符串"A\xllT\101C”的長度是[]o5設有說明語句:intk=5;doublet;,執行語句t=(double”;之后,變量k的數據類型是【】。int表達式2+sqrt(4)值的數據類型為[double]?double在VisualC++6.0環境中,一個char型變量在內存中占[1]個字節,一個int型變量在內存中占[4]個字節,一個double型變量在內存中占[81個字節。1;4;8若變量x、y均為int型,則表達式(x=3,x+3,y=3,x+y)的值是[】,表達式y=(y=3,x=y,x+3)的值是[]。6;6可以把一個字符常量賦給一個整型變量。A說明語句inttl=t2=10;可以把tl、t2定義成int型變量并初始化為10。Bkl=k2=k3=10;是一條合法的賦值語句。A可以把define定義為用戶標識符,但不能把if定義為用戶標識符。A設有說明語句:intx=3,y=5;,當執行語句x=x+y;y=x-y;x=x-y;后,變量x和y的值實現了交換。A在C語言的運算符中,條件運算符的優先級最低。B第三章設有說明語句:doublex=123.56;,對于語句printf("%-8.2e\n",x);,以下說法正確的是O(A)輸出為-1.24e+002(B)輸出為1.24e+002(C)輸出為12.36e+001(D)輸出格式描述符的域寬不夠,不能輸出Bprintf函數被稱為輸出函數。(A)字符(B)整數(C)格式(D)浮點Cscanf函數是一個函數。(A)標準庫(B)用戶定義(C)無參(D)地址Agetchar函數的原型聲明包括在頭文件中。(A)string,h(B)math,h(C)conio.h(D)stdio.hD在printf函數的”格式控制字符串"中,%5d表示。(A)輸出寬度為5(B)輸出5個數(C)輸出數據時保留5位小數(D)輸出5個dA設有說明語句:doublex;,下列選項中正確的是(A)scanf&x);(B)scanf("%f",&x);(C)scanfx);(D)scanf&x);D對語句scanf("枇枇枇”,&x,&y,&z);和語句scanf("%c,%c,%c",&x,&y,&z);的輸入,以下說法正確的是。(A)都以空格作為間隔(B)前者以空格作為間隔,后者以逗號作為間隔(C)前者不以空格作為間隔,后者以逗號作為間隔(D)都以逗號作為間隔C以下程序段的輸出結果是(符號口表示空格).doublex=3.14;printf(*|%5.Of|\n*,x);(A)13.14D|(B) (C)口口3.0 (D),□□□3.|B語句printf("x=%10.5f\n”,12345.678);的輸出結果是。(A)x=2345.67800(B)x=12345.6780(C)x=12345.678(D)x=12345.67800D對于如下程序段:intx=2010,y=2012;printf(*%d\n*,(x,y));以下敘述中正確的是O(A)輸出結果為:2002(B)輸出結果為:2012(C)輸出結果不確定(D)運行時產生出錯信息B以下程序運行時,若輸入數據為:1111,則輸出結果是ottinclude<stdio.h>voidmain(){intx,y;scanf&x,&y);y+=x;printf("%d\n",y);}(A)22(B)20(C)18(D)11B設有說明語句:intx=3,y=5;,以下不合法的賦值語句是—(A)x*=3;(B)x/=y;(C)x+=3;(D)x||二y;D設有說明語句:intX;,執行語句x=10;x+=x-=x;后,變量x的值為.(A)0(B)10(C)20(D)30A設有說明語句:inti,j;charc;,若要通過語句scanf("%d%c%d”,&i,&c,&j);使變量i,j得到數值8,變量c得到字符'A',正確的輸入是(符號□表示空格).(A)8,A,8(B)8OMJ8(C)8DA8(D)8A8D設有說明語句:inti,j,若從鍵盤給i、j輸入數據,以下不正確的輸入語句是 Oscanf(*%d%d*,&i,&j);scanfr%dW%d",&i,&j):scanf("%d, ;scanf("%d%d”,i,j);D設有說明語句:floatx,y,z;,要通過語句scanf(飛&y,&z);給x賦值11.0,y賦值22.0,z賦值33.0,以下不正確的輸入形式是.11.0〈回車〉0〈回車〉0〈回車〉11.0,22.0,33.0〈回車》11.0〈回車〉22.033.0〈回車〉1122〈回車〉33〈回車〉有程序段:inti;floatf;charname[20];scanf("%2d%f%s”,&i,&f,name);若從鍵盤上輸入566777abc后,變量f的值是。(A)566777.0(B)6777.0(C)777.0(D)0.0B設有說明語句:charc;,不能用于判斷變量c中的字符是否為大寫字母的表達式是O(A)isupper(c)(B)'A'<=c<='Z'(C)'A'<二c&&c〈='Z'(D)(c<=z,-32)&&(,a-32<=c)B已知字符大寫字母'A'的ASCII碼是65,設有說明語句:charcl=A,,c2=,D,;,則語句printf(/z%d,%d\n”,cl,c2~2);的輸出結果是。(A)A,B(B)A,68(C)65,66(D)65,68C設有說明語句:intx=l;,語句printf("%d\n”,-x++);的輸出結果是。(A)-1(B)0(C)1(D)2A以下表達式中,不能將字符變量C中的大寫字母轉換為對應小寫字母的是O(A)c=(c-A,)%26+,a(B)c=c+32(C)c=c」A'+'a'(D)c=('A'+c)%26-'a'D以下程序運行后的輸出結果是Ottinclude<stdio.h>voidmainO{inta=0,b=0;a=10;/*給a賦值b=20;給b賦值*/printf(*a+b=%d\n*,a+b);)(A)a+b=10(B)a+b=30(C)10(D)30A若要求從鍵盤讀入含有空格字符的字符串,應使用函數(A)getch(B)gets(C)getchar(D)scanfB以下四個程序中,完全正確的是O#include<stdio.h>voidmain();{/*programming*/printf("programming!\n〃);}ttinclude<stdio.h>voidmain(){/*/programming/*/printf(^programming!\n");}^include<stdio.h>voidmain(){/*/*programming*/*/printf(''programming!\nz,);include<stdio.h>voidmain(){/*programming*/printf("programming!\n/,);)B以下程序的功能是:給r輸入數據后計算半徑為r的圓面積s。程序在編譯時出錯,出錯的原因是o#include<stdio.h>voidmainO{/*Beginning*/intr;floats;scanf("%d",&r);s=pi*r*r;printf("s二%f\n',s);}(A)注釋語句書寫位置錯誤(B)存放圓半徑的變量r不應該定義為整型(C)輸出語句中格式描述符非法(D)計算圓面積的賦值語句中使用了非法變量D設有說明語句:intk=l,m=2;doubled=7.3;,以下表達式中錯誤的是。(A)k>=m=k(B)k++(C)k%(int)d(D)d>m>kA設有說明語句:inta=2,b=3,c=4;,以下選項中值為0的表達式是。(A)(!a==l)&&(!b==0)(B)(a<b)&&!c|1(C)a&&b(D)aI(b+b)&&(ca)A執行以下程序段后,變量k的值是Ointk=0,c=3;k=(k>c?c:k);(A)3(B)2(C)1(D)0D以下程序運行后的輸出結果是ottinclude<stdio.h>voidmain()!intx=102,y=012;printf("%2d,%2d\n”,x,y);}(A)10,01(B)02,12(C)102,10(D)102,12C以下4個選項中,不能看作一條語句的是。(A){;}(B)a=0,b=0,c=0;(C)if(a>0);(D)if(b==0)m=l;n=2;D已知大寫字母'A'的ACSII碼是65,設有說明語句:charch='B';,則語句printf ch,ch);的輸出結果是[]B,66以下程序運行后的輸出結果是【】。??include<stdio.h>voidmain(){inta,b;a=25;b=0x25;printf("%d,%d”,a,b);}25,37以下程序運行后的輸出結果是【】。ttinclude<stdio.h>voidmain(){intx=0210;printfx);}88以下程序運行后的輸出結果是【】。ftinclude<stdio.h>voidmain(){inta=l,b=2,c=3;if(a)printf("%d”,b);elseprintf('%d”,c);)2若在運行以下程序時輸入:1234567<回車>,則輸出結果是【】。ttinclude<stdio.h>voidmain(){inta=l,b;scanf("%2d%2d”,&a,&b);printf("%d,%d*,a,b);}12,34以下程序運行后的輸出結果是【】。ttinclude<stdio.h>voidmainO{charc=,A';printfc+25);}?>Z若在運行以下程序時輸入:6565<回車),則輸出結果是【】。#include<stdio.h>voidmain()(chara,b,c;scanf("%c%c%d”,&a,&b,&c);printf("%c,%c,%c”,a,b,c);)6,5,A以下程序運行后的輸出結果是【】。#include<stdio.h>voidmainOdoubled;inti;d=i=10/3;printf(z/%d,%.2f”,i,d);}3,3.00以下程序運行后的輸出結果是【】。#include<stdio.h>voidmain()(printf("%s,%.6s","VisualC++”,"VisualC++");}VisualC++,Visual設有說明語句:doubled=l1.555;,語句printf("d=%Ifd);的輸出結果是[]。d=l1.6;以下程序運行后的輸出結果是:16,20。ttinclude<stdio.h>voidmain()!intx=016,y=16;printf("%o,%o”,x,y);A以下程序運行后的輸出結果是:i=5,d=5.50。#include<stdio.h>voidmain()(inti=5;doubled=5.5;printf("i=%d,d=%.2f”,i,d);)A設有說明語句:inta,b;,對于語句scanf("%d%*d%d", &b);,當輸入為:1口203時(符號口表示空格),將1賦給a,將2賦給b。B語句printf("%4d”,123456789);的輸出結果是:1234。Bprintf函數中的格式字符,不必區分大小寫。Ba+=a=2;是一條合法的賦值語句,賦值后a的值為4。A以下程序運行時,若輸入字母'g',則輸出結果是:aottinclude<stdio.h>voidmainOcharcl;cl=getchar();printfcl-5);)B以下程序運行時,若輸入數據為666666,則輸出結果是:i=66,c=6。ttinclude<stdio.h>voidmain()inti;charc;scanf("%2d%4c”,&i,&c);printf("i=%d,c=%c”,i,c);}Ascanf函數的功能是按格式控制字符串規定的格式,從指定的輸入設備上輸入數據。Ascanf函數中的地址表列是由地址項組成的。A第四章判斷字符型變量C1是否為大寫字母的正確表達式為O(A)'Z'<=cl<='Z'(B)(cl>=A?)&&(cl<=Z1)(C)('A'>:cl)||('Z'<=cl)(D)(cl>='a')&&(cl<='Z')B已知x=43,ch='A',y=0;則表達式(x>=y&&ch〈'B'&&!y)的值是.(A)0(B)語法錯(C)1(D)“假”C設a=3,b=4,c=5,則邏輯表達式”!(a+b)*cT&&b+c%2"的值是.(A)-1(B)0(C)1(D)2C請從以下表達式中選出a為偶數時值為0的表達式。(A)a%2==0(B)!a%2!=0(C)a/2*2-2==0(D)a%2D能正確表示a和b同時為正或同時為負的邏輯表達式是.(a>=0||b>=0)&&(a<0||b<0)(a>=0&&b>=0)&&(a<0&&b<0)(a+b>0)&&(a+b<=0)a*b>0D能正確表示邏輯關系:”OWaW10”的C語言表達式是o(A)0<=a<=10(B)a>=0,a<=10(C)a>=0&&a<=10(D)a>=0||a<=10C對y在[3,23]或[100,200]范圍內為真的表達式為.(y>=3)&&(y<=23)&&(y>=100)&&(y<=200)(y>=3)||(y<=23)||(y>=100)||(y<=200)(C)(y>=3)&&(y<=23)||(y>=100)&&(y<=200)(D)(y>=3)||(y<=23)&&(y>=100)||(y<=200)c在c語言中,if語句后的?對圓括號中,用以決定分支流程的表達式<(A)只能用邏輯表達式(B)只能用邏輯表達式或關系表達式(C)只能用關系表達式(D)可用任意表達式D為避免嵌套的條件語句if-else的二義性,C語言規定:else與配對。(A)縮排位置相同的if(B)其之前最近的if(C)其之后最近if(D)同一行上的ifB下列運算符中優先級最低的是o(A)*=(B)&&(C)+(D)!=A設ch是字符型變量,其值為A,且有下面的表達式:ch二!(ch〉='A'&&ch<=,z')?ch:(ch+32),則表達式的值是。(A)A(B)a(C)2(D)zB設ch是字符型變量,其值為b,且有下面的表達式:ch!=(ch>=,a*&&ch<=,z)?ch:(ch-32),則表達式的值是。(A)B(B)b(C)1(D)0B設a=4,b=3,c=2,d=l,則表達式a<b?b:c<d?a:d的結果為。(A)4(B)3(C)2(D)1能正確表示a、b不能同時為零的邏輯表達式是oa=O&&b!=O|a!=0&&b==0(a==0)||(b==0)(a!=0)||(b!=0)a*b==OA讀程序,程序運行結果是【】。ttinclude<stdio.h>voidmain(){inta=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);elseif((c-l>=d)==1)printf("%d\n”,d+1);elseprintf("%d\n”,d+2);}(A)2(B)3(C)4(D)5B表達式2<34&8<=(a=10)的結果是o01FalseTrueB若i為整型變量,且有程序段如下,則輸出結果是i=122;if(i%2)printf('####");elseprintf(〃****");(A)####(B)****(C)####****(D)有語法錯誤,無輸出結果B若變量都已正確說明,則以下程序段輸出為ointa=2,b=l,c,d;if(a==b)c=d=a;elsec=b;d=b;printf("c=%d,d=%d*,c,d);(A)c=l,d=l(B)c=l,d=2(C)c=2,d=l(D)c=2,d=2A請閱讀以下程序:#include<stdio.h>voidmain(){inta=2,b=0,c=0;if(a=b+c)printf('###");elseprintf("&&&");}以上程序。(A)有語法錯不能通過編譯(B)可以通過編譯但不能連接(C)輸出&&&(D)輸出###C以下為不正確的if語句。if(x<y);if(x!=y)scanf&x)elsescanf&y);if(x==y)x+=y;if(x<y){x++;y++;}B讀程序,程序運行結果是【】。#include<stdio.h>voidmain(){intm=5;if(m++>5)printfm);elseprintf("%d\n〃,m-);)(A)4(B)5(C)6(D)7C設inta=2,b=3,x=1;則執行語句if(a>2)if(b>2)x=2;elsex=3;后x的值是o(A)0(B)1(C)2(D)3B以下if語句語法正確的是o(A)if(x>0)(B)if(x>0)printf( ", ){x=x+y;printf("%f”,x);}elseprintf-x);elseprintf("%f”,-x);(C)if(x>0)(D)if(x>0){x=x+y;printfC%f〃,x);};{x=x+y;printfx)}elseprintf-x);elseprintf-x);A讀程序,程序運行結果是【】。#include<stdio.h>voidmainO{inti=0,j=0,k=6;if((++i>0)11(++j>0))k++;printf("%d,%d,%d\n”,i,j,k);)(A) 1,0,6 (B) 1, 0, 7(C) 1,1,6 (D) 1, 1, 7B讀程序,程序運行結果是【】。ftinclude<stdio.h>voidmain()intx=l,a=0,b=0;switch(x)case0:b++;a++;a++;b++;}printf(*a=%d,b=%d\n”,a,b);)(A)a=2,b=l(B)a=2,b=2(C)a=l,b=2(D)a=l,b=l與y=(x>O?l:x〈O?T:O);的功能相同的if語句是—if(x>0)y=l;(B)if(x)elseif(x<0)y=-l;if(x>0)y=l;elsey=0;elseif(x<0)y=-l;y=-l;(D)y=0;if(x)if(x>=0)if(x>O)y=l;if(x>O)y=l;elseif(x==0)y=0;elsey="l;elsey=-l;A讀程序,程序運行結果是【】。ftinclude<stdio.h>voidmain(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<5.0)y=l.0/x;elsey=l.0;printfC%4.lf\n',y);}(A)0.0(B)0.51.0(D)不確定B以下程序段中不能根據x值正確計算出y值的是。(A)if(x>0)y=l;(B)y=0;elseif(x==0)y=0;if(x>0)y=l;elsey=-l;elseif(x<0)y=-l;(C)y=0;(D)if(x>=0)if(x>=0);if(x>0)y=l;if(x>0)y=l;elsey=0;elsey=~l;elsey=-l;C以下程序段中與語句k=a>b?(b>c?l:O):O;功能等價的是o(A)if((a>b)&&(b>c))k=l;(B)if((a>b)||(b>c))k=lelsek=0;elsek=0;(C)if(a<=b)k=0;(D)if(a>b)k=l;elseif(b<=c)k=l;elseif(b>c)k=l;elsek=0;A假定w、x、y、z、m均為int型變量,有如下程序段:w=l;x=2;y=3;z=4;m=(w<x)?w:x;(m<y)?m:y;m=(m<z)?m:z;則該程序運行后,m的值是o(A)4(B)3(C)2(D)1D若有條件表達式(expression)?a++:b",則以下表達式中能完全等價于表達式(expression)的是。(A)(expression=。)(B)(expression!=0)(C)(expression==1)(D)(expression!=1)若有以下定義:floatx;inta,b;則正確的switch語句是。(A)switch(x)(B)switch(x){case1.0:printf('*\n");{case1:printf("*\n");case2.0:printf('**\n");}case2:printf("**\n");}(C)switch(a+b)(D)switch(a+b);{case1,2:printf('*\n");{case1:case2:printf('*\n");}D已知a=2.5,b=2,c=3.6,表達式a>b&&c>a||a〈b&&!c>b的值是[JO1表示〃整數X的絕對值大于2〃時值為“真”的C語言表達式是【】。x>2||x<-2C語言提供的三種邏輯運算符是&&、||和【10?已知a=3,b=-4,c=5,表達式!(a>b)+(b!=c)|(a+b)&&(b-c)的值是[]o1表達式(3+a)(b+8)+sin45°Wlnx的C語言表達式是[]。(3+a)*(b+8)+sin(45)<=log(x)表達式且aW3的C語言表達式是【】。(0<=a&&a<=5)&&(a!=3)以下程序對輸入的一個小寫字母,將字母循環后移5個位置后輸出。如'a'變成'f',“'變成'1/。請在空中填入正確內容。#include<stdio.h>voidmain(){charc;c=getchar();if(c>=,a&&a<=,u)[];elseif(c>=,v*&&c<=,z*)c=c-21;putchar(c);}c=c+5閱讀下面程序:ttinclude<stdio.h>voidmainO{ints,t,a,b;scanf("%d%d”,&a,&b);s=l;t=l;if(a>0)s=s+l;if(a>b)t=s+t;elseif(a==b)t=5;elset=2*s;printfC"s=%d,t二%d”,s,t);}為了使輸出結果t=4,輸入量a和b應滿足的條件是【b〉a>0以下程序運行后的輸出結果是【】。ftinclude<stdio.h>voidmain(){inta=l,b=2,c=3;if(a){if(b<0)c=0;}elsec++;printf("%d\n',c);}3運行下面的程序,從鍵盤上輸入3,ttinclude<stdio.h>voidmain(){intx;scanf("%d〃,&x);if(x>5)printfx);elseprintf("%d\n",x-);}程序運行結果是【3】。3讀程序,程序運行結果是【】。ftinclude<stdio.h>voidmain(){charm=,b';if(m++>'b')printf(*%c\n*,m);elseprintf(*%c\n*,m);}‘c'】。讀程序,運行時輸入2.0(回車)#include<stdio.h>voidmain(){floata,b;scanf("%f",&a);if(a>10.0)b=l.0/a;elseif((a<0.5)&&(a!=2.0))b=1.0/(a+2.0);elseif(a<10.0)b=1.0/a;elseb=10.0;printf("%f\n",b);)程序運行結果是【100.500000switch選擇結構中必須有default子句。B如果x〉y或a<b為真,那么表達式(x〉y&&a<b)為真。B假定變量x,y,z在說明時已賦初值,則if((x=y+5)>0)z=x;是正確的。Ainta=l,b=0,c=l;,則!(a+b)+c-0&&b+c/2的值為1。B語句if?x=l;與if(a=0)x=l;等價。Bif(x>0){x=x+y;printf("%f",x);}elseprintf-x);語句語法是正確的。Aif語句后面的表達式并不限于是關系表達式或邏輯表達式,而可以是任意表達式。if語句中可以再嵌套if語句。A!b==c||d<a等價于((!b)==c)|I(d<a)。A5>0&&4>2的結果為假。Ba&&b&&c邏輯表達式中,當a為假時將不再計算b和c的值了。A第五章執行程序段:x=-l;do{x=x*x;}while(!x);的結果是。(A)死循環(B)循環執行2次(C)循環執行一次(D)有語法錯誤C有以下程序:#include<stdio.h>voidmain(){while(putchar(getchar())!=,);}當輸入〃hello?”時,程序的執行結果是o(A)hello(B)dijob(C)dijob?(D)hello?D以下程序的輸出為o#include<stdio.h>voidmain(){inty=5;while(y-);printf("y=%d\n”,y);}(A)y=0(B)無限循環,無結果輸出(C)y=l(D)y=~lD設有程序段:intx=0,s=0;while(x!=0)s+=++x;printfs)則運行程序段后 o(A)輸出0(B)輸出1(C)控制表達式是非法的(D)執行無限次A設有程序段:intk=10;while(k=0)k=k-l;,則下面描述正確的是 <>(A)while循環執行10次(B)循環是無限循環(C)循環體語句一次也不執行(D)循環體語句執行一次C語言的do-while循環中,循環由do開始,用while結束;而且在while表達式后面的不能丟,它表示do-while循環的結束。(A)\n(B) (C)“%” (D) “,”B以下能正確計算1X2X3X4...X10的程序段是odo{i=l;s=l;s=s*i;i++;}while(i<=10);(B)do{i=l;s=0;s=s*i;i++;}while(i<=10);i=l;s=l;do{s=s*i;i++;}while(i<=10);(D)i=l;s=0;do{s=s*i;i++;}while(i<=10);C以下描述中正確的是o(A)由于do-while循環體語句只能是一條可執行語句,所以循環體內不能使用復合語句。(B)do-while循環由do開始,用while結束,因此在while(表達式)后無需加分號*(C)在do-while循環體中,一定要有能使while后面表達式的值變為“假”的操作。do-while循環中,根據情況可以省略while。C下面程序段的輸出結果是Ointx=3;do{printf("%3d”,x-=2);}while(!(-x));(A)12(B)32(C)23(D)1-2DC語言的for語句中的表達式可以部分或全部省略,但兩個不可省略。當三個表達式均省略后,因缺少判斷條件,循環可能會無限制地進行下去,形成死循環。
(A) (B)(A) (B)++對于for(表達式:;表達式3)可理解為o(A)for(表達式;0;表達式3)(B)for(表達式:1;表達式3)(C)for(表達式;表達式1;表達式3)(D)for(表達式;表達式3;表達式3)B若i為整型變量,則以下循環執行的次數是,for(i=2;i==0;)printf('%d”,i-);(A)無限次(B)0次(C)1次(D)2次B以下for循環的執行次數是。for(x=0,y=0;(y=3)&&(x<4);x++,y++);(A)是無限循環(B)循環次數不定(C)執行4次(D)執行3次C設i為整型量,執行循環語句£。1'0=50;1>=0;1=10);后,1值為。(A)-10(B)0(C)10(D)50A下面有關for循環的正確描述是。(A)for循環只能用于循環次數已經確定的情況。(B)for循環是先執行循環體語句,后判斷表達式。(C)在for循環中,不能用break語句跳出循環體。(D)for循環的循環體語句中,可以包含多條語句,但要用花括號括起來。D下面有關for循環的正確描述是o(A)for語句的三個表達式都是可以省略的,但分號”絕對不能省略。(B)for語句的三個表達式都是可以省略的,可以寫成for()。(C)在for語句中,至少會執行循環體語句一次。(D)for(;;);是一條語法上錯誤的語句。A在下列選項中,沒有構成死循環的程序段是o(A)inti=100;while(1){i=i%100+l;if(i>100)break;}(B)for(;;);(C)intk=1000;do{-k;}while(k);(D)ints=36;while(s>=0);-s;C以下程序段的輸出結果是ointx,i;for(i=l;i<=100;i++){x=i;if(++x%2=0)if(++x%3==0)if(++x%7=0)printf('%d",x);}(A)2567(B)2668(C)2769(D)2870A以下程序段的輸出結果是o#include<stdio.h>voidmain(){inti=2;for(;i<=10;){i++;if(i%3==0)printff%d”,i);elsecontinue;}(A)3(B)36(0369(D)36910C以下正確的描述是o(A)continue語句的作用是結束整個循環的執行。(B)只能在循環體內和switch語句內使用break語句。(C)在循環體內,使用break語句和使用continue語句的作用是相同的。(D)從多層循環嵌套中退出時,只能使用goto語句。B下面程序段,ofor(t=l;t<=100;t++){scanf&x);if(x<0)continue;printf("%3d”,t);}(A)當x<0時整個循環結束(B)當x>=0時什么也不輸出(C)printf函數永遠也不執行(D)最多允許輸出100個非負整數D以下為死循環的程序段是ofor(i=l;;){if(++i%2==0)continue;if(++i%3==0)break;}shortinti;i=100;do{if(i<0)break;}while(++i);for(i=l;;)if(++i<10)continue;i=100;while(i--);以下程序輸出結果為。ttinclude<stdio.h>voidmain(){inti,b,k=0;for(i=l;i<=3;i++){b=i%3;while(b―>=0)k++;}printf(*%d,%d\n”,k,b);}(A)3,-1(B)6,-1(C)3,0(D)6,-2D以下描述正確的是o(A)goto語句只能用于退出多層循環。(B)switch語句中不能出現continue語句。(C)只能用continue語句來終止本次循環。(D)在循環中break語句不能獨立出現。C以下不正確的描述是o(A)break語句不能用于循環語句和switch語句外的任何其他語句。(B)在switch語句中使用break語句或continue語句的作用相同。(C)在循環語句中使用continue語句是為了結束本次循環,而不是終止整個循環的執行。(D)在循環語句中使用break語句是為了使流程跳出循環體,提前結束循環。B以下敘述正確的是Ofor循環中的break;語句表示:當條件成立時中止程序執行。for循環中的continue;語句表示:當條件成立時中止本層循環。for循環中的break;語句表示:當條件成立時中止本層循環。for循環中的break;語句表示:當條件成立時暫停本次循環。C下面程序的運行結果是 O#include<stdio.h>voidmain(){inti,j,x=0;for(i=0;i<2;i++)(x++;for(j=0;j<=4;j++){if(j%2)continue;x++;}x++;}printf(*x=%d\n*,x);)(A)x=6(B)x=8(C)x=10(D)x=12C下面程序段輸出的i值是o#include<stdio.h>voidmain()for(i=l;i<=50;i++)if((i*i>=130)&(i*i<=180))break;printf("%d\n",i);}(A)10(B)11(C)12(D)13C下面程序段在執行完成后,a的值為:intj=0,k=0,a=0;while(j<3)!j++;a=a+l;k=0;while(k<=2){k++;if(k%2!=0)continue;a=a+l;}a=a+l;}(A)6(B)8(C)9(D)10C下面程序的運行結果是o#include<stdio.h>voidmain(){inta=0;++a;printf("%d\n",a);}4當運行下面程序時,從鍵盤鍵入Hello?〈回車),則下面程序的運行結果是[#include<stdio.h>voidmain(){charc;while((c=getchar())!=,?*)。]putchar(++c);}Ifmmp執行下面程序后,k值是【】。#include<stdio.h>voidmain(){intk=l,n=452;do{k*=n%10;n/=10;}while(n);printfk);}40當運行以下程序時,從鍵盤鍵入12345T<回車),則下面程序的運行結果是voidmainO{intk=0,n;do{scanf("%d",&n);k+=n;}while(n!=-l);printf(/zk=%dn二%d\rT,k,n);}k=14n=-l以下程序輸出結果為【】。#include*stdio.h"voidmain(){inti;for(i=0;i<10;i++);printfi);}10下面程序的運行結果是【】。#include<stdio.h>voidmain(){inta=0,i;for(i=l;i<=5;i++)a+=i*i;printf("%d\n",a);}55下列程序的輸出結果為【】。#include<stdio.h>voidmain(){inti,j,x=0;for(i=0;i<3;i++)(if(i%3==2)break;x++;for(j=0;j<4;j++){if(j%2)break;x++;}x++;}printf("x二%d\n',x);}x=6設x和y均為int型變量,則執行以下的循環后,y值為【】。for(y=l,x=l;y<=50;y++){if(x>=10)break;if(x%2==l){x+=5;continue;}x-=3;}6在執行以下程序時,如果從鍵盤上輸入:ABCdef〈回車》,則輸出為【】。#include<stdio.h>voidmain(){charch;while((ch=getchar())!=,\n*){if(ch>=,A*&&ch<='Z')ch=ch+32;elseif(ch>=,a'&&ch<,z')ch=ch-32;printf(^%c^,ch);}printf('\n");}abcDEF運行以下程序后,如果從鍵盤上輸入student*回車),則輸出結果為【】。#include<stdio.h>voidmain(){intvl=0,v2=0;charch;while((ch=getchar())!='#')switch(ch){case1d,:case,t*:default:vl++;case'a':v2++;}printf("%d,%d\n”,vl,v2);}7,7運行下面程序后,輸出結果為【6】。voidmain(){inti,j,m=0;for(i=l;i<=10;i+=4)for(j=3;j<=10;j+=4)m++;printf("%d\n",m);)6下面程序的功能是將從鍵盤上輸入的?對數,由小到大排序輸出。當輸入一對相等數時結束循環。請將程序補充完整。#include<stdio.h>voidmain(){inta,b,t;scanf("%d%d”,&a,&b);while([]){if(a>b){t=a;a=b;b=t;}printf("%d,%d\n”,a,b);scanf("%d%d”,&a,&b);}}a!=b下面程序的功能是將小寫字母變成對應大寫字母后的第二個字母。其中y變成A,z變成Bo請將程序補充完整。#include<stdio.h>voidmain(){charc;while((c=getchar())!='\n){if(c>=,a*&&c<=,z)[];if(c>,Z'&&c<=Z'+2)[];printfc);}}c-=30c-=26下面程序的功能是從鍵盤輸入的一組字符中分別統計出大寫和小寫字母的個數,當輸入換行符時結束輸入。請將程序補充完整。#include<stdio.h>voidmain(){intm=0,n=0;charc;while(([])!="){if(c〉='A'&&c<='Z')m++;if(c>=,a*&&c<='z')n++;}printf(〃m=%d,n=%d\n”,m,n);}c=getchar0下面程序段是從鍵盤輸入的字符中統計數字字符個數,用換行符結束循環。請將程序補充完整。intn=0,c;c=getchar();{if([J)n++;c=getchar();}c!=,\nc>='O'&&c<=9'下面程序的功能是計算1-3+5-7+..?-99+101的值。請將程序補充完整。#include<stdio.h>voidmain(){inti,t=l,s=0;for(i=l;i<=101;i+=2){[];s+=t;[];}printf("%d\n",s);}t=t*it=-t/i雞兔共有30只,腳共有90個,下面程序是計算雞兔各有多少只。請將程序補充完整。#include<stdio.h>voidmain(){intx,y;for(x=l;x<=29;x++){y=30-x;if([])printfC%d,%d\n\x,y);)}x*2+y*4==90下面程序的功能是從3個紅球、5個白球、6個黑球中任意取出8個球,且其中必須有白球,輸出所有的方案。請將程序補充完整。voidmainO{inti,j,k;printf("\n紅白黑\n");for(i=0;i<=3;i++)for([]:j<=5;j++){k=8-i-j;if([1)printf(*%3d%3d%3d\n*,i,j,k);))j=lk>=0&&k<=6下面程序的功能是用do-while語句求1-1000之間滿足“用3除余2、用5除余3、用7除余2”的數,且一行只打印5個數。請將程序補充完整。#include<stdio.h>voidmain(){inti=l,j=0;do{if([]){printf(*%4d*?i);j=j+l;if([1)printf("\n");}i=i+l:}while(i<1000);)i%3==2&&i%5==3&&i%7==2j%5==0while語句do-while語句無論什么情況下,二者的執行結果都一樣。BC語言的while、do-while和for幾個循環語句,可以相互嵌套。A用do-while語句構成循環時,只有在while后的表達式為非0時結束循環。B要使for(表達式1;表達式2;表達式3){循環體}不形成死循環,表達式2一定不能省略。Bwhile循環的while。后沒有分號,而do-while循環的while。后一定要有一個分號。Acontinue語句的功能就是結束本層循環。B對用goto語句和if語句構成的循環,不能用break語句和continue語句進行控制。Abreak語句不能用于循環語句和switch語句之外的任何其它語句。A在多層循環嵌套中,可以共用,個continue結束各層的本次循環。B三種循環(for循環、while循環和do-while循環)可以互相嵌套,但必須使用相同的循環控制變量。B第六章在VC6.0中有定義語句:shortinta[15];則數組a占用的字節數是。(A)15(B)30(C)60(D)120B若有數組定義語句:inta[3]={6};floatb[3];doublec[3]={l.2,-56.7,38};則以下判斷哪一個不成立 。(A)a[0]的初值為6(B) 的初值為-56.7(0b[l]的初值為0(D)b[0]的初值為隨機值C有定義語句:inti;doublea[4];若通過鍵盤輸入為數組a的4個元素賦值,輸入時不同數據之間使用默認分隔符,則下面正確的輸入語句是。(A)for(i=0;i<4;i++)scanf&a[i]);(B)for(i=0;i<4;i++)scanf;for(i=0;i<4;i++)scanfC*%lf\n*,&a[i]);for(i=0;i<4;i++)scanf("%f,",&a[i]);A若有數組定義語句:inta[][3]={{2},{4,5},{6,8,9}},b[][3]={2,4,5,6,8,9};則a[l][2]和b[l][2]的初值分別為o(A)5,4(B)0,4(C)隨機值,9(D)0,9D以下二維數組定義中正確的是Ointa[][4];floatb[3]口;#defineN5.6doublec[(int)N][3];ttdefineN3doubled[N++][5];C已知以下程序段的運行結果為“654321”,則下劃線所在位置應填入的代碼是ttdefineN6inta[N]={l,2,3,4,5,6},i,t;for(i=0;i<;i++){t=a[i];a[i]=a[N-i-l]:a[N-i-l]=t;}for(i=0;i<N;i++)printf("%-2d”,a[i]);(A)N/2(B)N(C)N/2+1(D)N+lA在VC6.0中定義二維數組并初始化:inta[][3]={1,2,3,4,5,6,7);則以下判斷中不正確的是.(A)數組a包含9個元素(B)的初值為6(0a[2][2]的初值為0(D)在程序中引用a[2][3]會導致編譯錯誤D以下程序段的輸出結果是.inta[4][4]={{1},{2,3},{4,5,6},{7,8,9,10}},s=0,i;for(i=0;i<4;i++)s+=a[i][i]+a[i][3-i];printf(*%d\n*,s);(A)20(B)32(C)12(D)隨機值B若有定義語句:inta[10]={l,2,3,4,5,6,7,8,9,10};charc='a';則值為4的合法表達式是o(A)a[4](B)a['d,-c'](C)a[*d*-c](D)a[100.0~c]C以下在VC6.0中會導致編譯錯誤的語句是O#defineN'6'inta[N-0x30]={N};inta[]={21.3,0.96,5,47.8};inta[][3]={10,20,30,40);inta[5]={l,2,3,4,5,6,7};D以下程序段的輸出結果是Ointa[7]={9,15,7,-3,0,11,15},m,n,i;for(m=n=0,i=l;i<7;i++)if(a[i]>a[m])m=i;elseif(a[i]<a[n])n=i;printf("%d,%d\n,z,m,n);(A)15,-3(B)6,3(C)1,3(D)2,4C以下說法正確的是o(A)可以在程序的不同位置對數組的長度進行動態更新。(B)二維數組可以看成是特殊的一維數組,它的每個元素都是一個一維數組。(0即使不對數組進行初始化,系統也會自動為數組元素賦予默認初值。(D)在定義二維數組并對其進行初始化時,允許省略列下標。B以下程序段用冒泡法對數組a進行由大到小排序,則下劃線所在位置應填入的代碼是 Ointa[5]={29,47,14,110,8},i,j,t;for(i=0;i<=3;i++)for(j=0;j<=;j++)if(a[j]<a[j+U){t=a[j];a[j]=a[j+l];a[j+l]=t;}(A)5-i(B)4(C)4-i(D)3-i若有以下程序段,則數組b中列下標為偶數的元素之和是ointa[12],b[3][4],i,j;for(i=0;i<12;i++)a[i]=i+l;for(i=0;i<3;i++)for(j=0;j<4;j++)b[i][j]=a[i*4+j];(A)42(B)15(C)36(D)24C在VC6.0中有定義語句:doublea[5]={23.7,1.08,-6.5,43.4,0.69};inti;則下列語句中錯誤的是.for(i=0;i<5;i++)a[i]=getchar();for(i=0;i<5;i++)a[i]+='a';for(i=0;i<5;i++)printf(*%f\n*,a[i]);(D)for(i=0;i<5;i++)scanf(*%lf*,a);D下列程序段在運行時,若通過鍵盤輸入的數據為"1347923151132192”,則輸出結果是ointa[10],b[10],i,j,cnt=0;for(i=0;i<10;i++){scanf&a[i]);for(j=2;j<=a[i]/2;j++)if(a[i]%j==0)break;if(j>a[i]/2)b[cnt++]=a[i];)for(i=cnt-l;i>=0;i—)printf("%d",b[i]);219112347323111923471231119234721911234731D以下程序段用選擇法對數組a進行由小到大排序,則下劃線所在位置應填入的代碼是 Ointa[5]={86,12,57,39,165},i,j,t;for(i=0:i<=3;i++)for(j=;j<=4;j++)if(a[j]<a[i]){t=a[j];a[j]=a[i];a[i]=t;}(A)i+1(B)++i(C)0(D)1A數組是C語言的一種構造數據類型,其元素的類型可以是整型、實型或者字符串類型。B若需定義一個包含2行3列共6個元素的二維整型數組a,并對其最后1行的3個元素進行初始化,可用如下語句實現:inta[][3]={{5,6,7}};BC語言程序在編譯過程中,編譯器會檢查數組下標是否越界。B以下程序段在運行時,若通過鍵盤輸入“123456”,則輸出結果為“142536”。inta[2][3],b[3]j;for(i=0;i<2;i++)for(j=0;j<3;j++){scanf(*%(!*,&a[i][j]);b[j][i]=a[i][j];}for(i=0;i<3;i++)for(j=0;j<2;j++)printf('%d",b[i][j]);A在定義數組時,只允許使用整型常量表達式來定義數組的長度,其值必須是正整數。B對于數值型數組而言,只能單個引用數組元素,不能一次引用整個數組。A若在以下程序段的下劃線位置添加代碼,則輸出結果為數組a包含的兩位數奇數。inta[8]={5,8,22,13,75,46,129,63),i;for(i=0;i<8;i++)if()printff%d;B以下程序段的輸出結果是:15101051。inta[6][6],i,j;for(i=0;i<6;i++){a[i][0]=l;a[i][i]=l;}for(i=2;i<6;i++)for(j=l;j<i;j++)a[i][j]=a[i-l][j];for(i=0;i<6;i++)printf(,z%dA若有以下定義語句,則數組a的最后一個元素是a[8]。ttdefineN3ttdefineMN+2doublea[M*N];B若在程序中定義數組并進行初始化:inta[5]={12.3,8.67f,'x',45};則程序被編譯時會報錯。B以下程序段在運行時,若通過鍵盤輸入“41”,則輸出結果為“101001”。inta[32],n,cnt=0,i;scanf("%d",&n);do{a[cnt++]=n%2;n/=2;}while(n);for(i=cnt-l;i>=0;i—)printfa[i]);A數組名是一個【地址】常量,不能對它進行自增、自減和賦值運算。地址以下程序段用折半查找法在數組a中查找指定數值x,請填空。doublea[7]={1.5,6.2,8.94,11.3,14.9,20.1,35.7},x;intlow=0,high=6,mid;scanf&x);while(low<=high){mid=(low+high)/2;if(a[mid]>x)[]elseif(a[mid]<x)[]else{printf(〃數組中存在數值%f\n”,x);break;}}if(low>high)printf("數組中不存在數值%f\n”,x);high=mid-1low=mid+l以下程序段的輸出結果是【】Ointa[4][4]={l,2,3,4,5,6,7,8,9,10),i,j,s=0;for(i=0;i<4;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%d\n",s);31以下程序段通過鍵盤輸入為數組中的所有元素賦值,請填空。inta[10],i=0;doscanf[]);while(i<10);&a[i++]以下程序段將數值k插入到有序數組a中,操作完成后數組a保持有序,請填空。inta[10]={3,5,8,12,20,39},k,n=6,i=0,j;scanf("%d",&k);while([])i++;for(j=n-l;j>=i;j—)a[j+l]=a[j];a[i]=k;a[i]<k&&i<n以下程序段計算2010年的某月某日是當年的第幾天,請填空。intmonth[13]={0,31,28,31,30,31,30,31,31,30,31,30,31},m,d,i;printf("請輸入月份和日數:");scanf(*%d%d*,&m,&d);for(i=l;i<m;i++)[];printf("是2010年的第%d天\n”,d);d+=month[i]以下程序段重排二維數組的每1行:以每行的第1個元素m為比較標準,該行中小于m的數都放在m的左側,大于m的數都放在m的右側。請填空。inta[3][6]={{6,8,9,5,7,2},{3,1,5,6,2,8},[8,3,8,4,9,7}},m,n,i,j,k;for(i=0;i<3;i++){m=a[i][0]:for(j=l;j<6;j++)if(a[i][j]<m){n=a[i][j];for(k=j:k>O:k—)[];a[i][0]=n;))a[i][k]=a[i][k-1]第七章關于函數的定義,以下正確的描述是O(A)如果函數不返回值,可以省略類型說明符(B)可以在同程序中定義同名的函數,只要保證它們的返回值類型或形參列表不相同即可(0同一函數中的形參名必須唯一,但可以與其他函數中的變量同名(D)如果函數體為空,則函數最外層的一對花括號可以省略C若有函數定義:intfun(){doublex=23.5;returnx;},則函數的返回結果是 o(A)23(B)23.0(C)23.5(D)24A在函數調用過程中,如果函數A調用函數B,函數B又調用函數A,則這種函數調用被稱為o(A)間接遞歸調用(B)直接遞歸調用(C)間接循環調用(D)直接循環調用A以下程序的輸出結果是O#include<stdio.h>intfun(intx){return++x;}voidmain(){inti=0;while(fun(i)<10)i++;printf("%d\n",i);}(A)11(B)10(C)8(D)9D關于函數調用時的參數傳遞,以下錯誤的描述是o(A)實參可以是常量、變量或表達式(B)形參可以是常量、變量或表達式(0實參與形參的個數相等、類型一致(D)實參必須有確定的賦值B若有以下程序,則下劃線所在位置應填入的語句是—#include<stdio.h>voidmain(){doubleres;res=fun(3.7f,4.5f);doublefun(floatx,floaty){returnx*y;}(A)doublefun(float);(B)doublefun();(C)floatfun(float,float);(D)doublefun(float,float);D用一維數組名作為函數的實參時,傳遞給對應形參的是.(A)整個數組(B)第一個數組元素的地址(0數組的首地址(D)(B)和(C)都是正確的D以下程序的輸出結果是o#include<stdio.h>voidfun(intb[5],intn){inti,t;for(i=0;i<n;i++){t=b[i];b[i]=b[n-i-l];b[n-i-l]=t;}}voidmain(){inta[5]={9,7,5,3,1},i;fun(a,5);for(i=0;i<5;i++)printf("%d)(A)13579(B)31975(097531(D)編譯時報錯在C語言程序中定義全局變量,如果該變量使用關鍵字static作為存儲類別說明符,則它的作用域是o(A)整個程序范圍(B)定義該變量的源文件范圍(0main函數內部(D)從定義該變量的位置開始直至程序結束B若有數組定義語句inta[6];和函數調用語句fun(a);則在fun函數的定義中,對形參數組array的錯誤定義方式是。voidfun(intarray[intN=6])voidfun(intarray[10])voidfun(intarray[])voidfun(intarray[3])A以下程序執行完畢后,變量res的值是o#include<stdio.h>intX=35;intfun(intn){intX=15;returnX%n?++X:—X;)voidmainO(doubleres;res=X/fun(3);}(A)1.0(B)2.1875(C)2.0(D)2.5C以下說法正確的是o(A)在函數中可以使用多條return語句來返回多個處理結果(B)在函數中最多只能有一條return語句(0一個函數不可能既是被調用函數,又是主調函數(D)如果函數值的類型與返回值的類型不一致,以函數值類型為準D以下程序執行完畢后,變量s的值是O#include<stdio.h>intfun(intn){staticintk=l;k*=n;returnk;}voidmain(){inti,s=0;for(i=l;i<5;i++)s+=fun(i);}(A)10(B)33(C)15(D)153B以下程序的輸出結果是o#include<stdio.h>intfun(intn){if(n==2)returnn;elsereturnn*fun(n-2);voidmainO{printfC%d\n*,fun(7));}(A)105(B)2(C)35(D)遞歸無法正常結束D以下說法錯誤的是.(A)局部變量使用static作為存儲類別說明符,其生存期將得到延長(B)自動變量一定是局部變量(0全局變量使用static作為存儲類別說明符,其作用域將被擴大(D)寄存器變量的分配方式采用動態分配C下列程序在運行時,若通過鍵盤輸入
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025租賃合同模板示例
- 《兒科國考復習資料》課件
- 2025河畔土地租賃投資合同樣本
- 2025有關技術授權合同的范本
- 白酒代理商合同協議范本
- 瑜伽卡轉讓會員合同協議
- 物資采購單價合同協議
- 獨立別墅買賣合同協議
- 監測系統銷售合同協議
- 電商營銷中心合同協議
- 環境監測課件-第三章水監測-第三節水樣的采集與保存
- 事業單位心理素質測試題
- 初中數學-線段的垂直平分線教學設計學情分析教材分析課后反思
- 光伏電源逆變器的設計畢業論文設計
- 青春期教育(男生)課件
- 抽水臺班記錄表
- 麥格米特與福尼斯高速焊接對比
- Unit+2+Bridging+Cultures+單元整體教學說課課件 高中英語人教版(2019)選擇性必修第二冊單元整體教學設計
- 柱上變壓器施工方案
- 面向繪畫機器人的人臉肖像畫生成
- bp10x硬件設計參考系列datasheet bp1064l2數據手冊
評論
0/150
提交評論