復(fù)習(xí)資料及答案_第1頁
復(fù)習(xí)資料及答案_第2頁
復(fù)習(xí)資料及答案_第3頁
復(fù)習(xí)資料及答案_第4頁
復(fù)習(xí)資料及答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C+復(fù)習(xí)資料及答案一、 判斷題1、在變量定義int sum , SUM; 中sum和SUM是兩個相同的變量名。(N )2、字符串”china”在內(nèi)存中占據(jù)的存儲空間是5個字節(jié)。(N )3、在C+語言中,”A”和A是等價的。( N )4 、C+表達(dá)式4/7和4.0/7的值是相等的,且都為double型。( N )5、關(guān)系表達(dá)式 a=b>c 等價于 a=(b>c) ,同時也等價于 a=b>c。( N )6、continue 語句和break 語句的區(qū)別是:break 語句提前跳出switch結(jié)構(gòu)或結(jié)束循環(huán)的執(zhí)行;continue 語句只結(jié)束本次循環(huán),而不是終止整個循環(huán)的

2、執(zhí)行。(Y )7、數(shù)組是一種構(gòu)造型數(shù)據(jù),即是若干相同類型的數(shù)據(jù)的集合。( )8、C+語言中,二維數(shù)組中元素排列的順序是:按行存放,即在內(nèi)存中先順序存放第一行的元素,再存放第二行的元素。( )9、#include “iostream.h” 的作用是將說明標(biāo)準(zhǔn)輸入輸出流對象的頭文件包含到當(dāng)前源文件中來。(Y )10、C+語言中允許函數(shù)“嵌套調(diào)用”和“遞歸調(diào)用”,所謂“遞歸調(diào)用”就是指:在調(diào)用一個函數(shù)的過程中又出現(xiàn)直接或間接地調(diào)用該函數(shù)本身。(Y )二、 選擇題1、由C+源程序文件編譯而成的目標(biāo)代碼文件的缺省擴(kuò)展名為( C ) A).cpp B).exe C).obj D).lik2、設(shè)x和y均為b

3、ool類型(bool類型:1或0),則x&&y為真的條件是(A ) A).它們均為真 B).其中一個為真 C).它們均為假 D).其中一個為假3、設(shè)有int i;則表達(dá)式i=1,+i,+i|+i,i的值為 ( C ) A).1 B).2 C).3 D).44、設(shè)有int i;則表達(dá)式(i=1,i=10)?i+|+i:+i的值為 (A )解析:(i=1,i=10)?i+|+i:+i(i=1,i=10)是真的情況表達(dá)式的值=i+|+i是假的時候=+i(i=1,i=10)這個是逗號運算符最終i=10,是真所以表達(dá)式的值是i+|+i = 10 |12 = 1 A).1 B).2 C).

4、3 D).105、設(shè)有int a =10,11,12,*p=&a0;則執(zhí)行完*p+;*p+=1;后a0,a1,a2的值依次是 ( ) A).10,11,12 B).11,12,12 C).10,12,12 D).11,11,126、設(shè)a、b和c都是int型變量,且a=3,b=4,c=5,則下列表達(dá)式中,值為0的表達(dá)式是( ) A).'A'&&'B' 1 B).a<=b 1 C).c>=b|b+c&&b-c 1 D). a<=b+c&&c>=a+b7、若x和y都是int型變量,x=10

5、0,y=200,則下面程序片段cout<<(x,y)<<endl; 的輸出結(jié)果是( )解析:語句中遵循優(yōu)先級高的優(yōu)先執(zhí)行的原則,括號優(yōu)先級最高,所以(x, y)最先計算。這是一個逗號表達(dá)式,注意,是一個表達(dá)式,是表達(dá)式就有值。逗號表達(dá)式的值等于最右邊的那個值,即x,y,z的值是z,依次類推。所以(x, y)=y=200,最后執(zhí)行語句其他部分,輸出200 A).200 B).100 C).100 200 D).輸出格式符不夠,輸出不確定的值8、下面各語句中,能正確進(jìn)行字符串賦值操作的語句行是( ) A).char s45="ABCDE" B). cha

6、r s5='A','B','C','D','E'(char s6= 'A','B','C','D','E') C). Char *s; s="ABCDE" D). char *s; cin>>s;9、若有:int a6=4,5,6,9,5,7,*p=a, *q=p; 則對數(shù)組元素的錯誤引用是( )A). a4 B). *(p+4) C). *a+(變量才能加減) D). *q+10、下列不正確的轉(zhuǎn)義字符是

7、( ) A).'' B).'" C).'074' D).'0'11、假定a和b為int型變量,則執(zhí)行以下語句后b的值為( )a=1; b=10;do b-=a; a+; while (b-<0);A). 9 B). 2 C). -1 D). 812、對于結(jié)構(gòu)中定義的成員,其隱含訪問權(quán)限為( )A). public B). protected C). private D). static13、設(shè)P1和P2是指向同一個int型一維數(shù)組的指針變量,k為int型變量,則不能正確執(zhí)行的語句是( ) A).k=*P1+*P2; B).

