程序設計基礎試題和答案解析二_第1頁
程序設計基礎試題和答案解析二_第2頁
程序設計基礎試題和答案解析二_第3頁
程序設計基礎試題和答案解析二_第4頁
程序設計基礎試題和答案解析二_第5頁
免費預覽已結束,剩余3頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、程序設計基礎考試試卷二1. 1966年,Bohra和Jacopini提出的三種基本程序設計結構是: A. if、while 和 for ; B. switch 、do-while 和 for ;C. while、do-while 和for ; D.順序結構、分支結構和循環(huán)結構。2 .算法的特征不包括: 。A.有窮性 B.可行性 C.確定性 D.有1個或者多個輸入。3 . C語言源程序的基本組成單位是 。A.函數(shù) B. 語句 C. 聲明和語句 D. 文件4 .下列標識符中,只有 是合法的。A. if B. 3ab C.Int D. A-45 .下列常量中,只有 是合法的。A. 3e-0.3 B.

2、 abc C. 02a1 D.377 6 .下列說法中正確的是: 。A. C語言中的for語句的三個表達式都可以省略,而且分號也可以省略。B.宏替換比函數(shù)調用的執(zhí)行速度慢。C.實質上,C語言中的指針就是一個變量的地址。D. C語言中的任何函數(shù)都可以由程序員命名。7 . C語言中,運算對象必須是整型的運算符是 。A. / B.%C. + D.-8 .以下敘述中錯誤的是。A. C語句必須以分號結束B.復合語句在語法上被看作一條語句C.空語句出現(xiàn)在任何位置都不會影響程序運行D.賦值表達式末尾加分號就構成賦值語句9 . 以下敘述中正確的是。A.調用printf 函數(shù)時,必須要有輸出項B.使用putch

3、ar函數(shù)時,必須在之前包含頭文件stdio.hC.在C語言中,整數(shù)可以以十二進制、八進制或十六進制的形式輸出D.調用getchar函數(shù)讀入字符時,可以從鍵盤上輸入字符所對應的ASCII碼10 .以下關于函數(shù)的敘述中正確的是 。A.每個函數(shù)都可以被其它函數(shù)調用(包括 main函數(shù))B.每個函數(shù)都可以被單獨編譯C.每個函數(shù)都可以單獨運行D.在一個函數(shù)內部可以定義另一個函數(shù)11 .有以下程序段 typedef struct NODE int num;struct NODE *next; OLD;以下敘述中正確的是。A.以上的說明形式非法B. NOD晚一個結構體類型C. OLD是一個結構體類型D. O

4、LD是一個結構體變量12 .以下敘述中錯誤的是。A. C語言中對二進制文件的訪問速度比文本文件快B C語言中,隨機文件以二進制代碼形式存儲數(shù)據(jù)C.語句FILE fp;定義了一個名為fp的文件指針D. C語言中的文本文件以 ASCII碼形式存儲數(shù)據(jù)13 .當把以下四個表達式用作if語句的控制表達式時,有一個選項與其它三個選項含義不同,這個選項是。A. k%2 B. k%2=1 C. (k%2)!=0 D. !k%2=1 (sin(0 5)214 .以下不能正確計算代數(shù)式(Sin(0.5)值白C語言表達式是。3A. 1/3*sin(1/2)*sin(1/2) B . sin(0.5)*sin(0.

5、5)/3C. pow(sin(0.5),2)/3 D . 1/3.0*pow(sin(1.0/2),2)15 .以下能正確定義且賦初值的語句是 。A. int n1=n2=10; B . char c=32;C. float f=f+1.1; D. double x=12.3E2.5;16.以下程序的功能是:當 abc時,以八進制形式輸出a、b、c的值。#include void main() /* Beginning */ int a,b,c;scanf(%d%d% d&a,&b,&c);if (ab=k B . -k+ C . k%intD . k=f=m18.設有定義:int a=2,b

6、=3,c=4;,則以下選項中值為0的表達式是 。A. (!a=1)&(!b=0); B . (ab)& !c|1;C. a & b; D . a|(b+b)&(c-a)19 .有以下程序段 int k=0,a=1,b=2,c=3;k=ac ? c:k;執(zhí)行該程序段后,k的值是。A. 3 B . 2C. 1 D.20 .設變量a、b、c、d和y都已正確定義并賦值。若有以下if語句if(c=d) y=0;else y=1;0if (ab)A.a 二 b and c = da _ b,L0a : b and c = dB. y =1 a _ b and c 二 d0a : b and c = dC.

7、 y =1 a 二 b and c 二 d10 a : b and c = dD. y =1 c = d一、閱讀程序,寫出下列程序的運行結果。(20分)1、已知字母 A的ASCII碼為65。#include void main()char a, b;a=A+5-3; b=a+6-2; printf(%d %cn, a, b);2、#include void f(int v, int w) int t;t=v;v=w;w=t;void main()int x=1,y=3,z=2;if (xy)f(x,y);else if (yz)f(y,z);elsef(x,z);printf( %d,%d,%

8、d ,x,y,z);3、#include void main()int a44=32-3,-4,0,-12,-13,14,-21,23,0,-24,-31,12,-33,0;int i,j,s=0;for(i=0;i4;i+)該語句所表示的含義是。 for(j=0;j4;j+) if(aij0) continue;if(aij= =0) break;s+=aij printf(%dn,s);4、#include void main()int a=100,b=10;int *p1=&a, *p2=&b;*p1=b; *p2=a;printf(%d, %d,”,a,b);printf(%d, %d

9、n ”,*p1,*p2);2、 程序改錯:找出下列程序存在的錯誤,并進行改正。(20分)1、以下程序的功能是:給 r輸入數(shù)據(jù)后計算半徑為r的圓面積so#include #define PI 3.1415926void main()int r;float s;scanf(%d,r);s=PI*rA2;printf(s=%fn,s);2、以下程序用于計算一個一維數(shù)組各元素平方根的和。#include #include void main()int a10,i;float sum;for (i=0;i=10;i+)scanf( %d ,&ai); i=0;while (i=9)sum+=sqrt(a

