C++201220131試卷A_第1頁
C++201220131試卷A_第2頁
C++201220131試卷A_第3頁
C++201220131試卷A_第4頁
C++201220131試卷A_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、姓名 學號 學院 專業(yè) 座位號 ( 密 封 線 內(nèi) 不 答 題 )密封線線_ _ 誠信應(yīng)考,考試作弊將帶來嚴重后果! 華南理工大學期末考試C+程序設(shè)計基礎(chǔ) 試卷A 注意事項:1. 考前請將試卷和答題紙密封線內(nèi)各項填寫清楚; 2. 所有答案寫在答題紙上,否則無效; 3試卷和答題紙同時提交; 4考試形式:閉卷; 5. 本試卷共四大題,滿分100分,考試時間120分鐘。一、 單項選擇題(每小題2分,共30 分)1. 下列不合法的變量名是( C )。(A)int_a(B)abc(C)2c(D)_sum2. 表達式4%3+4*5+3/2的結(jié)果為( D )。(A)21.5 (B)22.5 (C)21 (D

2、) 223. 設(shè)變量定義int x =3, y, z; 執(zhí)行語句 y = z = x+; y = x = = z; 后變量y的值是( A )(A) 0(B) 1(C) 5(D) 64. 已知int i=0,x=2; 下面while語句執(zhí)行時循環(huán)次數(shù)為( C )。 while(x && i< 3 ) x- ; i+ ; (A)0(B) 1(C)2(D) 35. 下列代碼編譯執(zhí)行后,屏幕上將顯示什么結(jié)果( B )。int val = 1;switch( val ) case 1: cout <<"1" case 2: cout <<

3、"2" default: cout <<"default" (A)1 (B)12default(C) 代碼編譯失敗,因為在case語句當中沒有break(D) 代碼編譯失敗,因為變量val不是int類型6. 設(shè)有數(shù)組定義:char array= "Chinatisnstrong0right?" strlen(array)的值為 ( A ) 。A) 15 B) 16 C)22 D)237.下列語句敘述錯誤的是( B )。int j=100, *q=&j;(A)*q表示簡址訪問變量j(B) q的值為100(C) q指向

4、整型變量j (D) q的值是變量j的地址8. 在下面的函數(shù)聲明語句中,有語法錯誤的是( C )。(A)int funf( int, int ); (B) int fun( int x, int y );(C)int fun( int a, b ); (D) int fun(int, int =5);9. 若有定義語句:int a56, *pa5; 則以下語句中正確的是( D )。(A) pa=a; (B) pa0=a; (C) pa0= a13; (D)pa1 = a3 ;10. 設(shè)y為整型變量,不能正確表達數(shù)學關(guān)系5y9 的C+邏輯表達式是( A )。(A) 5< y <9(B)

5、 y=6|y=7|y=8(C) 5<y&& y<9(D) !(y<=5)&&!(y>=9)11. 設(shè)char *str1,*str2; 分別指向兩個字符串。判斷字符串str1和str2是否相等的表達式為( D )。(A)str1=str2 (B) str1=str2 (C) strcpy(str1,str2)=0 (D) strcmp(str1,str2)=012. 設(shè)有以下結(jié)構(gòu)說明struct p int x; int y; point;那么下列選項中正確的賦值語句是( A )。 (A) point.x = 1; point.y = 2

6、;(B) point= 1, 2 ; (C) p.x = 1; p.y = 2;(D) p = 1, 2 ;13.已知int array=0,2,4,6,8,10,*p=array+1;下列選項中值等于0的表達式是( D )。(A) *(p+) (B) *(+p) (C) *(p-)(D) *(-P)14. 有聲明 void f (int * & ); int a , *p = &a;下面選項中,正確的調(diào)用是( B )。(A) f ( &a ); (B) f ( p ); (C) f ( *a );(D) f ( *p ) ;15. 設(shè) int a=5, b=4, c=

7、3, d=2; 則以下條件表達式的值為( D )。a > b ? a : c > d ? c : d(A) 2 (B) 3 (C) 4 (D) 5二、讀程序?qū)戇\行結(jié)果(每小題5分,共30分)1、(5分) #include <iostream>using namespace std;int main() int x, y, z; x = 1; y = 2; z = 3; cout << ( -x && y+ | z+)<< endl; cout <<x<<,<<y<<',

8、9;<<z<< endl; return 0;答案:10,2,42、(5分) #include<iostream>using namespace std;int main() int i = 1, sE = 0, sO= 0; for( i =1; i < =10; i+ ) switch( i % 2 ) case 0: sE += i; continue; case 1: sO += i; break; cout<<"sE = "<< sE<< "nsO = "<&l

