2023年國二c語言筆試題庫含答案_第1頁
2023年國二c語言筆試題庫含答案_第2頁
2023年國二c語言筆試題庫含答案_第3頁
2023年國二c語言筆試題庫含答案_第4頁
2023年國二c語言筆試題庫含答案_第5頁
已閱讀5頁,還剩164頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章C語言概述一單項選擇題1.一個C程序的執(zhí)行是從(A)。A)本程序的main函數(shù)開始,到main函數(shù)結(jié)束B)本程序文獻的第一個函數(shù)開始,到本程序文獻的最后一個函數(shù)結(jié)束C)本程序的main函數(shù)開始,到本程序文獻的最后一個函數(shù)結(jié)束D)本程序文獻的第一個函數(shù)開始,到本程序的main函數(shù)結(jié)束2.以下敘述對的的是(C)。A)在C程序中,main函數(shù)必須位于程序的最前面B)C程序的每行中只能寫一條語句C)C語言自身沒有輸入輸出語句D)在對一個C程序進行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯誤3.以下敘述不對的的是(D)。A)一個C源程序可由一個或多個函數(shù)組成B)一個C源程序必須包含一個main函數(shù)C)C程序的基本組成單位是函數(shù)D)在C程序中,注釋說明只能位于一條語句的后面4.C語言規(guī)定,在一個源程序中,main函數(shù)的位置(C)。A)必須在最開始B)必須在系統(tǒng)調(diào)用的庫函數(shù)的后面C)可以任意D)必須在最后5.一個C語言源程序是由(B)。A)一個主程序和若干子程序組成B)函數(shù)組成C)若干過程組成D)若干子程序組成二填空題1.C源程序的基本單位是函數(shù) 。2.一個C源程序中至少應涉及一個main函數(shù)。3.在一個C源程序中,注釋部分兩側(cè)的分界符分別為/*和*/。4.一個函數(shù)是由兩部分組成的,它們分別是函數(shù)首部和函數(shù)體。5.在C語言中,一個函數(shù)的函數(shù)體一般涉及聲明部分和執(zhí)行部分。6.在每個C語句和數(shù)據(jù)定義的最后必須有一個;。7.C語言自身沒有輸入輸出語句。其輸入輸出是由函數(shù)來完畢。8.程序是指一組能使計算機辨認和執(zhí)行的指令,每一個指令都使計算機可以執(zhí)行相應的操作。。9.源程序是指用高級語言編寫的程序。C源程序文獻的擴展名為.c。10.目的程序是指計算機不能辨認和執(zhí)行高級語言程序,只能通過高編譯系統(tǒng)將高級語言程序轉(zhuǎn)化為二進制的目的程序。目的程序文獻的擴展名為.obj。11.可執(zhí)行程序是指將目的函數(shù)和系統(tǒng)的函數(shù)庫以及其它目的函數(shù)鏈接起來行程可執(zhí)行程序??蓤?zhí)行程序文獻的擴展名為.exe。12.上機運營一個C源程序的環(huán)節(jié)一般為:①輸入和編輯源程序;②編譯源程序;③連接庫函數(shù);④生成可執(zhí)行程序。第三章數(shù)據(jù)類型、運算符與表達式一單項選擇題1.下面四個選項中,均不是c語言關(guān)鍵字的選項是(A)。A)defineIFTypeB)getccharprintfC)includescanfcaseD)whilegopow2.C語言中的標記符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符(C)。A)必須為字母B)必須為下劃線C)必須為字母或下劃線D)可以是字母、數(shù)字和下劃線中任一種字符3.下列四個選項中,均是C語言關(guān)鍵字的選項是(B)。A)autoenumincludeB)switchtypedefcontinueC)signedunionscanfD)ifstructtype4.下面四個選項中,均是不合法的用戶標記符的選項是(C)。A)AP_0doB)floatla0_AC)b-agotointD)_123tempint5.以下有4組用戶標記符,其中合法的一組是(C)。A)For-subCaseB)4dDOSizeC)f2_G3IFabcD)WORDvoiddefine6.下列選項中,合法的C語言關(guān)鍵字是(D)。A)VARB)cherC)integerD)default7.下面四個選項中,均是合法整型常量的選項是(A)。A)160-0xffff011B)-0xcdf01a0xeC)–019860120668D)-0x48a0x2e50xe8.下面四個選項中,均是對的的八進制數(shù)或十六進制數(shù)的選項是(C)。A)-100x8f-011B)0abc-0170xcC)010-0x110xf1D)0a12-0x123-0xa9.設C語言中,一個int型數(shù)據(jù)在內(nèi)存中占2個字節(jié),則unsignedint型數(shù)據(jù)的取值范圍為(C)。A)0~255B)0~32767C)0~65535D)0~10.在C語言中,不對的的int類型的常數(shù)是(A)。A)32768B)0C)037D)0xAF(11101111=128+64+32+8+4+2+1)11.下面四個選項中,均是不合法的整型常量的選項是(D)。A)-0f1-0xffff0011B)-0xcdf01712456C)-0189995e2D)-0x48eg-06803f12.下面四個選項中,均是不合法的浮點數(shù)的選項是(B)。A)160.0.12e3B)1232e4.2.e5C)-.18123e40.0D)-e3.2341e313.下面四個選項中,均是合法的浮點數(shù)的選項是(B)。A)+1e+15e-9.403e2B)-.6012e-4-8e5C)123e1.2e-.4+2e-1D)-e3.8e-45.e-014.下列變量定義中合法的是(A)。A)short_a=1-.le-1;B)doubleb=1+5e2.5;C)longdo=0xfdaL;D)float2_and=1-e-3;15.以下選項中合法的字符常量是(B)。A)“B”B)‘\010’C)68D)D16.以下選項中,非法的字符常量是(C)。A)'\t'B)'\17'C)"n"D)'\xaa'17.以下所列的C語言常量中,錯誤的是(B)。A)0xFFB)1.2e0.5C)2LD)‘\72’18.在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是(D)。A)補碼B)反碼C)原碼D)ASCII碼19.下面四個選項中,均是合法轉(zhuǎn)義字符的選項是(A)。A)‘\’’‘\\’‘\n’B)‘\’‘\017’‘\”’C)‘\018’‘\f’‘xab’D)‘\\0’‘\101’‘xlf’20.下面四個選項中,均是不合法的轉(zhuǎn)義字符的選項是(B)。A)‘\””’‘\\’‘\xf’B)‘\1011’‘\’‘\a’C)‘\011’‘\f’‘\}’D)‘\abc’‘\101’‘xlf’21.下面對的的字符常量是(C)。A)“c”B)‘\\’’C)‘W’D)‘’22.下面四個選項中,均是對的的數(shù)值常量或字符常量的選項是(D)。A)0.00f8.9e‘&’B)‘a(chǎn)’3.9e-2.51e1‘\’’C)‘3’0110xff000aD)+0010xabcd2e250.23.下面不對的的字符串常量是(A)A)‘a(chǎn)bc’B)”1212”C)”0”D)””24.在C語言中(以16位PC機為例),5種基本數(shù)據(jù)類型的存儲空間長度的排列順序為(A)。A)char<int<longint<=float<doubleB)char=int<longint<=float<doubleC)char<int<longint=float=doubleD)char=int=longint<=float<double25.若有說明語句:charc='\72';則變量c(A)。A)包含1個字符B)包含2個字符C)包含3個字符D)說明不合法,c的值不擬定26.設變量a是整型,f是實型,i是雙精度型,則表達式10+a+i*f值的數(shù)據(jù)類型為(C)。A)intB)floatC)doubleD)不擬定27.表達式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為(C)。A)intB)floatC)doubleD)不擬定28.設有說明:charw;intx;floaty;doublez;則表達式w*x+z-y值的數(shù)據(jù)類型為(D)。A)floatB)charC)intD)double29.以下選項中屬于C語言的數(shù)據(jù)類型是(C)。A)復數(shù)型B)邏輯型C)雙精度型D)集合型30.以下程序的輸出結(jié)果是(A)main(){charc=‘z';printf(“%c”,c-25);}A)aB)ZC)z-25D)y31.若有定義:inta=7;floatx=2.5,y=4.7;則表達式x+a%3*(int)(x+y)%2/4的值是(A)。A)2.500000B)2.750000C)3.500000D)0.00000032.若有代數(shù)式3ae/bc,則不對的的c語言表達式是(C)。A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*333.設有intx=11;則表達式(x++*1/3)的值是(A)。A)3B)4C)11D)1234.以下變量x.、y、z均為double類型且已對的賦值,不能對的表達數(shù)學式子x/yz的C語言表達式是(A)。A)x/y*zB)x*(1/(y*z))C)x/y*1/zD)x/y/z35.C語言中運算對象必須是整型的運算符是(A)。A)%=B)/C)=D)<=36.下列程序的輸出結(jié)果是(C)。main()

{doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

printf("%d\n",d*y);

}

A)3B)3.2C)0D)3.0737.若x,i,j和k都是int型變量,則計算下面表達式x=(i=4,j=16,k=32)后,x的值為(C)。A)4B)16C)32D)5238.假設所有變量均為整型,則表達式(a=2,b=5,b++,a+b)的值是(B)。A)7B)8C)6D)239.假定x和y為double型,則表達式x=2,y=x+3/2的值是(D)。A)3.500000B)3C)2.000000D)3.00000040.若以下變量均是整型,且num=sum=7;則計算表達式sum=num++,sum++,++num后sum的值為(B)。A)7B)8C)9D)1041.若有定義intk=7,x=12;,則以下能使值為3的表達式是(D)。A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5D)(x%=k)-(k%=5)42.設以下變量均為int類型,則值不等于7的表達式是(C)。A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y)D)(y=6,y+1,x=y,x+1)43.下列程序執(zhí)行后的輸出結(jié)果是(A)。main(){intx=‘f’;printf(“%c\n”,‘A’+(x-‘a(chǎn)’+1));}A)GB)HC)ID)J44.下列程序執(zhí)行后的輸出結(jié)果是(C)。main()

