填空題
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#includevoid
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...