《C語言課后習題》word版
《《C語言課后習題》word版》由會員分享,可在線閱讀,更多相關《《C語言課后習題》word版(147頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第一章 C語言概述 1.1 選擇題 【題1.1】一個C程序的執(zhí)行是從 。 A) 本程序的main函數(shù)開始,到main函數(shù)結束 B) 本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結束 C) 本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結束 D) 本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結束 【題1.2】以下敘述正確的是 。 A) 在C程序中,main函數(shù)必須位于程序的最前面 B) C程序的每行中只能寫一條語句 C) C語言本身沒有輸入輸出語句 D) 在對一個C程序進行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯誤 【題1.3】以下敘
2、述不正確的是 。 A) 一個C源程序可由一個或多個函數(shù)組成 B) 一個C源程序必須包含一個main函數(shù) C) C程序的基本組成單位是函數(shù) D) 在C程序中,注釋說明只能位于一條語句的后面 【題1.4】C語言規(guī)定:在一個源程序中,main函數(shù)的位置 。 A) 必須在最開始 B) 必須在系統(tǒng)調(diào)用的庫函數(shù)的后面 C) 可以任意 D) 必須在最后 【題1.5】一個C語言程序是由 。 A) 一個主程序和若干子程序組成 B) 函數(shù)組成 C) 若干過程組成 D) 若干子程序組成 1.2 填空題 【題1.6】C源程序的基本單位是【 】。
3、
【題1.7】一個C源程序至少應包括一個【 】。
【題1.8】在一個C源程序中,注釋部分兩側的分界符分別為【1】和【2】。
【題1.9】在C語言中,輸入操作是由庫函數(shù)【1】完成的,輸出操作是由庫函數(shù)【2】完成的。
【題1.10】C程序的三種基本結構是【 】。
第三章 C語言的基本數(shù)據(jù)類型與表達式
3.1 選擇題
【題3.1】在C語言中(以16位PC機為例),5種基本數(shù)據(jù)類型的存儲空間長度的排列順序為 。
A) char 4、ar 5、intf
C) include scanf case
D) while go pow
【題3.5】下列四個選項中,均是C語言關鍵字的選項是 。
A) auto enum include
B) switch typedef continue
C) signed union scanf
D) if struct type
【題3.6】下面四個選項中,均不合法的用戶標識符的選項是 。
A) A P_0 do
B) float la0 _A
C) b-a goto int
D) _123 temp INT
【題3.7】C語言中的標 6、識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符 。
A) 必須為字母
B) 必須為下劃線
C) 必須為字母或下劃線
D) 可以是字母、數(shù)字和下劃線中任一種字符
【題3.8】下面四個選項中,均是合法整型常量的選項是 。
A) 160 -0xffff 011
B) -0xcdf 01a 0xe
C) -01 986,012 0668
D) -0x48a 2e5 0x
【題3.9】下面四個選項中,均是不合法的整型常量的選項是 。
A) --0f1 -0xffff 0011
B) -0Xcdf 017 12,456
C) 7、 -018 999 5e2
D) -0x48eg -068 03f
【題3.10】下面四個選項中,均是不合法的浮點數(shù)的選項是 。
A) 160. 0.12 e3
B) 123 2e4.2 .e5
C) -.18 123e4 0.0
D) -e3 .234 1e3
【題3.11】下面四個選項中,均是合法浮點數(shù)的選項是 。
A) +1e+1 5e-9.4 03e2
B) -.60 12e-4 -8e5
C) 123e 1.2e-.4 +2e-1
D) -e3 .234 5.e-0
【題3.12】下面四個選項中,均是 8、合法轉義字符的選項是 。
A) ‘\’’ ‘\\’ ‘\n’
B) ‘\’ ‘\017’ ‘\”’
C) ‘\018’ ‘\f’ ‘xab’
D) ‘\\0’ ‘\101’ ‘x1f’
【題3.13】下面四個選項中,均是不合法的轉義字符的選項是 。
A) ‘\”’ ‘\\’ ‘\xf’
B) ‘\1011’ ‘\’ ‘\a’
C) ‘\011’ ‘\f’ ‘\}’
D) ‘\abc’ ‘\101’ ‘xlf’
【題3.14】下面正確的字符常量是 。
A)“c” B) ‘\\’’ C) ‘W’ D) ‘’
【題3. 9、15】下面四個選項中,均是不正確的八進制數(shù)或十六進制數(shù)的選項是 。
A) 016 0x8f 018
B) 0abc 017 0xa
C) 010 -0x11 0x16
D) 0a12 7ff -123
【題3.16】下面四個選項中,均是正確的八進制數(shù)或十六進制數(shù)的選項是 。
A) -10 0x8f -011
B) 0abc -017 0xc
C) 0010 -0x11 0xf1
D) 0a12 -0x123 -0xa
【題3.17】下面四個選項中,均是正確的數(shù)值常量或字符常量的選項是 。
A) 0.0 0f 8.9e ‘ 10、&’
B) “a” 3.9E-2.5 1e1 ‘\”’
C) ‘3’ 011 0xFF00 0a
D) +011 0xabcd 2e2 50.
【題3.18】下面不正確的字符串常量是 。
A)‘a(chǎn)bc’ B)“12’12” C)“0” D)“ ”
【題3.19】對應以下各代數(shù)式中,若變量a和x均為double類型,則不正確的C語言表達式是 。
代數(shù)式 C語言表達式
A) exp(x*x/2)/sqrt(2*3.14159)
B) 1.0/2.0*(a*x+(a+x)/(4*a)
C) sqrt(( 11、pow(sin(x*3.14159/180),2.5))
D) x*x-exp(5.0)
【題3.20】若有代數(shù)式,則不正確的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
【題3.21】已知各變量的類型說明如下:
int k,a,b;
unsigned long w=5;
double x=1.42;
則以下不符合C語言語法的表達式是 。
A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)*(a=3)
12、
【題3.22】已知各變量的類型說明如下:
int i=8,k,a,b;
unsigned long w=5;
double x=1.42,y=5.2;
則以下符合C語言語法的表達式是 。
A)a+=a-=(b=4)*(a=3) B)a=a*3=2 C)x%(-3) D)y=float(i)
【題3.23】以下不正確的敘述是 。
A) 在C程序中,逗號運算符的優(yōu)先級最低
B) 在C程序中,APH和aph是兩個不同的變量
C) 若a和b類型相同,在執(zhí)行了賦值表達式a=b后b中的值將放入a中而b中的值不變
D) 當從鍵盤輸入數(shù)據(jù)時,對于整 13、型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型數(shù)值
【題3.24】以下正確的敘述是 。
A) 在C程序中,每行中只能寫一條語句
B) 若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數(shù)
C) 在C程序中,無論是整數(shù)還是實數(shù),都能被準確無誤地表示
D) 在C程序中,%是只能用于整數(shù)運算的運算符
【題3.25】以下符合C語言語法的賦值表達式是 。
A)d=9+e+f=d+9 B)d=9+e,f=d+9 C)d=9+e,e++,d+9 D)d=9+e++=d+7
【題3.26】已知字母A的ASCII碼為十進制數(shù)65,且c2為字符型,則執(zhí)行 14、語句c2=‘A’+‘6’-‘3’;后,c2中的值為 。
A)D B)68 C)不確定的值 D)C
【題3.27】在C語言中,要求運算數(shù)必須是整型的運算符是 。
A)/ B)++ C)?。? D)%
【題3.28】若以下變量均是整型,且num=sum=7;則執(zhí)行表達式sUM=num++,sUM++,++num 后sum的值為 。
A)7 B)8 C)9 D)10
【題3.29】在C語言中,int、char和short三種類型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù) 。
A)由用戶自己定義 B)均為2個字節(jié)
C 15、)是任意的 D)由所用機器的機器字長決定
【題3.30】若有說明語句:char c=‘\72’;則變量c 。
A)包含1個字節(jié) B)包含2個字節(jié)
C)包含3個字節(jié) D)說明不合法,c的值不確定
【題3.31】若有定義:int a=7; float x=2.5,y=4.7;則表達式x+a%3*(int)(x+y)%2/4的值是 。
A)2.500000 B)2.750000 C)3.500000 D)0.000000
【題3.32】sizeof(float)是 。
A)一個雙精度型表達式 B)一個整型表達式 16、
C)一種函數(shù)調(diào)用 D)一個不合法的表達式
【題3.33】設變量a是整型,f是實型,i是雙精度型,則表達式10+‘a(chǎn)’+i*f值的數(shù)據(jù)類型為 。
A)int B)float C)double D)不確定
【題3.34】下面四個選項中,均是非法常量的選項是 。
A) ‘a(chǎn)s’ -0fff ‘\0xa’
B) ‘\\’ ‘\01’ 12,456
C) -0x18 01177 0xf
D) 0xabc ‘\0’ “a”
【題3.35】若有代數(shù)式,則正確的C語言表達式是 。
A) sqrt(fabs(pow(y 17、,x)+log(y)))
B) sqrt(abs(pow(y,x)+log(y)))
C) sqrt(fabs(pow(x,y)+log(y)))
D) sqrt(abs(pow(x,y)+log(y)))
【題3.36】若有代數(shù)式,則正確的C語言表達式是 。
A) fabs(x*3+log(x))
B) abs(pow(x,3)+log(x))
C) abs(pow(x,3.0)+log(x))
D) fabs(pow(x,3.0)+log(x))
【題3.37】在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是 。
A)補碼 B)反碼 C)原碼 18、 D)ASCII碼
【題3.38】設變量n為float類型,m為int類型,則以下能實現(xiàn)將n中的數(shù)值保留小數(shù)點后兩位,第三位進行四舍五入運算的表達式是 。
A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0
C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0
【題3.39】表達式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為 。
A)int B)float C)double D)不確定
【題3.40】設C語言中,一個int型數(shù)據(jù)在內(nèi)存中占2個字節(jié),則uns 19、igned int型數(shù)據(jù)的取值范圍為 。
A)0~255 B)0~32767 C)0~65535 D)0~2147483647
【題3.41】設有說明:char w; int x; float y; double z;則表達式w*x+z-y值的數(shù)據(jù)類型為 。
A)float B)char C)int D)double
【題3.42】若有以下定義,則能使值為3的表達式是 。
int k=7,x=12;
A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5)
【題3.4 20、3】設以下變量均為int類型,則值不等于7的表達式是 。
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)
3.2填空題
【題3.44】在C語言中(以16位PC機為例),一個char型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【1】;一個int型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【2】。
【題3.45】在C語言中(以16位PC機為例),一個float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【1】;一個double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【2】。
【題3.46】若有以下定 21、義,則執(zhí)行表達式y(tǒng)+=y-=m*=y后的y值是【 】。
int m=5,y=2;
【題3.47】設C語言中,一個int型數(shù)據(jù)在內(nèi)存中占2個字節(jié),則int型數(shù)據(jù)的取值范圍為【 】。
【題3.48】在C語言中的實型變量分為兩種類型,它們是【1】和【2】。
【題3.49】C語言所提供的基本數(shù)據(jù)類型包括:單精度型、雙精度型、【1】、【2】和【3】。
【題3.50】若s是int型變量,且s=6,則下面表達式的值為【 】。
s%2+(s+1)%2
【題3.51】若a是int型變量,則下面表達式的值為【 】。
(a=4*5,a*2),a+6
【題3.52】若x 22、和a均是int型變量,則執(zhí)行表達式(1)后的x值為【1】,執(zhí)行表達式(2)后的x值為【2】。
(1)x=(a=4,6*2)
(2)x=a=4,6*2
【題3.53】若a、b和c均是int型變量,則執(zhí)行下面表達式后,a值為【1】,b值為【2】,c值為【3】。
a=(b=4)+(c=2)
【題3.54】若a是int型變量,且a的初值為6,則執(zhí)行下面表達式后a的值為【 】。
a+=a-=a*a
【題3.55】若a是int型變量,則執(zhí)行下面表達式后a的值為【 】。
a=25/3%3
【題3.56】若x和n均是int型變量,且x和n的初值均為5,則執(zhí)行下面表達 23、式后x的值為【1】,n的值為【2】。
x+=n++
【題3.57】若有定義:int b=7; float a=2.5,c=4.7;則下面表達式的值為【 】。
a+(int)(b/3*(int)(a+c)/2)%4
【題3.58】若有定義:int a=2,b=3; float x=3.5,y=2.5;則下面表達式的值為【 】。
(float)(a+b)/2+(int)x%(int)y
【題3.59】若有定義:char c=‘\010’;則變量c中包含的字符個數(shù)為【 】。
【題3.60】若有定義:int x=3,y=2; float a=2.5,b=3.5;則下 24、面表達式的值為【 】。
(x+y)%2+(int)a/(int)b
【題3.61】若x和n均是int型變量,且x的初值為12,n的初值為5,則執(zhí)行下面表達式后x的值為【 】。
x%=(n%=2)
【題3.62】假設所有變量均為整型,則表達式(a=2,b=5,a++,b++,a+b)的值為【 】。
【題3.63】C語言中的標識符只能由三種字符組成,它們是【1】、【2】和【3】。
【題3.64】已知字母a的ASCII碼為十進制數(shù)97,且設ch為字符型變量,則表達式ch=‘a(chǎn)’+‘8’-‘3’的值為【 】。
【題3.65】把以下多項式寫成只含七次乘法運算,其余皆 25、為減運算的表達式為【 】。
5X^7+3X^6-4X^5+2X^4+X^3-6X^2+X+10
【題3.66】若x和y都是double型變量,且x的初值為3.0,y的初值為2.0,則表達式pow(y,fabs(x))的值為【 】。
【題3.67】若有定義:int e=1,f=4,g=2; float m=10.5,n=4.0,k;則執(zhí)行賦值表達式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是【 】。
【題3.68】表達式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的數(shù)據(jù)類型為【 】。
【題3.69】表達式pow 26、(2.8,sqrt(double)(x)))值的數(shù)據(jù)類型為【 】。
【題3.70】假設m是一個三位數(shù),從左到右用a、b、c表示各位的數(shù)字,則從左到右各個數(shù)字是bac的三位數(shù)的表達式是【 】。
第4章 順序程序設計
4.1 選擇題
【題4.1】putchar函數(shù)可以向終端輸出一個 。
A) 整型變量表達式值
B) 實型變量值
C) 字符串
D) 字符或字符型變量值
【題4.2】以下程序的輸出結果是 。
main()
{
printf(“\n*s1=%15s*”, “chinabeijing”);
printf(“ 27、\n*s2=%-5s*”, “chi”);
}
A)*s1=chinabeijing * B)*s1=chinabeijing *
*s2=**chi* *s2=chi *
C)*s1=*chinabeijing* D)*s1= chinabeijing*
*s2=chi* *s2=chi *
【題4.3】printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長度大于5,則輸出按方式【1】;如果字符串長度小于5,則輸出按方式【2】。
A) 從左起輸出該字 28、串,右補空格
B) 按原字符長從左向右全部輸出
C) 右對齊輸出該字串,左補空格
D) 輸出錯誤信息
【題4.4】已有定義int a=-2;和輸出語句:printf(“%8lx”,a);以下正確的敘述是 。
A) 整型變量的輸出格式符只有%d一種
B) %x是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù)
C) %x是格式符的一種,其變量的值按十六進制輸出,但%8lx是錯誤的
D) %8lx不是錯誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度
【題4.5】以下C程序正確的運行結果是 。
main()
{
long y=-43456;
prin 29、tf(“y=%-8ld\n”,y);
printf(“y=%-08ld\n”,y);
printf(“y=%08ld\n”,y);
printf(“y=%+8ld\n”,y);
}
A)y= -43456 B)y=-43456
y=- 43456 y=-43456
y=-0043456 y=-0043456
y=-43456 y=+-43456
C)y=-43456 D)y= -43456
y=-43456 y=-0043456
30、 y=-0043456 y=00043456
y= -43456 y=+43456
【題4.6】以下C程序正確的運行結果是 。
main()
{
int y=2456;
printf(“y=%3o\n”,y);
printf(“y=%8o\n”,y);
printf(“y=%#8o\n”,y);
}
A)y= 2456 B)y= 4630
y= 2456 y= 4630
y=########2456 y=#### 31、####4630
C)y=2456 D)y=4630
y= 2456 y= 4630
y= 02456 y= 04630
【題4.7】以下C程序正確的運行結果是 。
main()
{
long y=23456;
printf(“y=%3x\n”,y);
printf(“y=%8x\n”,y);
printf(“y=%#8x\n”,y);
}
A)y=5ba0 B)y= 5ba0 C)y=5ba0 D)y=5ba0
y= 5b 32、a0 y= 5ba0 y=5ba0 y= 5ba0
y= 0x5ba0 y= 0x5ba0 y=0x5ba0 y=####5ba0
【題4.8】若x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語句是 。
A) scanf(“%d%lx,%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);
【題4.9】已有如 33、下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當從第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是 。
int a1,a2; char c1,c2;
scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);
A)10A 20B 34、 【1】A)12345 B)123 C)45 D)345
【2】A)無定值 B)45.000000 C)678.000000 D)123.000000
【題4.11】已有如下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當從第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是 。
int a1,a2; char c1,c2;
scanf(“%d%d”,&a1,&a2);
scanf(“%c%c”,&c1,&c2);
A)1020AB 35、 20 AB 36、“%f%d”,&f,&a);
【題4.13】根據(jù)定義和數(shù)據(jù)的輸入方式,輸入語句的正確形式為 。
已有定義:float f1,f2;
數(shù)據(jù)的輸入方式:4.52
3.5
A) scanf(“%f,%f”,&f1,&f2);
B) scanf(“%f%f”,&f1,&f2);
C) scanf(“%3.2f %2.1f”,&f1,&f2);
D) scanf(“%3.2f%2.1f”,&f1,&f2);
【題4.14】閱讀以下程序,當輸入數(shù)據(jù)的形式為 25,13,10 37、t x,y,z;
scanf(“%d%d%d”,&x,&y,&z);
printf(“x+y+z=%d\n”,x+y+z);
}
A) x+y+z=48
B) x+y+z=35
C) x+z=35
D) 不確定值
【題4.15】閱讀以下程序,若運行結果為如下形式,輸入輸出語句的正確內(nèi)容是 。
main()
{
int x; float y;
printf(“enter x,y:”);
輸入語句
輸出語句
}
輸入形式 enter x,y:2 3.4
輸出形式 x+y=5.40
A) s 38、canf(“%d,%f”,&x,&y);
printf(“\nx+y=%4.2f”,x+y);
B) scanf(“%d%f”,&x,&y);
printf(“\nx+y=%4.2f”,x+y);
C) scanf(“%d%f”,&x,&y);
printf(“\nx+y=%6.1f”,x+y);
D) scanf(“%d%3.1f”,&x,&y);
printf(“\nx+y=%4.2f”,x+y);
【題4.16】以下說法正確的是 。
A) 輸入項可以為一實型常量,如scanf(“%f”,3.5);
B) 只有格式控制,沒有輸入項,也能進行正確輸入,如scan 39、f(“a=%d,b=%d”);
C) 當輸入一個實型數(shù)據(jù)時,格式控制部分應規(guī)定小數(shù)點后的位數(shù),如scanf(“%4.2f”,&f);
D) 當輸入數(shù)據(jù)時,必須指明變量的地址,如scanf(“%f”,&f);
【題4.17】根據(jù)下面的程序及數(shù)據(jù)的輸入方式和輸出形式,程序中輸入語句的正確的形式應該為 。
main()
{
char ch1,ch2,ch3;
輸入語句
printf(“%c%c%c”,ch1,ch2,ch3);
}
輸入形式:A B C
輸出形式:A B
A) scanf(“%c%c%c”,&ch1,&ch2,&c 40、h3);
B) scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);
C) scanf(“%c %c %c”,&ch1,&ch2,&ch3);
D) scanf(“%c%c”,&ch1,&ch2,&ch3);
【題4.18】有輸入語句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);為使變量a的值為1,b為3,c為2,從鍵盤輸入數(shù)據(jù)的正確形式應當是 。
A) 132<回車>
B) 1,3,2<回車>
C) a=1 b=3 c=2<回車>
D) a=1,b=3,c=2<回車>
【題4.19】以下能正確地定義整型變量a,b和c并為其賦 41、初值5的語句是 。
A)int a=b=c=5; B)int a,b,c=5;
C)a=5,b=5,c=5; D)a=b=c=5;
【題4.20】已知ch是字符型變量,下面不正確的賦值語句是 。
A)ch=‘a(chǎn)+b’; B)ch=‘\0’; C)ch=‘7’+‘9’; D)ch=5+9;
【題4.21】已知ch是字符型變量,下面正確的賦值語句是 。
A)ch=‘123’; B)ch=‘\xff’; C)ch=‘\08’; D)ch=“\”;
【題4.22】若有以下定義,則正確的賦值語句是 。
int a, 42、b; float x;
A)a=1,b=2, B)b++; C)a=b=5 D)b=int(x);
【題4.23】設x、y均為float型變量,則以下不合法的賦值語句是 。
A)++x; B)y=(x%2)/10; C)x*=y+8; D)x=y=0;
【題4.24】設x、y和z均為int型變量,則執(zhí)行語句x=(y=(z=10)+5)-5;后,x、y和z的值是 。
A)x=10 B)x=10 C)x=10 D)x=10
y=15 y=10 y=10 y=5
z=10 z=10 43、 z=15 z=10
【題4.25】設有說明:double y=0.5,z=1.5; int x=10;則能夠正確使用C語言庫函數(shù)的賦值語句是 。
A) z=exp(y)+fabs(x);
B) y=log10(y)+pow(y);
C) z=sqrt(y-z);
D) x=(int)(atan2((double)x,y)+exp(y-0.2));
4.2 填空題
【題4.26】以下程序的輸出結果為 。
main()
{
short i;
i=-4;
printf(“\ni:dec=%d,oct=%o,h 44、ex=%x,unsigned=%u\n”,i,i,i,i);
}
【題4.27】以下程序的輸出結果為 。
main()
{
printf(“*%f,%4.3f*\n”,3.14,3.1415);
}
【題4.28】以下程序的輸出結果為 。
main()
{
char c=‘x’;
printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c);
}
【題4.29】已有定義int d=-2;執(zhí)行以下語句后的輸出結果是 。
printf(“*d(1)=%d*d(2)= 45、%3d*d(3)=%-3d*\n”,d,d,d);
printf(“*d(4)=%o*d(5)=%7o*d(6)=%-7o*\n”,d,d,d);
【題4.30】已有定義int d=-2;執(zhí)行以下語句后的輸出結果是 。
printf(“*d(1)=%d*d(2)=%3d*d(3)=%-3d*\n”,d,d,d);
printf(“*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n”,d,d,d);
【題4.31】已有定義float d1=3.5,d2=-3.5;執(zhí)行以下語句后的輸出結果是 。
printf(“*d(1)=%e*d(2)=%.4e 46、*d(3)=%10.4e*\n”,d1,d1,d1);
printf(“*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\n”,d2,d2,d2);
【題4.32】以下程序的輸出結果為 。
main()
{
int x=1,y=2;
printf(“x=%d y=%d *sum*=%d\n”,x,y,x+y);
printf(“10 Squared is:%d\n”,10*10);
}
【題4.33】以下程序的輸出結果為 。
#include 47、0; float pi=3.1416;
printf(“(1) %d\n”,x);
printf(“(2) %6d\n”,x);
printf(“(3) %f\n”,56.1);
printf(“(4) %14f\n”,pi);
printf(“(5) %e\n”,568.1);
printf(“(6) %14e\n”,pi);
printf(“(7) %g\n”,pi);
printf(“(8) %12g\n”,pi);
}
【題4.34】以下程序的輸出結果為 。
#include 48、ain()
{
float a=123.456; double b=8765.4567;
printf(“(1) %f\n”,a);
printf(“(2) %14.3f\n”,a);
printf(“(3) %6.4f\n”,a);
printf(“(4) %lf\n”,b);
printf(“(5) %14.3lf\n”,b);
printf(“(6) %8.4lf\n”,b);
printf(“(7) %.4f\n”,b);
}
【題4.35】以下printf語句中*號的作用是【1】,輸出結果是【2】。
# 49、include 50、4.10lf##\n”,a);
}
【題4.37】以下程序的輸出結果為 。
#include 51、【題4.39】以下程序段的輸出結果為 。
int x=7281;
printf(“(1) x=%3d,x=%6d,x=%6o,x=%6x,x=%6u\n”,x,x,x,x,x);
printf(“(2) x=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=%%06d\n”,x,x,x,x,x);
printf(“(3) x=%+3d,x=%+6d,x=%+08d\n”,x,x,x);
printf(“(4) x=%o,x=%#o\n”,x,x);
printf(“(5) x=%x,x=%#x\n”,x,x);
【題4.40】假設變量a和b均為整 52、型,以下語句可以不借助任何變量把a、b中的值進行交換。請?zhí)羁铡?
a+=【1】; b=a-【2】; a-=【3】;
【題4.41】假設變量a、b和c均為整型,以下語句借助中間變量t把a、b和c中的值進行交換,即:把b中的值給a,把c中的值給b,把a中的值的給c。例如:交換前,a=10,b=20,c=30;交換后,a=20,b=30,c=10。請?zhí)羁铡?
【1】; a=b; b=c; 【2】;
【題4.42】設x、y和z都是int型變量,m為long型變量,則在16位微型機上執(zhí)行下面賦值語句后,y值為【1】,z值為【2】,m值為【3】。
y=(x=32767,x-1);
53、z=m=0xFFFF;
【題4.43】若x為int型變量,則執(zhí)行以下語句后x的值是【 】。
x=7;
x+=x-=x+x;
【題4.44】若a和b均為int型變量,則以下語句的功能是【 】。
a+=b; b=a-b; a-=b;
【題4.45】在scanf函數(shù)調(diào)用語句中,可以在格式字符和%號之間加一星號,它的作用是【1】;當輸入以下數(shù)據(jù):10 20 30 40<回車>(此處每個數(shù)據(jù)之間有兩個空格),下面語句的執(zhí)行結果是【2】。
int a1,a2,a3;
scanf(“%d%*d%d%d”,&a1,&a2,&a3);
【題4.46】有一輸入函數(shù) 54、scanf(“%d”,k);其不能使float類型變量k得到正確數(shù)值的原因是【1】和【2】。
【題4.47】已有定義int a; float b,x; char c1,c2;為使a=3,b=6.5,x=12.6,c1=‘a(chǎn)’,c2=‘A’,正確的scanf函數(shù)調(diào)用語句是【1】,輸入數(shù)據(jù)的方式為【2】。
【題4.48】若有以下定義和語句,為使變量c1得到字符‘A’,變量c2得到字符‘B’,正確的格式輸入形式是 。
char c1,c2;
scanf(“%4c%4c”,&c1,&c2);
【題4.49】執(zhí)行以下程序時,若從第一列開始輸入數(shù)據(jù),為使變量a=3,b=7, 55、x=8.5,y=71.82,c1=‘A’,c2=‘a(chǎn)’,正確的數(shù)據(jù)輸入形式是 。
main()
{
int a,b; float x,y; char c1,c2;
scanf(“a=%d b=%d”,&a,&b);
scanf(“x=%f y=%f”,&x,&y);
scanf(“c1=%c c2=%c”,&c1,&c2);
printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c”,a,b,x,y,c1,c2);
}
【題4.50】已有定義int i,j; float x;為將-10賦給i,12賦給j,41 56、0.34賦給x;則對應以下scanf函數(shù)調(diào)用語句的數(shù)據(jù)輸入形式是 。
scanf(“%o%x%e”,&i,&j,&x);
【題4.51】 以下程序,不借助任何變量把a,b 中的值進行交換。
#include 〈stdio.h〉
main()
{int a,b;
printf(″Input a,b:″); scanf(″%d%d″,) ;
a+= ; b=- ; a - = ;
printf(″a=%d b=%d\\n″,a,b);
}
第5章 選 57、擇結構程序設計
5.1 選擇題
【題5.1】邏輯運算符兩側運算對象的數(shù)據(jù)類型 。
A) 只能是0或1
B) 只能是0或非0正數(shù)
C) 只能是整型或字符型數(shù)據(jù)
D) 可以是任何類型的數(shù)據(jù)
【題5.2】以下關于運算符優(yōu)先順序的描述中正確的是 。
A) 關系運算符<算術運算符<賦值運算符<邏輯與運算符
B) 邏輯與運算符<關系運算符<算術運算符<賦值運算符
C) 賦值運算符<邏輯與運算符<關系運算符<算術運算符
D) 算術運算符<關系運算符<賦值運算符<邏輯與運算符
【題5.3】下列運算符中優(yōu)先級最高的是 。
A)< B)+ C)&& 58、 D)!=
【題5.4】能正確表示“當x的取值在[1,10]和[200,210]范圍內(nèi)為真,否則為假”的表達式是 。
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)
【題5.5】表示圖中坐標軸上陰影部分的正確表達式是 。
//// ////
//// ////
59、 X
a b c
A) (x<=a)&&(x>=b)&&(x<=c)
B) (x<=a)||(b<=x<=c)
C) (x<=a)||(x>=b)&&(x<=c)
D) (x<=a)&&(b<=x<=c)
【題5.6】判斷char型變量ch是否為大寫字母的正確表達式是 。
A)‘A’<=ch<=‘Z’ B)(ch>=‘A’)&(ch<=‘Z’)
C)(ch>=‘A’)&&(ch<=‘Z’) D)(‘A’<=ch)AND(‘Z’>=ch)
【題5.7】設x、y和z是int 60、型變量,且x=3,y=4,z=5,則下面表達式中值為0的是 。
A) ‘x’&&‘y’
B) x<=y
C) x||y+z&&y-z
D) !((x 61、nt a=1,b=2,c=3,d=4,m=2,n=2;
執(zhí)行(m=a>b)&&(n=c>d)后n的值為 。
A)1 B)2 C)3 D)4
【題5.11】判斷char型變量c1是否為小寫字母的正確表達式是 。
A)‘a(chǎn)’<=c1<=‘z’ B)(c1>=a)&&(c1<=z)
C)(‘a(chǎn)’>=c1)||(‘z’<=c1) D)(c1>=‘a(chǎn)’)&&(c1<=‘z’)
【題5.12】以下程序的運行結果是 。
#include “stdio.h”
main()
{
int a,b,d=241;
a= 62、d/100%9;
b=(-1)&&(-1);
printf(“%d,%d”,a,b);
}
A)6,1 B)2,1 C)6,0 D)2,0
【題5.13】執(zhí)行以下語句后a的值為【1】,b的值為【2】。
int a,b,c;
a=b=c=1;
++a||++b&&++c;
【1】 A)錯誤 B)0 C)2 D)1
【2】 A)1 B)2 C)錯誤 D)0
【題5.14】執(zhí)行以下語句后a的值為【1】,b的值為【2】。
int a=5,b=6,w=1,x=2,y=3,z=4;
(a=w>x)&&(b=y>z);
63、 ++a||++b&&++c;
【1】 A)5 B)0 C)2 D)1
【2】 A)6 B)0 C)1 D)4
【題5.15】以下不正確的if語句形式是 。
A) if(x>y&&x!=y);
B) if(x==y) x+=y;
C) if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);
D) if(x 64、行后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
【題5.18】以下if語句語法正確的是 。
A) if(x>0)
printf(“%f”,x)
else printf(“%f”,-x);
B) if(x>0)
{ x=x+y; printf(“%f”,x); }
else printf(“%f”,-x);
C) if(x>0)
{ x=x+y; printf(“% 65、f”,x); };
else printf(“%f”,-x);
D) if(x>0)
{ x=x+y; printf(“%f”,x) }
else printf(“%f”,-x);
【題5.19】請閱讀以下程序:
main()
{
int a=5,b=0,c=0;
if(a=b+c) printf(“***\n”);
else printf(“$$$\n”);
}
以下程序 。
A)有語法錯不能通過編譯 B)可以通過編譯但不能通過連接
C)輸出*** D)輸出$$$
【題5.20】以下程序的運行結果是 66、 。
main()
{
int m=5;
if(m++>5) printf(“%d\n”,m);
else printf(“%d\n”,m--);
}
A)4 B)5 C)6 D)7
【題5.21】當a=1,b=3,c=5,d=4時,執(zhí)行完下面一段程序后x的值是 。
if(a0
x+1
下面程序段中能正確表示上面關系的是 。
A)y=x+1; B)y=x-1;
if(x>=0) if(x!=0)
if(x==0) y=x; if(x>0) y=x+1;
else y=x-1;
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。