{charx=0xFFFF;printf("%d\n",x--);}A)–32767B)FFFEC)-1D)–3276845.以下程序的輸出結(jié)果是(D)。main()

{inta=3;

printf("%d\n",(a+=a-=a*a));

}

A)-6B)12C)0D)–1246.若變量已對的定義并賦值,下面符合C語言語法的表達式是(B)。A)a:=b+1B)a=b=c+2C)int18.5%3D)a=a+7=c+b47.若有以下程序段,

intc1=1,c2=2,c3;

c3=1.0/c2*c1;

則執(zhí)行后,c3中的值是(A)。A)0B)0.5C)1D)248.有如下程序

main()

{inty=3,x=3,z=1;

printf(“%d%d\n”,(++x,y++),z+2);

}

運營該程序的輸出結(jié)果是(D)。A)34B)42C)43D)3349.已知大寫字母A的ASCII碼為65,以下程序的運營結(jié)果為(A)。#include<stdio.h>main(){charc1=‘A’,c2=‘Y’;printf(“%d,%d\n”,c1,c2);}A)65,89B)A,YC)65,88D)65,9050.以下程序的輸出結(jié)果是(D)。#include<stdio.h>main(){inta=010,b=10;printf(“%d,%d\n”,a++,--b);}A)10,10B)8,10C)10,9D)8,951.以下程序的輸出結(jié)果是(B)。main(){inta,b;a=100;b=200;printf(“%d\n”,(a,b));}A)100B)200C)20230D)100=20052.執(zhí)行語句y=10;x=y++;的結(jié)果是(C)。A)x=10,y=10B)x=11,y=11C)x=10,y=11D)x=11,y=1053.在表達C語言的整型變量時,表達“無符號長整型”的符號是(D)。A)unsignedintB)unsignedshortC)longintD)unsignedlong54.在下列形式的常數(shù)中,C程序不允許出現(xiàn)的是(B)。A).45B)±123C)25.6e-2D)4e355.以下程序的輸出結(jié)果是(C)。main(){floatx=3.6;inti;i=(int)x;printf(“x=%f,i=%d”,x,i);}A)x=3.600000,i=4B)x=3,i=3C)x=3.600000,i=3D)x=3.000000,i=3.60000056.在C語言中,規(guī)定運算數(shù)必須是整型數(shù)據(jù)的運算符是(B)。A)/B)%C)!D)<57.執(zhí)行下列語句的結(jié)果是(D)。i=3;printf(“%d,”,++i);printf(“%d”,i++);A)3,3B)3,4C)4,3D)4,458.已知x=3,y=2,則表達式x*=y+8的值為(C)。A)3B)2C)30D)1459.執(zhí)行語句inti=65536;printf(“%d\n”,i);的結(jié)果是(B)。A)65536B)0C)有語法錯誤,無輸出結(jié)果D)-160.在C語言中,不對的的int類型的常數(shù)是(A)。A)32768B)0C)037D)0xAF61.C語言提供的合法關(guān)鍵字是(D)。A)swicthB)chanC)CaseD)default62.表達“在使用x之前,先使x的值加1”的對的方式是(A)。A)++xB)x++C)+xD)+x+63.設x的值為5,則表達式(++x)+(++x)+(++x)的值是(D)。A)24B)20C)15D)2164.在C語言中,合法的字符常量是(B)。A)‘\084’B)‘\x43’(十六進制)C)‘a(chǎn)b’D)“\0”65.若已定義x和y為double類型,則表達式:x=1,y=x+3/2的值是(C)。A)1B)2C)2.0D)2.666.若t為double類型,表達式t=1,t+5,t++的值是(D)。A)1B)6.0C)2.0D)1.067.若有以下定義和語句,則輸出結(jié)果是(B)。charc1=‘b’,c2=‘e’;printf(“%d,%c\n”,c2-c1,c2-’a’+’A’);A)2,MB)3,EC)2,ED)輸出項與相應的格式控制不一致,輸出結(jié)果不擬定68.設有如下的變量定義:inti=8,a,b;doublex=1.42,y=5.2;則以下符合C語言語法的表達式是(A)。A)a+=a-=(b=4)*(a=3)B)x%(-3)C)a=a*3=2D)y=float(i)69.若有以下定義和語句:intu=010,v=0x10,w=10;printf(“%d,%d,%d\n”,u,v,w);()則輸出結(jié)果是(A)。A)8,16,10B)10,10,10C)8,8,10D)8,10,10二填空題1.若x和a均是int型變量,則計算表達式(1)后的x值為12,計算表達式(2)后的x值為4。(1)x=(a=4,6*2)(2)x=a=4,6*22.若a是int型變量,則表達式(a=4*5,a*2),a+6的值為26。3.若b是int型變量,則表達式b=25/3%3的值為2。4.若s是int型變量,且s=6則下面表達式s%2+(s+1)%2的值為1。5.若a,b和c均是int型變量,則計算表達式a=(b=4)+(c=2)后,a值為6,b值為4,c值為2。6.若x和n均是int型變量,且x和n的初值均為5,則計算表達式x+=n++后x的值為10,n的值為6。7.若有定義:intb=7;floata=2.5,c=4.7;則表達式a+(int)(b/3*(int)(a+c)/2)%4的值為5.5。8.若有定義:inta=2,b=3;floatx=3.5,y=2.5;則表達式(float)(a+b)/2+(int)x%(int)y的值為3.5。9.若有定義:intx=3,y=2;floata=2.5,b=3.5;則表達式(x+y)%2+(int)a/(int)b的值為1。10.若x和n均是整型變量,且x的初值為12,n的初值為5,則計算表達式x%=(n%=2)后x的值為0。11.以下程序的輸出結(jié)果是0。main()