10、i);i+;3、以下程序用于通過指針對數(shù)組進行輸入和輸出#include void main()int a10;int *p=a;int i;for (i=0;i10;i+) scanf( %d ,p+);for (i=0;i10;i+)printf(%5d ,p+);4、以下程序通過判斷輸入的成績判斷其級別:其中 90分以上為A, 80分以上為B, 70分以上為C, 60分以上為D,其他為E。#include void main()int score,temp;temp=score/10;switch (temp)case 10,9: printf(A);case 8: printf(B);

11、case 7:printf(C);case 6:printf(D);default:printf(E);3、 程序填空題:閱讀程序,填充空白使之能完成預定功能。(10分)1、以下程序的功能是計算: s=1 + 12+123+1234+12345。請?zhí)羁铡?include void main() int t=0,s,i;for( i=1; i=5; i+) t=i+; s=s+t; printf(s=%dn,s);2、以下程序的功能是輸出如下形式的方陣:13 14 15 169 10 11 125 6 7 81 2 3 4請?zhí)羁铡?include void main() int i,j,x;fo

12、r(j=4; j-)for(i=1; i=4; i+) x=(j-1)*4 +;printf(%4d,x); printf(n); 4、 編程題(要求給出PAD圖或者N-S圖)(30分)1、設計一個C函數(shù),對輸入的a、b兩個整型參數(shù),返回其中的最小數(shù)。 利用main函數(shù)調用該函數(shù), 并輸出結果。2、編程輸入10個學生5門課程的成績,實現(xiàn):計算每個學生的平均分;計算每門課程的平均分;n1n-x計算平均方差: 仃=1 xi2 -()2,其中Xi為第i個學生的平均分。n i4n3、編寫一個C程序,求解n!。要求分別用非遞歸程序和遞歸程序實現(xiàn)。一、選擇題。DDACD CBCBB CCDAB DCABC

13、二、程序閱讀題(每個5分,共20分)1、67 G 2 、1,3,23、40 4、10, 10, 10, 10程序改錯題(每個5分,共20分)1、第一個錯誤:scanf( %d,r)應為 scanf( %d,&r)。第二個錯誤:s=PI*rA2 應為 s=PI*r*r 。2、第一個錯誤:for循環(huán)中的第二個表達式應為i0;i四、編程題五、1、#include for(i=0;i5;i+)score105,input thetemp1=0;int min(int a,int b) return (ab?a:b);void main() int a,b; scanf( %d %d ,&a,&b);

14、printf(%d,min(a,b); 2、#include void main() float stuave10,courseave5,fangcha;float temp1,temp2; int i,j;printf( Please ,八 scores :);for (i=0;i10;i+) stuavei=0; temp2=0;for (j=0;j5;j+)scanf( %f ,&aij);stuavei+=aij;stuavei/=5.0;temp1+=stuavei*stuavei; temp2+=stuavei; for (j=0;j5;j+) courseavej=0; for

15、(i=0;i10;i+)courseavej+=scoreij;courseavej/=10.0;fangcha=temp1/n-(temp2/n)*(temp2/n);printf( the average scores of each student are:);for(i=0;i10;i+)printf( %5.2f ”,stuavei);printf( the average scores of each course are:);printf( %5.2f ”,courseavei); printf( thefangchais %5.2f fangcha);3、非遞歸方法#include void main()int n,i=0;long fac=1;scanf( %d ,&n);while (in) i+; fac*=i;printf(%ld”,fac);遞歸方法:#include long fac(int n)if (n= =0|n= =1) return 1;else return n*fac(n-1);void main()int n;scanf( %d ,&n);printf

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論