㈠ 急求c#面向對象程序設計 題目答案一份
#include<iostream.h>
class student
{
private:
char *name;
int id,numebr;
float net_score,java_score,data_score,aver_score,total_score;
public:
{
void set_property(char *n,int id0, int nu)
{
name=n;id=id;number=nu;
}
float set_score(float net,float java,float data)
{
net_score=net;
java_score=java;
dara_score=dara;
aver_score=(net+java+data)/3;
tole_score=net+java+data;
return tole_score;
}
void prints()
{
cout<<"name:"<<name<<"id:"<<id<<"number:"<<number<<endl;
cout<<"java_score:"<<java_score<<"net_score:"<<netscore<<"data_score:"<<data_score<<endl;
cout<<"aver_score:"<<aver_score<<"tole_score":<<total_score<<endl;
}
};
㈡ 面向對象程序設計與C++語言(第二版)西安電子科技大學出版社 朱戰立編著 課後習題解答
最好自己弄弄,不要想著要什麼答案,害自己。珍惜自己大學的時光吧。
㈢ 面向對象程序設計(C++語言描述)馬石安 魏文平編著的 課後答案
ji
㈣ 誰曉得 Java語言與面向對象程序設計 的答案、
b c a c c
㈤ c++面向對象程序設計 答案
#include<iostream>
using namespace std;
int main()
{
int i,j,k;/*i表示大學生數,j中學生,k小學生*/
i=j=k=0;
for(i=1;i<49;i++)
{
for(j=1;j<49-i;j++)//若大學生為i個,則中學生最多為48-i個
{
k=48-i-j;//總數為48,則小學生數就是48-i-j個
if(k>0 && 120 == (3*i+2*j+k))//因為要去掉某類學生為0的解,故k>0
cout<<'('<<i<<','<<j<<','<<k<<')'<<endl;//輸出所有解
}
}
return 0;
}
㈥ 求面向對象程序設計C++語言編程 張冰編著 機械工業出版社 的課後習題答案
l
㈦ C++面向對象程序設計(譚浩強)習題答案
一、單項選擇題(每題1分,共20分)
1、在C語言程序中應包含一個 。
A)語句 B)函數調用 C)主函數 D)子函數
2、C程序 構成。
A)由主程序和子程序 B)可以由一個主函數和若干其他函數
C)只能由一個函數即主函數 D)可以由若干個主函數和其他函數
3、C語言基本類型包括( )
A) 整型、實型、邏輯型 B) 整型、實型、字元型、邏輯型
C) 整型、字元型、邏輯型 D) 整型、實型、字元型
4、邏輯運算符兩側運算對象的數據類型 。
A) 只能是0和1 B) 只能是0或非0正數
C) 只能是整型或字元型數據 D) 可以是任何類型的數據
5、設有定義:log x=-123456L,則能夠正確輸出變數x值的語句是 。
A)printf("x=%8dL\n",x); B)printf("x=%8dL\n",x);
C)printf("x=%1d\n",x); D)printf("x=%LD",x);
6、printf函數中用到格式符%5s,其中數字5表示輸出的字元串佔用5列,如果字元串長度小於5,則輸出按下列哪種方式進行 。
A)從左起輸出字元串 B)按原字元串長度從左到右輸出
C)右對齊輸出該字元串,左補空格 D)輸出錯誤信息
7、語句while(!e)中的條件!e等價與 。
A)e==0 B)e!=1 C)e!=0 D)e==1
8、設有程序段
int k=10;
while(k=0) k=k-1;
則下面描述中正確的是 。
A)while循環執行10次 B)循環是無限循環
C)循環體1次也不執行 D)循環體執行1次
9、初始化語句正確的是 。
A)int a[1][4]={1,2,3,4,5}; B)float x[3][ ]={{1},{2},{3}};
C)long b[2][3]={{1},{2},{3}}; D)double y[ ][3]={{1,2},{3},{4}};
10、若要求:如果字元串s1大於字元串s2,則執行語句1,應當使用 。
A)if(s1>s2) 語句1 B)if(strcmp(s1,s2)) 語句1
C)if(strcmp(s2,s1)>0) 語句1 D)if(strcmp(s1,s2)>0) 語句1
11、已知:char str1[10],str2[10]= "Hello! ";則在程序中能夠將字元串"Hello! "賦給數組str1的正確語句是 。
A)str1="Hello!" B)strcpy(str1,str2) C) str1=str2 D) strcpy(str2,str1)
12、若有說明:int *p ,m = 5 , n ; 以下正確的程序段是 。
A)p = &n ; scanf ("%d" ,&p) ; B) p = &n ; scanf ("%d" ,*p) ;
C) scanf ("%d" , &n) ; *p = n; D) p = &n ; *p = m ;
13、下面程序段的運行結果是 。
char *s = "abcde" ;
s + = 2 ; printf ("%d" ,s) ;
A) cde B) 字元'c' C)字元'c'的地址 D)無確定的輸出結果
14、設p1和p2是指向同一個字元串的指針變數,c為字元變數,則以下不能正確執行的賦值語句是 。
A) c = *p1 + *p2 ; B)p2 = c ; C) p1 = p2 ; D) c = *p1*(*p2) ;
15、若有以下定義,則對a數組元素地址的正確引用是 。
int a[5] , *p = a ;
A) p + 5 B) *a + 1 C) & a + 1 D) & a[0]
16、下列說法中錯誤的是 。
A) 主函數可以放在程序的任何地方。
B) 非主函數總是通過函數調用語句來執行。
C ) C程序的書寫格式靈活,一行可以寫多個語句。
D) C程序的注釋也參加編譯並出現在目標程序中。
17、以下說法正確的是 。
A) C語言程序總是從第一個定義的函數開始執行。
B) 在C語言程序中,要調用的函數必須在main()函數中定義。
C) C語言程序總是從main()函數開始執行。
D、C語言程序中的main()函數必須放在程序的開始部分。
18、已知字母A的ASCII碼為十進制數65,且c2為字元型,則執行語句c2=『A』+『6』-『3』後,c2中的值為 。
A) D B) 68 C) 不確定的值 D) C
19、以下敘述正確的是 。
A) 在C程序中,每行只能寫一條語句
B) 若a是實型變數,C程序中允許賦值a=10,因此實型變數中允許存放整型數
C) 在C程序中,%是只能用於整數運算的運算符
D) 在C程序中,無論是整數還是實數,都能被准確無誤地表示
20、如果已經定義的變數,正確交換變數a、b的是 。
A)a=b;b=a; B)a=b;t=a;b=t;
C)t=a;a=b;b=t; D)a=a+b;b=a-a;a=a-b;
21、下面輸入語句中正確的是 。(設:int a,b,c;)
A)input(a,b,c); B)scanf("%d%d%d",&a,&b,&c);
C)scanf(%d,%d,%d,&a,&b,&c); D)scanf("%d,%d,%d",a,b,c);
22、下面有關for循環的正確描述是 。
A)for循環只能用於循環次數已經確定的情況
B)for循環是先執行循環體,後判條件
C)在for循環中,不能用break語句跳出循環
D)for循環的循環體語句中,可以包含多條語句,但必須用花括弧括起來
23、C語言中while和do-while循環的主要區別是 。
A)do-while的循環體至少執行1次 B)while的循環條件比do-while的循環條件嚴格
C)do-while允許從外部轉到循環體內 D)do-while的循環體不能是復合語句
24、已知:int a[10];則對a數組元素的正確引用的是 。
A)a[10] B)a[3.5] C)a[5] D)a[10-10]
25、在C語言中,二維數組元素在內存中的存放順序是 。
A)按行存放 B)按列存放 C)由用戶定義 D)由函數決定
26、已知:int a[ ][3]={1,2,3,4,5,6,7};則數組a的第一維的大小是 。
A)2 B)3 C)4 D)無法確定
27、以下程序中調用scanf函數給變數a輸入數值的方法是錯誤的,其錯誤原因是 。
main( )
{ int *p ,*q , a,b ;
p =&a ;
printf ("input a:") ;
scanf ("%d" , *p) ;
… }
A) *p表示的是指針變數p的地址 B)*p表示的是變數a的值,而不是變數a的地址
C)*p表示的是指針變數p的值 D)*p只能用來說明p是一個指針變數
28、已有定義int k = 2 ; int *ptr1,*ptr2 ;且ptr1和ptr2均已指向變數k ,下面不能正確執行的賦值語句是 。
A) k = *ptr1+*ptr2 ; B) ptr2 = k ; C) ptr1 = ptr2 ; D) k = *ptr1 *(*ptr2) ;
29、變數的指針,其含義是指該變數的 。
A)值 B)地址 C)名 D)一個標志
30、若有語句int *point , a = 4 ; 和point = &a ; 下面均代表地址的一組選項是 。
A)a , point ,*&a B) &*a ,&a , *point
C) *&point , *point , &a D) &a , &*point ,point
31、在C語言中,回車換行符是( )
A. \ n B. \ t C. \ v D. \ b
32、下列字元串不是標識符的是( )
A. sum B. Average C. Day_night D. M.D.JOHN
33、 在C語言中,下列類型屬於構造類型的是( )
A.整型 B.字元型 C.實型 D.數組類型
34、設有如下定義:
int x=10,y=5,z;
則語句printf(「%d\n」,z=(x+=y,x/y));
的輸出結果是( )
A.0 B.1 C.3 D.4
35、在C語言中,語句和數據定義是用( )作為結束標記的
A.句號 B.逗號 C.分號 D.括弧
36、以下程序的輸出結果是( )
main( )
{ char c1=』8』,c2=』2』;
printf(「%c,%c,%d,%d\n」,c1,c2,c1-c2,c1+c2); }
A.因輸出格式不合法,輸出出錯信息
B.8,2,6,106 C.8,2,6,10 D.8,2,5,9
37、兩次運行下面的程序,如果從鍵盤上分別輸入6和4,則輸出結果是( )
main( )
{int x;
scanf(「%d」,&x);
if(x++>5) printf(「%d\n」,x);
else printf(「%d\n」,x--); }
A.7和5 B.7和4 C.6和4
38、有如下程序段:
int k=0;
while(k++<=2) printf(「%d\n」,k);
則正確的執行結果是( )
A. 2 B. 0 C.1 D無結果
3 1 2
4 2 3
39、變數i的值為3,i的地址為2000,若欲使指針變數p指向變數i,則下列賦值正確的是( )
A.&i =3 B.*p=3 C.*p=2000 D p=&i
40、下面程序的執行結果是( )
main( )
{int i, *i_pointer;
i_pointer=&i;
*i_pointer=9;
printf(「i=%d」,i); }
A.i=0 B.i=9 C.i值不確定 D.程序有錯誤
41、表達式(int)2.1416的值時( )
A. 2 B. 2.1 C. 0 D. 3
42、下列運算符優先順序最高的是( )
A. > B. + C. && D. !=
43、程序段如下:
int k=1;
while (k=0) k=k+1;
則以下說法正確的是( )
A. while循環執行20次 B. 循環是無限循環
C. 循環體語句一次也不執行 D.循環體語句執行一次
44、C語言容許函數值類型預設定義,此時該函數值隱含的類型時( )
A. float型 B. Int型 C. Long 型 D. Double型
45、在C語言中引用數組元素時,其數組下標的數據類型是( )
A. 整型常量 B. 整型表達式
C. 整型常量和整型表達式 D. 任何類型的表達式
46、以下程序段的輸出結果是( )
char str[ ]=」ABCD」, *P=str;
printf(「% d \ n」, *( p+4 ));
A. 68 B. 0 C. 字元D的地址 D. 不確定的值
47、一個C程序的執行是從( )
A.本程序中的main函數開始,到main函數結束
B.本程序中的第一個函數開始,到本程序中的最後一個函數結束
C.本程序中的main函數開始,到本程序中的最後一個函數結束
D.本程序中的第一個函數開始,到本程序中的main函數結束
48、關於return語句,下列說法中不正確的是( )
A.函數可以通過return語句獲得返回值。
B.沒有return語句函數就不能獲得返回值。
C.return語句後面可以是常量、變數名或表達式,只要有確定的值
D.C語言中允許函數不返回值
49、按照C語言的規定,下列說法正確的是( )
A.實參可以是常量、變數或表達式,在傳遞給形參時,要求實參必須有確定的值
B.形參可以是常量、變數或表達式
C.實參可以為任意類型
D.形參與其對應的實參類型要求可以不一致
50、設有int a[ ]={10,11,12},*p=&a[0];則執行完*p++;*p+=1;後a[0],a[1],a[2]的值依次是 ( )
A.10,11,12 B.11,12,12 C.10,12,12 D.11,11,12
51、C語言中基本數據類型包括 。
A、整型、實型、邏輯型 B、整型、實型、字元型
C、整型、字元型、邏輯型 D、整型、實型、數組 、字元型
52、下列常數中不能作為C語言常量的是 。
A、0xA5 B、2.5e-2 C、3e2 D、0582
53、下列不屬於C語言關鍵字的是 。
A、default B、void C、struct D、external
54、已知int j,i=1; 執行語句j= -i++;後,j的值是 。
A、1 B、2 C、-1 D、-2
55、已知int i,a; 執行語句i=(a=2*3,a*5),a+6;後,i的值是 。
A、6 B、12 C、30 D、36
56、已知int x=1,y=2,z; 執行語句z=x>y?++x:++y;後,z的值是 。
A、1 B、2 C、3 D、4
57、不能進行++和—運算的數據類型是 。
A、指針 B、double C、int D、long
58、為了明確表示不帶回函數值,定義函數時函數名前用 。
A、int B、void C、struct D、static
59、若有 int a[2][3]={1, 3, 5, 7, 9, 11};則a[1][2]的值為 。
A、3 B、5 C、11 D、9
60、對於存儲類型為 的變數,只有使用時才佔用內存單元。
A、static B、extern C、auto D、前面都不對
二、填空題 (每空1分,共20分)
1、用C語言編寫的程序,編譯成功後生成的文件擴展名是 ,連接成功後生成的文件擴展名是 。
2、用匯編語言寫的程序必須通過 程序翻譯後才能執行,而高級語言寫的源程序可以通過 程序翻譯一句執行一句的方式,也可以通過 程序一次翻譯產生目標程序,然後執行。
3、若x和n均是int型變數,且x和n的初值均為5,則計算下列表達式後x的值為 ,n的值為 。 x+=n++
4、若a是int型變數,則計算下面表達式後a的值為 。 a=25/3%3
5、若for循環用以下形式表示:for(表達式1;表達式2;表達式3) 循環體語句,則執行語句for(i=0;i<3;i++) printf("*");時,表達式1執行 次,表達式3執行 次。
6、在C程序中,從 開始到 結束的內容為注釋信息,並且注釋信息 (可以/不可以)出現在程序的任何地方。
7、C程序有且只有一個主函數,它的函數名是 ,主函數 (可以/不可以)調用任何非主函數,任何非主函數 (可以/不可以)調用主函數。
8、若有定義:char c=『\010』;則變數c中包含的字元個數為______。
9、雞兔共有30隻,腳共有90個,下面程序段是計算雞兔各有多少只,請填空。
for(x=1;x<=29;x++)
{y=30-x;
if( ) printf("%d,%d\n",x,y); }
10、一個C源程序至少包括_________個函數,即_______函數。
11、若有說明int i,j,k;則表達式i=10,j=20,k=30,k*=i+j的值為_______________。
12、語句"printf("%x,%o",16,12);"的輸出結果是 。
13、開發一個C程序的步驟是 , , , 。
14、一個C程序中必須包含一個且只包含一個 函數。
15、C語言中每個基本語句都以 結束。
16、C語言規定,對程序中用到的變數,必須先 ,後 。
17、單精度浮點型變數和雙精度浮點型變數的類型標識符分別為 和 。
18、C語言中唯一的三元運算符是 ,運算優先順序最低的運算符是 。
19、 函數可以嵌套 ,不能嵌套 。
20、欲將1,2分別輸入給x,y,則執行scanf(「x=%d,y=%d」,&x,&y);
語句時的輸入格為 。
21、若x=2,y=3,則執行x*=y+1語句後,x的值為 。
22、 是C程序的基本組成單位。
23、在循環語句中執行了break語句,則 。
24、C語言規定,凡不加類型說明的函數,一律按 。
25、函數調用的三種方式: 、 、 。
26、在函數調用中給出的參數稱 ,在函數定義中給出的參數稱 。
27、C語言中自動在每個字元串的末尾添加一個 。
28、if與else的配對關系中,else總是與 的if配對。
29、文件的打開使用 函數;文件的關閉使用 函數。
30、若int x [ ]={1, 3, 5},* p=x;則*(p++)的值為 。
31、一個函數由兩部分組成,他們是 和 。
32、C語言是通過 來進行輸入和輸出的。
33、C語言的數據類型有四大類,他們是 、 、 、 。
34、當執行以下程序段後,i的值為 、j的值為 、k的值為 。
int a,b,c,d,i,j,k;
a=10; b=c=d=5; i=j=k=0;
for( ; a>b; ++b) i++;
while (a>++c) j++;
do k++; while (a>d++);
35、若有以下定義:double w[10];則w數組元素下標的上限是 ,下限是 。
36、Break語句只能用於 和 語句。
37、在循環中,continue語句與break語句的區別是:continue語句只是 ,break 是 。
38、若有說明int i,j,k;則表達式i=10,j=20,k=30,k*=i+j的值為 。
39、語句"printf("%x,%o",16,12);"的輸出結果是 。
三、程序填空
1、下面程序的功能是在輸入的一批正整數中求出最大者,輸入0結束循環。請填空。
main()
{int a,max=0;
scanf("%d",&a);
while( );
{ if (max<a) max=a;
scanf("%d",&a);}
printf("%d",max);}
2、以下程序的功能是:從鍵盤上輸入若干學生的成績,統計並輸出最高成績和最低成績,當輸入負數時結束輸入。請填空。
main()
{ float x,amax,amin;
scanf(「%f」,&x);
amax=x; amin=x;
while( )
{ if ( x>amax ) amax=x;
else if (x<amin) ;
; }
printf(「\namax=%f\namin=%f\n」,amax,amin);}
3、輸入若干字元,分別統計數字字元的個數、英文字母的個數,當輸入換行符時輸出統計結果,運行結束。
#include <stdio.h>
void main()
{ char ch; ;
while(( )!='\n')
{if(ch>='0'&&ch<='9') s1++;
if((ch>='a' && ch<='z')|| ) s2++;}
printf(「%d,%d\n」,s1,s2);}
4、findmax返回數組s中最大元素的下標,數組中元素的個數由t傳入,請填空。
findmax(int s[ ], int t)
{ int k,p;
for(p=0, k=p; p<t; p++)
if (s[p]>s[k]) ;
return ; }
5、以下程序的功能是:從鍵盤上輸入若干學生的成績,統計並輸出最高成績和最低成績,當輸入負數時結束輸入。請填空。
main()
{ float x,amax,amin;
scanf(「%f」,&x);
amax=x; amin=x;
while( )
{ if ( x>amax ) amax=x;
else if (x<amin) ;
; }
printf(「\namax=%f\namin=%f\n」,amax,amin); }
6、輸入若干字元,分別統計數字字元的個數、英文字母的個數,當輸入換行符時輸出統計結果,運行結束。
#include <stdio.h>
void main()
{ char ch;
_________;
while(( )!='\n')
{if(ch>='0'&&ch<='9') s1++;
if((ch>='a' && ch<='z')|| ) s2++;}
printf(「%d,%d\n」,s1,s2);}
7、下面程序的功能是求出用數字0至9可以組成多少個沒有重復數字的三位數。請填空。
main()
{int i,j,k,count=0;
for(i=1;i<=9;i++)
for(j=0;j<=9;j++)
if( ) continue;
else for(k=0;k<=9;k++)
if( ) count++;
printf("%d",count); }
8、輸出3——100之間的所有素數
#include 「stdio.h」
main()
{ int i,j;
for(i=3;i<=100;i++)
{for(j=2;j<=i-1;j++)
if( ) break;
if( )
printf(「%4d」,i);
} }
9、將字元串s中所有的字元『c』刪除
#include 「stdio.h」
main()
{ char s[80];
int i,j;
for(i=j=0;s[i]!=『\0』;i++)
if(s[i]!=『c』)
puts(s); }
10、用選擇法對10個整數排序(從小到大)
main()
{int i,j,min,temp,a[11];
for(i=1;i<=10;i++)
for(i=1;i<=9;i++)
{min=i;
for( ;j<=10;j++)
if(a[min]>a[j])
temp=a[i];
;
a[min]=temp;}
for(i=1;i<=10;i++)
}
四、判斷題 (每題1分,共20分)
1、若有說明int c;則while(c=getchar());是正確的C語句。 ( )
2、int i,*p=&i;是正確的C說明。 ( )
3、7&3+12的值是15。 ( )
4、在C語言中,函數既可嵌套調用又可嵌套定義。 ( )
5、for( ; ; )S中的語句S必執行無窮多次。 ( )
6、unsigned 和