8、p2=k; C).P1=P2; D).K=*P1 * (*P2);14、設(shè)有如下定義:int arr=6,7,8,9,10;int * ptr;則下列程序段的輸出結(jié)果為( )ptr=arr;* (ptr+2)+=2;cout<<*ptr<<*(ptr+2)<<endl;A).8,10 B).6,8 C).7,9 D).6,1015、執(zhí)行以下程序段后,m的值為( )int a23= 1,2,3,4,5,6 ;int m,*p;p=&a00;m=(*p)*(*(p+2)*(*(p+4);A). 15 B). 14 C). 13 D). 12三、 填空題1

9、、描述命題“A小于B或小于C”的表達(dá)式為 。2、在C+中有二種參數(shù)傳遞方式: 和 。3、定義重載函數(shù)時,應(yīng)在參數(shù)個數(shù)、參數(shù)類型或參數(shù)次序上 。4、拷貝初始化構(gòu)造函數(shù)使用 來初始化創(chuàng)建中的對象。5、一個C+函數(shù)由兩部分組成,即: 和 。6、一個C+程序總是從 開始執(zhí)行。7、C+語言程序中出現(xiàn)的/*/部分或/部分所起的作用是: 。8、C+語言中數(shù)組元素的訪問方式有兩種,即: 和 。9、C+規(guī)定:在每一個字符串的結(jié)尾加上一個 ,以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。10、C+語言中數(shù)據(jù)類型的轉(zhuǎn)換有兩種,即: 和 。11、C+語言規(guī)定了運算符的優(yōu)先級和結(jié)合性,其結(jié)合性分為: 和 。12、若有int x=4,

10、y=7; 則表達(dá)式x+=y,x*=x+y的值為 。13、x>1 && y!=0的相反條件為 。14、過程化程序設(shè)計方法中,程序由三種基本結(jié)構(gòu),即:順序結(jié)構(gòu)、 、 。15、在C+中,若需要在程序文件中進(jìn)行標(biāo)準(zhǔn)輸入輸出操作,則必須在開始加入預(yù)處理命令 ,若使用到數(shù)學(xué)庫中的函數(shù)時,要在源程序的開始加入預(yù)處理命令 。16、C+語言中用來存放變量地址的變量稱作 。17、int *p10; 的含義是 。18、int *p; 的含義是 。四、簡答題1、請用C+語言的表達(dá)式表示下列代數(shù)式。(1) (2) (e=2.71828) (3) (4) (e=2.71828) (5) 2、根據(jù)要求

11、完成下列各題。(1) 用兩種方法實現(xiàn)一個字符串str,并賦以初值”welcome to Nanjing !”。 (2) 定義結(jié)構(gòu)體類型date, 該結(jié)構(gòu)體包含的成員為year (整型)、month (整型)、day(整型),再使用typedef 將結(jié)構(gòu)體類型date等價成DATE,最后使用DATE定義一個變量pdate。五、程序分析題1、寫出下列程序運行結(jié)果:(1) #include "iostream.h" (4分) void main( ) int x=5,y=8,*px,*py; px=&x,py=&y; cout<<"num1=

12、”<<*px<<,<<”num2="<<*py<< if(x<y) swap1(x,y); cout<<"num1=”<<*px<<,<<”num2="<<*py<< if(x<y) swap2(px,py);cout<<"num1=”<<*px<<,<<”num2="<<*py<< if(x<y) swap3(px,py);

13、 cout<<"num1=”<<*px<<,<<”num2="<<*py<< swap1(int a,int b) int t; t=a; a=b; b=t; cout<<"num1=”<<a<<,<<”num2="<<b<< swap2(int *p,int *q) int *t; t=p; p=q; q=t; cout<<"num1=”<<*p<<,<<

14、;”num2="<<*q<< swap3(int *p,int *q) int t; t=*p;*p=*q;*q=t; cout<<"num1=”<<*p<<,<<”num2="<<*q<<(2) #include “iostream.h” (3分) main(int argc,char *argv ) int i; cout<<”argc=”<<argc<< ; for(i=0;i<=argc-1;i+) cout<&l

15、t;argvi<< ; 若上面的程序編譯連接后生成可執(zhí)行文件ABC.EXE, 若輸入以下命令行 abc filel file2 <enter> (表示回車) 注:文件的路徑可以不考慮(3) #include <iostream.h> (4分)class A int a, b; public: A()a=b=0; A( int aa , int bb ) : a(aa),b(bb) cout <<”a=”<<a<<”, ”<<”b=”<<b<<endl; A() cout<<”

16、Destructor!”<<endl; ; void main( ) A x , y(2 , 3) ; /對象x , y消亡后分別自動調(diào)用析構(gòu)函數(shù)A( )2、試分析下列程序或函數(shù)的功能。(4分) (1) #include "iostream.h"void main( ) char str81,*sptr;int i;for(i=0; i<80; i+) stri=cin.get( );if(stri='n') break;stri=0;sptr=str;while(*sptr) cout<<(*sptr+);3、程序改錯題:(4

17、分)從鍵盤輸入一個分?jǐn)?shù)(0100),判斷它屬于哪個分?jǐn)?shù)段,并輸出分?jǐn)?shù)段字母代號。#include <iostream.h>main( )int num; char grade; cout<<“please input num:”; cin>>num; if(grade>=90)&&(grade<=100) grade=”A”; cout<<“The grade is:”<<grade; if (grade>=80) grade=”B”; cout<<“The grade is:”<&

18、lt;grade; if (grade>=70) grade=”C”; cout<<“The grade is:”<<grade; if (grade>=60) grade=”D”; cout<<“The grade is:”<<grade; else grade=”E”; cout<<“The grade is:”<<grade;4、程序填空題: (每空1分,共8分)(1)以下程序通過調(diào)用自定義函數(shù)scopy( )將字符串s1復(fù)制到字符串s2,并輸出顯示,請?zhí)羁铡?#include “iostream.h”

19、void scopy ( , ) while(*p!= '0') ; ; ; *q='0' void main( ) char *s1="Nanjing, China" char s220; cout<<"nThe s1 is:"<<s1; ; cout<<"nThe s2 is:"<<s2; (2) class A int *a ; int n;public: A(int nn=0) : n(nn) if(n=0) a=0; else a= ; /分配長

20、度為n的動態(tài)數(shù)組 void seta(int *aa) for (int i=0; i<n; i+) ai=aai ; /定義析構(gòu)函數(shù),釋放動態(tài)數(shù)組空間 ;六、編程題1、 編制一個完整的程序:從鍵盤輸入10個整型數(shù)組元素,調(diào)用自定義函數(shù)void sort( int array , int n )對其進(jìn)行由大到小排序,最后將排序結(jié)果輸出到顯示器終端,要求自定義函數(shù)sort( )中用冒泡法實現(xiàn)排序。04財計C+程序設(shè)計語言答案一、判斷題(10分)1 5 :F,F(xiàn),F(xiàn),F(xiàn),F(xiàn) 2 10:T,T,T,T,T二、選擇題(25分)1 5 :C,A,C,A,C6 10:D,A,C,C,C11 15:D

21、,A,B,D,A16 20:C,D,D,A,A三、語法填空題(15分)1、 A<B | A<C 。2、值傳遞 和 地址傳遞 。3、 不相同 。4、 已存在同類型對象的引用 。5、 函數(shù)的說明部分和函數(shù)體部分。6、 main函數(shù)的入口地址處 。7、 注釋說明,以增加程序的可讀性 。8、 下標(biāo)方式 和 指針方式 。9、 字符串結(jié)束標(biāo)志0 10、 自動類型轉(zhuǎn)換 和 強(qiáng)制類型轉(zhuǎn)換 。11、 左結(jié)合性 和 右結(jié)合性 。12、 198 。13、 x<=1 | y=0 。14、選擇結(jié)構(gòu) 、循環(huán)結(jié)構(gòu) 。15、 #include <iostream.h> , #include “m

22、ath.h” 。16、 指針變量 。17、 定義指針數(shù)組p,它有10個指向整型數(shù)據(jù)的指針元素組成 。18、 定義一個指針變量p,它指向一個指向整型數(shù)據(jù)的指針變量。四、簡答題(16分)1、請用C+語言的表達(dá)式表示下列代數(shù)式。(1) x*x*x*sin(55*3.14/180)/(3.14*d) (2) 1.0/3*exp(a-b)(3) (a+b*b*h-b/4)/(a+h/t)(4) exp(a+b)*sin(50*3.14/180)(5) log(a+x/5.0*sqrt(a+x*x)2、根據(jù)要求完成下列各題。 (1) static char str =”welcome to Nanjing

23、 !” ; char *str=”welcome to Nanjing !” ; (2) struct date int year; int month; int day; ; typedef struct date DATE; DATE pdate; 五、程序分析題1、(1)、各cout按執(zhí)行次序輸出的結(jié)果為 5,8; 8,5; 5,8; 8,5; 5,8; 8,5; 8,5(2)、程序執(zhí)行后的輸出結(jié)果是 :argc=3; abc.exe ; file1; file2;(3)、程序的輸出結(jié)果是:a=2, b=3 Destructor! Destructor!2、程序的功能是:從鍵盤上輸入一行字符,存入一個字符數(shù)組中,然后輸出該字符串。3、改錯題:#include <iostream.h>main( )int num; char grade; cout<<“please input num:”; cin>>num; if(grade>=90)&&(grade<=100) grade=”A”; cout<<“T

溫馨提示

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

評論

0/150

提交評論