9、t; sO <<endl; return 0;答案:sE = 30 sO = 253、(5分)。 #include<iostream>using namespace std;void fun() static int a = 20; int b = 3; a += 3; b-; cout<<a<<'t'<<b<<endl; void main() for(int i=1; i <= 3; i+) fun(); 答案:23 226 229 24、(5分)#include<iostream>#

10、include<iomanip>using namespace std;void main() int a33, i, j;for ( i=0; i<3; i+ )for ( j=0; j<3; j+ ) aij = ( i = j) ? 1:0 ; cout<<setw(2)<< *(ai+j);cout<<endl;答案:1 0 00 1 00 0 15、(5分)#include<iostream>using namespace std;int f(int n) if (!n) return 0; else retur

11、n n*n + f( n - 1);int main() cout << f(3) << endl; return 0; 答案: 146、(5分)#include<iostream>using namespace std;void fun(int *x, int *y) x = new int(10);*x = *x + 1;*y = *y + *x; void main() int a =100, b=200;fun( &a, &b );cout<<a<<"-"<<b<<e

12、ndl;答案:100-211三、讀程序填空(每空2分,共20 分)1以下程序的功能是顯示由符號組成的三角形圖案。例如,程序運行后,程序輸出如圖1所示。 圖1 #include<iostream>using namespace std;int main() int i1,j1,k1,n1; char ch; cout<<"How many lines ?n" cin>>n1; cout<<"What character ?n" cin>>ch; for( i1=1; i1<=n1; i1+

13、) for( k1=1;_(1)_; k1+ ) cout << " " for( j1=1; (2) ; j1+ ) cout << ch ; cout << endl; 2、下面程序的運行輸出如圖2所示,請將程序補充完整。圖2 #include<iostream>using namespace std;void print(int w) int i; if( w ) (3) ;/ for( i=1; i<=w; i+ ) cout << w << " " (4) ; / v

14、oid main() print( 6 );3. 以下程序的功能是將一組數(shù)據(jù)從小到大排列后輸出,并顯示每個元素及它們在原數(shù)組中的下標,程序的一次運行如圖3 所示。請將程序補充完整。圖3 #include<iostream>#include<iomanip>usingnamespace std;void sort(int*,int*,int);int main()int i,n;int *p1,*p2;cout<<"請輸入數(shù)組元素個數(shù):"<<endl;cin>>n;p1=new intn; (5) ;/ cout&l

15、t;<”請輸入各數(shù)組元素:”<<endl;for (i=0;i<n;i+)cin>>p1i;p2i=i; (6) ; / cout<<"after sort:"<<endl;for(i=0;i<n;i+)cout<<setw(5)<<p2i;cout<<endl;for(i=0;i<n;i+)cout<<setw(5)<<p1i;cout<<endl;void sort(int *q1,int *q2,int m)int i,j,t

16、,temp;for(i=0;i<m-1;i+)t=i;for(j=i+1;j<m;j+)if (q1t>q1j) (7) ; if (t!=i) temp=q1i;q1i=q1t;q1t=temp; temp=q2i;q2i=q2t;q2t=temp;4.以下程序的功能是將一個班的學生姓名和成績存放到一個結(jié)構(gòu)數(shù)組中,尋找和輸出最高分的學生姓名和分數(shù),程序的運行結(jié)果如圖4所示。請將程序補充完整。圖4#include <iostream>using namespace std;int main() struct data char name12; double sco

17、re;a = "張三",85,"李四",66,"王武",87,"老劉",96,"麻七", 78,"小紅",81,"小蘭",85,"小牛",55,"小驢",68,"小豬",93; double max = a0.score; int i,n = sizeof(a) / (8) ;/ for( i=1; i<n; i+ ) if( ai.score > max ) (9) ; / for(

18、 i=0; i<n; i+ ) if( (10) ) cout << <<t<<ai.score<< endl; 四、編程題(共20分)1、(10分)編寫程序,打印正整數(shù)的平方和平方根值。程序運行后顯示相應(yīng)的提示信息,要求輸入2個正整數(shù),然后顯示這個范圍內(nèi)數(shù)據(jù)的平方和平方根值,要求輸出格式為每列數(shù)據(jù)占10位。例如:程序運行后分別輸入整數(shù)4和10,程序運行結(jié)果如圖5所示。圖5注:sqrt函數(shù): 原型:double sqrt( double x ); 頭文件: <cmath> 功能:返回x的平方根 答案:#inclu

19、de<iostream>#include<iomanip>#include<cmath>using namespace std;void main() int a,b; cout<<"請輸入第個整數(shù)( >=0 ):" cin>>a; cout<<"請輸入第個整數(shù)( >= 第個整數(shù)):" cin>>b; cout<<setw(10)<<"N"<<setw(8)<<"平方"<<setw(1

溫馨提示

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

評論

0/150

提交評論