{unsignedshorta=65536;intb;

printf(“%d\n”,b=a);}12.請寫出數(shù)學式a/bc的C語言表達式a/(b*c)。13.設a、b、c為整型數(shù),且a=2、b=3、c=4,則執(zhí)行完語句a*=16+(b++)-(++c)后,a的值是28。第四章最簡樸的C程序設計——順序程序設計一單項選擇題1.printf函數(shù)中用到格式符%5s,其中數(shù)字5表達輸出的字符串占用5列,假如字符串長度大于5,則輸出按方式(B)。A)從左起輸出該字符串,右補空格B)按原字符長從左向右所有輸出C)右對齊輸出該字串,左補空格D)輸犯錯誤信息2.已有定義inta=-2;和輸出語句printf(“%8x”,a);以下對的的敘述是(D)。A)整型變量的輸出形式只有%d一種B)%x是格式符的一種,它可以合用于任何一種類型的數(shù)據(jù)C)%x是格式符的一種,其變量的值按十六進制輸出,但%8x是錯誤的D)%8x不是錯誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度3.若x,y均定義成int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語句是

(D)。A)scanf(“%d%x,%le”,&x,&y,&z);

B)scanf(“%2d*%d,%lf”,&x,&y,&z);

C)scanf(“%x%*d%o”,&x,&y);

