程序的設(shè)計(jì)基礎(chǔ)試題與答案二_第1頁
程序的設(shè)計(jì)基礎(chǔ)試題與答案二_第2頁
程序的設(shè)計(jì)基礎(chǔ)試題與答案二_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余5頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

3、,必須要有輸出項(xiàng)B. 使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio. hC. 在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出D. 調(diào)用getchar函數(shù)讀入字符時(shí),可以從鍵盤上輸入字符所對(duì)應(yīng)的ASCII碼10. 以下關(guān)于函數(shù)的敘述中正確的是。A. 每個(gè)函數(shù)都可以被其它函數(shù)調(diào)用(包括main函數(shù))B. 每個(gè)函數(shù)都可以被單獨(dú)編譯C. 每個(gè)函數(shù)都可以單獨(dú)運(yùn)行D. 在一個(gè)函數(shù)部可以定義另一個(gè)函數(shù)11. 有以下程序段 typedef struct N0DEint num;struct NODE *next; OLD;以下敘述中正確的是OA. 以上的說明形式非法B. NODE是一個(gè)

4、結(jié)構(gòu)體類型C. OLD是一個(gè)結(jié)構(gòu)體類型D. OLD是一個(gè)結(jié)構(gòu)體變量12. 以下敘述中錯(cuò)誤的是oA. C語言中對(duì)二進(jìn)制文件的訪問速度比文本文件快B. C語言中,隨機(jī)文件以二進(jìn)制代碼形式存儲(chǔ)數(shù)據(jù)C. 語句FILE fp;定義了一個(gè)名為fp的文件指針D. C語言中的文本文件以ASCII碼形式存儲(chǔ)數(shù)據(jù)13. 當(dāng)把以下四個(gè)表達(dá)式用作if語句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其它三個(gè)選項(xiàng)含義不同,這個(gè)選項(xiàng)是。A. k%2 B. k%2=l C. (k%2)!=0 D. !k%2=l14. 以下不能正確計(jì)算代數(shù)式3"值的C語言表達(dá)式是。3A. l/3*sin(l/2)*sin(l/2) B. sin(0

5、. 5)*sin(0. 5)/3C. pow(sin(0. 5) .2)/3D. 1/3. 0*pow(sin(l. 0/2) ,2)15. 以下能正確定義且賦初值的語句是0A. int nl=n2=10; B. char c=32;C. float f=f+l. 1;D. double x=12.3E2. 5;16. 以下程序的功能是:當(dāng)a<b<c時(shí),以八進(jìn)制形式輸出a、b、c的值。#include <stdio.h>void main() /* Beginning */ int a,b,c;scanf( %d%d%dM ,&a,&b,&c):

6、if (a<b<c) printf( a%o%o%o" ta,b,c):程序不能得到正確結(jié)果的的原因是OA. 注釋語句書寫位置錯(cuò)誤B. a. b、c不能以八進(jìn)制進(jìn)行輸出C. 沒有按照八進(jìn)制進(jìn)行輸入D. if語句的條件表達(dá)式錯(cuò)誤17. 設(shè)有定義:int k=l,m=2; float f=7;,則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是。A. k=k>=k B. -k+ C. k%int(f) D. k>=f>=m18. 設(shè)有定義:int a=2,b=3,c=4;,則以下選項(xiàng)中值為0的表達(dá)式是。A.(畑=l)&&(!b=0);B(Mb)&&

7、!c 1;C a && b;D a| | (b+b)&&(c-a)19. 有以下程序段 int k二0衛(wèi)=1,b二2.c二3;k=a<b ? b:a;k二k>c ? c:k;執(zhí)行該程序段后,k的值是o A. 3 B. 2 C. 1 D. 020. 設(shè)變疑a、b、c、d和y都已正確定義并賦值。若有以下iF語句 if (a<b) if(c=d)y=0;else y=l:該語句所表示的含義是。A.a <b and c = da>bB.a <b and c = da>b and c H 0 a <b and c = d C

8、. y = s1 a <h and c H d*D.a <b and c = d一、閱讀程序,寫出下列程序的運(yùn)行結(jié)果。(20分)1、已知字母A的ASCII碼為65。itinclude <stdio. h> void main() char a, b;a=,A'+'5'-,3'; b=a+'6''2 ; printf (w%d %crT. a, b) ;2、include <stdio. h>void f(int v, int w) int t;t=v;v=w;w=t;void main() int x=

9、l,y=3,z=2; if (x>y) else if (y>z) elsef (x.y);f(y,z);f(x,z);printf(, x, y, z) ;3、#include <stdio. h>void main() int 乳44 = 3,2廠3廠4. 0廠12廠13,14, -21,23,0,-24, -31,12,-33t0;int it j,s=O; for (i=0;i<4;i+) for(j=0;j<4;j+) if(aij<0) continue;if(aij=二0) break;s+=aij printf (,%dnrt,s);4

10、、#include <stdio. h>void main() int a=100,b=10;int *pl=&a, *p2:&b;pl=b; *p2=a;printf( a%d, %d.” ,a,b);printf( u%d, %dnM ,*plt*p2):二、程序改錯(cuò):找出下列程序存在的錯(cuò)誤,并進(jìn)行改正。(20分) U以下程序的功能是:給I輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積S。廿include <stdio. h>itdefine PI 3. 1415926void niainO int r;float s;scanf ("%d'r);

11、s=PI*r"2;printf("s=%fn",s):2、以下程序用于計(jì)算一個(gè)一維數(shù)組各元素平方根的和。ttinclude <stdio.h>#include <math. h>void main() int a10 , i ;float sum;for (i二0;i<=10;i+)scanf(“d" ,&a i);i=0;while (i<=9) sum+=sqrt (aij);i+;3、以下程序用于通過指針對(duì)數(shù)組進(jìn)行輸入和輸出ttinclude <stdio.h>void main() int

