C語言測試練習題庫公開課一等獎省優質課大賽獲獎課件_第1頁
C語言測試練習題庫公開課一等獎省優質課大賽獲獎課件_第2頁
C語言測試練習題庫公開課一等獎省優質課大賽獲獎課件_第3頁
C語言測試練習題庫公開課一等獎省優質課大賽獲獎課件_第4頁
C語言測試練習題庫公開課一等獎省優質課大賽獲獎課件_第5頁
已閱讀5頁,還剩68頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C語言習題講解基本概念題一個C程序執行是從_______。

A)本程序main函數開始,到main函數結束

B)本程序文件第一個函數開始,到本程序文件最終一個函數結束

C)本程序main函數開始,到本程序文件最終一個函數結束

D)本程序文件第一個函數開始,到本程序main函數結束基本概念題C語言要求:在一個源程序中,main函數位置_______。A)必須在最開始B)必須在系統調用庫函數后面C)能夠任意D)必須在最終基本概念題以下敘述正確是_______。A)在C程序中,main函數必須位于程序最前面B)C程序每行中只能寫一條語句C)C語言本身沒有輸入輸出語句D)在對一個C程序進行編譯過程中,可發覺注釋中拼寫錯誤基本概念題以下敘述不正確是_______。A)一個C源程序可由一個或多個函數組成B)一個C源程序必須包含一個main函數C)C程序基本組成單位是函數D)在C程序中,注釋說明只能位于一條語句后面基本概念題一個C語言程序是由________.A)一個主程序和若干子程序組成B)函數組成C)若干過程組成D)若干子程序組成2.以下敘述中,不正確是【】。(A)一條C語句能夠分寫在多行中(B)一條C語句必須包含一個分號(C)單獨一個分號不能組成一條C語句(D)在C程序中,注釋說明能夠位于程序任何位置【解析】C語句中單獨一個分號組成空語句,故不正確敘述是選項(C)?;靖拍铑}3.下面【】是正當C語句.(A)#defineMY100(B)a=25;(C)a=b=100(D)/*m=100;*/【解析】選項(A)是編譯預處理命令,(C)是表示式,(D)是注釋說明,它們均不是C語句;只有(B)是正當C語句。基本概念題5.下面敘述中,正確是【】。(A)C程序中全部標識符都必須小寫(B)C程序中關鍵字必須小寫,其它標識符不區分大小寫(C)C程序中全部標識符都不區分大小寫(D)C程序中關鍵字必須小寫,其它標識符區分大小寫基本概念題6.以下敘述中,【】是正確。(A)能夠把define和if定義為用戶標識符(B)能夠把define定義為用戶標識符,不過不能把if定義為用戶標識符(C)能夠把if定義為用戶標識符,不過不能把define定義為用戶標識符(D)define和if都不能定義為用戶標識符【解析】define是預處理命令,能夠將其定義為用戶標識符。if是關鍵字,不能作為用戶標識符使用。故上述敘述中只有選項(B)是正確。基本概念題7.下面四組字符串中,【】均是C語言關鍵字。

(A)double、while、if(B)goto、define、switch(C)for、printf、break(D)include、do、sizeof【解析】define和include是預處理命令,printf是用于輸出數據系統函數名,均不是C語言關鍵字。故只有選項(A)正確。

基本概念題8.下面四組字符串中,均可用做用戶標識符是【】。(A)void、define、WORD(B)a3_b3、_123、IF(C)For、_abc、case(D)2a、DO、sizeof【解析】void、case是關鍵字,sizeof是運算符。故上述四組字符串中只有選項(B)均可用做為C語言用戶標識符?;靖拍铑}9.若有定義inta;charb;floatc;則表示式a*b-c類型是【】。

(A)float(B)int(C)char(D)double【解析】變量c是float類型,在參加表示式運算時,系統會自動將其轉換為double類型,故表示式運算結果也為double類型?;靖拍铑}10.設t是double類型變量,表示式

t=1,t+2,t++值是【】。

(A)4.0(B)3.0(C)2.0(D)1.0【解析】這是一個逗號表示式。先計算t=1,使變量t值為1.0;再計算t+2,得到3.0,此時沒有賦值,故t依然為1.0;最終計算t++,得到1.0,它也是整個逗號表示式值。基本概念題11.若實型變量x和y已正確定義并賦值,則下面不正當表示式是【】。