D)scanf(“%x%o%6.2f”,&x,&y,&z);(雙精度型用%le,或者%lf)4.以下程序的輸出結(jié)果是(D)。main()

{intk=17;

printf("%d,%o,%x\n",k,k,k);

}A)17,021,0x11B)17,17,17

B)17,0x11,021D)17,21,115.下列程序的運營結(jié)果是(B)。#include<stdio.h>

main()

{inta=2,c=5;

printf("a=%d,b=%d\n",a,c);}A)a=%2,b=%5B)a=2,b=5

C)a=d,b=dD)a=2,c=56.語句printf("a\bre\'hi\'y\\\bou\n");的輸出結(jié)果是(C)。(說明:'\b'是退格符)A)a\bre\'hi\'y\\\bouB)a\bre\'hi\'y\bou

C)re'hi'youD)abre'hi'y\bou

7.x、y、z被定義為int型變量,若從鍵盤給x、y、z輸入數(shù)據(jù),對的的輸入語句是(B)。A)INPUTx、y、z;B)scanf("%d%d%d",&x,&y,&z);

C)scanf("%d%d%d",x,y,z);D)read("%d%d%d",&x,&y,&z);8.若變量已對的說明為float類型,要通過語句scanf("%f%f%f",&a,&b,&c);給a賦于10.0,b賦予22.0,c賦予33.0,不對的的輸入形式是(B):A)10<回車>B)10.0,22.0,33.0<回車>

22<回車>

33<回車>

C)10.0<回車>D)1022<回車>

22.033.0<回車>33<回車>9.以下程序的輸出結(jié)果是(A)。main(){intn;(n=6*4,n+6),n*2;printf(“n=%d\n”,n);}A)24B)12C)26D)2010.以下程序的輸出結(jié)果是(B)。main(){intx=2,y,z;x*=3+1;printf(“%d,”,x++);x+=y=z=5;printf(“%d,”,x);x=y=z;printf(“%d\n”,x);}A)8,14,1B)8,14,5C)8,13,5D)9,14,511.下面程序的輸出結(jié)果是(C)。main(){intx,y,z;x=0;y=z=-1;x+=-z---y;{(-z--)-y}printf(“x=%d\n”,x);}A)x=4B)x=0C)x=2D)x=312.設x為int型變量,則執(zhí)行語句x=10;x+=x-=x-x;后,x的值為(B)。A)10B)20C)40D)3013.只能向終端輸出一個字符的函數(shù)是()。A)printf函數(shù)B)putchar函數(shù)C)getchar函數(shù)D)scanf函數(shù)14.下列程序執(zhí)行后的輸出結(jié)果是(小數(shù)點后只寫一位)(A)。main()

{doubled;floatf;longl;inti;

i=f=1=d=20/3;

printf("%d%ld%f%f\n",i,l,f,d);

}A)666.06.0B)666.76.7C)666.06.7D)666.76.015.在下列敘述中,錯誤的一條是(C)。A)printf函數(shù)可以向終端輸出若干個任意類型的數(shù)據(jù)B)putchar函數(shù)只能向終端輸出字符,并且只能是一個字符C)getchar函數(shù)只能用來輸入字符,但字符的個數(shù)不限D(zhuǎn))scanf函數(shù)可以用來輸入任何類型的多個數(shù)據(jù)16.以下程序的輸出結(jié)果為(B)。main(){charc1=‘a(chǎn)’,c2=‘b’,c3=‘c’;printf(“a%cb%c\tc%c\n”,c1,c2,c3);}A)abcabcabcB)aabbccC)abcD)aaaabb17.若輸入12345和abc,以下程序的輸出結(jié)果是(B)。main(){inta;charch;scanf(“%3d%3c”,&a,&ch);printf(“%d,%c”,a,ch);}A)123,abcB)123,4C)123,aD)12345,abc18.以下程序的輸出結(jié)果是(D)。main(){unsignedx1;intb=-1;x1=b;printf(“%u”,x1);}A)%uB)-1C)%u-1D)6553519.在printf函數(shù)中用來輸出十六進制無符號整數(shù)的格式字符是(B)。A)d格式符B)x格式符C)u格式符D)o格式符20.設a=12、b=12345,執(zhí)行語句printf(“%4d,%4d”,a,b)的輸出結(jié)果為(B)。A)12,123B)12,12345C)12,1234D)12,12345621.以下程序的輸出結(jié)果是(C)。#include<stdio.h>#include<math.h>main(){inta=1,b=4,c=2;floatx=10.5,y=4.0,z;z=(a+b)/c+sqrt((double)y)*1.2/c+x;printf(“%f\n”,z);}A)14.000000B)15.400000C)13.700000D)14.90000022.以下程序的輸出結(jié)果是(D)。main(){inta=2,c=5;printf(“a=%%d,b=%%d\n”,a,c);}A)a=%2,b=%5B)a=%2,c=%5C)a=%%d,b=%%dD)a=%d,b=%d23.請讀程序:main(){inta;floatb,c;scanf(“%2d%3f%4f”,&a,&b,&c);printf(“\na=%d,b=%f,c=%f\n”,a,b,c);}若運營時從鍵盤上輸入<CR>(<CR>表達回車),則上面程序的輸出結(jié)果是(C)。A)a=98,b=765,c=4321B)a=10,b=432,c=8765C)a=98,b=765.000000,c=4321.000000D)a=98,b=765.0,c=4321.024.若有定義:intx,y;chara,b,c;并有以下輸入數(shù)據(jù)(此處<CR>代表回車,∪代表空格):1∪2<CR>A∪B∪C<CR>則能給x賦整數(shù)1,給y賦整數(shù)2,給a賦字符A,給b賦字符B,給c賦字符C的對的程序段是(D)。A)scanf(“x=%d,y=%d”,&x,&y);a=getchar();b=getchar();c=getchar();B)scanf(“%d%d”,&x,&y);a=getchar();b=getchar();c=getchar();C)scanf(“%d%d%c%c%c”,&x,&y,&a,&b,&c);D)scanf(“%d%d%c%c%c%c%c%c”,&x,&y,&a,&a,&b,&b,&c,&c);25.下列可作為C語言賦值語句的是(C)。A)x=3,y=5;B)a=b=6C)i--;D)y=int(x);26.設i是int型變量,f是float型變量,用下面的語句給這兩個變量輸入值:

scanf(“i=%d,f=%f”,&i,&f);

為了把100和765.12分別賦給i和f,則對的的輸入為(B)。A)100<空格>765.12<回車>B)100,765.12<回車>C)100<回車>765.12<回車>D)x=100<回車>y=765.12<回車>27.以下敘述中對的的是(D)。A)輸入項可以是一個實型常量,例如:scanf(“%f”,3.5);B)只有格式控制,沒有輸入項,也能對的輸入數(shù)據(jù)到內(nèi)存,例如:scanf(“a=%d,b=%d”);C)當輸入一個實型數(shù)據(jù)時,格式控制部分可以規(guī)定小數(shù)點后的位數(shù),例如:scanf(“%4.2f”,&f);D)當輸入數(shù)據(jù)時,必須指明變量地址,例如:scanf(“%f”,&f);28.設x和y均為int型變量,則以下語句:x+=y;y=x-y;x-=y;的功能是(D)。A)把x和y按從小到大排序B)把x和y按從大到小排序C)無擬定結(jié)果D)互換x和y中的值二填空題1.下面程序的運營結(jié)果是i:dec=-4,oct=17774,hex=ffffc,unsigned=65532。main(){shorti;i=-4;printf(“\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i);}2.若想通過以下輸入語句使a=5.0,b=4,c=3,則輸入數(shù)據(jù)的形式應當是5.0,4,c=3。intb,c;floata;

scanf("%f,%d,c=%d",&a,&b,&c);

3.下列程序的輸出結(jié)果是16.00,請?zhí)羁铡?/p>

main()

