計算機二級 程序設計基礎試題及答案四.doc_第1頁
計算機二級 程序設計基礎試題及答案四.doc_第2頁
計算機二級 程序設計基礎試題及答案四.doc_第3頁
計算機二級 程序設計基礎試題及答案四.doc_第4頁
計算機二級 程序設計基礎試題及答案四.doc_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

程序設計基礎 考試試卷四一、1以下敘述中正確的是( )A. C程序中注釋部分可以出現在程序中任意合適的地方B. 花括號和只能作為函數體的定界符C. 構成C程序的基本單位是函數,所有函數名都可以由用戶命名D. 分號是C語句之間的分隔符,不是語句的一部分2判斷下面標識符中哪個是C語言中合法的用戶定義標識符( ) A. 2a1b B. abd C. _123 D. char 3設有以下定義 int a=0; double b=1.25; char c=A; #define M 2 則下面語句中錯誤的是( ) A. a-; B. b-; C. c-; D. M-; 4有兩條語句: static char x=”abcde”; static char y=a,b,c,d,e; 則下列說法中正確的是( )A. 數組x和數組y長度相同 B.數組x長度大于數組y長度 C.數組x長度小于數組y長度 D.以上三種說法均錯誤;5設整型變量a=13,則經運算a+= a/=a%=5后,a的值為( ) A. 17.333 B. 17 C. 0 D. 2 6. 已知:int n,i=1,j=2;執行語句n=ij?i+:+j;后,i和j的值是( ).A. 1,2 B. 1,3 C. 2,2 D. 2,37.有函數定義如下:當自變量x0時y=1;以下程序片段能實現該函數功能的是( ): A. if(x=0) B. y=-1; C. if(x=0) D. y=0; if(x0) y=1; if(x!=0) if(x0) y=1; if(x=0) else y=-1; if(x0) y=1 ; else y=0; if(x0) y=1; else y= 0; else y=0; else y= -1; else y=-1;8當a=2,b=1,c=3,d=4,m和n值為1時,(m=ab)|(n=cd)的值是( )A. TRUE B. FALSE C. 1 D.0 9在C語言程序中,以下說法正確的是( )A. main函數內部可嵌套定義子函數B. main函數必須出現在所有函數之前C. main函數必須出現在所有函數之后D. main函數是程序執行的入口10關于局部變量和全局變量說法正確的是( ):A. 在main函數中定義的變量都為全局變量B. 當全局變量與局部變量同名時,全局變量起作用C. 當全局變量與局部變量同名時,局部變量起作用D. 以上說法都不正確11下列關于switch和break語句的討論中,只有( )是正確的。A. break語句是switch 語句的一部分 B. 在switch語句中可以根據需要使用或不使用break語句 C. switch語句中必須使用break語句 D. 以上三種說法都不正確。12設main函數中有定義float a8,此外,程序中還定義了以下函數 void printarray(float a8,int n) int i; for(i=0;iage);B. scanf(%s,);C. scanf(%d,&pup0.age);D. scanf(%d,&(pup1.sex);16 有以下程序段int k=0while(k=1)k+;則while 循環執行的次數是( )A. 無限次 B. 有語法錯,不能執行 C. 一次也不執行 D. 執行1次17有定義struct ex int x ; float y; char z ; example;則下面的敘述中不正確的是( ) A. struct結構體類型的關鍵字 B. example是結構體類型名 C. x,y,z都是結構體成員名 D. struct ex是結構體類型18 若fp是指向某文件的指針,且已讀到文件末尾,則庫函數feof(fp)的返回值是()A. EOF B. 1 C. 非零值 D. NULL19 以下程序執行后sum的值是()void min() int i , sum; for(i=1;i6;i+) sum+=i; printf(%dn,sum);A.15 B. 14 C. 不確定 D.020 當調用函數時,實參是一個數組名,則向函數傳送的是( )A. 數組的長度 B. 數組的首地址 C. 數組每一個元素的地址 D. 數組每個元素中的值2、#includevoid swap(int x, int y) int temp; temp=x; x=y; y=temp; void main() int a=3,5; swap a0, a1); printf(“%d,%dn” ,a0,a1);二、讀程序寫執行結果(每題5分,共20分)1#includevoid main() int x=3do printf(%d ,x-=2); while (!(-x);4#includevoid main() int a =1,2,3,4,5,6,7,8,9,0,*p;p=a;printf(%dn,*p+9);3、void main() double d=3.2;int x,y; x=1.2;y=(x+3.8)/5; printf(“%dn”,d*y);三、程序改錯題(每題5分,共20分)1、以下程序的功能是:給r輸入數據后計算半徑為r的圓面積s。#include #define PI 3.14void main() int r; float s; scanf(%d,r); s=PI*r2;printf(s=%fn,s);1 當n50.7 當 3n50.5 當n32、以下程序用語實現分段函數cost= 的功能#includevoid main() int n; float cost; if(n5) cost=1; if(n3) cost =0.7; else cost=0.5;3、以下程序用于從終端教授一個字符賦給c,如c不為換行符就循環輸出,為換行符則停止#includevoid main()c=getchar();while(c!=n)printf(“%c”,c);4、以下程序用于實現矩陣的轉置#includevoid main() int a2=1,2,3,4; int i,j,temp; for(i=0;i2;i+) for(j=0;j2;j+) aij=aji; aji= aij; 四、程序填空(共10分)1.本程序用于求100-500之間的素數并輸出# include#includevoid main() int m, i, n; float k; m=100; while(m=500) ; for(i=2; ik )printf(“%d ”,m); n+; m+;2.本程序用于動態建立一個鏈表。鏈表中每個結點包括學號、成績及指向下一結點的指針,整個鏈表共10個結點。#include#include#define NULL 0struct student int num; float score; ;void main( ) struct student *head=NULL,*p1,*p2; int n=0; dop1= ; printf(“請輸入學生的學號和成績:n”); scanf(“%d,%f”,&p1-num,&p1-score); n=n+1;if(n= =1) head=p1;else p2-next=p1; ;while(nnext=NULL;五、編程題1編程求1-1/3+1/5-1/7+1/97-1/99的值并輸出。2定義一8個元素的整數數組,讀入各元素值后用選擇法由小到大排序,之后輸出排序結果。3讀入正整數n,用遞歸法和非遞歸法求F(n)并輸出,已知F(1)=1; F(2)=1; 當n2時F(n)=F(n-1)+F(n-2)。第 5 頁/共 4 頁 程序設計基礎 試卷四答案一、1A 2C 3D 4B 5D 6C 7C 8C 9D 10D 11B 12C 13C 14B 15A 16A 17B 18C 19C 20B 二1 1 -2 2. 3,5 3. 0 4. 10三、1、以下程序的功能是:給r輸入數據后計算半徑為r的圓面積s。#include #define PI 3.14void main() int r; float s; scanf(%d,r); /改為scanf(“%d”,&r); s=3.14*r2; /改為s=3.14*r*r;printf(s=%fn,s);1 當n50.7 當 3n=50.5 當n=32、以下程序用語實現分段函數cost= 的功能#includevoid main() int n; float cost; if(n5) cost=1; if(n3) cost =0.7; /改為else if(n3)cost=0.7; else cost=0.5;3、以下程序用于從終端教授一個字符賦給c,如c不為換行符就循環輸出,為換行符則停止#includevoid main()c=getchar(); /此句去掉while(c!=n) /此句改為while(c=getchar()!=n);printf(“%c”,c);4、以下程序用于實現矩陣的轉置#includevoid main() int a2=1,2,3,4; int i,j,temp; for(i=0;i2;i+) for(j=0;j2;j+) /此句改為for(j=i;j2;j+) aij=aji; aji= aij;/此句改為temp=aij; aij=aji; aji=temp; 四、1、 K=sqrt(m) ; break ;2. struct student *next ; (struct student *)malloc(sizeof(struct student ); p2=p1 ;五、編程題(每題10分,共30分PAD圖或N-S圖占一半的分)1#includevoid main() int i,sign; float term,sum; sign=1; sum=1; for(i=2;i=50;i+) sign*=-1; term=sign*1.0/(2*i-1); sum+=term;printf(the result is:%fn,sum);2

溫馨提示

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

評論

0/150

提交評論