(A)++y,x--(B)y=(x%2)/10(C)y/=x+2(D)x=y=0【解析】變量x和y是實型數據,不允許進行%運算。

基本概念題12.若變量已正確定義并賦值,下面正當表示式是【】。(A)(int)a=b+7(B)a=7+b+c,++a(C)int(12.3%4)(D)a=a+2=c+b【解析】選項(A)中(int)a是一個表示式,得到結果是一個整型數值而不是變量,不能出現在賦值號左邊;(C)中int沒有用括號括起,所以是類型標識符,不是類型轉換運算符,另外實型數12.3也不能參加%運算;(D)是多重賦值,等價于a=(a+2=c+b),要先計算a+2=c+b,而它是一個非法賦值表示式。只有(B)是正當逗號表示式。

基本概念題13.設a是整型變量,下面不能正確表示數學關系10<a<15

C語言表示式是【】。

(A)10<a<15(B)a==11||a==12||a==13||a==14(C)a>10&&a<15(D)!(a<=10)&&!(a>=15)【解析】在C語言中,關系表示式10<a<15表示10<a比較結果(不是0就是1)再與15比較,它不能正確表示數學關系a值在10到15之間(注意:不論a值是什么,表示式10<a<15值總為1),而其它選擇則均能夠表示這種關系。基本概念題14.能夠正確表示a不等于0為真關系表示式是【】。

(A)a=0(B)a≠0(C)a(D)!a【解析】a=0是賦值表示式,其值為0;在C語言中,沒有≠運算符,故a≠0是無效表示式;!a表示變量a等于0為真(即a值為0時,表示式a為邏輯假,!a則為真);而只有當a值不是0(即a是正數或負數)時,表示式a為真?;靖拍铑}15.下面語句中,錯誤是【】。(A)m=c>a<b;(B)intx=y=1;(C)k=x,y>0;(D)w++==--m?0:1;【解析】選項(A)是賦值語句;(C)是逗號表示式語句;(D)是條件表示式語句;而(B)是不正當變量定義語句?;靖拍铑}16.能正確定義整型變量a和b,并為它們賦初值5語句是【】。(A)a=b=5;(B)inta,b=5;(C)inta=b=5;(D)inta=5,b=5;【解析】選項(A)是賦值語句,不是變量定義;(B)定義變量a和b,但僅對b進行初始化;(C)是不正當變量定義;只有(D)定義了變量a和b,并分別為它們賦初值5?;靖拍铑}17.以下程序段輸出結果是【】。

intu=020,v=0x20,w=20;printf("%d,%d,%d\n",u,v,w);(A)16,32,20(B)20,20,20(C)16,16,20(D)32,16,20基本概念題18.以下程序段輸出結果是【】。

charc1=’a’,c2=’c’;

printf("%d,%c\n",c2-c1,c2-’a’+’C’);(A)2,M(B)3,E(C)2,E(D)格式控制與輸出項不一致,結果不確定基本概念題19.下面程序在運行時,若從鍵盤上輸入98765432156↙

(↙表示回車),則程序輸出結果是【】。main(){inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}(A)a=98,b=765,c=4321(B)a=98,b=765.000000,c=4321.000000(C)a=98,b=765.0,c=4321.0(D)a=98,b=765.0,c=4321.56【解析】執行scanf語句,將輸入數據中98賦給變量a,765賦給b,4321賦給c,忽略5以后數字。輸出時,實型變量b和c小數部分自動取6位?;靖拍铑}20.設有定義語句intx;floaty;當執行scanf(“%3d%f”,&x,&y);語句時,從第一列輸入數據12345678↙(表示空格,↙表示回車),則y值是【】。(A)123.0(B)678.0(C)45.678(D)45.0【解析】執行scanf語句時,將輸入數據前三位數字123賦給x,后面到空格前為止兩位數字45賦給實型變量y,忽略空格后面數字。故y值是45.0。

基本概念題基本概念題若x,i,j和k都是int型變量,則執行下面表示式后x值為_______。

x=(i=5,j=10,k=20)A)5B)10C)20D)35基本概念題假設全部變量均為整型,則表示式(a=2,b=5,b++,a+b)值是_______。

A)7B)8C)6D)2基本概念題數字字符0ASCII值為48,若有以下程序

main()

{

chara=’1’,b=’2’;

printf(“%c,”,b++);

printf(“%d\n”,b-a);

}

