當前位置:編程學習大全網 - 編程語言 - 北京工業大學計算機專業近幾年c語言期末考試題

北京工業大學計算機專業近幾年c語言期末考試題

北京工業大學實驗學院2012―2013學年第 壹 學期

《計算機導論》(A)卷課程試卷

適用專業:計算機科學與技術 考試方式:機考 考試時間 :2012 年12 月

班級學號 12570219 姓名: 李誌偉 成績

得分登記(由閱卷教師填寫)

題號 壹 二 三 四

分數

考生須知:

提交考試結果:

編程題,將程序源代碼粘貼到試卷相應題目下端,以學號姓名命名文件。

選擇或填空題(每小題2分***20分)

1.完整的計算機系統應包括( B )。

A.主機和外部設備 B.硬件系統和軟件系統

C.操作系統和應用軟件系統 D.輸入設備和輸出設備

2.以下敘述正確的是 。

A.do-while語句構成的循環不能用其它語句構成的循環來代替。

B.do-while語句構成的循環只能用break語句退出。

C.用do-while語句構成的循環,在while後的表達式為非零時結束循環。

D.用do-while語句構成的循環,在while後的表達式為零時結束循環。

3. C語言中運算對象必須是整型的運算符是 。

A. %=

B. / C. =

D. *

4.將高級語言編寫的程序翻譯成機器語言程序,采用的兩種翻譯方式是

A. 編譯和解釋 B. 編譯和匯編

C. 編譯和鏈接 D. 解釋和匯編

5. 微型計算機系統的中央處理器是由 組成的

A. 內存儲器和控制器 B. 主存儲器和運算器

C. 控制器和運算器 D. 內存儲器.控制器和運算器

6.以下符號在C語言中 不能用作用戶標識符。

A. _256

B. 3char C.

abc D. ds3

7. 計算機能直接執行的程序設計語言是 。

A. C B. BASIC

C. 機器語言 D.匯編語言

8. 下列能正確表示a≥10或a≤0的關系表達式是_______。

A. a>=10or a<=0 B. a>=10 | a<=0

C. a>=10 || a<=0 D. a>=10 && a<=0

9.C語言中用 1 表示邏輯值“真”,用 0 表示邏輯值“假”。

10. 微機中1個字節表示的二進制位數是 8 位數 。

二. 完成下列各題

1. 下面這個程序用於讀入5個整數,當程序讀入的數據n為正整數時,則顯示該數,請補充程序。(5分)

#include <stdio.h>

void main()

{ int i, n;

for (i=1; i<=5;i++)

{

printf("Pleaseenter n:");

scanf( “%d”,&n );

if (n > 0)printf(“該整數為:%d”,n );

}

printf("Programis over!\n");

}

2. 改寫下段程序,實現從控制臺輸入任意字符如果是大寫轉換成小寫,如果是小寫轉換成大寫,其它字符原樣輸出。(10分)

#include<stdio.h>

void main()

{ char c1,c2;

c1=’A’;

c2=c1+32;

printf("%c\n",c2);

}

答案代碼:

#include <stdio.h>

void main()

{ char c1,c2;

printf("請輸入壹個字符:");

scanf("%c",&c1);

if (c1<='z' && c1>='a')

{c2=c1-32;

printf("大寫字母為:%c\n\n",c2);}

else if (c1<='Z' && c1>='A')

{c2=c1+32;

printf("小寫字母為:%c\n\n",c2);

}

else

printf("原字符為:%c\n\n",c1);

}

3. 下列程序有何錯誤?請改正。(10分)

#include<stdio.h>

void main()

{ short x,y,z;

x=200;

y=300;

z=x*y;

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

}

答案代碼:

#include<stdio.h>

void main()

{ int x,y,z;

x=200;

y=300;

z=x*y;

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

}

4. 閱讀程序,補充程序的功能。(10分)

從鍵盤任意輸入壹個年號(year),判斷它是否是閏年。若是閏年,輸出“它是閏年”,否則輸出“它不是閏年”。已知符合下列條件之壹者是閏年:能被4整除,但不能被100整除。能被400整除。

#include <stdio.h>

void main()

{ int year, flag;

printf("Enteryear:");

scanf("%d",&year );

if((year%4=0&&year%100!=0)||year%400=0)

{ flag =1;

}

else

{ flag = 0;

}

if ( flag=1 )

{

printf("它是閏年\n");

}

else

{

printf("它不是閏年\n");

}

}

三、編寫程序,並調試程序正確運行。

1. 編寫壹個程序,從鍵盤輸入某計算機的價格,再輸出該價格打7折後的價格。(15分)

答案代碼:

#include <stdio.h>

#include <windows.h>

int main()

{

float a,b;

printf("輸入壹臺計算機的價格:");

scanf("%f",&a);

b=0.7*a;

printf("打7折後的價格為:%.1f\n\n",b);

system ("pause");

return 0;

}

2. 從鍵盤輸入壹個三位數,求各位數字之和。例如:輸入的三位數是385,輸出結果為3+8+5=16;(15分)

答案代碼:

#include <stdio.h>

#include <windows.h>

#include <string.h>

int main()

{

char a[3];

intb,c,d,e;

printf("請輸入壹個三位數:");

scanf("%s",a);

b=a[2]-'0';

c=a[1]-'0';

d=a[0]-'0';

e=b+c+d;

printf("各位數字之和為:%d\n\n",e);

system("pause");

return0;

}

3. 日本壹位中學生發現壹個奇妙的“定理”,請角古教授證明,而角古教授無能為力,於是產生角古猜想,猜想的內容是:任意自然數,若為偶數除以2,若為奇數則乘以3加1,得到壹個新的自然數,按照上面的法則繼續演算,若幹次後結果必然為1,請編程驗證。(15分)

答案代碼:

#include <stdio.h>

void main()

{ int a;

printf("輸入壹個自然數:");

scanf("%d",&a);

if(a%2==1)

a=a*3+1;

while(a!=1)

{

a=a/2;

}

printf("所得結果為:%d\n",a);

}

我是實驗學院的,這是我們2012大壹期末的,希望有幫助,裏面的答案是自己寫的,可忽略

  • 上一篇:音樂專業求職計劃書範文模板
  • 下一篇:MATLAB編程人工智能
  • copyright 2024編程學習大全網