GG第三次作業

2022-09-03 23:15:18 字數 3850 閱讀 8558

填空題

1. 給出下述程式的執行結果            

#include

main()

int i=

0;while(i<3)

for(; i<4;i++)

printf("%d",i++);

if(i<3)

continue;

else

break;

printf("%d\n",i);

2. 下述程式是否正確?如果正確,給出輸出結果。空白處填寫「不正確」或者直接寫上輸出結果。            

#include

main()

int x;

for(x=100;x<=105;x++)

if(x%3==0)

continue;

printf("%d,",x);

3. 給出下述程式的執行結果             

#include

void increment();

main()

int x=8;

increment();

x++;

increment();

x++;

increment();

void increment()

int x=0;

x++;

printf("%d,",x);

4. 以下程式的執行結果是             

int x1 = 30, x2 = 40;

void sub(int x, int y)

x1 = x;

x = y;

y = x1;

main()

int x3 = 10, x4 = 20;

sub(x3, x4);

sub(x2, x1);

printf("%d,%d,%d,%d", x3, x4, x1, x2);

5. 給出下述程式的執行結果         

#include

int fun2(int a,int b)

int c;

c=a*b%3;

return c;

int fun1(int a,int b)

int c;

a+=a;

b+=b;

c=fun2(a,b);

return  c*c;

main()

int x=11,y=19;

printf("%d\n", fun1(x,y));選擇題

# 題目

1. 在

c語言程式中

,以下正確的描述是           

(a)  函式的定義可以巢狀

,但函式的呼叫不可以巢狀

(b)  函式的定義不可以巢狀

,但函式的呼叫可以巢狀

(c)  函式的定義和函式的呼叫均不可以巢狀

(d)  函式的定義和函式的呼叫均可以巢狀

2. 以下正確的函式宣告形式是           

(a)  double fun(int x, int y)

(b)  double fun(int x; int y)

(c)  double fun(int x, int y);

(d)  double fun(int x, y);

3. 凡是函式中未指定儲存類別的區域性變數

,其隱含的儲存類別為        

(a)  自動

(auto)

(b)  靜態

(static)

(c)  外部

(extern)

(d)  暫存器

(register)

4. 以下關於陣列的描述正確的是

(a)陣列的大小是固定的

,但可以有不同型別的陣列元素

(b)陣列的大小是可變的

,但所有陣列元素的型別必須相同

(c)陣列的大小是固定的

,所有陣列元素的型別必須相同

(d)陣列的大小是可變的

,可以有不同型別的陣列元素

5. 對以下說明語句的正確理解是           

int a[10] = ;

(a)  將

5個初值依次賦給

a[1]

至a[5]

(b)  將

5個初值依次賦給

a[0]

至a[4]

(c)  將

5個初值依次賦給

a[6]

至a[10]

(d)  因為陣列長度與初值的個數不相同

,所以此語句不正確

6. 若用陣列名作為函式呼叫的實參

,傳遞給形參的是       

(a)  陣列的首位址

(b)  陣列第乙個元素的值

(c)  陣列中全部元素的值

(d)  陣列元素的個數

7. 在定義

int a[10]; 之後,

對a的引用正確的是

(a)a[10]

(b)a[6.3]

(c)a(6)

(d)a[10-10]

答案:填空題

1.02

for迴圈控制條件中第三句話會在每次迴圈結束,下一次迴圈開始前執行。

2.100,101,103,104,

3.1,1,1,

4.10,20,40,40

注意,區域性變數在其他函式中被改變值,在原本的函式中值不會改變。

5.4選擇題

1.b 2.a 3.a 4.c 5.b 6.a 7.d

程式設計題1.【問題描述】

給定乙個精度值e,用下列公式計算π的近似值,要求前後兩次π的迭代之差的絕對值小於

e,給出相應的最小迭代次數

n和最後一次計算的π的值。

π/2=1+1!/3+2!/(3

×5)+3!/(3×5

×7)+

…+(n-1)!/(3×5

×7×…×(2n-1))

【輸入形式】

從控制台輸入e( e>=0.000001 )的值。

【輸出形式】

輸出迭代次數n和最後一次計算的π的值(以乙個空格分隔,並且輸出π時要求小數點後保留

7位有效數字)。

【樣例輸入】

0.000003

【樣例輸出】

19 3.1415912

【樣例說明】

輸入的精度e為

0.000003,當n

為17時,計算的π值為

3.1415864,n

為18時計算的π值為

3.1415896

,兩者之差為

0.0000032

,大於給定的精度值,所以需要繼續計算。當n為

19時,計算的π值為

3.1415912

,與上次之差為

0.0000016

,小於給定的精度值,所以最小迭代次數為

19,輸出的π值為

3.1415912

。注意:

(1) 為保證計算精度,請使用

double

資料型別儲存計算資料。

(2) 應至少迭代兩次,即:

n>=2

。【評分標準】

該題要求輸出最小迭代次數和π的值,共有5

個測試點。上傳

c語言檔名為

example1a.c

#include#include

void

main()

while ((2*test)>=e);

printf(

"%d %.7f

",n,2*num);

return

;}

其餘略。

第三次作業

2 12有600 mb 兆位元組 的資料,需要從南京傳送到北京。一種方法是將資料寫到磁碟上,然後託人乘火車這 些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率為2.4kb s 傳送此資料。試比較這兩種方法的優劣。若資訊傳送速率為33.6kb s,其結果又如何?解 當傳送速率為2.4k...

第三次作業

1 有600mb 兆位元組 的資料,需要從南京傳送到北京 一種方法是將資料寫到磁碟上,然後託人乘火車將這些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率為2.4kb s 傳送此資料,試比較這兩種方法的優劣。若資訊傳送的速率為33.6kb s,其結果又如何?解 假定連續傳送且不出錯。若...

第三次作業

p67 2 12 有600mb的資料,需要從南京傳送到北京。一種方法是將資料寫到磁碟上,然後託人乘火車將這些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率是2.4kbps 傳送此資料。試比較這兩種方法的優劣。若資訊傳送速率為33.6kbps,其結果又如何?解 1 t 600 1024...