官术网_书友最值得收藏!

習題2

2.1 對給定的一個年份,判斷是不是閏年。要求用N-S圖描述該算法。提示:能被4整除但不能被100整除的年份或能被400整除的年份是閏年。

2.2 用N-S圖描述求n!的算法。

2.3 判斷一個正整數n是否為素數。要求用N-S圖描述該算法。提示:所謂素數就是除了1和本身之外,不能被任何數整除的數。

2.4 用N-S圖描述求100個數中的最小的數的算法。

2.5 用N-S圖描述將3個數按從小到大的順序排列的算法。

2.6 找出10~1000內各位非零數字之積為12的所有整數,如26,62,206,340,430,621,…。要求用N-S圖描述該算法。

2.7 找出10~1000之間所有的對稱數。所謂對稱數就是正序讀和逆序讀的值相等,如33、151、313等。要求用N-S圖描述該算法。

2.8 百錢買百雞。雞翁一值錢五,雞母一值錢三,雞雛三值錢一,百錢買百雞,問雞翁、雞母、雞雛各多少。要求用自頂向下、逐步細化的方法設計該算法,并用N-S圖描述。

2.9 根據實際問題設計應用程序大致要經過哪幾個步驟?

2.10 判斷下列常量的正誤,并指出正確的常量的數據類型:

32.01

'0'

0

"012"

"0"

-0123

0876

-0.1e-2

'123'

ABF

0xef87

'\n'

0x12gf

5-3

2.11 判斷下列變量名是否正確:

Aaa

abc o-3

if

+y

_sss

*x

A#3

f.3

a/b

main

-test

t3

e_2

2.12 選擇題

(1)下面不正確的字符常量是( )。

A."c"

B.'\\'

C.'\567'

D.'K'

(2)下列4組選項中,均是不合法的用戶標識符的選項是( )。

A.W P_0 do

B.b-a goto int

C.float la0 _A

D.-123 abc TEMP

(3)設C語言中,一個int型數據在內存中占2個字節,則unsigned int型數據的取值范圍為( )。

A.0~255

B.0~32767

C.0~65535

D.0~2147483647

(4)若x、i、j、k都是int型變量,則計算表達式x=(i=4,j=16,k=32)后,x的值為( )。

A.4

B.16

C.32

D.52

(5)設以下變量均為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)

2.13 填空題

(1)若有定義int m=5,y=20;,則計算表達式y+=y-=m*=y后,y的值是_____。

(2)若一個int型數據在內存中占2個字節,則int型數據的取值范圍為_____。

(3)若s是int型變量,且s=6,則表達式s%2+(s+1)%2的值為_____。

(4)若a是int型變量,則表達式(a=4*5,a*2),a+6的值為_____。

(5)若x和a均是int型變量,則計算表達式x=(a=4,6*2)后的x值為_____,計算表達式x=a=4,6*2后的x值為_____。

(6)若x和n均是int型變量,且x和n的初值均為5,則計算表達式x+=n++后x的值為_____,n的值為_____。

(7)若有定義int x=3,y=2;float a=2.5,b=3.5;,則表達式(x+y)%2+(int)a/(int)b的值為_____。

2.14 字符型常量和字符串常量有什么區別?

2.15 將下列數學算式轉換為C語言表達式:

(1)

(2)

(3)

(4)

2.16 已知a=5,b=3,x=3.5,y=2.6,求下列表達式的值:

(1)x+a%3*(int)(x+y)%2/4

(2)(float)(a+b)/2+(int)x%(int)y

(3)a/b+x/y-(int)x%3*(float)a/b

2.17 設變量c是char型,i是int型,j是long型,f和r是float型,d是double型,請寫出下列表達式類型轉換的過程:

            r=(c*i)+(f/d)-(i+f)+(i/j)

2.18 寫出下列程序的執行結果。

(1)

            #include <stdio.h>
            void main()
            {   int m=1,n=2;
                int k=++m;
                printf("k=%d",k);
                k=m+n++;
                printf("m=%d,n=%d,k=%d\n",m,n,k);
                k=--n-m;
                printf("m=%d,n=%d,k=%d\n",m,n,k);
                k=(m>=n);
                printf("k=%d\n",k);
            }

(2)

            #include <stdio.h>
            void main()
            {   int a=4,b=3,c=2,d=1;
                printf("%d\n",(a+b,b+c,c+d));
            }

(3)

            #include <stdio.h>
            void main()
            {   int a=1,b=2,c=0;
                printf("%d\n",a++-1);
                printf("%d\n",b/++a);
            }

(4)

            #include <stdio.h>
            void main()
            {   int a=-5,b=10;
                float x=1.75,y=2.34e-03;
                printf("a+b=%d\n",a+b);
                a++;b--;
                printf("a*b=%d\n",a*b);
                printf("x+y=%f\n",x+y);
            }
主站蜘蛛池模板: 呼图壁县| 山阳县| 财经| 建昌县| 都江堰市| 电白县| 青铜峡市| 涟水县| 襄城县| 宁远县| 昌黎县| 宁安市| 阳信县| 建湖县| 深泽县| 靖远县| 霸州市| 依兰县| 庆城县| 徐水县| 祁连县| 名山县| 江永县| 江阴市| 泰宁县| 镇康县| 郁南县| 和龙市| 太白县| 菏泽市| 杨浦区| 望谟县| 聂荣县| 铜陵市| 清远市| 连南| 阜新市| 福海县| 江山市| 三江| 宁夏|