版權(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源程序中至少應(yīng)包括一個main函數(shù),,
3.在一個C源程序中,注釋部分兩側(cè)的分界符分別為國和父。
4.一個函數(shù)是由兩部分組成的,它們分別是函數(shù)首部和函數(shù)體。
5.在C語言中,一個函數(shù)的函數(shù)體一般包括聲明部分和執(zhí)行部分。
6.在每個C語句和數(shù)據(jù)定義的最后必須有一個一。
7.C語言本身沒有輸入輸出語句。其輸入輸出是山函數(shù)來完成。
8.程序是指一組能使計算機識別和執(zhí)行的指令,每一個指令都使計算機能夠執(zhí)行相應(yīng)
的操作。。
9.源程序是指用高級語言編寫的程序。C源程序文件的擴展名為的。
10.目標程序是指計算機不能識別和執(zhí)行高級語言程序,只能通過高編譯系統(tǒng)將高級
語言程序轉(zhuǎn)化為二進制的目標程序。目標程序文件的擴展名為
11.可執(zhí)行程序是指將目標函數(shù)和系統(tǒng)的函數(shù)庫以及其它目標函數(shù)鏈接起來行程可執(zhí)
行程序??蓤?zhí)行程序文件的擴展名為3。
12.上機運行一個C源程序的步驟一般為:①輸入和編輯源程序;②編譯源程序;
③連接庫函數(shù);④生成可執(zhí)行程序。
一、單項選擇題
1.下面四個選項中,均不是c語言關(guān)鍵字的選項是(A)o
A)defineIFType
B)getccharprintf
C)includescanfcase
D)whilegopow
2.C語言中的標識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符(C)。
A)必須為字母
B)必須為下劃線
C)必須為字母或下劃線
D)可以是字母、數(shù)字和下劃線中任一種字符
3.下列四個選項中,均是C語言關(guān)鍵字的選項是(B)。
A)autoenuminclude
B)switchtypcdefcontinue
C)signedunionscanf
D)ifstructtype
4.下面四個選項中,均是不合法的用戶標識符的選項是(C)。
A)APOdo
B)floatlaO_A
C)b-agotoint
D)_123tempint
5.以下有4組用戶標識符,其中合法的一組是(C)。
A)For-subCase
B)4dDOSize
C)f2_G3IFabc
D)WORDvoiddefine
6.下列選項中,合法的C語言關(guān)鍵字是(D)o
A)VAR
B)cher
C)integer
D)default
7.下面四個選項中,均是合法整型常量的選項是(A)。
A)160-OxfffiOll
B)-OxcdfOlaOxe
C)-019860120668
D)-0x48a0x2e5Oxe
8.下面四個選項中,均是正確的八進制數(shù)或十六進制數(shù)的選項是(C)。
A)?100x80011
B)0abc-017Oxc
C)010-0x11Oxfl
D)0a12-0x123-Oxa
9.設(shè)C語言中,-個int型數(shù)據(jù)在內(nèi)存中占2個字節(jié),則unsignedint型數(shù)據(jù)的取值范
圍為(C
A)0-255
B)0?32767
C)0-65535
D)0-2147483647
10.在C語言中,不正確的血類型的常數(shù)是(A)。
A)32768
B)0
C)037
D)0xAF(l1101111=128+64+32+8+4+2-1-1)
11.下面四個選項中,均是不合法的整型常量的選項是(D)。
A)-Ofl-OxffiTOOH
B)-OxcdfD1712456
C)-0189995e2
D)-0x48eg-06803f
12.下面四個選項中,均是不合法的浮點數(shù)的選項是(B)。
A)160.0.12e3
B)1232e4.2.e5
C)-.18123e40.0
D)-e3.234le3
13.下面四個選項中,均是合法的浮點數(shù)的選項是(B)o
A)+le+l5e-9.403e2
B)-.6012e-4-8e5
C)123el.2e-.4+2e-l
D)-e3.8e-45.e-0
14.下列變量定義中合法的是(A)o
A)short_a=l-.le-l;
B)doubleb=l+5e2.5;
C)longdo=0xfdaL;
D)float2_and=l-e-3;
15.以下選項中合法的字符常量是(B)。
A)
B)''010'
C)68
D)D
16.以下選項中,非法的字符常量是(C)。
A)V
B)M7,
C)
D)^xaa,
17.以下所列的C語言常量中,錯誤的是(B)o
A)OxFF
B)1.2e0.5
C)2L
D),72,
18.在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是(D)。
A)補碼
B)反碼
C)原碼
D)ASCH碼
19.下面四個選項中,均是合法轉(zhuǎn)義字符的選項是(A)o
A)
B)4\017,V,
C)''018''\f''xab'
D)'\\0'''101''xlf'
20.下面四個選項中,均是不合法的轉(zhuǎn)義字符的選項是(B)。
A”\"\W
B)AIOIT4?'\a'
C),\01「\ff},
D)'\abc'''101''xlf'
21.下面正確的字符常量是(C)。
A)"c”
B)N”
C)'W,
D)”
22.下面四個選項中,均是正確的數(shù)值常量或字符常量的選項是(D)o
A)0.00f8.9e
B)ta,3.9e-2.51erV,
C)'3'0110xfTO00a
D)+001Oxabcd2e250.
23.下面不正確的字符串常量是(A)
A)匕be'
B)“⑵2”
C)"0"
D),,,,
24.在C語言中(以16位PC機為例),5種基本數(shù)據(jù)類型的存儲空間長度的排列順序為
(A)o
A)char<int<longint<=float<double
B)char=int<longint<=float<double
C)char<int<longint=float=double
D)char=int=longint<=float<double
25.若有說明語句:char0=^72>;則變量c(A)。
A)包含1個字符
B)包含2個字符
C)包含3個字符
D)說明不合法,c的值不確定
26.設(shè)變量a是整型,f是實型,i是雙精度型,則表達式10+a+i*f值的數(shù)據(jù)類型為(C)。
A)int
B)float
C)double
D)不確定
27.表達式18表*sqrt(4.0)/8值的數(shù)據(jù)類型為(C)。
A)int
B)float
C)double
D)不確定
28.設(shè)有說明:charw;intx;floaty;doublez;則表達式w*x+z-y值的數(shù)據(jù)類型為
(D)o
A)float
B)char
C)int
D)double
29.以下選項中屬于C語言的數(shù)據(jù)類型是(C)。
A)復(fù)數(shù)型
B)邏輯型
C)雙精度型
D)集合型
30.以下程序的輸出結(jié)果是(A)
main()
{
charc='z';
printf("%c”,c-25);
)
A)a
B)Z
C)z-25
D)y
31.若有定義:inta=7;floatx=2.5,y=4.7;則表達式x+a%3*(int)(x+y)%2/4的值是(A)。
A)2.500000
B)2.750000
C)3.500000
D)0.000000
32.若有代數(shù)式3ae/bc,則不正確的c語言表達式是(C)。
A)a/b/c*e*3
B)3*a*e/b/c
C)3*a*e/b*c
D)a*e/c/b*3
33.設(shè)有intx=ll;則表達式(x++*1/3)的值是(A)。
A)3
B)4
C)11來源:www.examda.com
D)12
34.以下變量x.、y、z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子x/yz的
C語言表達式是(A)。
A)x/y*z
B)x*(l/(y*z))
C)x/y*l/z
D)x/y/z
35.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(n%d\nM,d*y);
}
A)3
B)3.2
C)0
D)3.07
37.若x,i,j和k都是int型變量,則計算下面表達式x=(i=4,j=16,k=32)后,x的值
為(C
A)4
B)16
C)32
D)52
38.假設(shè)所有變量均為整型,則表達式(a=2,b=5,b++,a+B)的值是(B)。
A)7
B)8
C)6
D)2
39.假定x和y為double型,則表達式x=2,y=x+3/2的值是(D)。
A)3.500000
B)3
C)2.000000
D)3.000000
40.若以下變量均是整型,且num=sum=7;則計算表達式sum=num++,sum++,++num
后sum的值為(B
A)7
B)8
C)9
D)10
41.若有定義intk=7,x=12;,則以下能使值為3的表達式是(D)。
A)x%=(k%=5)
B)x%=(k?k%5)
C)x%=k-k%5
D)(x%=k)-(k%=5)
42.設(shè)以下變量均為int類型,則值不等于7的表達式是(C)。
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)
43.下列程序執(zhí)行后的輸出結(jié)果是(A)。
main()
{
intx=f;
printf("%c\n'','A'+(x?'a'+l));
)
A)G
B)H
C)I
D)J
44.下列程序執(zhí)行后的輸出結(jié)果是(C)。
main()
{charx=OxFFFF;printf("%d\nM,x—);}
A)-32767
B)FFFE
C)-l
D)-32768
45.以下程序的輸出結(jié)果是(D)。
main()
{inta=3;
printf(M%d\nn,(a+=a-=a*a));
)
A)-6
B)12
C)0
D)-12
46.若變量已正確定義并賦值,下面符合C語言語法的表達式是(B)。
A)a:=b+l
B)a=b=c+2
C)int18.5%3
D)a=a+7=c+b
47.若有以下程序段,
intcl=l,c2=2,c3;
c3=1.0/c2*cl;
則執(zhí)行后,c3中的值是(A)o
A)0
B)0.5
C)1
D)2
48.有如下程序
main()
{inty=3,x=3,z=l;
printff4%d%d\n”,(十+x,y++),z+2);
}
運行該程序的輸出結(jié)果是(D)。
A)34
B)42
C)43
D)33
49.已知大寫字母A的ASCII碼為65,以下程序的運行結(jié)果為(A)。
#include<stdio.h>
main()
{
charcl='A',c2='Y';
printf("%d,%d\rT,cl,c2);
}
A)65,89
B)A,Y
C)65,88
D)65,90
50.以下程序的輸出結(jié)果是(D)。
#include<stdio.h>
main()
(
inta=010,b=10;
printf("%d,%d\n”,a++,--B);
}
A)10,10
B)8,10
C)10,9
D)8,9
51.以下程序的輸出結(jié)果是(B)o
main()
{
inta,b;
a=100;b=200;
printf("%d\n”,(a,
B));
A)100
B)200
C)20000
D)100=200
52.執(zhí)行語句y=10;x=y-H-;的結(jié)果是(C)。
A)x=10,y=10
B)x=ll,y=ll
C)x=10,y=ll
D)x=ll,y=10
53.在表示C語言的整型變量時,表示“無符號長整型”的符號是(D)o
A)unsignedint
B)unsignedshort
C)longint
D)unsignedlong
54.在下列形式的常數(shù)中,C程序不允許出現(xiàn)的是(B)o
A).45
B)±123
C)25.6e-2
D)4e3
55.以下程序的輸出結(jié)果是(C)o
main()
{floatx=3.6;
inti;
i=(int)x;
printfC4x=%f,i=%d,,,x,i);
}
A)x=3.600000,i=4
B)x=3,i=3
C)x=3.600000,i=3
D)x=3.000000,i=3.600000
56.在C語言中,要求運算數(shù)必須是整型數(shù)據(jù)的運算符是(B)。
A)/
B)%
C)!
D)<
57.執(zhí)行下列語句的結(jié)果是(C)。
i=3;
printf(“%d,”,++i);
printf("%d”,i++);
A)3,3
B)3,4
C)4,3
D)4,4
58.已知x=3,y=2,則表達式x*=y+8的值為(C)<>
A)3
B)2
C)30
D)14
59.執(zhí)行語句inti=65536;printf("%d\rT,i);的結(jié)果是(B)。
A)65536
B)0
C)有語法錯誤,無輸出結(jié)果
D)-1
60.在C語言中,不正確的血類型的常數(shù)是(A)o
A)32768
B)0
C)037
D)OxAF
61.C語言提供的合法關(guān)鍵字是(D)o
A)swicth
B)chan
C)Case
D)default
62.表示“在使用x之前,先使x的值加1”的正確方式是(A)o
A)++x
B)x-H-
C)+x
D)+x+
63.設(shè)x的值為5,則表達式(++x)+(++x)+(++x)的值是(D)o
A)24
B)20
C)15
D)21
64.在C語言中,合法的字符常量是(B)。
A)'084'
B)\x43'(十六進制)
C)匕b'
D)“\0”
65.若已定義x和y為double類型,則表達式:x=l,y=x+3/2的值是(C)。
A)1
B)2
C)2.0
D)2.6
66.若t為double類型,表達式t=l,t+5,t++的值是(D
A)1
B)6.0
C)2.0
D)1.0
67.若有以下定義和語句,則輸出結(jié)果是(B)。
charcl=tb,,c2=te,;
printf(4t%d,%c\n,,,c2-cl,c2-,a,+,A,);
A)2,M
B)3,E
C)2,E
D)輸出項與對應(yīng)的格式控制不一致,輸出結(jié)果不確定
68.設(shè)有如下的變量定義:
inti=8,a,b;
doublex=1.42,y=5.2;
則以下符合C語言語法的表達式是(A)o
A)a+=a?=(b=4)*(a=3)
B)x%(-3)
C)a=a*3=2
D)y=float(i)
69.若有以下定義和語句:
intu=010,v=0x10,w=10;
printf(€4%d,%d,%d\n,\u,v,w);()
則輸出結(jié)果是(A)。
A)8,16,10
B)10,10,10
C)8,8,10
D)8,10,10
二、填空題
1.若x和a均是int型變量,則計算表達式⑴后的x值為絲,計算表達式⑵后的x值
為4o
(1)x=(a=4,6*2)
(2)x=a=4,6*2
2.若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+l)%2的值為1。
5.若a,b和c均是int型變量,則計算表達式a=(b=4)+(c=2)后,a值為b值為當(dāng)c
值為2o
6.若x和n均是int型變量,且x和n的初值均為5,則計算表達式x+=n++后x的值
為衛(wèi),n的值為6o
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的值為
10.若x和n均是整型變量,且x的初值為12,n的初值為5,則計算表達式x%=(n%=2)
后x的值為0?
11.以下程序的輸出結(jié)果是必
main()
{unsignedshorta=65536;intb;
printf("%d\n",b=a);}
12.請寫出數(shù)學(xué)式a/bc的C語言表達式a/(b*c)。
13.設(shè)a、b、c為整型數(shù),且a=2、b=3、c=4,則執(zhí)行完語句a*=16+(b++)-(++c)后,a
的值是28?
—單項選擇題
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)scanfT%x%o%6.2f;&x,&y,&z);(雙精度型用%le,或者%If)
4.以下程序的輸出結(jié)果是(D)。
main()
{intk=17;
printf("%d,%o,%x\n",k,k.k);
I
A)17,021,0x11
B)17,17,17
B)17,0x11,021
D)17,21,11
5.下列程序的運行結(jié)果是(B)o
#include<stdio.h>
main()
{inta=2,c=5;
printf("a=%d,b=%d\n",a,c);
A)a=%2,b=%5
B)a=2,b=5
C)a=d,b=d
D)a=2,c=5
6.語句printf(”a\brethNy\\\bou\n)的輸出結(jié)果是(C)。(說明AS是退格符)
A)a\breVhiVy\\\bou
B)a\bre\,hi\,y\bou
C)re'hi'you
D)abre'hi'y'bou
7.x、y、z被定義為int型變量,若從鍵盤給x、y、z輸入數(shù)據(jù),正確的輸入語句是(B)。
A)INPUTx、y、z;
B)scanf(H%d%d%du,&x,&y,&z);
C)scanf(n%d%d%dn,x,y,z);
D)read(n%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)10v回車〉
B)10.0,22.0,33.0〈回車〉
22c回車〉
33〈回車〉
C)10.0<回車>
D)1022c回車〉
22.033.0<回車>33〈回車>
9.以下程序的輸出結(jié)果是(A)。
main()
(
intn;
(n=6*4,n+6),n*2;
printf("n=%d\n”,n);
)
A)24
B)12
C)26
D)20
10.以下程序的輸出結(jié)果是(B)o
main()
{
intx=2,y,z;
x*=3+l;
printf("%dj,x++);
x+=y=z=5;
printf("%d1,x);
x=y=z;
printfft%d\n,,,x);
)
A)8,14,1
B)8,14,5
C)8,13,5
D說14,5
11.下面程序的輸出結(jié)果是(C)o
main()
intx,y,z;
x=O;y=z=-l;
x+=-z?-y;{(-z-)-y)
printf("x=%d\n”,x);
)
A)x=4
B)x=0
C)x=2
D)x=3
12.設(shè)x為int型變量,貝I」執(zhí)行語句x=10;x+=x?=x?x;后,x的值為(B)。
A)10
B)20
C)40
D)30
13.只能向終端輸出一個字符的函數(shù)是(B)。
A)printf函數(shù)
B)putchar函數(shù)
C)getchar函數(shù)
D)scanf函數(shù)
14.下列程序執(zhí)行后的輸出結(jié)果是(小數(shù)點后只寫一位)(A)o
main()
{doubled;floatf;long1;inti;
i=f=l=d=20/3;
printf(M%d%ld%f%f\n",i,l,f,d);
}
A)666.06.0
B)666.76.7
C)666.06.7
D)666.76.0
15.在下列敘述中,錯誤的一條是(C)。
A)printf函數(shù)可以向終端輸出若干個任意類型的數(shù)據(jù)
B)putchar函數(shù)只能向終端輸出字符,而且只能是一個字符
C)getchar函數(shù)只能用來輸入字符,但字符的個數(shù)不限
D)scanf函數(shù)可以用來輸入任何類型的多個數(shù)據(jù)
16.以下程序的輸出結(jié)果為(B)。
main()
{
charcl=4a\c2=tb\c3=<c,;
printR“a%cb%c\tc%c\n”,c1,c2,c3);
)
A)abcabcabc
B)aabbcc
C)abc
D)aaaabb
17.若輸入12345和abc,以下程序的輸出結(jié)果是(B)。
main()
{
inta;
charch;
scanf(tt%3d%3c,\&a,&ch);
printf(44%d,%c",a,ch);
}
A)123,abc
B)123,4
C)123,a
D)12345,abc
18.以下程序的輸出結(jié)果是(D)o
main()
{
unsignedxl;
intb=-1;
xl=b;
printf(u%u,,,xl);
}
A)%u
B)-l
C)%u-l
D)65535
19.在printf函數(shù)中用來輸出十六進制無符號整數(shù)的格式字符是(B)。
A)d格式符
B)x格式符
C)u格式符
D)o格式符
20.設(shè)a=12、b=12345,執(zhí)行語句printf(“%4d,%4cT,a,b)的輸出結(jié)果為(B)。
A)12,123
B)12,12345
C)12,1234
D)12,123456
21.以下程序的輸出結(jié)果是(C)。
#include<stdio.h>
#include<math.h>
main()
{
inta=l,b=4,c=2;
floatx=10.5,y=4.0,z;
z=(a+b)/c+sqrt((double)y)*1.2/c+x;
printfC%i\n,\z);
A)14.000000
B)15.400000
C)13.700000
D)14.900000
22.以下程序的輸出結(jié)果是(D)o
main()
{
inta=2,c=5;
printf("a=%%d,b=%%d\rT,a,c);
A)a=%2,b=%5
B)a=%2,c=%5
C)a=%%d,b=%%d
D)a=%d,b=%d
23.請讀程序:
main()
(
inta;
floatb,c;
scanf(4t%2d%3f%4f\&a,&b,&c);
printf(4€\na=%d,b=%f,c=%f\n,\a,b,c);
)
若運行時從鍵盤上輸入9876543210<CR>(<CR>表示回車),則上面程序的輸出結(jié)果是
(C)。
A)a=98,b=765,c=4321
B)a=10,b=432,c=8765
C)a=98,b=765.000000,c=4321.000000
D)a=98,b=765.0,c=4321.0
24.若有定義:intx,y;chara,b,c;并有以下輸入數(shù)據(jù)(此處<CR>代表回車,U代表空
格):
1U2<CR>
AUBUC<CR>
則能給x賦整數(shù)1,給y賦整數(shù)2,給a賦字符A,給b賦字符B,給c賦字符C的正
確程序段是(D)o
A)scanf(4€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)o
A)x=3,y=5;
B)a=b=6
C)i??;
D)y=int(x);
26.設(shè)i是int型變量,f是float型變量,用下面的語句給這兩個變量輸入值:
scanf("i=%d,&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.12v回車〉
27.以下敘述中正確的是(D)。
A)輸入項可以是一個實型常量,例如:scanf("%F,3.5);
B)只有格式控制,沒有輸入項,也能正確輸入數(shù)據(jù)到內(nèi)存,例如:scanf("a=%d,b=%d");
C)當(dāng)輸入一個實型數(shù)據(jù)時,格式控制部分可以規(guī)定小數(shù)點后的位數(shù),例如:
scanf(tt%4.2f,,&f);
D)當(dāng)輸入數(shù)據(jù)時,必須指明變量地址,例如:scanf("%『,&f);
28.設(shè)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:dcc=-4,oct=17774,hcx=ffffc,unsigncd=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ù)的形式應(yīng)該是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=l.l,z;
z=a/2+b*x/y+l/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=36,u=51274,n=128765,cl=,a\c2='b'。想得到以下
的輸出格式和結(jié)果,請寫出完整的程序(包括定義變量類型和設(shè)計輸出)。
要求輸出的結(jié)果如下:
a=〈空格>3〈空格x空格,b=v空格,4V空格><空格,c=v空格>5
x=1.200000,y=2.400000,z=-3.600000
x+y=v空格>3.60〈空格>v空格>y+z=?1.20〈空格>v空格>z+x=-2.40
u=v空格>51274V空格,v空格>n=<空格>v空格,v空格>128756
cl=a〈空格>or<空格>97(ASCII)
c2=B(空格>or<空格>98(ASCH)
2.輸入一個華氏溫度,要求輸出攝氏溫度。公式為C=5/9(F?32)
輸出要有文字說明,取2位小數(shù)。
3.編程序,用getchar函數(shù)讀入兩個字符給cl、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;
charcl='a',c2=,b,;
printf(“\n”);
printf("a=%2db=%2dc=%2d\n,,,a,b,c);
printf(44x=%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(4tu=%6ldn=%91d\n,,,u,n);
printfC4cl=%cor%d(ASCII)\n,,,cl,cl);
printff4c2=%cor%d(ASCH)\n”,c2,c2);
)
2.解:
main()
(
floatc,f;
printf(“請輸入一個華氏溫度:\n");
scanR"%P,&f);
c=(5.0/9.0)*(f-32);
printfT攝氏溫度為:%.2f\n,,,c);
}
3.解:
#include<stdio.h>
main()
{
charcl,c2;
printf(“請輸入兩個字符給cl和c2:\n");
cl=getchar();
c2=getchar();
printf(“用putchar函數(shù)輸出結(jié)果為:\n”);
putchar(c1);
putchar(c2);
printf(44\n用printf函數(shù)輸出結(jié)果為:\n”);
printf("%c,%c\n,,,cl,c2);
}
一單項選擇題
1.邏輯運算符兩側(cè)運算對象的數(shù)據(jù)類型是(D)o
A)只能是0或1
B)只能是0或非0正數(shù)
C)只能是整型或字符型數(shù)據(jù)
D)可以是任何類型的數(shù)據(jù)
2.已知x=43,ch=A,y=0;則表達式(x>=y&&ch〈B&&!y)的值是(C)。
A)0
B)語法錯
C)1
D)“假”
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=30
B)x=20,y=30,z=30
C)x=20,y=30,z=10
D)x=20,y=30,z=20
4.執(zhí)行下列語句后a的值為(C),b的值為()o
inta,b,c;
a=b=c=l;
++a||++b&&-H-C;
A)錯誤1
B)22
C)21
D)11
5.若希望當(dāng)A的值為奇數(shù)時,表達式的值為“真”,A的值為偶數(shù)時,表達式的值為“假'
則以下不能滿足要求的表達式是(C)。
A)A%2=1
B)!(A%2==0)
C)!(A%2)
D)A%2
6.設(shè)有:inta=l,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=a>b)&&(n=c>D)后n的值是(B)。
A)0
B)2
C)3
D)4
7.判斷char型變量cl是否為小寫字母的正確表達式是(D)。
A)'a'v=clv='z'
B)(cl>=a)&&(cl<=z)
C)('a'>=cl)||('z'v=cl)
D)(cl>=ta,)&&(cl<=€z,)
8.以下不正確的if語句形式是(C)o
A)if(x>y&&x!=y);
B)if(x==y)x+=y;
C)if(x!=y)scanfC%d”,&x)elsescanfC%d”,&y)
D)if(x<y){x++;y++;}
9.請閱讀以下程序:
main()
{
inta=5,b=0,c=0;
if(a=b+C)prin氓
elseprintf("$$$\rT);
)
以上程序(D)o
A)有語法錯不能通過編譯
B)可以通過編譯但不能通過連接
C)輸出***
D)輸出$$$
10.當(dāng)a=l,b=3,c=5,d=4時,執(zhí)行完下面一段程序后x的值是(B)。
if(a<b)
if(c<D)x=l;
else
if(a<C)
if(b<D)x=2;
elsex=3;
elsex=6;
elsex=7;
A)1
B)2
C)3
D)6
11.以下程序的輸出結(jié)果是(C)o
inain()
{inta=l00,x=10,y=20,ok1=5,ok2=0;
if(x〈y)
if(y!=10)
if(!okl)
a=l;
else
if(ok2)a=10;
a=-l;
printfC%d\n”,a);
)
A)1
B)10
C)-l
D)值不確定
12.以下程序的輸出結(jié)果是(B)。
main()
{intx=2,y=-1,z=2;
if(x〈y)
if(y<0)z=0;
elsez+=l;
printfT%d\n”,z);
}
A)3
B)2
C)1
D)0
13.為了避免在嵌套的條件語句if-else中產(chǎn)生二義性,C語言規(guī)定:else子句總是與
B)配對。
A)縮排位置相同的if
B)其之前最近的if
C)其之后最近的if
D)同一行上的
14.若有條件表達式(exp)?a++:b-,則以下表達式中能完全等價于表達式(exp)的是
B)。
A)(exp=0)
B)(exp!=0)
C)(exp=l)
D)(exp!=l)
15.若運行時給變量x輸入12,則以下程序的運行結(jié)果是(A)。
main()
{intx,y;
scanf(“%d”,&x);
y=x>12?x+10:x-12;
printR"%d\n”,y);
}
A)0
B)22
C)12
D)10
16.語句:printff%d”,(a=2)&&(b=-2));的輸出結(jié)果是(D)。
A)無輸出
B)結(jié)果不確定
0-1
D)1
17.當(dāng)c的值不為0時,在下列選項中能正確將c的值賦給變量a、b的是(C)o
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>0
19.能正確表示邏輯關(guān)系:“aN10或aSO”的C語言表達式是(D)。
A)a>=10ora<=0B)a>=0|a<=10
C)a>=10&&a<=0
D)a>=10||a<=0
20.有如下程序段
inta=14,b=15,x;
charc='A';
x=(a&&b)&&(c<4B,);
執(zhí)行該程序段后,x的值為(D)。
A)ture
B)false
C)0
D)1
21.以下程序的輸出結(jié)果是(C)o
A)-l1
B)01
C)10
D)00
main()
{inta=-l,b=l,k;
if((+4-a<0)&&!(b-<=0))
printf("%d%d\n*\a,b);
else
printf("%d%d\nM,b,a);
}
22.與y=(x>0?l:xv0?-l:0);的功能相同的if語句是(A)。
A)if(x>0)y=l;
B)if(x)
elseififx<0)y=-l;if{x>O)y=l;
elsey=0;elseif(x<O)y=-l;
elsey=0;
C)y=-lD)y=0;
if(x)if(x>=0)
if(x>0)y=l;if(x>O)y=l;
elseififx=O)y=O;elsey="l;
elsey="l;
23.閱讀以下程序:
main()
{intx;
scanf(n%dH,&x);
if(x-<5)printf(n%dn,x);
elseprintf(M%dn,x-H-);
}
程序運行后,如果從鍵盤上輸人5,則輸出結(jié)果是(B)。
A)3
B)4
C)5
D)6
24.假定w、x^y、z^m均為int型變量,有如下程序段:
w=l;x=2;y=3;z=4;
m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;
則該程序運行后,m的值是(D)。
A)4
B)3
C)2
D)1
25.有如下程序
main()
{floatx=2.0,y;
if(x<0.0)y=0.0;
elseif(x<10.0)y=1.0/x;
elsey=1.0;
printf(4€%f\n,,,y);
)
該程序的輸出結(jié)果是(C)。
A)0.000000
B)0.250000
C)0.500000
D)1.000000
26.有如下程序
main()
{inta=2,b=-l,c=2;
if(a)if(b<0)c=0;
elsec";
printf("%d\n”,C);
)
該程序的輸出結(jié)果是(A)o
A)0
B)1
C)2
D)3
27.若有定義:floatw;inta,b;則合法的switch語句是(C)。
A)switch(w)
Bswitch(x)
{case1.0:printR”*\n");{case1,2:printf(u*\n");
case2.0:printf("**\n”);case3:printf("**\n");
}無default語句}
C)switch(b)
D)switch(a+b);
{case1:printfC,*\nn);{case1:printf(M*\nn);
default:printf(M\n");case2:printff**\n”);
case1+2:printf(u**\n");default:printf("\nn);
}}
28.若a、b、cl、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;casel:y=a+b;break;
}case3:y=b-a;break;
}
C)switcha
D)switch(a-b)
{casecl: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=l,a=0,b=0;
switch(x)
{
case0:b++;
case1:a++;
case2:a++;b~H~;
}
printf(44a=%d,b=%d\n,,,a,b);
}
該程序的輸出結(jié)果是(A)o
A)a=2,b=l
B)a=l,b=l
C)a=l,b=0
D)a=2,b=2
30.當(dāng)輸入19、2、21時,以下程序的輸出結(jié)果是(A)o
main()
{inta,b,c,max;
printff'pleaseinputthreenumbersa,b,c:\n^^);
scanf("%d,%d,%d”,&a,&b,&C);
max=a;
if(max<b)
max=b;
if(max<C)
max=c;
printfV'maxis:%d\n”,max);
)
A)maxis:21
B)maxis:19
C)maxis:42
D)maxis:40
31.若輸入B,以下程序的輸出結(jié)果是(C)。
main()
{chargrade;
scanf("%c”,&grade);
switch(grade)
(
case'A':printR”>=85.”);
case'B':
case'C':printfC>=60.");
case,D,:printfTv60.");
default:printfC'error.");
|
}
A)>=85.
B)>=60.
C)>=60.<60.error.
D)error.
32.當(dāng)執(zhí)行以下語句后的輸出結(jié)果是(D)。
intx=3,y=0;
printf("%d,%d?,-l>x>-10&&l<x<10,-l>y>-10&&l<y<10);
A)03
B)30
C)33
D)11
33.執(zhí)行x=5>l+2&&2||2*4<4?!0后,x的值為(C)。
A)-1
B)0
C)1
D)5
34.以下程序的輸出結(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(44c=%d,x=%d,y=%d,z=%d\n”,c,x,y,z);
)
A)c=O,x=l,y=l,z=O
B)c=5,x=0,y=l,z=0
C)c=l,x=O,y=O,z=l
D)c=10,x=2,y=0,z=l
35.下列運算符中,不屬于關(guān)系運算符的是(D)。
A)<
B)>=
C)=
D)!
36.以下程序的輸出結(jié)果是(
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度股權(quán)投資合同:甲方投資乙方公司的投資金額、股權(quán)比例等3篇
- 二零二五年度車輛包車保險合同規(guī)范3篇
- 二零二五版地下綜合管廊安全防護質(zhì)量保修合同3篇
- 二零二五版30萬噸礦砂船船舶維修保養(yǎng)及配件供應(yīng)長期合同3篇
- 二零二五版專業(yè)環(huán)保印刷保密合同3篇
- 二零二五年度網(wǎng)絡(luò)直播平臺運營與分成合同2篇
- 二零二五年環(huán)保搬運承包項目合同3篇
- 解除2025年度互聯(lián)網(wǎng)金融服務(wù)合同3篇
- 二零二五版文化衍生品開發(fā)及銷售合同范本3篇
- 二零二五版服裝品牌管理公司員工勞動合同范本3篇
- 2025年中國高純生鐵行業(yè)政策、市場規(guī)模及投資前景研究報告(智研咨詢發(fā)布)
- 2022-2024年浙江中考英語試題匯編:完形填空(學(xué)生版)
- 2025年廣東省廣州市荔灣區(qū)各街道辦事處招聘90人歷年高頻重點提升(共500題)附帶答案詳解
- 中試部培訓(xùn)資料
- 硝化棉是天然纖維素硝化棉制造行業(yè)分析報告
- 央視網(wǎng)2025亞冬會營銷方案
- 北師大版數(shù)學(xué)三年級下冊豎式計算題100道
- 計算機網(wǎng)絡(luò)技術(shù)全套教學(xué)課件
- 屋頂分布式光伏發(fā)電項目施工重點難點分析及應(yīng)對措施
- 胃鏡下超聲穿刺護理配合
- 2024解析:第三章物態(tài)變化-基礎(chǔ)練(原卷版)
評論
0/150
提交評論