{inta=9,b=2;

floatx=6.6,y=1.1,z;

z=a/2+b*x/y+1/2;(1/2=0,a/2=4)

printf("%5.2f\n",z);

}4.在printf格式字符中,只能輸出一個字符的格式字符是%c;用于輸出字符串的格式字符是%s;以小數(shù)形式輸出實數(shù)的格式字符是%f;以標準指數(shù)形式輸出實數(shù)的格式字符是%e。三編程題1.若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下的輸出格式和結(jié)果,請寫出完整的程序(涉及定義變量類型和設計輸出)。規(guī)定輸出的結(jié)果如下:a=<空格>3<空格><空格>b=<空格>4<空格><空格>c=<空格>5x=1.202300,y=2.400000,z=-3.600000x+y=<空格>3.60<空格><空格>y+z=-1.20<空格><空格>z+x=-2.40u=<空格>51274<空格><空格>n=<空格><空格><空格>128756c1=a<空格>or<空格>97(ASCII)c2=B<空格>or<空格>98(ASCII)2.輸入一個華氏溫度,規(guī)定輸出攝氏溫度。公式為輸出要有文字說明,取2位小數(shù)。3.編程序,用getchar函數(shù)讀入兩個字符給c1、c2,然后分別用putchar函數(shù)和printf函數(shù)輸出這兩個字符。三編程題1.解:main(){inta=3,b=4,c=5;longintu=51274,n=128765;floatx=1.2,y=2.4,z=-3.6;charc1=’a’,c2=’b’;printf(“\n”);printf(“a=%2db=%2dc=%2d\n”,a,b,c);printf(“x=%8.6f,y=%8.6f,c=%9.6f\n”,x,y,z);printf(“x+y=%5.2fy+z=%5.2fz+x=%5.2f\n”,x+y,y+z,z+x);printf(“u=%6ldn=%9ld\n”,u,n);printf(“c1=%cor%d(ASCII)\n”,c1,c1);printf(“c2=%cor%d(ASCII)\n”,c2,c2);}2.解:main(){floatc,f;printf(“請輸入一個華氏溫度:\n”);scanf(“%f”,&f);c=(5.0/9.0)*(f-32);printf(“攝氏溫度為:%.2f\n”,c);}3.解:#include<stdio.h>main(){charc1,c2;printf(“請輸入兩個字符給c1和c2:\n”);c1=getchar();c2=getchar();printf(“用putchar函數(shù)輸出結(jié)果為:\n”);putchar(c1);putchar(c2);printf(“\n用printf函數(shù)輸出結(jié)果為:\n”);printf(“%c,%c\n”,c1,c2);}第五章選擇結(jié)構(gòu)程序設計一單項選擇題1.邏輯運算符兩側(cè)運算對象的數(shù)據(jù)類型是(D)。A)只能是0或1B)只能是0或非0正數(shù)C)只能是整型或字符型數(shù)據(jù)D)可以是任何類型的數(shù)據(jù)2.已知x=43,ch='A',y=0;則表達式(x>=y&&ch<'B'&&!y)的值是(C)。A)0B)語法錯C)1D)“假”3.已知intx=10,y=20,z=30;以下語句執(zhí)行后x,y,z的值是(B)。if(x>y)z=x;x=y;y=z;A)x=10,y=20,z=30B)x=20,y=30,z=30C)x=20,y=30,z=10D)x=20,y=30,z=204.執(zhí)行下列語句后a的值為(),b的值為(C)。inta,b,c;a=b=c=1;++a||++b&&++c;A)錯誤1B)22C)21D)115.若希望當A的值為奇數(shù)時,表達式的值為“真”,A的值為偶數(shù)時,表達式的值為“假”,則以下不能滿足規(guī)定的表達式是(C)。A)A%2==1B)!(A%2==0)C)!(A%2)D)A%26.設有:inta=1,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a>b)&&(n=c>d)后n的值是(B)。A)0B)2C)3D)47.判斷char型變量cl是否為小寫字母的對的表達式是(D)。A)‘a(chǎn)’<=cl<=‘z’B)(cl>=a)&&(cl<=z)C)(‘a(chǎn)’>=cl)||(‘z’<=cl)D)(cl>=‘a(chǎn)’)&&(cl<=‘z’)8.以下不對的的if語句形式是(C)。A)if(x>y&&x!=y);B)if(x==y)x+=y;C)if(x!=y)scanf(“%d”,&x)elsescanf(“%d”,&y)D)if(x<y){x++;y++;}9.請閱讀以下程序:main(){inta=5,b=0,c=0;if(a=b+c)printf(“***\n”);elseprintf(“$$$\n”);}以上程序(D)。A)有語法錯不能通過編譯B)可以通過編譯但不能通過連接C)輸出***D)輸出$$$10.當a=1,b=3,c=5,d=4時,執(zhí)行完下面一段程序后x的值是(B)。if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;A)1B)2C)3D)611.以下程序的輸出結(jié)果是(C)。main(){inta=100,x=10,y=20,ok1=5,ok2=0;if(x<y)if(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;printf(“%d\n”,a);}A)1B)10C)-1D)值不擬定12.以下程序的輸出結(jié)果是(B)。main(){intx=2,y=-1,z=2;if(x<y)if(y<0)z=0;elsez+=1;printf(“%d\n”,z);}A)3B)2C)1D)013.為了避免在嵌套的條件語句if-else中產(chǎn)生二義性,C語言規(guī)定:else子句總是與(B)配對。A)縮排位置相同的ifB)其之前最近的ifC)其之后最近的ifD)同一行上的14.若有條件表達式(exp)?a++:b--,則以下表達式中能完全等價于表達式(exp)的是(B)。A)(exp==0)B)(exp!=0)C)(exp==1)D)(exp!=1)15.若運營時給變量x輸入12,則以下程序的運營結(jié)果是(A)。main(){intx,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\n”,y);}A)0B)22C)12D)1016.語句:printf("%d",(a=2)&&(b=-2));的輸出結(jié)果是(D)。A)無輸出B)結(jié)果不擬定C)-1D)117.當c的值不為0時,在下列選項中能對的將c的值賦給變量a、b的是(C)。A)c=b=a;B)(a=c)||(b=c);C)(a=c)&&(b=c);D)a=c=b;18.能對的表達a和b同時為正或同時為負的表達式是(D)。A)(a>=0||b>=0)&&(a<0||b<0)B)(a>=0&&b>=0)&&(a<0&&b<0)

C)(a+b>0)&&(a+b<=0)D)a*b>019.能對的表達邏輯關(guān)系:“a≥10或a≤0”的C語言表達式是(D)。A)a>=10ora<=0B)a>=0|a<=10C)a>=10&&a<=0D)a>=10||a<=020.有如下程序段

inta=14,b=15,x;

charc=‘A’;

x=(a&&b)&&(c<‘B’);

執(zhí)行該程序段后,x的值為(D)。A)tureB)falseC)0D)121.以下程序的輸出結(jié)果是(C)。A)-11B)01C)10D)00

main()

{inta=-1,b=1,k;

if((++a<0)&&!(b--<=0))

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

else

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

}22.與y=(x>0?1:x<0?-1:0);的功能相同的if語句是(A)。A)if(x>0)y=1;B)if(x)

elseif(x<0)y=-1;if(x>0)y=1;

elsey=0;elseif(x<0)y=-1;

elsey=0;

C)y=-1D)y=0;

if(x)if(x>=0)

if(x>0)y=1;if(x>0)y=1;

elseif(x==0)y=0;elsey=-1;

elsey=-1;23.閱讀以下程序:

main()

{intx;

scanf("%d",&x);

if(x--<5)printf("%d",x);

elseprintf("%d",x++);

}

程序運營后,假如從鍵盤上輸人5,則輸出結(jié)果是(B)。A)3B)4C)5D)624.假定w、x、y、z、m均為int型變量,有如下程序段:

w=1;x=2;y=3;z=4;

m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;

則該程序運營后,m的值是(D)。A)4B)3C)2D)125.有如下程序

main()

{floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=1.0/x;

elsey=1.0;

printf(“%f\n”,y);

}

該程序的輸出結(jié)果是(C)。A)0.000000B)0.250000C)0.500000D)1.00000026.有如下程序

main()

{inta=2,b=-1,c=2;

if(a)if(b<0)c=0;

elsec++;

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

}

該程序的輸出結(jié)果是(A)。A)0B)1C)2D)327.若有定義:floatw;inta,b;則合法的switch語句是(C)。A)switch(w)Bswitch(x)

