版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
C語言試題(9)
選擇題(50x2=100)
1.一個c程序的執(zhí)行是從()。
A)本程序的main函數(shù)開始,到main函數(shù)結(jié)束
B)本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束
C)本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束
D)本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束
2.以下敘述不正確的是()。
A)一個C源程序可由一個或多個函數(shù)組成
B)一個C源程序必須包含一個main函數(shù)
C)C程序的基本組成單位是函數(shù)
D)在C程序中,注釋說明只能位于一條語句的后面
3.一個C語言程序是由()o
A)一個主程序和若干子程序組成B)函數(shù)組成
C)若干過程組成D)若干子程序組成
4.若x,i,j和k都是int型變量,則執(zhí)行下面表達(dá)式后x的值為()。
x=(i=4,j=16,k=32)
A)4B)16C)32D)52
5.下列四組選項中,均不是C語言關(guān)犍字的選項是()。
A)defineB)getcQincludeD)while
IFcharscanfgo
typeprintfcasepow
6.下面四個選項中,均是不合法的用戶標(biāo)識符的選項是()。
A)AB)floatC)b-aD)_123
P.OlaOgototemp
do_AintINT
7.下面四個選項中,均是合法轉(zhuǎn)義字符的選項是()o
A)VB)VC)*\018'D)\\0'
3'\0\Tuor
\n'V”'xab1\lf
8.下面正確的字符常量是()。
A)"a"B)W'C)'WD)"
9.下面不正確的字符串常量是()o
A),abc,B)"12'12"C)n0"D),,H
10.已知各變量的類型說明如下:
intk,a,b;
unsignedlongw=5;
doublex=1.42;
則以下不符合C語言語法的表達(dá)式是()o
A)x%(-3)B)w+=-2
C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)
11.以下不正確的敘述是()。
A)在C程序中,逗號運算符的優(yōu)先級最低
B)在C程序中,APH和aph是兩個不同的變量
C)若a和b類型相同,在執(zhí)行了賦值表達(dá)式a=b后b中的值將放人a中,而b中的值不變。
D)當(dāng)從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型數(shù)值。
12.以下符合C語言語法的賦值表達(dá)式是(
A)d=9+e+f=d+9B)d=9+e,f=d+9
C)d=9+e,e++,d+9D)d=9+e++=d+7
13.在C語言中,要求運算數(shù)必須是整型的運算符是()。
A)/B)++C)!=D)%
14.在C語言中,int、char和short種類型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)()。
A)由用戶自己定義B)均為2個字節(jié)
。是任意的D)由所用機(jī)器的機(jī)器字長決定
15.若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是()。
A)2.500000B)2.750000C)3.500000D)0.000000
16.設(shè)變量a是整型,f是實型,i是雙精度型,則表達(dá)式10+H+i*f值的數(shù)據(jù)類型為()。
A)intB)floatC)doubleD)不確定
17.在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是()。
A)補(bǔ)碼B)反碼C)原碼D)ASCII碼
18.表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為()。
A)intB)floatQdoubleD)不確定
19.設(shè)有說明:charw;intx;floaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為()。
A)floatB)charC)intD)double
20.設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是()。
A)(x=y=6,x+y,x+l)B)(x=y=6,x+y,y+l)
C)(x=6,x+l,y=6,x+y)D)(y=6,y+l,x=y,x+l)
21.printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長
度大于5,則輸出按方式()。
A)從左起輸出該字串,右補(bǔ)空格
B)按原字符長從左向右全部輸出
C)右對齊輸出該字串,左補(bǔ)空格
D)輸出錯誤信息
22.已有定義inta=-2;和輸出語句:printf("%81x",a);以下正確的敘述是()。
A)整型變量的輸出格式符只有%d一種
B)%x是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù)
C)%x是格式符的一種,其變量的值按十六進(jìn)制輸出,但%81x是錯誤的
D)%81x不是錯誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度
23.已有如下定義和輸入語句,若要求al,a2,cl,c2值分別為10,20,A和B,當(dāng)從第一列開始輸
入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是()o
intal,a2;charcl,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
A)10A20B<CR>B)10A20B<CR>
C)10A20<CR>D)10A20B<cR>?
24.已有定義intx;floaty;且執(zhí)行scanf("%3d%f",&x,&y);語句,若從第一列開始輸入數(shù)
據(jù)12345678(回車),則y的值為()。
A)無定值B)45.0000C)678.000000D)123.00000
25.已有程序段和輸入數(shù)據(jù)的形式如下,程序中輸入語句的正確形式應(yīng)當(dāng)為()o
main()
{inta;floatf;
printf("\nlnputnumber:");
輸入語句
printf("\nf=%f,a=%d\n,f,a);
)
Inputnumber:4.52<CR>
A)scanf("%d,%f",&a,&0;B)scanf("%f,%d",&f,&a)
C)scanf("%d%f',&a,&f);D)scanf("%f%d",&f,&a);
26.閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為25,13,10<CR>正確的輸出結(jié)果為()。
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=35
C)x+z=35D)不確定值
27.以下說法正確的是()。
A)輸入項可以為一實型常量,如scanf("%f”,3.5);
B)只有格式控制,沒有輸入項,也能進(jìn)行正確輸入,如scanf("a=%d,b=%d");
C)當(dāng)輸入一個實型數(shù)據(jù)時,格式控制部分應(yīng)規(guī)定小數(shù)點后的位數(shù),如scanf("%4.2f",&f);
D)當(dāng)輸入數(shù)據(jù)時,必須指明變量的地址,如scanf("%f",&f);
28.有輸入語句:scanf("%d,%d,%d”,&a,&b,&c);為使變量a的值為l,b為3,c為2,從鍵盤輸
入數(shù)據(jù)的正確形式應(yīng)當(dāng)是()o
A)132(回車)B)1,3,2(回車)C)123(回車)D)a=l,b=3,c=2(回車)
29.已知ch是字符型變量,下面不正確的賦值語句是()。
A)ch='a+b';B)ch=、O';C)ch='7'+'9';D)ch=5+9;
30.若有以下定義,則正確的賦值語句是()。
inta,b;floatx;
A)a=1,b=2,B)b++;C)a=b=5D)b=int(x);
31.下面正確的字符常量是()。
A、"c"B、N"C、"D、,k'
32.以下敘述不正確的是()。
A、在C程序中,逗號運算符的優(yōu)先級最低
B、在C程序中,MAX和max是兩個不同的變量
C、若a和b類型相同,在計算了賦值表達(dá)式a=b后,b中的值將放入a中,而b中的值不
變
D、從鍵盤輸入數(shù)據(jù)時;對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型數(shù)值
33.以下敘述正確的是()。
A、在C程序中,每行只能寫一條語旬
B、若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數(shù)據(jù)
C、在C程序中,%是只能用于整數(shù)運算的運算符
D、在C程序中,無論是整數(shù)還是實數(shù),都有能被準(zhǔn)確無誤地表示
34.已知字母A的ASCH碼為十進(jìn)制65,且c2為字符型,則執(zhí)行知=2'+'6。'3'后,c2中
的值為()。
A、DB、68C、不確定的值D、C
35.若一個int型數(shù)據(jù)在內(nèi)存中占2個字節(jié),WlJunsignedint型數(shù)據(jù)的取值范圍為()。
A、0-255B、0?32767C、0-65535D、0?2147483647
36.設(shè)在說明:charw;intx;floaty;doublez;,則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為()。
A、floatcharC、intD^double
37.若x、i、j、k都是int型變量,則通過計算x=(i=4,j=16,k=32)表達(dá)式后,x的值為()。
A、4B、16C、32D、52
38.設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是()。
A、(x=y=6,x+y,x+l)B、(x=y=6,x+y,y+l)
C、(x=6,x+l,y=6,x+y)D、(y=6,y+l,x=y,x+l)
39.若inta,b,c;則為它們輸入數(shù)據(jù)的正確輸入語句是()。
A、read(a,b,c);B、scanf(<4%d%d%d,,,a,b,c);
C、scanf(tt%d%d%d,,,&a,%b,%c);D、scanf(tt%d%d%d,,,&a,&b,&c);
40.若floata,b,c;要通過語句:scanf("%f%f%F',&a,&b,&c);分別為a,b,c輸入10,22,33。
以下不正確的輸入形式是()。
A、10B、10.0,22.0,33.0C、10.0D、1022
2022.033.033
33
41.執(zhí)行語句:printf(ul%10.5fl\n",12345.678);的輸出是(4
A、112345.678001B、112345.67801C、112345.678001D、112345.6781
42.若有以下程序段,其輸出結(jié)果是()。
inta=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(<<%d,%d,%d\n,\a,b,c);
A、3,0,-10B、0,0,5C、-10,3,-10D、3,0,3
43.若a為int類型,且a=125,執(zhí)行語句printfC<%d,%o,%x\nM,a,a+l,a+2);后的輸出是()。
A、25,175,7DB、125,176,7FC、125,176,7DD、125,175,2F
44.若在鍵盤上輸入:283.1900,想使單精度實型變量c的值為283.19,則正確的輸入語句
是()。
A、scanfC4%f\&c);B、scanf(4t%8.4f\&c);C、scanf(t4%6.2f\&c);D、scanf("%8”,&c);
45.if語句的控制條件()o
A、只能用關(guān)系表達(dá)式B、只能用關(guān)系表達(dá)式或邏輯表達(dá)式
C、只能用邏輯表達(dá)式D、可以用任何表達(dá)式
46.執(zhí)行以下程序段后,&b,c的值分別是()。
inta,b=100,c,x=10,y=9;
a=(-x==y++)?—x:++y;
if(x<9)b=x++;c=y;
A、9,9,9B、8,8,10C、9,10,9D、1,11,10
47.執(zhí)行下列程序段后,x、y和z的值分別是()。
intx=10,y=20,z=30;
if(x<y){z=x;x=y;y=z;}
A、10,20,30B、20,30,30C、20,10,10D、20,30,20
48.以下程序的輸出結(jié)果是()。
main()
{intw=4,x=3,y=2,z=l;
if(x>y&&!(z==w))printf(4<%d\n,,,(w<x?w:z<y?z:x"));
elseprintf("%d\n”,(w>x?w:z>y?z:x"));)
}
A、1B、2C、3D、4
49.若執(zhí)行以下程序時從鍵盤上輸入3口4,則輸出結(jié)果是()(□表示空格)。
main()
{inta,b,s;
scanf(t4%d%d,,,&a,&b);
s=a;
if(a<b)s=b;
s*=s;
printf(<<%d\n,,,s);
)
A、14B、16C、18D、20
50.使用語句scanf("x=%f,y=%F',&x,&y):輸入變量x、y的值(口代表空格),正確的輸入
是()?
A、1.25,2.4B、1.25a2.4C、x=1.25,y=2.4D、x=1.25ny=2.4
一、選擇題
(11)以下敘述中正確的是
A)構(gòu)成C程序的基本單位是函數(shù)
B)可以在一個函數(shù)中定義另一個函數(shù)
C)main()函數(shù)必須放在其他函數(shù)之前
D)C函數(shù)定義的格式是K&R格式
(13)一個C語言程序是由
A)一個主程序和若干子程序組成
B)函數(shù)組成
C)若干過程組成
D)若干子程序組成
(14)請選出可用作C語言用戶標(biāo)識符的是
A)void,define,WORD
B)a3_b3,」23,IF
C)FOR,一abc,case
D)2a,Do,Sizeof
(15)下列各數(shù)據(jù)類型不屬于構(gòu)造類型的是
A)枚舉型
B)共用型
C)結(jié)構(gòu)型
D)數(shù)組型
(17)以下不正確的敘述是
A)在C程序中,逗號運算符的優(yōu)先級最低
B)在C程序中,APH和aph是兩個不同的變量
C)若a和b類型相同,在計算了賦值表達(dá)式a=b后b中的值將放入a中,而b中的值
不變
D)當(dāng)從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實
型數(shù)值
(18)sizeof(float)是
A)一個雙精度型表達(dá)式
B)一個整型表達(dá)式
C)一種函數(shù)調(diào)用
D)一個不合法的表達(dá)式
(19)若x,i,j和k都是int型變量,則計算表達(dá)式x=(i=4,j=16,k=32)后,x的值為
A)4
B)16
C)32
D)52
(20)下面程序的功能是把316表示為兩個加數(shù)的和,使兩個加數(shù)分別能被13和11整除,
請選擇填空。
#include
main()
{inti=0,j,k;
do{i++;k=316-13*i;}while(______);
j=k/ll;
printf("316=13*%d+ll*%d”,i,j);
A)k/11
B)k
C)k/ll==O
D)k==0
(22)下面程序的運行結(jié)果是
#include
main()
{inty=10;
do{y--;}whi1e(-y);
printf(〃%d\n〃,y—);
)
A)-1
B)1
C)8
D)0
(25)設(shè)有intx=ll;則表達(dá)式(x++*l/3)的值是
A)3
B)4
C)11
D)12
(27)下列程序的輸出結(jié)果是
main()
{doubled=3.2;intx,y;
x=l.2;y=(x+3.8)/5.0;
printfd*y);
)
A)3
B)3.2
C)0
D)3.07
(31)設(shè)有數(shù)組定義:chararray[]二〃China”;則數(shù)組array所占的空間為
A)4個字節(jié)
B)5個字節(jié)
C)6個字節(jié)
D)7個字節(jié)
(33)以下不正確的定義語句是
A)doublex[5]=⑵0,4.0,6.0,8.0,10.0};
B)inty[5]={0,1,3,5,7,9};
C)charcl□={‘1'J2'J3'J4'J5'};
D)charc2[]={z\xl0','\xa,,1\x8z};
(36)C語言允許函數(shù)類型缺省定義,此時函數(shù)值隱含的類型是
A)float
B)int
C)long
D)double
(37)以下程序有語法錯誤,有關(guān)錯誤原因的正確說法是
main()
{intG=5,k;
voidprt_char();
k=prt_char(G);
)
A)語句voidprtchar();有錯,它是函數(shù)調(diào)用語句,不能用void說明
B)變量名不能使用大寫字母
C)函數(shù)說明和函數(shù)調(diào)用語句之間有矛盾
D)函數(shù)名不能使用下劃線
(38)以下敘述中不正確的是
A)在不同的函數(shù)中可以使用相同的名字的變量
B)函數(shù)中的形式參數(shù)是局部變量
C)在一個函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
D)在一個函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效
(39)有以下程序:
ttinclude
unionpw
{inti;
charch[2];}a;
main()
{a.ch[0]=13;a.ch[1]=0;printfa.i);}
程序的輸出結(jié)果是
A)13
B)14
C)208
D)209
(41)下面程序的運行結(jié)果是
#include
main()
{inta=l,b=10;
do
{b~=a;a++;}while(b一一<0);
printf(,za=%d,b=%d\,a,b);
)
A)a=3,b=ll
B)a=2,b=8
C)a=l,b=-l
D)a=4,b=9
(42)以下程序的輸出結(jié)果是
voidreverse(inta[],intn)
{inti,t;
for(i=0;i
{t=a[i];a[i]=a[n-l-i];a[n-l-i]=t;}
)
main()
{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
printf(〃%d\n〃,s);
)
A)22
B)10
C)34
D)30
(43)有如下程序:
longfib(intn)
{if(n>2)return(fib(n-l)+fib(n-2));
elsereturn(2);
)
main()
{printf(3));}
該程序的輸出結(jié)果是
A)2
B)4
C)6
D)8
(44)假定以下程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在此可執(zhí)行文件所在
目錄的DOS提示符下鍵入:
PROGABCDEFGHIJKL〈回車》,則輸出結(jié)果為
main(intargc,char*argv[])
{while(--argc>0)
printf(/z%s,z,argv[argc]);
printf(〃\n〃);
)
A)ABCDEFG
B)IJHL
C)ABCDEFGHIJKL
D)IJKLABCDEFGH
(45)以下程序有錯,錯誤原因是
main()
{int*p,i;char*q,ch;
p二&i;
q=&ch;
*p=40;
*p=*q;
)
A)p和q的類型不一■致,不能執(zhí)行*p=*q;語句
B)*p中存放的是地址值,因此不能執(zhí)行*p=40;語句
C)q沒有指向具體的存儲單元,所以*q沒有實際意義
D)q雖然指向了具體的存儲單元,但該單元中沒有確定的值,所以執(zhí)行*P=*q;沒有意
義,可能會影響后面語句的執(zhí)行結(jié)果
(46)函數(shù)rewind的作用是
A)使文件位置指針重新返回文件的開始位置
B)將文件位置指針指向文件中所要求的特定位置
C)使文件位置指針指向文件的末尾
D)使文件位置指針自動移至下一個字符位置
(47)設(shè)有以下說明語句
structex
{intx;floaty;charz;}example:
則下面的敘述中不正確的是
A)struct結(jié)構(gòu)體類型的關(guān)鍵字
B)example是結(jié)構(gòu)體類型名
C)x,y,z都是結(jié)構(gòu)體成員名
D)structex是結(jié)構(gòu)體類型名
(48)設(shè)有以下語句:
charx=3,y=6,z;
z=x^y?2;
則z的二進(jìn)制值是
A)00010100
B)00011011
C)00011100
D)00011000
(49)閱讀以下程序及對程序功能的描述,其中正確的描述是
#include
main()
I
FILE*in,*out;
charch,infile[10],outfile[10];
printf("Entertheinfilename:\nz,);
scanfinfile);
printf("Entertheoutfilename:\n,z);
scanfoutfile);
if((in=fopen(infile,,zr/z))==NULL)
i
printf("cannotopeninfile\n,z);
exit(0);
if((out=fopen(outfile,"w"))==NULL)
printf("cannotopenoutfile\nz,);
exit(0);
)
while(!feof(in))fputc(fgetc(in),out);
fclose(in);
fclose(out);
}
A)程序完成將磁盤文件的信息在屏幕上顯示的功能
B)程序完成將兩個磁盤文件合二為一的功能
C)程序完成將一個磁盤文件復(fù)制到另一個磁盤文件中
D)程序完成將兩個磁盤文件合并并在屏幕上輸出
(50)C語言中,能識別處理的文件為
A)文本文件和數(shù)據(jù)塊文件
B)文本文件和二進(jìn)制文件
C)流文件和文本文件
D)數(shù)據(jù)文件和二進(jìn)制文件
轉(zhuǎn)貼于:計算機(jī)二級考試.考試大
【責(zé)編:oyshaoli糾錯】
二、填空題
(1)數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和【1】兩大類。
解析:數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和非線性結(jié)構(gòu)兩大類。
(2)順序存儲方法是把邏輯上相鄰的結(jié)點存儲在物理位置【2】的存儲單元中。
解析:常用的存儲表示方法有4種,順序存儲、鏈?zhǔn)酱鎯?、索引存儲、散列存儲。其中,?/p>
序存儲方法是把邏輯上相鄰的結(jié)點存儲在物理位置也相鄰的存儲單元中。
(3)一個類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個方法提高了軟件的
[3]。
解析:本題考查了繼承的優(yōu)點:相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少
了程序中的冗余,提高軟件的可重用性。
(4)軟件工程研究的內(nèi)容主要包括:【4】技術(shù)和軟件工程管理。
解析:基于軟件工程的目標(biāo),軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)
和軟件工程管理。軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工程環(huán)
境,其主體內(nèi)容是軟件開發(fā)方法學(xué)。軟件工程管理包括:軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué),以
及軟件心理學(xué)等內(nèi)容。
(5)關(guān)系操作的特點是【5】操作。
解析:在關(guān)系操作中,所有操作對象與操作結(jié)果都是關(guān)系。而關(guān)系定義為元數(shù)相同的元組
的集合。因此,關(guān)系操作的特點是集合操作。
(6)下面程序是指從終端讀入的20個字符放入字符數(shù)組中,然后利用指針變量輸出上述字
符串,請?zhí)羁铡?/p>
#include
main()
{inti;chars[21],*p;
for(i=0;i<20;i++)
s[i]=getchar();
s[i]=[6];
P=【7】
while(*p)putchar([8]);
)
解析:本題選通過for循環(huán)從鍵盤讀入20個字符,然后在最后賦一定值'\0'后為結(jié)束標(biāo)
志,再使指針P指向字符串的首地址。最后通過while循環(huán)對字符串進(jìn)行掃描并輸出。
(7)以下程序?qū)?shù)組a的4個元素和數(shù)組b的6個元素寫到名為lett.dat的二進(jìn)制文件中,
請?zhí)羁铡?/p>
#include
main()
{FILE*fp;
chara[4]=“1234",b[6]="abcedf";
if((fp=fopen(〃【9】)=NULL)exit(0);
fwrite(a,sizeof(char),4,fp);
fwrite(b,[10],1,fp);
fclose(fp);
)
解析:本題主要考查函數(shù)fwrite(char*pt,unsignedsize,unsignedn,FILE*fp),把
pt所指向的n*size個字節(jié)輸出到fp所指定的文件中。
(8)在C語言中(以16位PC機(jī)為例),一個float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為4:
一個double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為[11]o
解析:在一般系統(tǒng)中,一個float型數(shù)據(jù)在內(nèi)存中占4個字節(jié)(32位),一個double型
數(shù)據(jù)占8個字節(jié)。
(9)以下程序輸出的結(jié)果是[12]o
main()
{inta=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
)
解析:本題的關(guān)鍵在于對變量c的賦值運算:
d=(a>b>c)
d=(5>4>3)
先算5>3,為真,得1,即:d=(1>3),此時1>3,為假,得0。
(10)以下函數(shù)的功能是求出能整除x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp
所指的數(shù)組中,這些除數(shù)的個數(shù)通過形參n返回。
例如,若x中的值為30,則有4個數(shù)符合要求,它們是1,3,5,15.
請按題意,完成填空。
試題程序:
ttinclude
#include
voidfun(intx,intpp[],int*n)
{inti,j=0;
[13]
if(x%i==0)pp[j++]=i;
[14];
)
main()
{intx,aa[1000],n,i;
clrscr();
printf(^\nPleaseenteranintegernumber:\n〃);scanf(〃%d&x);
fun(x,aa,&n);
for(i=0;i
printf("%d”,aa[i]);
printf(〃\n〃);
}
解析:本題題干信息是能整除且不是偶數(shù)的所有整數(shù)之和。循環(huán)語句中i從1開始且每次增
2,所以i始終是奇數(shù),*n=j;語句是記錄能夠符合題意的各個整數(shù)的各數(shù)。
#include
#include
intfun(int*s,intt,int*k)
{inti;
*k=0;
[15]
if(s[*k]
return[16];
}
main()
inta[10]={876,675,896,101,301,401,980,431,451,777},k;
clrscr();
fun(a,10,&k);
printf(〃%d,%d\n”,k,a[k]);
}
解析:本題中直接使用指針變量k,但在使用時要注意對k的指針運算,止匕外,一開始應(yīng)認(rèn)
*1<的值為數(shù)組中的某一下標(biāo)值,即*k=0。
(12)mystrlen函數(shù)的功能是計算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁铡?/p>
intmystrlen(char*str)
{inti;
for(i=0;[17]!='\0f;i++);
return(i);
}
解析:str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過程中,可以用*(str+i)來訪問字
符串中的第i個元素,判斷是否是結(jié)束標(biāo)志,如果不是,i=i+1,繼續(xù)取下?個元素進(jìn)行判
斷,直到*(str+i)的值為''0'為止,也可以用下標(biāo)的方式引用字符,如*(str+i)相
當(dāng)于strEi]o
(13)以下程序的輸出結(jié)果為【18】。
#defineJFT(x)x*x
main()
{inta,k=3;
a=++JFT(k+1);
printf(//%d,/,a);
}
解析:宏替換的原則是按原樣替換,本題中遇到形參X則以實參k+1替換,其他字符不變。
所以JFT(k+1)經(jīng)替換后為k+l*k+l,所以a=++k+l*k+l,若k+1,若k的值為3,
則經(jīng)過運算為a=4+l*4+l=9。
(14)以下定義的結(jié)構(gòu)體類型擬包含兩個成員,其中成員變量info用來存入整形數(shù)據(jù);成員
變量link是指向自身結(jié)構(gòu)體的指針,請將定義補(bǔ)充完整。
structnode
{intinfo;
[19]link;
);
解析:本題中的結(jié)構(gòu)類型名為structnode,所以空白處應(yīng)填:structnode*。即定義一
個指向自身的結(jié)構(gòu)體指針。
(15)設(shè)有以下結(jié)構(gòu)體類型:
structst
{charname[8];
intnum;
floats[4];
}student[50];
并且結(jié)構(gòu)體數(shù)組student中的元素都已有值,若要將這些元素寫到硬盤文件fp中,請將以
下fwrite語句補(bǔ)充完整:
fwrite(student,[20],1,fp);
解析:fwrite函數(shù)的一般調(diào)用形式為:fwrite(buffer,size,count,fp),其中:
buffer:是一個指針變量,是要輸出數(shù)據(jù)的起始地址
size:要寫的字節(jié)數(shù)
count:要進(jìn)行寫多少個size字節(jié)的數(shù)據(jù)項
fp:文件型指針
選擇題
01-05DCCDB
06-10AACBA
11-15ACBBA
16-20DDBCB
21-25DDACA
26-30ACBCC
31-35CDBDC
36-40BCDAD
41-45BABDD
46-50ABBCB
單選題:
1、有以下程序
#include<stdio.h>
intabc(intu,intv);
main()
{inta=24,b=16,c;
c=abc(a,b);
printf('%d\n'\c);
)
intabc(intu,intv)
{intw;
while(v){w=u%v;u=v;v=w}
returnu;
輸出結(jié)果是:
A.16B.7C.8D.9
答案:C
2、設(shè)有如下的變量定義:inti=8,k,a,b;unsingedlongw=5
doublex=l,42,y=5.2則以下符合C語言語法的表達(dá)式是.
A.a+=a-=(b=4)*(a=3)
B.x%(-3);
C.a=a*3=2
D.y=float(i)
答案:A
3、設(shè)x為int型變量,則執(zhí)行以下語句后,x的值為x=10;x+=x-=x-x;
A.10
B.20
C.40
D.30
答案:B
4、C語言提供的合法的數(shù)據(jù)類型關(guān)鍵字是一
A.Double
B.short
C.integer
D.Char
答案:B
5、表達(dá)式:10!=9的值是一
A.true
B,非零值
C.0
D.1
答案:D
6、下面程序的輸出是main(){intx=023;printf(n%d\nn,—x);}
A.17
B.18
C.23
D.24
答案:B
7、定義如下變量:intn=10則下列循環(huán)的輸出結(jié)果是while(n>7)
{n—;printf("%d\n”,n);}
A.1098
B.987
C.10987
D.9876
答案:B
8、若K為整型,以下while循環(huán)執(zhí)行()次K=0while(K=0)K=K-1
A.執(zhí)行10次
B.無限循環(huán)
C.一次也不執(zhí)行
D.執(zhí)行一次
答案:C
9、在執(zhí)行以下程序時,為了使輸出結(jié)果為1=4,則給a和b輸入的值應(yīng)滿足的條件是
main(){ints,t,a,b;scanf(H%d,%d”,&a,&b);s=l;t=l;if(a<0)s=s+l;if(a>b)t=s+l;
elseif(a==b)t=5;elset=2*s;printf("t=%d\n",t);}
A.0>a>b
B.a=0<b
C.a=b<0
D.a<b<0
答案:D
10^若執(zhí)行卜面的程序時從鍵盤上輸入3和4,則輸出是main(){int
a,b,s;a=3,b=4;scanf(,,%d%d'1,&a,&b);s=a4-b;printf(1,%d\n',,s-);printf(',%d\n,—s);}
A.7,7
B.7,5
C.6,7
D.7,6
答案:B
11>有以下程序#include<stdio.h>main(){int
a,b,c=246;a=c/100%9;b=(-l)&&(-l);printf(',%d,%d\n,,,a,b);)輸出結(jié)果是
A.2,1
B.3,2
C.4,3
D.2,-1
答案:A
12、下列程序的輸出結(jié)果是main(){staticints[][3]={{1,2,3},{4,5,6}};intt;t=(s[O][O],
s[1][l],s[O][l]+s[1][2]);printf("%d\n",t);}
A.5
B.6
C.7
D.8
答案:D
13、以下程序的輸出結(jié)果是main(){intk=17;printf(n%d,%o,%x\nu,k,k,
k);)
A.17,021,0x11
B.17,17,17
C.17,0x11,021
D.17,21,11
答案:D
14、請讀程序:main。{floatx,y;scanf("%f",&x);if(x<0.0)y=0.0elseif((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(表示回車),則上面程序的輸出結(jié)果是
A.0.000000
B.0.250000
C.0.500000
D.1.000000
答案:C
15、請讀程序:main(){intx=l,y=0,a=0,b=0;switch(x){casel:switch(y){case0:
a++;break;case1:b++;break;}case2:a++;b4-+;break;}printf(',a=%d,b=%d\n',,a,b);}上面程序輸出
結(jié)果是
A.a=2,b=1
B.a=l,b=l
C.a=1,b=0
D.a=2,b=0
答案:A
16、若有定義和語句:charsUO];sW'abcd";printfT%s\n",s);則結(jié)果是(以下口代表空格)
A.輸出abed
B.輸出a
C.輸出abcduppnn
D.編譯不通過
答案:D
17、C語言可執(zhí)行程序的開始執(zhí)行點是()
A.程序中的?條可執(zhí)行語句
B.程序中第一個函數(shù)
C.程序中的main函數(shù)
D.包含文件中的第一個函數(shù)
答案:C
18、以下敘述正確的是()
A.在C程序中,main函數(shù)必須位于程序的最前面
B.C程序的每行中只能寫一條語句
C.C語言本身沒有輸入輸出語句
D.在對一個C程序進(jìn)行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯誤
答案:C
19、以下敘述中不正確的是
A.預(yù)處理命令行都必須以#號開始
B.在程序中凡是以#號開始的語句行都是預(yù)處理命令行
C.C程序在執(zhí)行過程中對預(yù)處理命令行進(jìn)行處理
D.以下是正確的宏定義#defineIBM_PC
答案:C
20、以下正確的敘述是
A.在C程序中,每行中只能寫一條語句
B.若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數(shù)
C.在C程序中,無論是整數(shù)還是實數(shù),都能被準(zhǔn)確無誤地表示
D.在C程序中,%是只能用于整數(shù)運算的運算符
答案:D
21、已知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語句c2=A+6」3';
后,c2中的值為
A.D
B.68
C.不確定的值
D.C
答案:B
22、下面程序段的運行結(jié)果是intn=O;while(n++<=2);printf("%d",n);
A.2
B.3
C.4
D.有語法錯
答案:C
23、判斷char型變量cl是否為小寫字母的正確表達(dá)式是
A.,a,<=cl<=,z,
B.(cl>=a)&&(cl<=z)
C.(,a,>=cl)ll('z,<=cl)
D.(cl>=,a')&&(cl<=,z')
答案:D
24、已知intx=10,y=20,z=30;以下語句執(zhí)行后x,y,z的值是if(x>y)z=x;x=y;y=z;
A.x=10,y=20,z=30
B.x=20,y=30,z=30
C.x=20,y=30,z=10
D.x=20,y=30,z=20
答案:B
25、以下描述中正確的是
A.由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合
語句
B.do-while循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式)后面不能寫分號
C.在do-while循環(huán)體中,一定要有能使while后面表達(dá)式的值變?yōu)榱?“假”)的操作
D.do-while循環(huán)中,根據(jù)情況可以省略while
答案:C
26、有一堆零件(100到200之間),如果分成4個零件一組的若干組,則多2個零件;
若分成7個零件一組,則多3個零件;若分成9個零件一組,則多5個零件。下面程序是求
這堆零件總數(shù),請選擇填空。#include<stdio.h>main(){inti;for(i=100;i<200;i++)
if((i-2)%4=0)if(!((i-3)%7))if()printf("%d”,i);}
A.i%9=5
B.i%9!=5
C.(i-5)%9!=0
D.i%9==5
答案:D
27、以下正確的說法是
A.定義函數(shù)時,形參的類型說明可以放在函數(shù)體內(nèi)
B.return后邊的值不能為表達(dá)式
C.如果函數(shù)值的類型與返回值類型不一致,以函數(shù)值類型為準(zhǔn)
D.如果形參與實參類型不一致,以實參類型為準(zhǔn)
答案:C
28、下面判斷正確的是
A.char*a="china”;等價于char*a;*a=nchinau;
B.charstr[10]={"china"};等價于charstr[10];str[]={"china"};
C.char*s="china";等價于char*s;s=',china";
D.charc[4]="abc",d[4]="abc";等價于charc[4]=d[4]=uabcn;
答案:C
29、若定義:inta=5U,*b=&a;,則printf("%d\n”,*b);的輸出結(jié)果為
A.無確定值
B.a的地址
C.512
D.511
答案:B
30、以下程序中,while循環(huán)的循環(huán)次數(shù)是main(){inti=0;while(i<10){if(i<1)
continue;if(i==5)break;i++;}}
A.1
B.10
C.6
D.死循環(huán),不能確定次數(shù)
答案:D
31、若執(zhí)行以下程序時從鍵盤上輸入9,則輸出結(jié)果是main(){int
n;scanf(M%dM,&n);if(n-H-<10)printf(*'%d\n'*,n);elseprintf(n%d\nn,n—);}
A.11
B.10
C.9
D.8
答案:B
32、若a、b、cl、c2^x、y、均是整型變量,正確的switch語句是
A.switch(a+b);{casel:y=a+b;break;caseO:y=a-b;break;case3:y=b-a,break;}
B.switch(a*a+b*b){case3:casel:y=a+b;break;}
C.switcha{casecl:y=a-b;break;casec2:y=a*d;break;default:x=a+b;}
D.switch(a-b){default:y=a*b;break;case4:x=a+b;break;case10:y=a-b;break;}
答案:D
33、以下程序的輸出結(jié)果是longfun(intn){longs;if(n==1IIn==2)s=2;else
s=n-fun(n-l);returns;}main(){printf("%ld\n'\fun(3));}
A.1
B.2
C.3
D.4
答案:A
34、若有以下程序段,intcl=l,c2=2,c3;c3=1.0/c2*cl;則執(zhí)行后,c3中的值是
A.0
B.0.5
C.1
D.2
答案:A
35、能正確表示邏輯關(guān)系:“aN=10或aSO”的C語言表達(dá)式是
A.a>=10ora<=0
B.a>=0lla<=10
C.a>=10&&a<=0
D.a<=0IIa>=10
答案:D
36、在C語言中,不正確的int類型的常數(shù)是
A.32768
B.0
C.037
D.OxAF
答案:A
37、以下程序的輸出結(jié)果是main(){chara[10]={T,2,3,4,5,6,7,8,9,
0),inti;i=8;p=a+i;printf(n%s\n",p-3);}
A.6
B.6789
C.6
D.789
答案:B
38^以下程序的輸出結(jié)果是intd=l;fun(intp){staticintd=5;d+=p;printf(H%dd);
return(d);}main(){inta=3;printf("%d\nH,fun(a+fun(d)));}
A.699
B.669
C.61515
D.6615
答案:C
39、算法的表示方法有()。
A.自然語言,傳統(tǒng)流程圖,N-S流程圖,偽代碼,計算機(jī)語言
B.高級語言,匯編語言,機(jī)器語言
CC語言,QBASIC語言,InterDev
D.圖形圖像法,描述法,編程法
E.計算機(jī)語言
答案:A
40、合法的C語言賦值語句是()
A.a=b=l
B.k=int(a+b);
C.a=1,b=2
D.-i;
答案:D
填空題:
1、main(){intsum=0,i;scanf("%d'\&i);while(i<=10){sum=sum+i;i++;}
printf(,'%d'',sum);}輸入1輸出
答案:55
2、把數(shù)組元素按順序存放的過程稱為.
答案:排序
3、設(shè)i,j,k均為int型變量,則執(zhí)行完下面的for循環(huán)后,k的值為.for(i=0,j=10;i<
=j;i++,j-)k=i+j;
答案:10
4、應(yīng)該用聲明數(shù)組的大小,因為這樣能夠更容易調(diào)整程序。
答案:符號常量
5、寫出該程序運行的結(jié)果。main(){inti,j,m,n;i=8;j=10;m=++i;n=j++;
printf("%d,%d,%d,%d",i,j,m,n);}
答案:9,11,9,10
6、寫出該程序運行的結(jié)果。main()charst='A';inti=10;st=st+i;i=st%i;
printf("%C,%d\n”,st,i);}(已知字母A的ASCII碼為65)
答案:K,5
7、己知字母a的ASCH碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch=,a,+8-3
的值為__________
答案:T
8、執(zhí)行下列語句后x的值是.X=y=z=5;X=y=z;
答案:14
9、若有定義:inta=2,b=3;floatx=3.5,y=2.5;則下面表達(dá)式的值為
(float)(a+b)/2+(int)x%(int)y
答案:3.500000
10、若從鍵盤輸入58,則以下程序輸出的結(jié)果是omain(){inta;scanf("%d",&a);
if(a>50)printf("%d",a);if(a>40)printf("%d",a);if(a>30)printf("%d",a);}
答案:585858
Ik以下
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度初級農(nóng)產(chǎn)品電商平臺入駐合作合同3篇
- 2025年冀少新版選修1地理上冊月考試卷
- 2025年人教五四新版七年級地理下冊階段測試試卷
- 2025年浙教版五年級語文上冊月考試卷
- 2024年貴州水利水電職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 二零二五年鋼筋行業(yè)產(chǎn)品質(zhì)量保證合同3篇
- 2025年外研銜接版八年級數(shù)學(xué)下冊月考試卷含答案
- 2025年新科版六年級英語下冊階段測試試卷
- 2025年上外版九年級科學(xué)上冊階段測試試卷
- 二零二五年度360有錢聯(lián)盟(協(xié)同版)供應(yīng)鏈金融合作框架協(xié)議3篇
- 國家安全教育高教-第六章堅持以經(jīng)濟(jì)安全為基礎(chǔ)
- 2024年城市環(huán)衛(wèi)一體化服務(wù)合同
- 工地春節(jié)安全培訓(xùn)
- 2024年代持房屋合作協(xié)議書模板
- 2024短視頻剪輯雇傭合同
- 一年級數(shù)學(xué)20以內(nèi)加減法口算題(4500道)
- 新概念英語第一冊Lesson103-104筆記(語法點+配套練習(xí)+答案)
- (正式版)JBT 3300-2024 平衡重式叉車 整機(jī)試驗方法
- 產(chǎn)業(yè)園區(qū)活動方案策劃
- mil-std-1916抽樣標(biāo)準(zhǔn)(中文版)
- 2024年安徽省合肥市瑤海區(qū)中考語文一模試卷
評論
0/150
提交評論