程序運行后輸出結果是_______。(A)3,2(B)50,2(C)2,2(D)2,504月全國計算機等級考試二級筆試題21.下面程序輸出結果是【】。main(){doubled;floatf;longm;inti;i=f=m=d=20/3;printf("%d%ld%.1f%.1f\n",i,m,f,d);}(A)666.06.0(B)666.76.0(C)666.06.7(D)666.76.7【解析】賦值表示式i=f=m=d=20/3等價于i=(f=(m=(d=20/3)))。20/3值是6(注意不是6.666…),賦給double類型變量d是6.0,再分別賦給long類型變量m、float類型變量f和int類型變量i,分別是6、6.0和6。在printf語句中變量f和d按%.1f格式輸出時,輸出為6.0。基本概念題22.已知字母A

ASCII值為十進制數65,下面程序輸出是【】。

main(){charch1,ch2;ch1=’A’+’5’-’3’;ch2=’A’+’6’-’3’;printf("%d,%c\n",ch1,ch2);}(A)67,D(B)67,C(C)B,C(D)C,D【解析】程序中表示式’A’+’5’-’3’值是67(等價于65+53-51),’A’+’6’-’3’值是68,分別賦給ch1和ch2。按%d和%c格式輸出它們值時,分別是67和大寫字母D。

基本概念題23.語句printf(“%d\n”,!!9);輸出結果是【】。

(A)0(B)1(C)9(D)-9【解析】表示式!!9等價于(!(!9))。!9值是0(9是非0值,對其進行邏輯非運算,得到0),再進行!0運算,得到1?;靖拍铑}24.以下程序執行結果是【】。main(){inta=100,b;b=a++>100?a+100:a+200;printf("%d%d",a,b);}(A)101201(B)101301(C)100200(D)100300【解析】表示式b=a++>100?a+100:a+200等價于b=((a++>100)?(a+100):(a+200))。先計算條件表示式a++>100,取a值(為100)與100進行比較,為0,且a自增為101;再計算a+200,得到整個條件表示式值301,賦給b。故輸出是101和301。

基本概念題基本概念題在C語言中(以16位PC機為例),5種基本數據類型存放空間長度排列次序為_______。A)char<int<longint<=float<doubleB)char=int<longint<=float<doubleC)char<int<longint=float=doubleD)char=int=longint<=float<double4.下面關于C源程序函數說法中,【】是正確。(A)函數體中能夠不包含任何語句(B)函數體能夠使用花括號或圓括號括起來(C)假如沒有參數,函數名后面圓括號能夠省略(D)函數能夠不需要定義函數名基本概念題基本概念題有以下程序main(){intm=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序運行后輸出結果是______。

A)12353514 B)12353513

C)12343514 D)123435134月全國計算機等級考試二級筆試題基本概念題有定義語句:intb;charc[10];,則正確輸入語句是______。

A)scanf("%d%s",&b,&c);

B)scanf("%d%s",&b,c);C)scanf("%d%s",b,c);

D)scanf("%d%s",b,&c);4月全國計算機等級考試二級筆試題基本概念題下面四個選項中,均是不正當用戶標識符選項是_______。

A)AB)floatC)b-aD)一123P_01a0gototempdo_AintINT基本概念題C語言中標識符只能由字母、數字和下劃線三種字符組成,且第一個字符

A)必須為字母B)必須為下劃線C)必須為字母或下劃線D)能夠是字母,數字和下劃線中任一個字符基本概念題下面正確字符常量是_______。A)"a"B)'\\''C)'W'D)'‘以下選項中,不能作為正當常量是_______。

(A)1.234e04(B)1.234e0.4(C)1.234e+4(D)1.234e0基本概念題若有代數式3ae/bc,則不正確C語言表示式是:

A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*3基本概念題已知各變量類型說明以下:intk,a,b;unsignedlongw=5;doublex=1.42;則以下不符合C語言語法表示式是_______。A)x%(-3) B)w+=-2C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)基本概念題若有定義:inta=7;floatx=2.5,y=4.7;則表示式x+a%3*(int)(x+y)%2/4值是_______。A)2·500000B)2.750000C)3.500000D)0.000000。x+a%3*(int)(x+y)%2/4基本概念題sizeof(float)是_______。A)一個雙精度型表示式

B)一個整型表示式C)一個函數調用D)一個不正當表示式表示式18/4*sqrt(4.0)/8值數據類型為:A)intB)floatC)doubleD)不確定基本概念題已經有以下定義和輸入語句,若要求a1,a2,c1,c2值分別為10,20,A和B,當從第一列開始輸入數據時,正確數據輸入方式是inta1,a2;charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);A)10A20B<CR>B)10A20B<CR>C)10A20<CR>D)10A20B<CR>?;靖拍铑}有以下程序