12、a10:int *p=a;int i:for (i二0;i<10;i+)scanf (“d” , p+);for (i二0;i<10;i+)printf( <4%5dM ,p+) ;4、以下程序通過判斷輸入的成績(jī)判斷其級(jí)別:其中90分以上為A, 80分以上為B, 70分以上為C, 60分以上為D,其他為E。ttinclude <stdio. h>void main() int score,temp;temp=score/10;switch (temp)case 10,9: printf( "A");case 8: printf( "B

13、” );case 7: printf ():case 6: printf ( "D”);default:printf( "E”);三、程序填空題:閱讀程序,填充空白使之能完成預(yù)定功能。(10分)k以下程序的功能是計(jì)算:s=l+12+123+1234+12345o請(qǐng)?zhí)羁?。include <stdio. h>void main() int t=0,st i:for( i=l; i<=5; i卄)t=i+ ;s=s+t; printf("s二dn",s); 2、以下程序的功能是輸岀如下形式的方陣:13141516910111256781234

14、請(qǐng)?zhí)羁?。include <stdio. h>void main()(int i,j>x;for(j=4; ; j)for(i = l; i<=4; i+) x=(j-l)*4 + ;printf(n%4d",x): printf(wnH): 四、編程題(要求給出PAD圖或者N-S圖)(30分)1、設(shè)計(jì)一個(gè)C函數(shù),對(duì)輸入的紜b兩個(gè)整型參數(shù),返回其中的最小數(shù)。利用main函數(shù)調(diào)用該函數(shù), 并輸出結(jié)果。2、編程輸入10個(gè)學(xué)生5門課程的成績(jī),實(shí)現(xiàn): 計(jì)算每個(gè)學(xué)生的平均分; 計(jì)算每門課程的平均分;3、編寫一個(gè)C程序,求解n!。要求分別用非遞歸程序和遞歸程序?qū)崿F(xiàn)。一.選擇

15、題。DDACD CBCBB CCDAB DCABC二.程序閱讀題1、67 G 2. 1,3.2 錯(cuò)題(每個(gè)5分,共20分)程序改3、404. 10, 10, 10, 10(每個(gè)5分,共20分)1、第一個(gè)錯(cuò)誤:scanf ( "%d" .r)應(yīng)為 scanf (“d.&r”)° 第二個(gè)錯(cuò)誤:s=PI*r*2 應(yīng)為 s=PI*r*ro2、第一個(gè)錯(cuò)誤:for循環(huán)中的第二個(gè)表達(dá)式應(yīng)為i<10o 第二個(gè)錯(cuò)誤:sum未賦初值,應(yīng)加入:sum二0;3、應(yīng)該在第二個(gè)for之前加入:p=a;4、應(yīng)該在每個(gè)case語句之后加入break;三、程序填空題(每個(gè)5分,共10

16、分)1. S二0; t*102、j>0;i四、編程題五、1、Jtinclude <stdio. h>int min(int a. int b) return (a<b?a:b);void main() int atb;scanf( “%d %d"a,&b);printf( d" tmin(a,b);2、include <stdio.h> void main() floatscore105,stuave10,courseave5.fangcha;float tempi,temp2; int i,j;printf ( "Pl

17、ease input the scores : M );for (i=0;i<10;i+) stuavei二0 ;temp1=0;temp2=0;for (j=0;j<5;j+) scanf( a%fvaij);stuavei+=aij; stuavei/=5 0;temp 1 +=stuavei*stuavei; temp2+=stuavei; for (j=0;j<5;j+)courseavej=0; for (i二0;i10;i+)for(i=0;i5;i+)printf ( a%5. 2ftcourseavei);printf( "thefangchais %52f" t fangcha):3、非遞歸方法include <stdio.h>void main() int n,i=0;long fac=l;scanf(n);while (i<n)i+; fac*=i;printf( "%ld" ,fac);遞歸方法:include <stdio. h>long fac(int n) if (n= =0 n= =1) return 1;else return n*fac(門-1);void main() int n;scanf ( u%d

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論