{case1.0:printf("*\n");{case1,2:printf("*\n");

case2.0:printf("**\n");case3:printf("**\n");

}無default語句}

C)switch(b)D)switch(a+b);

{case1:printf("*\n");{case1:printf("*\n");

default:printf("\n");case2:printf("**\n");

case1+2:printf("**\n");default:printf("\n");

}}

28.若a、b、c1、c2、x、y均是整型變量,對的的switch語句是(D)。A)swich(a+b);B)switch(a*a+b*b)

{case1:y=a+b;break;{case3:

case0:y=a-b;break;case1:y=a+b;break;

}case3:y=b-a;break;

}

C)switchaD)switch(a-b)

{casec1:y=a-b;break;{default:y=a*b;break;

casec2:x=a*d;break;case3:case4:x=a+b;break;

default:x=a+b;case10:case11:y=a-b;break;

}}

29.有如下程序

main()

{intx=1,a=0,b=0;

switch(x){

case0:b++;

case1:a++;

case2:a++;b++;

}

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

}

該程序的輸出結(jié)果是(A)。A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=230.當輸入19、2、21時,以下程序的輸出結(jié)果是(A)。main(){inta,b,c,max;

printf(“pleaseinputthreenumbersa,b,c:\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf(“maxis:%d\n”,max);

}

A)maxis:21B)maxis:19C)maxis:42D)maxis:4031.若輸入B,以下程序的輸出結(jié)果是(C)。main(){chargrade;

scanf(“%c”,&grade);switch(grade){case‘A’:printf(“>=85.”);case‘B’:case‘C’:printf(“>=60.”);case‘D’:printf(“<60.”);default:printf(“error.”);}}

A)>=85.B)>=60.C)>=60.<60.error.D)error.32.當執(zhí)行以下語句后的輸出結(jié)果是(D)。intx=3,y=0;printf(“%d,%d”,-1>x>-10&&1<x<10,-1>y>-10&&1<y<10);A)03B)30C)33D)1133.執(zhí)行x=5>1+2&&2||2*4<4-!0后,x的值為(C)。A)-1B)0C)1D)534.以下程序的輸出結(jié)果為(C)。main(){inta,b,c,x,y,z;

a=10;b=2;c=!(a%b);x=!(a/b);y=(a<b)&&(b>=0);z=(a<b)||(b>=0);printf(“c=%d,x=%d,y=%d,z=%d\n”,c,x,y,z);

}

A)c=0,x=1,y=1,z=0B)c=5,x=0,y=1,z=0C)c=1,x=0,y=0,z=1D)c=10,x=2,y=0,z=135.下列運算符中,不屬于關(guān)系運算符的是(D)。A)<B)>=C)==D)!36.以下程序的輸出結(jié)果是(B)。main(){inta,b,d=241;

a=d/100%9;b=(-1)&&(-1);printf(“%d,%d\n”,a,b);

}