main()

{

intm,n,p;

scanf("m=%dn=%dp=%d",&m,&n,&p);

printf("%d%d%d\n",m,n,p);

}

若想從鍵盤上輸入數據,使變量m中值為123,n中值為456,p中值為789,則正確輸入是_______。

A)m=123n=456p=789B)M=123N=456P=789C)m=123,n=456,p=789D)123456789

基本概念題下關于運算符優先次序描述中正確是_______。

A)關系運算符<算術運算符<賦值運算符<邏輯與運算符

B)邏輯運算符<關系運算符<算術運算符<賦值運算符

C)賦值運算符<邏輯與運算符<關系運算符<算術運算符

D)算術運算符<關系運算符<賦值運算符<邏輯與運算符以下運算符中優先級最高是_________。

A)<B)+C)&&D)!=基本概念題已經有定義:chara[]=“xyz”,b[]={’x’,’y’,’z’};,以下敘述中正確是_______。

A)數組a和b長度相同

B)a數組長度小于b數組長度

C)a數組長度大于b數組長度

D)上述說法都不對

填空類選擇已經有程序段和輸入數據形式以下,程序中輸入語句正確形式應該為_______。

main(){inta;floatf;printf("\nInputnumber:");

/*輸入語句*/printf("\nf=%f,a=%d\n,f,a);}Inputnumber:4.52<CR>A)scanf("%d,%f",&a,&f);B)scanf("%f,%d",&f,&a)C)scanf("%d%f",&a,&f);D)scanf("%f%d",&f,&a);填空類選擇閱讀以下程序,當輸入數據形式為251310<CR>正確輸出結果為_______。

main(){intx,y,z;scanf("%d,%d,%d",&x,&y,&z);printf("x+y+z=%d\n”,x+y+z);。

}A)x+y+z=48B)x+y+z=35C)x+z=35D)不確定值填空類選擇有輸入語句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);為使變量a值為1,b為3,c為2,從鍵盤輸入數據正確形式應該是_______。A)132(回車)B)1,3,2(回車)C)a=1b=3c=2(回車)D)a=1,b=3,c=2(回車)填空類選擇能正確表示“當x取值在[1,10]和[200,210]范圍內為真,不然為假”表示式是

。

A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B)(x>=1)||(x<=10)||(x>=200)||(x<=210)C)(x>=1)&&(x<=10)||(x>=200)&&(x<=210)D)(x>=1)||(x<=10)&&(x>=200)||(x<=210)填空類選擇以下程序運行結果是_______。

#include"stdio.h"main(){inta,b,d=241;

a=d/100%9;b=(-1)&&(-1);printf("%d,%d",a,b);}A)6,1B)2,1C)6,0D)2,0填空類選擇有以下程序

main()

{

inti=1,j=2,k=3;

if(i++==1&&(++j==3||k++==3))

printf("%d%d%d\n",i,j,k);

}

程序運行后輸出結果是_______。

(A)123(B)234(C)223(D)233

填空類選擇請閱讀以下程序:main(){inta=5,b=0,c=0;

if(a=b+c)printf("***\n");elseprintf("$$$\n");}

以上程序:A)有語法錯不能經過編譯

B)能夠經過編譯但不能經過連接

C)輸出***

D)輸出$$$下面程序功效是從鍵盤輸入一組字符中統計出大寫字母個數m和小寫字母個數n,并輸出m、n中較大者,請選擇填空:#indude"stdio.h"main(){intm=0,n=0;charc;while((__【1】

___。)!='\n'){if(c>='A'&&C<='Z')m++;

if(c>='a'&&c<='z')n++;}printf("%d\n",m<n?n:m);}【1】A)c=putchar()B)getchar()C)c=getchar()D)scanf("%c",c)填空類選擇下面程序運行結果是:#include<stdio.h>main(){inty=10;do

{y--;}while(--y);printf("%d\n",y--);}A)-1B)1C)8D)0填空類選擇有以下程序

main()

{

intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;

while(i++<7)if(p[i]%2)j+=p[i];

printf(“%d\n”,j);

}

程序運行后輸出結果是

A)42B)45C)56D)60

填空類選擇有以下C程序

main()

