C語言習(xí)題全集 答案
《C語言習(xí)題全集 答案》由會(huì)員分享,可在線閱讀,更多相關(guān)《C語言習(xí)題全集 答案(141頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 目 錄 第一單元 程序設(shè)計(jì)和C語言 1 第二單元 順序程序設(shè)計(jì) 3 第三單元 分支程序設(shè)計(jì) 7 第四單元 循環(huán)程序設(shè)計(jì) 14 第五單元 數(shù) 組 23 第六單元 函 數(shù) 34 第七單元 指 針 42 第八單元 結(jié)構(gòu)體和共用體 61 第九單元 文 件 78 附加題 82 模擬試卷一 102 模擬試卷二 108 模擬試卷三 114 North Gate Station and all the long distance Intercity, TRANS-province lines; North Gate Station cu
2、rrently runs the original counties, rural routes; Simon, station main, Yibin city, across the city, across the province and to the West of range line. Yibin city highway main station distribution table 3.1-6 station name grade accounted for to area (m2) Gao 第一單元 程序設(shè)計(jì)和C語言 一、 選擇題 1. C語言的基本構(gòu)成單位是:
3、 。 A. 函數(shù) B. 函數(shù)和過程 C. 超文本過程 D. 子程序 2. 一個(gè)C語言程序總是從 開始執(zhí)行。 A. 主過程 B. 主函數(shù) C. 子程序 D.主程序 3. C語言的程序一行寫不下時(shí),可以 。 A. 用逗號(hào)換行 B. 用分號(hào)換行 C. 在任意一空格處換行 D. 用回車符換行 4. 以下敘述不正確的是: 。 A. 在C程序中,語句之間必須要用分號(hào)";"分隔 B. 若a是實(shí)型變量,C程序中a=10是正確的,因?yàn)閷?shí)型變量中允許存放整型數(shù) C. 在C程序中,無論是整數(shù)還是實(shí)數(shù)都能正確無誤地表示
4、D. 在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符 5. 以下不正確的C語言標(biāo)識(shí)符是 。 A. ABC B. abc C. a_bc D. ab.c 6. 下列字符串是標(biāo)識(shí)符的是: 。 A. _HJ B. 9_student C. long D. LINE 1 7. 以下說法中正確的是: 。 A. C語言程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行 B. 在C語言程序中,要調(diào)用的函數(shù)必須放在main()函數(shù)中定義 C. C語言程序總是從main()函數(shù)開始執(zhí)行 D. C
5、語言程序中的main()函數(shù)必須放在程序的開始部分 8. 不合法的常量是: 。 A. ‘\2’ B. " " C. ‘3’ D. ‘\483’ 9. 已知各變量的類型說明如下,則以下不符合C語言語法的表達(dá)式是: 。 int k,a,b; unsigned long w=5; double x=1.422; A. x%(-3) B. w+=-2 C. k=(a=2,b=3,a+b) D. a+=a=+(b=4)*(a=3) 10. 在C語言中,字符型數(shù)據(jù)在內(nèi)存中以 形式存放。 A. 原碼 B. BCD碼 C.
6、反碼 D. ASCII碼 11. 若有定義:int a=7; float x=2.5; y=4.7; 則表達(dá)式x+a%3*(int)(x+y)%2/4的值是: 。 A. 2.500000 B. 2.750000 C. 3.500000 D. 0.000000 12. 設(shè)有說明:char w; int x; float y; double z; 則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為: 。 A. float B. char C. int D. double 13. 以下 是不正確的轉(zhuǎn)義字符。 A. '\\
7、' B. '\' C. '081' D. '\0' 14. 若x為int型變量,則執(zhí)行以下語句后,x的值為 。 x=6; x+=x-=x*x; A. 36 B. -60 C. 60 D. -24 15. 字符串"\\\"ABC\"\\"的長度是 。 A. 11 B. 7 C. 5 D. 3 二、 填空題 1. 一個(gè)函數(shù)由兩部分組成,它們是 和 。 2. 一個(gè)C源程序至少包含一個(gè)
8、,即 。 3. 設(shè)int a=12; 則表達(dá)式a/=a+a的值是 。 4. 表達(dá)式x=(a=3,6*a)和表達(dá)式x=a=3,6*a分別是 表達(dá)式和 表達(dá)式,兩個(gè)表達(dá)式執(zhí)行完的結(jié)果分別是 和 ,x值分別是 和 。 5. 在C語言中,實(shí)數(shù)有兩種表示形式,即 和 。 6. 在C語言中,運(yùn)算符的優(yōu)先級(jí)最小的是 運(yùn)算符。 第二單元 順序程序設(shè)計(jì) 一、 選擇題 1. 若m為
9、float型變量,則執(zhí)行以下語句后的輸出為 。 m=1234.123; printf("%-8.3f\n",m); printf("%10.3f\n",m); A. 1234.123 B. 1234.123 C. 1234.123 D. -1234.123 1234.123 1234.123 1234.123 001234.123 2. 若x,y,z均為int型變量,則執(zhí)行以下語句后的輸出為 。 x=(y=(z=10)
10、+5)-5; printf("x=%d,y=%d,z=%d\n",x,y,z); y=(z=x=0,x+10); printf("x=%d,y=%d,z=%d\n",x,y,z); A. X=10,Y=15,Z=10 B. X=10,Y=10,Z=10 X=0,Y=10,Z=0 X=0,Y=10,Z=10 C. X=10,Y=15,Z=10 D. X=10,Y=10,Z=10 X=10,Y=10,Z=0 X=0,Y=10,Z=0 3. 若x是int型變量,y是flo
11、at型變量,所用的scanf調(diào)用語句格式為: scanf("x=%d,y=%f",&x,&y); 則為了將數(shù)據(jù)10和66.6分別賦給x和y,正確的輸入應(yīng)是: 。 A. x=10,y=66.6<回車> B. 10 66.6<回車> C. 10<回車>66.6<回車> D. x=10<回車>y=66.6<回車> 4. 已知有變量定義:int a;char c;用scanf(“%d%c”,&a,&c);語句給a和c輸入數(shù)據(jù),使30存入a,字符‘b’存入c,則正確的輸入是: 。 A. 30’b’<回車> B.
12、30 b<回車> C. 30<回車>b<回車> D. 30b<回車> 5. 已知有變量定義:double x;long a; 要給a和x輸入數(shù)據(jù),正確的輸入語句是 。若要輸出a和x的值,正確的輸出語句 。 A. scanf(“%d%f”,&a,&x); B. scanf(“%ld%f”,&a,&x); printf(“%d,%f”,a,x); printf(“%ld,%f”,a,x); C. scanf(“%ld%lf”,&a,&x); D. scanf(“%ld%lf”,&a
13、,&x); printf(“%ld,%lf”,a,x); printf(“%ld,%f”,a,x); 6. 若有定義double x=1,y;則以下的語句執(zhí)行的結(jié)果是 。 y=x+3/2; printf(“%f”,y); A.2.500000 B.2.5 C.2.000000 D.2 7. 若a為整型變量,則以下語句 。 a=-2L; printf("%d\n",a); A. 賦值不合法 B. 輸出為不確定的值 C. 輸出值為-2 D. 輸出值為2 二、 讀程序?qū)懡Y(jié)果 1
14、. main() { int x,y; scanf("%2d%*2d%ld",&x,&y); printf("%d\n",x+y); } 執(zhí)行時(shí)輸入:1234567 2. main() { int x=4,y=0,z; x*=3+2; printf("%d",x); x*=y=z=4; printf("%d",x); } 3. main() { float x; int i; x=3.6; i=(int)x; printf("x
15、=%f,i=%d",x,i); } 4. main() { int a=2; a%=4-1; printf("%d, ",a); a+=a*=a-=a*=3; printf("%d",a); } 5. main() { int x=02,y=3; printf("x=%d,y=%%d",x,y); } 6. main() { char c1=’6’,c2=’0’; printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2); } 7. main() { int x,y,z;
16、 x=y=1; z=++x-1; printf("%d,%d\n",x,z); z+=y++; printf("%d,%d\n",y,z); } 三、 填空題 1. 在C語言中,字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用,一個(gè)字符數(shù)據(jù)既能以 輸出,也能以 輸出。 2. "%-ms"表示如果串長小于m,則在m列范圍內(nèi),字符串向 靠, 補(bǔ)空格。 3. printf函數(shù)的“格式控制”包括兩部分,它們是 和 。 4. 編寫程序求矩形的面積和
17、周長,矩形的長和寬由鍵盤輸入,請(qǐng)?zhí)羁铡?
#include
18、應(yīng)的整數(shù)存入n,如:字符‘0’所對(duì)應(yīng)的整數(shù)就是0。請(qǐng)?zhí)羁铡? void main() { char c; ; printf(“please input a char:\n”); c= ; n= ; printf( ,c,n); } 四、 編程 1. 將華氏溫度轉(zhuǎn)換為攝氏溫度和絕對(duì)溫度的公式分別為: c=(f-32) (攝氏溫度)
19、 k=273.16+c (絕對(duì)溫度) 請(qǐng)編程序:當(dāng)給出f時(shí),求其相應(yīng)攝氏溫度和絕對(duì)溫度。 測(cè)試數(shù)據(jù):① f=34 ② f=100 2. 寫一個(gè)程序把極坐標(biāo)(r,θ) (θ之單位為度)轉(zhuǎn)換為直角坐標(biāo)( X,Y)。轉(zhuǎn)換公式是: x=r.cosθ y=r.sinθ 測(cè)試數(shù)據(jù):① r=10 θ=45° ② r=20 θ=90° 3. 寫一個(gè)程序,按如下格式輸出數(shù)據(jù)。 name number math english
20、 computer zhanghua 9901 80.50 87.0 80 lina 9902 70.00 80.0 90 wanggang 9903 87.00 76.0 78 4. 輸入3個(gè)雙精度實(shí)數(shù),分別求出它們的和、平均值、平方和以及平方和的開方,并輸出所求出各個(gè)值。 5. 輸入一個(gè)3位整數(shù),求出該數(shù)每個(gè)位上的數(shù)字之和。如123,每個(gè)位上的數(shù)字和就是1+2+3=6。 第三單元 分支程序設(shè)計(jì) 一、 選擇題 1. 若x=0,y=3,z=3,以
21、下表達(dá)式值為0的是
A. !x B.x 22、變量,則執(zhí)行以下語句后的輸出為 。
w=3;z=7;x=10;
printf("%d\n",x>10?x+100:x-10);
printf("%d\n",w++||z++);
printf("%d\n",!w>z);
printf("%d\n",w&&z);
A. 0 B. 1 C. 0 D. 0
1 1 1 1
1 1 0 0
1 23、 1 1 0
5. 分析以下程序, 下列說法正確的是 。
main()
{ int x=5,a=0,b=0;
if(x=a+b) printf("* * * *\n");
else printf("# # # #\n");
}
A. 有語法錯(cuò),不能通過編譯 B. 通過編譯,但不能連接
C. 輸出* * * * D. 輸出# # # #
6. 分析以下程序, 下列說法正確的是 。
main()
{ int x=5,a 24、=0,b=3;
if(x=a+b) printf("* * * *\n");
else printf("# # # #\n");
}
A. 有語法錯(cuò),不能通過編譯 B. 通過編譯,但不能連接
C. 輸出* * * * D. 輸出# # # #
7. 分析以下程序, 下列說法正確的是 。
main()
{ int x=0,a=0,b=0;
if(x=a+b) printf("* * * *\n");
else printf("# # # #\n");
}
25、 A. 有語法錯(cuò),不能通過編譯 B. 通過編譯,但不能連接
C. 輸出* * * * D. 輸出# # # #
8. 分析以下程序, 下列說法正確的是 。
main()
{ int x=0,a=0,b=0;
if(x==a+b) printf("* * * *\n");
else printf("# # # #\n");
}
A. 有語法錯(cuò),不能通過編譯 B. 通過編譯,但不能連接
C. 輸出* * * * 26、 D. 輸出# # # #
二、 讀程序?qū)懡Y(jié)果
1. include 27、,(x>=z>=x)?1:0);
printf("%d",z>=y && y>=x);
}
4. main()
{ int x=1,y=1,z=10;
if(z<0)
if(y>0) x=3;
else x=5;
printf("%d\t",x);
if(z=y<0) x=3;
else if(y==0) x=5;
else x=7;
printf("%d\t",x);
printf("%d\t",z);
}
5. main()
{ char x=‘B’;
switch(x)
{ c 28、ase ‘A’: printf(“It is A.”);
case ‘B’: printf(“It is B.”);
case ‘C’: printf(“It is C.”);
default: printf(“other.”);
}
}
6. main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{ case 1: switch(y)
{ case 0: a++;break;
case 1: b++;bre 29、ak;
}
case 2: a++;b++;break;
case 3: a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
三、 填空題
1. 若a=5,b=6,c=7,d=8,則表達(dá)式d=a/2&&b==c||!a的值為
2. 定義 int x=10,y,z;執(zhí)行y=z=x;x=y==z后,變量x的值為 。
3. 分段函數(shù):輸入x,計(jì)算y值,輸出y 30、,其中:
x<0 y=2x+3
x=0,y=0
x>0,y=(x+7)/3
#include 31、n");
scanf("%f%f%f",&a,&b,&c);
if( (3) )
{ s=(a+b+c)*0.5;
s1=s*(s-a)*(s-b)*(s-c);
s= (4) ;
printf("\nArea of the triangle is %f\n",s);
}
(5)
printf("It is not triangle!\n");
}
5. 有一方程a+bx+c=0,a,b,c的值由鍵盤輸入,請(qǐng)編程序,打印出以下情況時(shí)方程的解。
32、 (1) a=0,b≠0
(2) a=0,b=0,c=0
(3) a=0,b=0,c≠0
(4) a≠0,-4ac≥0
(5) a≠0,-4ac≤0
#include "math.h"
main()
{ float a,b,c,d,pr,pi,x1,x2;
scanf("%f%f%f",&a,&b,&c);
printf("a=%f,b=%f,c=%f\n",a,b,c);
if(a==0)
{ if( (1) )
printf("only one s 33、olution x=%f\n",-c/b);
else
if( (2) )printf("no solution\n");
else printf("x is any value\n");
}
else
{ d=b*b-4*a*c;
if( (3) )
{ x1=(-b+sqrt(d))/ (4) ;
x2=(-b-sqrt(d))/ (5) ;
printf("x1=%6. 34、2f, x2=%6.2f\n",x1,x2);
}
else
{ pr=-b/(2*a); (6) ;
printf("x1=%6.2f +%6.2fi\n",pr,pi);
printf("x2=%6.2f -%6.2fi\n",pr,pi);
}
}
}
6. 投票表決器:
– 輸入Y、y,打印agree
– 輸入N、n,打印disagree
– 輸入其他,打印lose
main()
{
35、 char c;
scanf("%c",&c);
(1)
{
case ‘Y’:
case ‘y’: printf(“agree”); (2) ;
case ‘N’:
case ‘n’: printf(“disagree”); (3) ;
(4) :printf(“l(fā)ose”);
}
四、 編程
1. 寫一程序求y值 (x值由鍵盤輸入)。
36、2. 輸入一個(gè)字符,判斷它如果是小寫字母輸出其對(duì)應(yīng)大寫字母;如果是大寫字母輸出其對(duì)應(yīng)小寫字母;如果是數(shù)字輸出數(shù)字本身;如果是空格,輸出“space”;如果不是上述情況,輸出“other”。
3. 有三個(gè)數(shù)a、b、c,由鍵盤輸入,輸出其中最大的數(shù)。
4. 輸入一個(gè)數(shù),判斷它能否被 3或者被 5整除, 如至少能被這兩個(gè)數(shù)中的一個(gè)整除則將此數(shù)打印出來,否則不打印,編出程序。
5. 讀入1到7之間的某個(gè)數(shù),輸出表示一星期中相應(yīng)的某一天的單詞:Monday、 Tuesday等等,用switch語句做。
6. 給出一百分制成績(jī),要求輸出成績(jī)等級(jí)‘A’,‘B’,‘C’,‘D’,‘E’,90分以上為‘ 37、A’,80~89分為‘B’,70~79分為‘C’,60~69分為‘D’,60分以下為‘E’。
7. 有一函數(shù)
請(qǐng)編程序計(jì)算y的值(x的值由鍵盤輸入)。
第四單元 循環(huán)程序設(shè)計(jì)
一、 選擇題
1. 程序段如下:則以下說法中正確的是: A 。
int k=5;
do{
k--;
}while(k<=0);
A. 循環(huán)執(zhí)行5次 B. 循環(huán)是無限循環(huán)
C. 循環(huán)體語句一次也不執(zhí)行 D. 循環(huán)體語句執(zhí)行一次
2. 設(shè)i和x都是int類型,則for 38、循環(huán)語句 B 。
for(i=0,x=0;i<=9&&x!=876;i++) scanf("%d",&x);
A. 最多執(zhí)行10次 B. 最多執(zhí)行9次
C. 是無限循環(huán) D. 循環(huán)體一次也不執(zhí)行
3. 下述for循環(huán)語句 B 。
int i,k;
for(i=0,k=-1;k=1;i++,k++) printf("* * * *");
A. 判斷循環(huán)結(jié)束的條件非法 B. 是無限循環(huán)
C. 只循環(huán)一次 39、 D. 一次也不循環(huán)
4. 程序段如下:則以下說法中正確的是: C 。
int k=-20;
while(k=0) k=k+1;
A. while循環(huán)執(zhí)行20次 B. 循環(huán)是無限循環(huán)
C. 循環(huán)體語句一次也不執(zhí)行 D. 循環(huán)體語句執(zhí)行一次
5. 下列程序段執(zhí)行后k值為 A 。
int k=0,i,j;
for(i=0;i<5;i++)
for(j=0;j<3;j++)
k=k+1 ;
A. 15 B. 3 C. 5 D. 8
6. 程序段如 40、下:則以下說法中不正確的是: D 。
#include 41、 while(num<=2)
{ num++; printf("%d\n",num);}
}
1
1
3
2. main()
{ int i=0,s=0;
do
{ s+=i*2+1; printf("i=%d,s=%d\n",i,s); i++;}
while(s<10);
}
i=0,s=1
i=1,s=4
i=2,s=9
i=3,s=16
3. #include 42、1;i--)
{
m=(m+1)*2;
printf("m=%d\n",m);
}
}
m=4
m=10
m=22
m=46
m=94
4. 指出下面三個(gè)程序的功能,當(dāng)輸入為:"quert?"時(shí),它們的執(zhí)行結(jié)果是什么?
⑴ #include 43、 }
quert
⑵ #include 44、=5;i++)
{ if(i%2)
putchar(‘<’);
else
continue;
putchar(‘>’);
}
putchar(‘#’);
}
6. main()
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if(b>10) break;
if(b%3==1)
{ b+=3; continue;}
}
printf("a=%d\n",a);
45、}
7. main()
{ int i=1;
while (i<=15)
if (++i%3!=2) continue;
else printf("%d ",i);
printf("\n");
}
8. #include 46、),",i,j);
printf("\n");
}
}
9. main()
{ int i,j,k;
char space=' ';
for (i=0;i<=5;i++)
{ for (j=1;j<=i;j++) printf("%c",space);
for (k=0;k<=5;k++) printf("%c",'*');
printf("\n");
47、 }
}
10. #include 48、%d\t",j);k++;}
}
}
}
三、 填空題
1. break語句只能用于 語句和 語句中。
2. 計(jì)算2+4+6+8+...+98+100
main()
{
int i, (1) ;
for(i=2;i<=100; (2) )
s+=i;
}
3. 求滿足下式的 x,y,z
X Y Z
+ Y Z Z
──────
5 3 2 49、
main()
{ int x,y,z,i,result=532;
for (x=1; (1) ;x++)
for (y=1; (2) ;y++)
for ( (3) ; (4) ;z++)
{ i= (5) +(100*y+10*z+z);
if (i==result) printf("x=%d, y=%d, z=%d\n",x,y,z);
}
}
4. 求 Sn=a+aa+a 50、aa+...+aa...a之值,其中 a是一個(gè)數(shù)字。 例如 2+ 22 +222+2222( 此時(shí)n=4),n由鍵盤輸入。
main()
{ int a,n,count=1,Sn=0,Tn=0;
printf("請(qǐng)輸入 a 和 n 的值:\n");
scanf("%d,%d",&a,&n);
while (count<= (1) )
{ Tn= (2) ;
Sn= (3) ;
a=a*10;
51、 (4) ;
}
printf("a+aa+aaa+...=%d\n",Sn);
}
5. 一球從 100米高度自由落下,每次落地后反跳回原來高度的一半,再落下,求它在第十次落地時(shí),共經(jīng)過多少米?第十次反彈多高?
main()
{ float Sn=100.0,hn=Sn/2;
int n;
for (n=2;n<= (1) ;n++)
{ Sn= (2) ; hn= (3) ; }
printf("第10次落地時(shí)共經(jīng)過%f米\n",Sn) 52、;
printf("第10次反彈%f米\n",hn);
}
6. 打印出以下圖形
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
main()
{ int i,j,k;
53、for (i=0;i<= (1) ;i++)
{ for (j=0;j<=2-i;j++) printf(" ");
for (k=0;k<= (2) ;k++) printf("*");
(3)
}
for (i=0;i<=2;i++)
{ for (j=0;j<= (4) ;j++)
printf(" ");
for (k=0;k 54、<= (5) ;k++)
printf("*");
printf("\n");
}
}
7. 準(zhǔn)備客票。某鐵路線上共10個(gè)車站,問需要準(zhǔn)備幾種車票?
main()
{ int i,j,station,total=0;
printf("輸入車站數(shù):");
scanf("%d",&station);
for (i=1;i< (1) ;i++)
for (j= (2) ;j<= 55、station;j++)
total= (3) ;
printf("車票種類=%d \n",total);
}
四、 編程
1. 計(jì)算n的階乘
2. 求 1到 100之間的奇數(shù)之和、偶數(shù)之積。
3. 輸入一行字符,統(tǒng)計(jì)其中的英文字母、數(shù)字、空格和其他字符個(gè)數(shù)。
4. 用循環(huán)語句編寫求的程序。
5. 求(即求1!+2!+3!+...+20!) 。
6. 有一分?jǐn)?shù)序列,求出這個(gè)數(shù)列的前20項(xiàng)之和。
7. 任意十個(gè)數(shù),打印出它們中的最大數(shù)、最小數(shù)。
測(cè)試數(shù)據(jù):① 1,-12,20,30,-5,-23,33,125 56、,200,-100
② 0,10,3,1,5,6,-10,90,9,-4
③ 12,13,14,15,10,-10,-11,-12,-9,9
8. 判斷一個(gè)數(shù)是否是素?cái)?shù)
9. 打印1-100之間所有素?cái)?shù)
10. 求1-100之間所有非素?cái)?shù)的和
11. 輸入兩個(gè)正整數(shù) m和 n,求其最大公約數(shù)和最小公倍數(shù)。
提示:求 m,n的最大公約數(shù):首先將 m除以 n(m>n)得余數(shù) R,再用余數(shù) R 去除原來的除數(shù),得新的余數(shù),重復(fù)此過程直到余數(shù)為 0 時(shí)停止,此時(shí)的除數(shù)就是m 和 n的最大公約數(shù)。求 m和 n的最 57、小公倍數(shù): m和 n的積除以 m和 n 的最大公約數(shù)。
測(cè)試數(shù)據(jù): m=12, n=24
m=100, n=300
12. 打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個(gè)三位數(shù), 其各位數(shù)字立方和等于該數(shù)本身。例如 153是一個(gè)水仙花數(shù),因?yàn)?153=(要求分別用一重循環(huán)和三重循環(huán)實(shí)現(xiàn))。
13. 一個(gè)數(shù)恰好等于它的平方數(shù)的右端,這個(gè)數(shù)稱為同構(gòu)數(shù)。如 5 的平方是25, 5是25中的右端的數(shù), 5就是同構(gòu)數(shù)。找出1~1000之間的全部同構(gòu)數(shù)。
14. 3025這個(gè)數(shù)具有一種獨(dú)特的性質(zhì):將它平分為兩段,即30和25,使之相加后求平方, 58、即(30+25),恰好等于3025本身。請(qǐng)求出具有這樣性質(zhì)的全部四位數(shù)。
15. 兩位數(shù)13和62具有很有趣的性質(zhì):把它們個(gè)位數(shù)字和十位數(shù)字對(duì)調(diào),其乘積不變,即13*62=31*26。 編程序求共有多少對(duì)這種性質(zhì)的兩位數(shù)(個(gè)位與十位相同的不在此列,如11、22,重復(fù)出現(xiàn)的不在此列,如 13*62與62*13)。
16. 一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為“完數(shù)”。例如,6 的因子為1、2、3,而6=1+2+3,因此6 是“完數(shù)”。編程序找出1000之內(nèi)的所有完數(shù),并按下面格式輸出其因子:
6 its factors are 1,2,3
1 59、7. 有一個(gè)四位正整數(shù),組成這個(gè)四位數(shù)的四個(gè)數(shù)字各不相同,如果把它們的首尾互換,第二位與第三位互換,組成一個(gè)新的四位數(shù)。原四位數(shù)為新四位數(shù)的4倍,請(qǐng)找出一個(gè)這樣的四位數(shù)。
18. 給出一個(gè)不多于4位的正整數(shù),要求:① 求出它是幾位數(shù) ② 分別打印出每一位數(shù)字 ③ 按逆序打印出各位數(shù)字。
19. 在一個(gè)程序中計(jì)算出給定誤差小于0.1,0.01,0.001,0.0001,0.00001 時(shí),下式的值:
提示:本題中誤差指前 n+1項(xiàng)之積與前 n項(xiàng)積之差。
20. 用泰勒展開式求sinx的近似值
sinx=
60、 測(cè)試數(shù)據(jù):① x=0.3 , n=8
② x=0.5 , n=20
21. 驗(yàn)證歌德巴赫猜想。一個(gè)充分大的偶數(shù)(大于或等于6)可以分解為兩個(gè)素?cái)?shù)之和。試編程序,將 6至50之間全部偶數(shù)表示為兩個(gè)素?cái)?shù)之和。
22. 用牛頓迭代法求方程在 1.5附近的根(精度為)。
23. 兩個(gè)乒乓球隊(duì)進(jìn)行比賽,各出三人,甲隊(duì)為A、B、C三人,乙隊(duì)為X、Y 、Z三人,已知抽簽決定比賽名單。有人向隊(duì)員打聽比賽的名單, A說他不和 X比,C說他不和 X、Z比,請(qǐng)編程序找出三對(duì)賽手的名單。
第五單元 數(shù) 組
一、 選擇 61、題
1. 以下關(guān)于數(shù)組的描述正確的是 。
A. 數(shù)組的大小是固定的,但可以有不同的類型的數(shù)組元素。
B. 數(shù)組的大小是可變的,但所有數(shù)組元素的類型必須相同。
C. 數(shù)組的大小是固定的,但所有數(shù)組元素的類型必須相同。
D. 數(shù)組的大小是可變的,但可以有不同的類型的數(shù)組元素。
2. 在定義int a[10];之后,對(duì)a的引用正確的是 。
A. a[10] B. a[6.3] C. a(6) D. a[10-10]
3. 以下能正確定義數(shù)組并正確賦初值的語句是 。
A. int n=5,b 62、[n][n]; B. int a[1][2]={{1},{3}};
C. int c[2][]={{1,2},{3,4}} D. int a[3][2]={{1,2},{3,4}}
4. 以下不能正確賦值的是 。
A. char s1[10];s1="test"; B. char s2[]={’t’,’e’,’s’,’t’}
C. char s3[20]= "test"; D. char s4[4]={ ’t’,’e’,’s’,’t’}
5. 下面程序段運(yùn)行時(shí)輸出結(jié)果是 。
char s 63、[18]= "a book! ";
printf("%.4s",s);
A. a book! B. a book! C. a bo D. 格式描述不正確,沒有確定輸出
6. 下面程序段運(yùn)行時(shí)輸出結(jié)果是 。
char s[12]= "A book";
printf("%d\n",strlen(s));
A. 12 B. 8 C. 7 D. 6
7. 在執(zhí)行int a[][3]={1,2,3,4,5,6};語句后,a[1][0]的值是 。
A. 4 B. 1 64、 C. 2 D. 5
二、 讀程序?qū)懡Y(jié)果
1. #include 65、i;
t=b[0];
for(i=0;i<5;i++)
b[i]=b[i+1];
b[5]=t;
for(i=0;i<6;i++)
printf(“%6.2f”,b[i]);
}
3. #include 66、 int a[3][3]={1,3,5,7,9,11,13,15,17};
int sum=0,i,j;
for (i=0;i<3;i++)
for (j=0;j<3;j++)
{ a[i][j]=i+j;
if (i==j)
sum=sum+a[i][j];
}
printf("sum=%d",sum);
}
5. void main()
{ int a[4][4],i,j,k;
for (i=0;i<4;i++)
for (j=0;j<4;j++)
a[i][j]=i-j;
for (i=0;i<4;i++)
{ for (j=0;j<=i;j++)
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中生物對(duì)照實(shí)驗(yàn)專題復(fù)習(xí)課件
- 初中物理資源九年級(jí)第十五單元課件串并聯(lián)識(shí)別
- 咯血與嘔血課件
- What's_your_number_課件
- 外研版七下Module3Unit1(教育精品)
- 浙美版三年級(jí)上冊(cè)美術(shù)第15課-剪雪花教學(xué)ppt課件
- 蘇教版六年級(jí)下冊(cè)數(shù)學(xué)正比例和反比例的意義課件
- 蘇教版五下《單式折線統(tǒng)計(jì)圖》教研課件
- 固態(tài)相變概論
- 三角形全等的判定復(fù)習(xí)-課件2
- 太陽能發(fā)展趨勢(shì)課件
- 道路工程監(jiān)理最新規(guī)劃范本課件
- SPC及CPK教程(理論篇)課件
- Travel-Plan旅行計(jì)劃-PPT
- 新冠肺炎疫情期間醫(yī)務(wù)人員防護(hù)技術(shù)指南