A)6,1B)2,1C)6,0D)2,037.設ch是char型變量,其值為A,且有下面的表達式:ch=(ch>=‘A’&&ch<=‘Z’)?(ch+32):ch上面表達式的值是(B)。A)AB)aC)ZD)z38.若k是int型變量,且有下面的程序片段:k=-3;if(k<=0)printf(“####”)elseprintf(“&&&&”)上面程序片段的輸出結(jié)果是(D)。A)####B)&&&&C)####&&&&D)有語法錯誤,無輸出結(jié)果39.請讀程序:main(){floatx,y;scanf(“%f”,&x);if(x<0.0)y=0.0;elseif((x<5.0)&&(x!=2.0))y=1.0/(x+2.0);elseif(x<10.0)y=1.0/x;elsey=10.0;printf(“%f\n”,y);}若運營時從鍵盤上輸入2.0<CR>(<CR>表達回車),則上面程序的輸出結(jié)果是(C)。A)0.000000B)0.250000C)0.500000D)1.00000040.請讀程序: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é)果是(A)。A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=241.為表達關(guān)系x≥y≥z,應使用C語言表達式(A)。A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)C)(x>=y>=z)D)(x>=y)||(y>=z)42.若規(guī)定在if后一對圓括號中表達a不等于0的關(guān)系,則能對的表達這一關(guān)系的表達式為(D)。A)a<>0B)!aC)a=0D)a43.兩次運營下面的程序,假如從鍵盤上分別輸入6和4,則輸出結(jié)果是(A)。main(){intx;scanf(“%d”,&x);if(x++>5)printf(“%d”,x);elseprintf(“%d\n”,x--);}A)7和5B)6和3C)7和4D)6和444.以下程序的輸出結(jié)果是(D)。main(){inta=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf(“%d%d%d\n”,k,a,b);}A)104B)103C)003D)00445.設a為整型變量,不能對的表達數(shù)學關(guān)系10<a<15的C語言表達式是(A)。A)10<a<15B)a==11||a==12||a==13||a==14C)a>10&&a<15D)!(a<=10)&&!(a>=15)46.假定所有變量均已對的說明,下列程序段運營后x的值是(B)。a=b=c=0;x=35;if(!a)x--;elseif(b);if(c)x=3;elsex=4;A)34B)4C)35D)347.設a=1,b=2,c=3,d=4,則表達式a<b?a:c>d?a:d的結(jié)果是(D)。A)4B)3C)2D)148.當a=1,b=3,c=5,d=4時,執(zhí)行下面一段程序后,x的值為(B)。if(a<b)if(c<b)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;A)1B)2C)3D)649.在執(zhí)行以下程序時,為了使輸出結(jié)果為t=4,則給a和b輸入的值應滿足的條件是(C)。main(){ints,t,a,b;scanf(“%d,%d”,&a,&b);s=1;t=1;if(a>0)s=s+1;if(a>b)t=s+t;elseif(a==b)t=5;elset=2*s;printf(“t=%d\n”,t);}A)a>bB)a<b<0C)0<a<bD)0>a>b50.設intx=1,y=1;表達式(!x||y--)的值是(B)。A)0B)1C)2D)-151.若變量a、i已對的定義,且i已對的賦值,合法的語句是(B)。A)a==1B)++i;C)a=a++=5;D)a=int(i);52.以下程序的輸出結(jié)果為(C)。main(){inta=2,b=-1,c=2;if(a<b)if(b<0)c=0;elsec++;printf(“%d\n”,c);}A)0B)1C)2D)3二填空題1.若從鍵盤輸入58,則以下程序輸出的結(jié)果是585858。main(){inta;scanf(“%d”,&a);if(a>50)printf(“%d”,a);if(a>40)printf(“%d”,a);if(a>30)printf(“%d”,a);}2.下面程序的運營結(jié)果是-1。main(){inta=2,b=3,c;c=a;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;printf(“%d\n”,c);}3.以下程序?qū)崿F(xiàn):輸入三個整數(shù),按從大到小的順序進行輸出。請?zhí)羁?。main(){intx,y,z,c;scanf(“%d%d%d”,&x,&y,&z);if(y>x){c=x;x=y;y=c;}if(z>x){c=x;x=z;z=c;}if(z>y){c=y;y=z;z=c;}printf(“%d%d%d”,x,y,z);}4.假如運營時輸入字符Q,則下面程序的運營結(jié)果是Q。main(){charch;scanf(“%c”,&ch);ch=(ch>=‘A’&&ch<=‘Z’)?(ch+32):ch;ch=(ch>=‘a(chǎn)’&&ch<=‘z’)?(ch-32):ch;printf(“%c”,ch);}5.若x為int類型,請以最簡樸的形式寫出與邏輯表達式!x等價的C語言關(guān)系表達式x==0。6.表達“整數(shù)x的絕對值大于5”時值為“真”的C語言表達式是x>5||x<-5。7.下列程序段的輸出結(jié)果是passwarn。intn='c';

switch(n++)

{default:printf("error");break;

case'a':case'A':case'b':case'B':printf("good");break;

case'c':case'C':printf("pass");

case'd':case'D':printf("warn");

}

8.以下程序?qū)蓚€數(shù)從小到大輸出。main(){floata,b,t;scanf("%f%f",&a,&b);if(a>b){t=a;a=b;b=t;}printf(“%5.2f,%5.2f\n”,a,b);}9.若輸入8642,以下程序的輸出結(jié)果為place=4,每位數(shù)字為:8,6,4,2。main(){longintnum;intgw,sw,bw,qw,ww,place;printf(“請輸入一個0~99999之間的整數(shù):”);scanf(“%ld”,&num);if(num>9999)place=5;elseif(num>999)place=4;elseif(num>99)place=3;elseif(num>9)place=2;elseplace=1;printf(“place=%d,”,place);printf(“每位數(shù)字為:”);ww=num/10000;qw=(num-ww*10000)/1000;bw=(num-ww*10000-qw*1000)/100;sw=(num-ww*10000-qw*1000-bw*100)/10;gw=num-ww*10000-qw*1000-bw*100-sw*10;switch(place){case5:printf(“%d,%d,%d,%d,%d”,ww,qw,bw,sw,gw);break;case4:printf(“%d,%d,%d,%d”,qw,bw,sw,gw);break;case3:printf(“%d,%d,%d”,bw,sw,gw);break;case2:printf(“%d,%d”,sw,gw);break;case1:printf(“%d”,gw);break;}}10.若輸入1988,程序運營的結(jié)果為1988年是閏年;若輸入1989,則結(jié)果為1989年不是閏年。main(){intyear,leap;scanf(“%d”,&year);if(year%4)leap=0;elseif(year%100)leap=1;elseif(year%400)leap=0;elseleap=1;if(leap)printf(“%d年是閏年。\n”,year);elseprintf(“%d年不是閏年。\n”,year);}11.用以下程序把大寫字母A~Z轉(zhuǎn)換成相應的小寫字母a~z,其他字符不轉(zhuǎn)換。main(){charch;scanf("%c",&ch);ch=(ch>='A'&&ch<='Z')?ch+32:ch;printf(“char=%c\n”,ch);}12.條件“20<x<30或x<-100”的C語言表達式是x>20&&x<30||x<=-100。13.若已知a=10,b=20,則表達式!a<b的值為1。14.若已定義inta=25,b=14,c=19;以下三目運算符(?:)所構(gòu)成的語句的執(zhí)行結(jié)果是###a=26,b=13,c=19。a++<=25&&b--<=2&&c++?printf(“***a=%d,b=%d,c=%d\n”,a,b,c):printf(“###a=%d,b=%d,c=%d\n”,a,b,c);15.以下兩條if語句可合并成一條if語句為if(a>b){y=2;printf("****y=%d\n",y);}else{x=1;printf("####x=%d\n",x);}。if(a<=b)x=1;elsey=2;if(a>b)printf(“****y=%d\n”,y);elseprintf(“####x=%d\n”,x);第六章循環(huán)控制一單項選擇題1.下面程序段的運營結(jié)果是(C)。intn=0;while(n++<=2);printf(“%d”,n);A)2B)3C)4D)有語法錯2.設有程序段:t=0;while(printf(“*”)){t++;if(t<3)break;}下面描述對的的是(D)。A)其中循環(huán)控制

溫馨提示

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

評論

0/150

提交評論