{

chara[7]=“a0\0a0\0”;intj;

j=strlen(a);

printf(“%d\n”,j);

}

程序運行后輸出結果是

A)6B)7C)2D)4

填空類選擇intf1(intx,inty){returnx>y?x:y;}

intf2(intx,inty){returnx>y?y:x;}

main()

{

inta=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,b),f1(c,d));f=f1(f2(a,b),f2(c,d));

g=a+b+c+d-e-f;

printf(“%d,%d,%d\n”,e,f,g);

}

以上程序運行后輸出結果是

A)4,3,7B)3,4,7C)5,2,7D)2,5,7

填空類選擇voidf(int*x,int*y)

{

intt;

t=*x;*x=*y;*y=t;

}

main()

{

inta[8]={1,2,3,4,5,6,7,8},i=0,*p,*q;

p=a;q=&a[7];

while(i<4){f(p,q);p++;q--;i++}

for(i=0;i<8;i++)printf("%d,",a[i]);

}

程序運行后輸出結果是

A)8,2,3,4,5,6,7,1,B)5,6,7,8,1,2,3,4,

C)1,2,3,4,5,6,7,8,D)8,7,6,5,4,3,2,1,

填空類選擇main()

{

inta[3][3],*p,i;

p=&a[0][0];

for(i=0;i<9;i++)p[i]=i;

for(i=0;i<3;i++)printf("%d",a[1][i]);

}

程序運行后輸出結果是

A)012B)123C)234D)345

填空類選擇#defineN20

fun(inta[],intn,intm)

{inti,j;

for(i=m;i>=n;i--)a[i+1]=a[i];

}

main()

{

inti,a[N]={1,2,3,4,5,6,7,8,9,10};

fun(a,2,9);

for(i=0;i<5;i++)printf("%d",a[i]);

}

程序運行后輸出結果是

A)10234B)12344C)12334D)12234

填空題-.字符串結束標識是

【2】

。-.以下程序輸出結果是

【3】

main()

{inta=1,b=2;

a=a+b;b=a-b;a=a-b;

printf("%d,%d\n",a,b);

}2,1。-C程序中注釋說明必須以

【1】開頭,以

【2】結束?!敬鸢浮俊?】/*【2】*/-一個C程序必定從

函數開始執行?!敬鸢浮恐鳎ɑ騧ain)

-C語言中標識符能夠分為

、預定義標識符和用戶定義標識符?!敬鸢浮筷P鍵字填空題-.C語言標識符只能由字母、數字和

3種字符組成?!敬鸢浮肯聞澗€-.標識符double、define、const、short和case中只有

不是關鍵字?!敬鸢浮縟efine

-.結構化程序中三種基本結構是:次序結構、

【1】結構和

【2】結構。

【答案】【1】選擇【2】循環-.系統默認C語言源程序文件擴展名是

【1】,經過編譯后生成目標文件擴展名是

【2】,經過鏈接后生成可執行文件擴展名是

【3】?!敬鸢浮俊?】c【2】obj【3】exe填空題-.在TurboC中,一個int型變量在內存中所占字節數是

【1】,一個float型變量在內存中所占字節數是

【2】?!敬鸢浮俊?】2【2】4-.在C語言中,字符串常量“Howareyou?\nIamfine.”長度是

【1】個字節(其中表示空格),它在內存中存放時需要占用

【2】

個字節存放空間?!敬鸢浮俊?】23【2】24填空題-.定義字符變量ch,并使它初值為數字字符’5’

變量定義語句是

。【答案】charch=’5’;(或charch=53;)-.若定義floatx=70.3;則表示式(long)x*’A’+38.5值

類型?!敬鸢浮縟ouble

-.若有定義inta=3,b=2,c;則表示式c=b*=a-1值為

?!敬鸢浮?.表示式9/2*2==9*2/2值是

?!敬鸢浮?填空題-.若定義inta=1,b=2;執行printf(“%3d%-3d”,a,b);后輸出是

(用表示空格)。【答案】

12

-.若定義floata=1352.97856;則printf(“%6.3f~%6d”,a,(int)a);輸出是

(用表示空格)?!敬鸢浮?352.979~1352填空題填空題-.設有以下程序:main(){intn1,n2;scanf("%d",&n2);while(n2!=0){n1=n2%10;n2=n2/10;printf("%d",n1);}}程序運行后,假如從鍵盤上輸入1357;則輸出結果為【4】?7531填空題

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論