System.out.print(i[x] + “、”);
} } }
金陵科技學院實驗報告
對照范例寫出如下題目:
(1).創(chuàng)建GrandFather類,其中包括
a)屬性:姓名(name),年齡(age)
b)方法getGrandFather():顯示爺爺?shù)男畔?/p>
c)構造方法:給爺爺?shù)男彰挲g賦值(2).創(chuàng)建Father類,繼承Grandfather類 a)屬性:除了繼承爺爺?shù)膶傩砸酝?,還要增加自己的屬性:“職業(yè)”(occupation)b)構造方法:顯式調用父類的構造方法,為Father類的姓名和年齡賦初始值。再為職業(yè)輸入初始值。
c)方法getFather(): 顯示父親的相關信息
(3).創(chuàng)建ClassMain()類,定義main()方法,構造GrandFather類的對象和Father類的對象,并分別顯示詳細信息。
3、面向對象多態(tài)性
范例:計算柱體的體積。柱體體積計算公式是:底部面積乘以高度 柱體底部分為 圓形和矩形 要求:通過抽象類和多態(tài)實現(xiàn) package cn.jit.demo;abstract class Bottom { //父類抽象類 底部
public abstract double calculatorArea();} class CircleBottom extends Bottom{ //圓形底
/** * 半徑
*/ private double radius;
@Override public double calculatorArea(){
return Math.PI * radius * radius;} public double getRadius(){
return radius;} public void setRadius(double radius){
this.radius = radius;} public CircleBottom(double radius){
super();
this.radius = radius;} } class SquareBottom extends Bottom{ //矩形底
private double sideA;
金陵科技學院實驗報告
private double sideB;public double getSideA(){
return sideA;} public void setSideA(double sideA){
this.sideA = sideA;} public double getSideB(){
return sideB;} public void setSideB(double sideB){
this.sideB = sideB;} @Override public double calculatorArea(){
return sideA * sideB;} public SquareBottom(double sideA, double sideB){
super();
this.sideA = sideA;
this.sideB = sideB;} } class ZhuTi { //柱體類,完成形狀的拼裝
/** * 底
*/ private Bottom bottom;/** * 高
*/ private double height;/** * 計算體積
* @return */ public double calculatorVolumn(){
return bottom.calculatorArea()* height;} public ZhuTi(Bottom bottom, double height){
super();
this.bottom = bottom;
this.height = height;
金陵科技學院實驗報告
} public Bottom getBottom(){
return bottom;} public void setBottom(Bottom bottom){
this.bottom = bottom;} public double getHeight(){
return height;} public void setHeight(double height){
this.height = height;} public void changeBottom(Bottom bottom){
this.bottom = bottom;} } public class VolumnTest { //測試類
public static void main(String[] args){
Bottom bottom = new CircleBottom(1.0);
double height = 1.0;
ZhuTi zhuTi = new ZhuTi(bottom,height);
double result = zhuTi.calculatorVolumn();
System.out.println(“圓柱體的體積是:” + result);
bottom = new SquareBottom(1.0,1.0);
zhuTi.changeBottom(bottom);
result = zhuTi.calculatorVolumn();
System.out.println(“立方體的體積是:” + result);} } 范例:接口和多態(tài)的應用,例如:電腦上實現(xiàn)了USB接口,U盤,打印機等等也都實現(xiàn)了此標準。interface USB{ public void start();// 開始工作
public void stop();// 結束工作 } class Computer{ public static void plugin(USB usb){
usb.start();
usb.stop();} };class Flash implements USB{ public void start(){
金陵科技學院實驗報告
System.out.println(“U盤開始工作?!?;} public void stop(){
System.out.println(“U盤停止工作?!?;} };class Print implements USB{ public void start(){
System.out.println(“打印機開始工作?!?;} public void stop(){
System.out.println(“打印機停止工作?!?;} };public class InterPolDemo02{ public static void main(String args[]){
Computer.plugin(new Flash());
Computer.plugin(new Print());} };對照范例,寫出以下程序:(1)樂器(Instrument)的標準為彈奏(play),而樂器類型分為:鋼琴(Piano)和小提琴(Violin),各種樂器的彈奏方法各不同。編寫代碼實現(xiàn)不同樂器的彈奏。(2)計算機模擬
四、實驗結果與分析(程序運行結果及其分析)
五、實驗體會
金陵科技學院實驗報告
實驗項目名稱: 類集
實驗學時: 4 同組學生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間:
金陵科技學院實驗報告
實驗2 類集
一、實驗目的和要求(1)理解類集概念
(2)熟悉Collection接口、List接口、Set接口和Map接口(3)掌握ArrayList類、HashSet類和TreeSet類(4)理解TreeMap、HashMap
二、實驗儀器和設備
奔騰以上個人計算機,windows操作系統(tǒng)。
配置好JDK環(huán)境,安裝集成開發(fā)環(huán)境(Eclipse)
三、實驗內(nèi)容與過程
1、類集應用
范例:實現(xiàn)一個超市管理系統(tǒng),要求可以添加貨物,刪除貨物和查詢貨物:
。代碼如下:
public interface Goods { public String getName();// 得到商品名稱
public int getCount();// 得到商品數(shù)量
public float getPrice();// 得到商品價格 }
public class Book implements Goods {
private String name;private int count;private float price;
public Book(){ }
public Book(String name, int count, float price){
this.name = name;
this.count = count;
this.price = price;}
public String getName(){
return name;}
public void setName(String name){
this.name = name;
金陵科技學院實驗報告
}
public int getCount(){
return count;}
public void setCount(int count){
this.count = count;}
public float getPrice(){
return price;}
public void setPrice(float price){
this.price = price;}
public boolean equals(Object obj){
if(this == obj){
return true;
}
if(!(obj instanceof Book)){
return false;
}
Book b =(Book)obj;
if(b.name.equals(this.name)&& b.count == this.count
&& b.price == this.price){
return true;
} else {
return false;
} }
public int hashCode(){
return this.name.hashCode()+ new Integer(this.count).hashCode()
+ new Float(this.price).hashCode();}
public String toString(){
return “書名:” + this.name + “;書的價格:” + this.price + “;書的數(shù)量:”
+ this.count;}
金陵科技學院實驗報告
}
import java.util.ArrayList;import java.util.Iterator;import java.util.List;
public class SuperMarket { private List allGoods;
public SuperMarket(){
this.allGoods = new ArrayList();}
public void add(Goods goods){
this.allGoods.add(goods);}
public void remove(Goods goods){
this.allGoods.remove(goods);}
public List search(String keyWord){
List temp = new ArrayList();
Iterator iter = this.allGoods.iterator();
while(iter.hasNext()){
Goods g = iter.next();
if(g.getName().indexOf(keyWord)!=-1){
temp.add(g);
}
}
return temp;}
public List getAllGoods(){
return this.allGoods;} }
import java.util.Iterator;import java.util.List;
public class Test {
金陵科技學院實驗報告
public static void main(String[] args){
SuperMarket mak = new SuperMarket();
mak.add(new Book(“Java”, 2, 30.9f));
mak.add(new Book(“C++”, 3, 10.9f));
mak.add(new Book(“JSP”, 5, 80.9f));
print(mak.search(“J”));
mak.remove(new Book(“Java”, 2, 30.9f));
print(mak.search(“J”));}
public static void print(List all){
Iterator iter = all.iterator();
while(iter.hasNext()){
System.out.println(iter.next());
} } } 對照范例寫出如下題目:
(1)寵物商店,要求可以添加、刪除和查找寵物(2)實現(xiàn)以下兩個關系
A、一個學校可以有多個學生,所有學生屬于一個學校
B、一門課程可以有多個學生選,一個學生可以選多門課程
四、實驗結果與分析(程序運行結果及其分析)
五、實驗體會
金陵科技學院實驗報告
實驗項目名稱: Java IO操作
實驗學時: 6 同組學生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間:
金陵科技學院實驗報告
實驗3 Java IO操作
一、實驗目的和要求
(1)理解輸入輸出流概念(2)掌握文件輸入輸出流
(3)掌握鍵盤的輸入、顯示器的輸出(4)理解其他輸入輸出流
二、實驗儀器和設備
奔騰以上個人計算機,windows操作系統(tǒng)。
配置好JDK環(huán)境,安裝集成開發(fā)環(huán)境(Eclipse)
三、實驗內(nèi)容與過程
1、編寫類模擬命令Copy
范例:實現(xiàn)文件的復制代碼。參考代碼如下:
File file1 = new File(“d:”+File.seperator +”demo.txt”);
// 找到第一個文件的File對象
File file2 = new File(“d:”+File.seperator +”cemo.txt”);// 找到目標文件路徑 InputStream input = new FileInputStream(file1);// 輸入流 OutputStream output = new FileOutputStream(file2);// 輸出流 int temp = 0;// 定義一個整數(shù)表示接收的內(nèi)容
while((temp = input.read())!=-1){ // 表示還有內(nèi)容可以繼續(xù)讀
output.write(temp);// 寫入數(shù)據(jù) } input.close();// 關閉 output.close();// 關閉
2、通過鍵盤的輸入,實現(xiàn)簡單的選項操作。
*********XXXX管理系統(tǒng)***********
[1]添加
[2]刪除
[3]修改
[4]查詢
[5]退出
3、編寫一個簡單管理系統(tǒng),實現(xiàn)真實的操作。
四、實驗結果與分析(程序運行結果及其分析)
五、實驗體會
金陵科技學院實驗報告
實驗項目名稱: JDBC
實驗學時: 6 同組學生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間:
金陵科技學院實驗報告
實驗4 JDBC
一、實驗目的和要求(1)理解JDBC分類
(2)掌握JDBC數(shù)據(jù)庫連接步驟
(3)掌握JDBC連接MySQL數(shù)據(jù)庫代碼(4)理解JDBC連接其他數(shù)據(jù)庫方式
二、實驗儀器和設備
奔騰以上個人計算機,windows操作系統(tǒng)。
配置好JDK環(huán)境,安裝集成開發(fā)環(huán)境(Eclipse)
三、實驗內(nèi)容與過程
1、安裝MySQL數(shù)據(jù)庫,配置好數(shù)據(jù)庫
創(chuàng)建一個數(shù)據(jù)庫表,按要求給出詳細的字段設計
pid name age birthday salary
主要操作:
2、創(chuàng)建Eclipse項目,配置驅動包
每個數(shù)據(jù)庫廠商都會提供對Java開發(fā)技術的支持,即都會提供對應的Java驅動,也就是一個jar包
主要操作:
3、項目中建立一個詳細例子,按照要求連接、操作、關閉數(shù)據(jù)庫
按照標準的步驟完成對MySQL數(shù)據(jù)庫的操作
主要代碼:(添加、修改、刪除和查詢)
金陵科技學院實驗報告
4、試著連接其他類型數(shù)據(jù)庫。
四、實驗結果與分析(程序運行結果及其分析)
五、實驗體會
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........自考Java語言程序設計
(一)課后習題及答案
自考Java語言程序設計
(一)第一章Java語言概述課后習題
一、Java語言概述
1.Java語言有哪些特點?
2.什么叫做類?什么叫做對象?
3.簡述Java的運行機制。
4.簡述Java應用程序的開發(fā)流程。
5.當初Sun公司發(fā)展Java的原因是:來源:004km.cnumber_1 =
new ComplexNumber(3,-5);
ComplexNumber cNumber_2 = 本文來源:考試大網(wǎng)
new ComplexNumber(2,2);
double d = 10.0;
System.out.println(cNumber_1.toString()+ “ 加 ”
+ cNumber_2.toString()+ “ 等于 ”
+ cNumber_1.complexAdd(cNumber_2).toString());
System.out.println(cNumber_1.toString()+ “ 加 ”
+ d + “ 等于 ”
+ cNumber_1.complexAdd(d).toString());
System.out.println(cNumber_1.toString()+ “ 減 ”
+ cNumber_2.toString()+ “ 等于 ”
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........+ cNumber_1.complexMinus(cNumber_2).toString());System.out.println(cNumber_1.toString()+ “ 減 ” + d + “ 等于 ” + cNumber_1.complexMinus(d).toString());System.out.println(cNumber_1.toString()+ “ 乘 ” + cNumber_2.toString()+ “ 等于 ” + cNumber_1.complexMulti(cNumber_2).toString());System.out.println(cNumber_1.toString()+ “ 乘 ” + d + “ 等于 ” + cNumber_1.complexMulti(d).toString());} } class ComplexNumber { //域
private double m_dRealPart;private double m_dImaginPart;//構造方法
ComplexNumber(){ m_dRealPart = 0.0;m_dImaginPart = 0.0;} ComplexNumber(double r,double i){ m_dRealPart = r;m_dImaginPart = i;} ComplexNumber(ComplexNumber c){ m_dRealPart = c.getRealPart();m_dImaginPart = c.getImaginaryPart();} //get,set方法
double getRealPart(){ return m_dRealPart;} double getImaginaryPart(){ return m_dImaginPart;} void setRealPart(double d){
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........m_dRealPart = d;} void setImaginaryPart(double d){ m_dImaginPart = d;} //復數(shù)運算方法
ComplexNumber complexAdd(ComplexNumber c){ return new ComplexNumber(this.m_dRealPart + c.getRealPart(), this.m_dImaginPart + c.getImaginaryPart());} ComplexNumber complexAdd(double c){ return new ComplexNumber(this.m_dRealPart + c, this.m_dImaginPart);} ComplexNumber complexMinus(ComplexNumber c){ return new ComplexNumber(this.m_dRealPartc.getImaginaryPart());} ComplexNumber complexMinus(double c){來源:004km.cn return new ComplexNumber(this.m_dRealPart-c, this.m_dImaginPart);} ComplexNumber complexMulti(ComplexNumber c){ return new ComplexNumber(this.m_dRealPart * c.getRealPart()
-this.m_dImaginPart * c.getImaginaryPart(), this.m_dRealPart * c.getImaginaryPart()+ this.m_dImaginPart * c.getRealPart());} ComplexNumber complexMulti(double c){ return new ComplexNumber(this.m_dRealPart * c, this.m_dImaginPart * c);} //toString()public String toString()
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........{
return “(” + m_dRealPart + “ + ”
+ m_dImaginPart + “ i” + “)”;
}
}
8.答:接口是用來實現(xiàn)類間多重繼承功能的結構。接口與類相似,但是接口中只能包括常量和抽象方法。定義接口相當于定義了一組抽象的功能、屬性集合,可以使了ava程序的類層次結構更加合理,并實現(xiàn)多重繼承。
9.答:使用關鍵字implements可以定義類實現(xiàn)某接口。實現(xiàn)某接口的類如果不是抽象類,則需要通過重載來實現(xiàn)該接口中的所有抽象方法;如果這個類是抽象類,則它可以不必實現(xiàn)該接口中的所有抽象方法。
10.答:接口可以被繼承。
SubInterface中的抽象方法有:public abstract int supMethod();和public abstract string subMethod();兩個。
自考Java語言程序設計
(一)第七章Java常用類庫介紹課后習題
七、Java 常用類庫介紹
1.指出下列陳述是對還是錯,并做出解釋。
(1)當String對象用= = 比較時,如果String包括相同的值則結果為true。
(2)一個String類的對象在其創(chuàng)建后可被修改。
2.對于下列描述,各寫出一條語句完成要求的任務
(1)比較s1中的串和s2中的串的內(nèi)容的相等性;
(2)用+=向串s1附加串;
(3)判斷s1中串的長度;來源:考試大
3.說明capacity()與length()用法上的差異?
4.如果ch為StringBuffer對象,ch=“Java Apple”,下列結果為何?
(1)ch.insert(3,’p’)(2)ch.append(“Basic”)
(3)ch.setlength(5)(4)ch.reverse()
5.Math類中提供用來常數(shù)π和e的靜態(tài)屬性分別是什么?
6.下面關于Vector類的說法正確的是()
(1)類Vector在java.util包中。
(2)一個向量(Vector)對象存放的是一組有序的對象。
(3)一個向量(Vector)對象大小可以根據(jù)存放的元素個數(shù)的增加而自動增加。
(4)一個向量(Vector)對象中每個元素可以是不同類型的對象。
7.有三個字符串,編寫程序找出其中最大者。
8.編寫一個程序,設定一個有大小寫字母的字符串,先將字符串的大寫字符輸出,再將字符串中的小寫字符輸出。
9.設定5個字符串,要求只打印那些以字母“b”開頭的串,編寫程序完成。
10.設定一個有大小寫字母的字符串和一個查找字符,使用類 String方法IndexOf()來判斷在該字符串中該字符出現(xiàn)的次數(shù)。
參考答案
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........1.答:
(1)錯。用= =操作符比較String對象實際上是判斷它們在內(nèi)存中是否為同一對象,并不是判斷它們的值是否相同。
(2)錯。String類的對象是常量。它們被創(chuàng)建后不可被修改。
2.答:
(1)s1.equals(s1,s2);
(2)s1+=s2;
(3)s1.length();
3.答:capacity()返回字符串對象的當前緩沖區(qū)的長度,length()返回字符串對象字符的長度。考試大收集整理
4.答:
(1)結果:Javpa Applet
(2)結果:Javpa AppletBasic
(3)結果:ch長度變?yōu)?
(4)結果:apvaJ
5.答:PI、E
6.答:(3)
7.public class max1
{
public static void main(String args[])
{
String s1= “Hello Java”;
String s2= “Java Applet”;
String s3= “Java”;
String s;
if(s1.compareTo(s2)<0)
s=s2;
else s=s1;
if(s.compareTo(s3)<0)
s=s3;
Systrm.out.println(“big=”+s);
}
}
8.public class out
{
public static void main(String args[])
{
String s1= “Hello Java”;
StringBuffer bufup=new StringBuffer();
StringBuffer buflow=new StringBuffer();
for(int I=0;I
{if(s1.charAt(i)<97)
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........{bufup.append(s1.charAt(i));bufup.append(' ');} else { buflow.append(s1.charAt(i));buflow.append('');} } System.out.println(“s1= ”+s1);System.out.println(“ uppercase= ”+bufup);System.out.println(“ lowercase= ”+buflow);} } 9.
public class prin_b { public static void main(String args[]){ String s1=“hello”;String s2=“bee”;String s3=“java”;String s4=“brove”;String s5=“bag”;if(s1.indexOf('b')= =0)System.out.println(s1);if(s2.indexOf('b')= =0)System.out.println(s2);if(s3.indexOf('b')= =0)System.out.println(s3);if(s4.indexOf('b')= =0)System.out.println(s4);if(s5.indexOf('b')= =0)System.out.println(s5);} } 10.
public class ppp { public static void main(String args[]){ String s1=“abcdefghi”;int num=0;for(int i=0;i {i=s1.indexof('e',i);num++;
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........}
System.out.print(“ s1=”+s1+“e=”);
if(num= =0)
System.out.println(“ no found”);
else System.out.println(num);
}
}
自考Java語言程序設計
(一)第八章Java異常處理及輸入輸出流簡介課后習題
八、Java異常處理及輸入輸出流簡介
1.列出5個常見的異常。
2.寫出Java語言的異常處理機制的優(yōu)點。
3.為什么異常處理技術不應該用于常規(guī)的程序控制?
4.引起異常產(chǎn)生的條件是什么?
5.異常沒有被捕獲將會發(fā)生什么?
6.編寫一個程序,以說明catch(Exception e)如何捕獲各種異常。
7.下面的代碼段中finally語句塊會被執(zhí)行嗎?
public class ExceptionExam3
{
public static void main(String [] args)
{
try
{
int [] a=new int[3];
System.exit(0);
}
catch(ArrayIndexOutOfBoundsException e)
{System.out.println(“發(fā)生了異?!?;}
finally
{System.out.println(“Finally”);}
}
}
8.throws的作用是什么?
9.應在程序的什么地方使用異常處理?
10.下面的代碼有什么錯誤嗎?
class ExceptionExam{?}
throw new ExceptionExam();
11.異常類型匹配的處理方式。程序功能:首先輸出“這是一個異常處理的例子”,然后在你程序中主動地產(chǎn)生一個 ArithmeticException 類型被0 除而產(chǎn)生的異常,并用catch 語句捕獲這個異常。最后通過ArithmeticException類的對象e的方法getMessage 給出異常的具體類型并顯示出來。
12.根據(jù)所給創(chuàng)建自定義異常類的使用格式,編寫一個自定義異常的小程序。
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........13.什么叫流?流式輸入輸出有什么特點?
14.Java流被分為字節(jié)流、字符流兩大流類,兩者有什么區(qū)別?
15.File類有哪些構造函數(shù)和常用方法?
16.利用文件輸入輸出流編寫一個實現(xiàn)文件拷貝的程序,源文件名和目標文件名通過命令行參數(shù)傳入。
17.編寫一個程序,在當前目錄下創(chuàng)建一個子目錄test,在這個新創(chuàng)建的子目錄下創(chuàng)建一個文件,并把這個文件設置成只讀。
18.位置指針的作用是什么?RandomAccessFile類提供了哪些方法實現(xiàn)對指針的控制?
19.編寫一個程序,從鍵盤輸入一串字符,統(tǒng)計這串字符中英文字母、數(shù)字、其他符號的字符數(shù)。
20.編寫一個程序,從鍵盤輸入一串字符,從屏幕輸出并將其存入a.txt文件中。采集者退散
21.編寫一個程序,從鍵盤輸入10個整數(shù),并將這些數(shù)據(jù)排序后在標準輸出上輸出。
參考答案
1.答:內(nèi)存耗盡、數(shù)組下標超出邊界、被0除、非法的方法參數(shù)、算法溢出處。來源:考試大的美女編輯們
2.答:(1)Java通過面向對象的方法進行異常處理,把各種異常事件進行分類,體現(xiàn)了良好的層次性,提供了良好的接口,這種機制對于具有動態(tài)特 性的復雜提供了強有力的控制方式。(2)Java的異常處理機制使得處理異常的代碼和“常規(guī)”代碼分開,減少了代碼的數(shù)量,增強了程序的可讀性。(3)Java的異常處理機制使得異常事件可以沿調用棧自動向上傳播,而不是C語言中通過函數(shù)的返回值來傳播,這樣可以傳遞更多的信息,并且簡化了代碼的編寫。(4)由于把事件當成事件處理,利用類的層次性我們可以把多個具有相同父類的異常統(tǒng)一處理,也可以區(qū)分不同的異常分別處理,使用非常靈活。
3.答:a.異常處理用于不經(jīng)常發(fā)生但通常導致程序終止的情況,因此要求編程人員為編譯器的優(yōu)化執(zhí)行實現(xiàn)異常處理。b.常規(guī)控制結構的控制流程通常比異常的更為清晰、交流更高。c.在發(fā)生異常,并且沒有釋放異常發(fā)生之前分配的資源時,堆棧是展開的,所以會出現(xiàn)一些問題。d.“額外的”異常會妨礙真正錯誤類型的異常。這種使程序員更難 以跟蹤大量的異常。
4.答:異常產(chǎn)生的方式有3種。第一種是在某些內(nèi)部錯誤時,Java虛擬機可以產(chǎn)生異常,該異常不在你的程序控制范圍內(nèi),通常不作處理。第二種是由程序代碼中的錯誤引起,這種異常需要你的程序處理。第三種是通過使用throw語句手動生成的異常。
5.答:未捕獲的異常最終會導致程序非正常終止。
6.public class ExceptionExam
{
public static void main(String [] args)
{
try
{
int i=0;
i=3/i;//將產(chǎn)生算術異常。
}
catch(ArithmeticException e)//找到了匹配的異常,執(zhí)行該catch塊。
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........{
System.out.println(“發(fā)生了ArithmeticException異?!?;
}
catch(AarryIndexOutOfBoundsException e)//不是匹配的異常,且不會再捕獲
//異常,如果發(fā)生數(shù)組索引超出范圍所產(chǎn)生的異常,將執(zhí)行該catch塊。
{
System.out.println(“發(fā)生了AarryIndexOutOfBoundsException異?!?;
}
catch(Exception e)
//前兩個catch塊均無法捕獲try塊中發(fā)生的異常時,才會執(zhí)行該catch塊。
{
System.out.println(“發(fā)生了異?!?;
}
finally
{ System.out.println(“執(zhí)行d Finally”);}
}
}
7.答:無論是出于何種原因,只要執(zhí)行離開try/catch代碼塊,就會執(zhí)行finally代碼塊。即無論try是否正常結束,都會執(zhí)行 finally定義的最后的代碼。如果try代碼塊中的任何代碼或它的任何catch語句從方法返回,也會執(zhí)行finally代碼塊。但本題中在try代 碼塊中執(zhí)行了“System.exit(0);”語句,執(zhí)行了這一語句后,Java虛擬機(JVM)將被終止。那么finally語句塊一定不會被執(zhí)行。
8.答:在某些情況下,如果一個方法產(chǎn)生自己不處理或無法處理的異常,它就必須在throws子句中聲明該異常。
9.答:通常,可以采用兩種方式來報告錯誤:返回值和異常。在Java中異常處理很常用,雖然返回錯誤代碼在某些情況下是一種有效的方式,但是異常處理可以提供強大的結構化方法來處理異常。所以需要處理代碼中的錯誤時就可以采用異常的方法進行處理。
10.答:ExceptionExam不是繼承(擴展)Throwable的子類,只有Throwable的子類可以由throw拋出。所以,這一段代碼會出錯。
11.public class ExceptionExam1
{
public static void main(String [] args)
{
try
{int i=0;
i=3/i;
}
catch(ArithmeticException e)
{
System.out.println(“異常是:”+e.getMessage());
}
finally
{
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........System.out.println(“finally 語句被執(zhí)行”);
}
}
}
注意:如果在catch 語句中聲明的異常類是Exception,catch 語句也能正確地捕獲,這是因為Exception 是ArithmeticException 的父類。如果不能確定會發(fā)生哪種情況的異常,那么最好指定catch的參數(shù)為Exception,即說明異常的類型為Exception。
12.class Excp1 extends Exception
{}
class Excp2 extends Excp1
{}
public class ExceptionExam7
{
public static void main(String [] args)throws Exception
{
try
{
throw new Excp2();
}
catch(Excp2 e)
{
System.out.println(“catch1”);
throw new Excp1();
}
catch(Excp1 e)
{
System.out.println(“catch2”);
throw new Exception();
}
catch(Exception e)
{
System.out.println(“catch3”);
}
finally
{
System.out.println(“finally”);
}
}
}
說明:自定義異常類,關鍵是選擇繼承的超類——必須是Exception或者其子類。用異常代表錯誤,而不要再使用方法返回值。
13.答:所謂流是指同一臺計算機或網(wǎng)絡中不同計算機之間有序運動著的數(shù)據(jù)序列,Java把這些不同來源和目標的數(shù)據(jù)都統(tǒng)一抽象為數(shù)據(jù)流。數(shù)據(jù)流可分為輸入流和輸出流,輸
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........入流代表從其他設備流入計算機的數(shù)據(jù)序列,輸出流代表從計算機流向外部設備的數(shù)據(jù)序列。
流式輸入輸出的特點是數(shù)據(jù)的獲取和發(fā)送沿數(shù)據(jù)序列的順序進行,即每一個數(shù)據(jù)都必須等待排在它前面的數(shù)據(jù),等前面的數(shù)據(jù)讀入或送出之后才能被讀寫。所以流和隊列一樣,只能以“先進先出”的方式對其中的數(shù)據(jù)進行讀寫,而不能隨意選擇讀寫的位置。
14.答:兩者都作為Object類的直接子類,基本輸入流(無效Stream)和基本輸出流(OutputStream)是處理以8位字節(jié)為基本單位的字節(jié)流類;Reader和Writer類是專門處理16位字符流的類。
15.答:構造函數(shù)有:
(1)public File(String pathname):創(chuàng)建一個對應于參數(shù)pathname的File類對象。參數(shù)pathname是包含目錄和文件名的字符串。如果沒有文件名,則代表目錄。
(2)public File(String parent , String child):該構造函數(shù)將pathname分成兩部分parent和child,參數(shù)parent表示目錄或文件所在路徑,參數(shù)child表示目錄或文件名稱。
(3)public File(File parent, String child):該構造函數(shù)與上面一個不同在于將parent的參數(shù)類型由String變?yōu)镕ile,代表parent是一個已經(jīng)創(chuàng)建的File類文件對象(指向目錄)。
常用方法有:
(1)public boolean canWrite():返回文件是否可寫。
(2)public boolean canRead():返回文件是否可讀。
(3)public boolean createNewFile():當文件不存在時創(chuàng)建文件。
16.import java.io.*;
class CopyFile{
public static void main(String[] args){
String file1,file2;
int ch = 0;
try {
file1=args[0];
file2=args[1];
File無效Stream fis = new File無效Stream(file1);
FileOutputStream fos=new FileOutputStream(file2);
while((ch=fis.read())!=-1)
fos.write(ch);
fis.close();
fos.close();
}
catch(FileNotFoundException e){
System.out.println(“源文件:未找到!”);
}catch(ArrayIndexOutOfBoundsException e){
System.out.println(“缺少運行參數(shù)!”);
System.exit(-1);
}
catch(IOException e){
System.out.println(e.toString());
}
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........}
}
17.答:
import java.io.*;
public class NewFile{
public static void main(String args[]){
File f=new File(“test”);
if(f.exists()&&f.isDirectory())
System.err.println(“目錄:”+f.toString()+“已經(jīng)存在!”);
else{
if(f.mkdir()){
System.out.println(“目錄”+f.getAbsolutePath()+“創(chuàng)建結束!”);
File f2=new File(f,“my.txt”);
try{
f2.createNewFile();
f2.setReadOnly();
}catch(IOException e){
System.out.println(e.toString());
}
System.out.println(“文件:”+f2.getAbsoluteFile()+“創(chuàng)建結束!”);
}
else
System.out.println(“目錄”+f.getAbsoluteFile()+“創(chuàng)建失敗!”);
}
}
}
18.答:要實現(xiàn)對文件的隨機讀取,也就是在文件的任何位置執(zhí)行讀寫數(shù)據(jù)的操作,需要一個指針來指定讀寫的位置。在創(chuàng)建 RandomAccessFile類對象的同時,系統(tǒng)自動創(chuàng)建了一個指向這個文件開頭的指針,當執(zhí)行讀寫操作后,指針自動指向被讀寫數(shù)據(jù)之后的第一個字節(jié) 處。指針初始值是0,每讀/寫一個字節(jié),指針自動增加1。RandomAccessFile類提供了一些控制指針移動的方法。
public long getFilePointer();獲取當前指針指向文件的位置??荚嚧笳搲?/p>
pulbic void seek(long pos);將指針移動到參數(shù)pos指定的位置。
public int skipBytes(int n);指針從當前位置向后移動n個字節(jié)位置,并返回指針實際移動的字節(jié)數(shù)。
19.答:
import java.io.*;
public class Count{
public static void main(String[] args)
{
int x=0,y=0,z=0;
int ch;
try{
while((ch=System.in.read())!='r'){
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')x++;else if(ch>='0'&&ch<='9')y++;else z++;} }catch(IOException e){ System.out.println(e.toString());} System.out.println(“英文字母:”+x);System.out.println(“數(shù)字字符:”+y);System.out.println(“其它字符:”+z);} } 20.答:
import java.io.*;public class InFile{ public static void main(String[] args){ int ch;try{ FileOutputStream out=new FileOutputStream(“a.txt”);while((ch=System.in.read())!='r'){ System.out.write(ch);out.write(ch);} out.close();System.out.write('n');}catch(IOException e){ System.out.println(e.toString());} System.out.println(“輸出至文件完畢!”);} } 21.答:
import java.io.*;public class Sort{ public static void main(String args[]){ int a[]=new int[10];byte b[]=new byte[10];int t;String str;
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........System.out.println(“請輸入10個整數(shù):”);
try{
for(int i=0;i<10;i++)
{System.out.print(“No.”+(i+1)+“: ”);
System.in.read(b);
str=new String(b);
str=str.trim();
a[i]=Integer.parseInt(str);
}
}catch(IOException e){
System.out.println(e.toString());
}
catch(NumberFormatException e){
System.out.println(e.toString());
}
for(int i=0;i<9;i++)
for(int j=i+1;j<10;j++)
{
if(a[i]>a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(int i=0;i<10;i++)
System.out.println(a[i]+“t”);
}
}
自考Java語言程序設計
(一)第九章JavaApplet概述課后習題
九、Java Applet概述
1.下列方法中,哪一個不是Applet的基本方法()
A、init()B、run()C、stop()D、start()
2.在Java中判定Applet的來源的方法有()
A、getcodebase()B、get文檔base()
C、getCodeBase()D、get文檔Bade()
3.下面關于Applet的說法正確的是
A、Applet也需要main方法
B、Applet必須繼承自javawt.Applet
C、Applet能訪問本地文件
D、Applet程序不需要編譯
4.Applet類的直接父類是()
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........()
A.Component類
B.Container類
C.Frame類
D.Panel類
5.判斷:一個Applet編譯后的類名是Test.class,運行此小程序的命令是Java Test。
6.編寫同時具有Applet與Application的特征的程序。具體方法是:作為Application要定義main()方法,并且把 main()方法所在的類定義一個類。為使該程序成為一個Applet,main()方法所在的這個類必須繼承Applet類或JApplet類。004km.cn/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........A.FlowLayoutB.BorderLayout
C.GridLayoutD.CardLayout
10.編寫程序,創(chuàng)建下面的GUI(不必為各組件提供功能)??荚嚧笫占?/p>
參考答案
1: false
2:true
3:true
4.true
5:版面管理器
6.圖形用戶界面
7.mouseReleased
8.C
9.B
10.import javawt.*;
public class Chp9_3_A extends Frame{
TextField t=new TextField();
String[] op={“7”,“8”,“9”,“/”,“4”,“5”,“6”,“*”,“1”,“2”,“3”,“-”,“0”,“.”,“=”,“+”};
Button[] btn=new Button[16];
Panel p=new Panel();
public Chp9_3_A(){
setLayout(new BorderLayout());
p.setLayout(new GridLayout(4,4));
for(int i=0;i
btn[i]=new Button(op[i]);
p.add(btn[i]);
}
add(t,BorderLayout.NORTH);
add(p,BorderLayout.CENTER);
setSize(400,300);
}
public static void main(String[] args){
new Chp9_3_A().setVisible(true);
}
}
自考Java語言程序設計
(一)第十二章課后習題
十二、常用組件之一________命令按鈕與標簽框
1.判斷:標簽是是一個容器。()
2.判斷:在Swing用戶界面的程序設計中,容器可以被添加到其它容器中去。()
3.用戶不能修改的文本稱為_______。
4.關于awt和swing說法正確的是:來源:考試大
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........A、awt在不同操作系統(tǒng)中顯示相同的風格。B、swing在不同的操作系統(tǒng)中顯示相同的風格 C、javawt的子類
D、awt和swing都支持事件模型
5.下列_________用戶圖形界面組件在軟件安裝程序中是常見的。a.滑塊
b.進度條來源:考試大 c.對話框 d.標簽
6.包含可單擊按鈕的類的Java類庫是__________。a.AWT b.Swing c.二者都有來源:004km.cn d.二者都沒有
7.下面的__________用戶界面組件不是容器。a.JScrollPane b.JFrame考試大-全國最大教育類網(wǎng)站(004km.cn)c.JWindows d.JScrollBar 8.創(chuàng)建下面的GUI,顏色列表框為紅色、綠色和藍色(不必為各組件提供功能)。參考答案 1.false 2.true 3.標簽 4.B D 5.B 6.C 7.D 8.參考程序如下: import javawt.*;public class Chp9_3_B extends Frame{ Choice ch;Checkbox bg,fg;Button btnOK,btnCancel;Panel p,p1,p2;public Chp9_3_B(){ p=new Panel();p.setLayout(new GridLayout(2,1));p1=new Panel();p2=new Panel();p1.setLayout(new FlowLayout());p2.setLayout(new FlowLayout());ch=new Choice();ch.add(“紅色”);
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........ch.add(“綠色”);ch.add(“藍色”);bg=new Checkbox(“背景”);fg=new Checkbox(“前景”);p1.add(bg);p1.add(fg);btnOK=new Button(“確定”);btnCancel=new Button(“取消”);p2.add(btnOK);p2.add(btnCancel);p.add(p1);p.add(p2);add(ch,BorderLayout.NORTH);add(p,BorderLayout.CENTER);setSize(400,300);} public static void main(String[] args){ new Chp9_3_B().setVisible(true);} }
自考Java語言程序設計
(一)第十三章課后習題
十三、常用組件之二 _______單行文本框與多行文本框,單選框和復選框
1.判斷:列表對象總包含滾動條。()
2.判斷:面板的默認管理器是BorderLayout。
3.____________類用于創(chuàng)建一組單選按鈕。來源:考試大
4.欲編寫如下圖的一個界面,用于顯示用戶指定的圖像: 如果在區(qū)域A中只能放置一個
AWT組件,從各組件的本來功能角度考慮,最好使用哪種組件:
A、TextArea
B、Panel
C、Applet
D、Canvas
5.Java應用程序中的默認外觀是_________。
A.Motif
B.Windows
C.METAl
6.創(chuàng)建下面的GUI,要求在文本框中輸入分數(shù),單擊“求和”按鈕后在結果文本框中顯示總分。
7.編寫一個將華氏溫度轉換為攝氏溫度的程序。應從鍵盤輸入華氏溫度,然后通
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........過文本顯示轉換后的攝氏溫度。使用下面的公式進行溫度轉換:
攝氏溫度=5/9Χ(華氏溫度-32)
8.編寫一個程序,使用戶能夠使用鼠標在applet中繪制一個矩形。按住鼠標左鍵,確定矩形的左上角,然后拖動鼠標,在需要的位置(即矩形右下角)釋放鼠標。另外,在狀態(tài)欄中顯示矩形面積。
參考答案
1.false
2.true
3.CheckboxGroup
4.D
5. C
6.參考程序如下:
import javawt.*;來源:考試大
import javawt.event.*;
public class Chp9_3_C extends Frame implements ActionListener{
TextField textField1,textField2,textField3;
Button button1=new Button(“求和”);
Panel panel1,panel2;
public Chp9_3_C(){
textField1=new TextField();
textField2=new TextField();
textField3=new TextField();
panel1=new Panel();
panel2=new Panel();
panel1.setLayout(new GridLayout(3,2));
panel2.setLayout(new FlowLayout());
panel1.add(new Label(“數(shù)學: ”));
panel1.add(textField1);
panel1.add(new Label(“英語: ”));
panel1.add(textField2);
panel1.add(new Label(“總分: ”));
panel1.add(textField3);
panel2.add(button1);
add(panel1,BorderLayout.CENTER);
add(panel2,BorderLayout.SOUTH);
button1.addActionListener(this);
setSize(300,200);
setVisible(true);
}
public static void main(String[] args){
new Chp9_3_C();
}
public void actionPerformed(ActionEvent e){
int n1,n2,sum;
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........n1=Integer.parseInt(textField1.getText());n2=Integer.parseInt(textField2.getText());sum=n1+n2;textField3.setText(“"+sum);} } 6.參考程序如下: import javawt.*;import javawt.event.*;public class Chp9_3_D extends Frame{ TextField textField1,textField2;Button button1;public Chp9_3_D(){ textField1=new TextField(30);textField2=new TextField(30);button1=new Button(”轉換“);setLayout(new FlowLayout());add(new Label(”華氏溫度:“));add(textField1);add(new Label(”攝氏溫度:“));add(textField2);textField2.setEditable(false);add(button1);setSize(400,300);pack();button1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ button1_actionPerformed(e);} });addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);} });} public static void main(String[] args){ new Chp9_3_D().setVisible(true);} private void button1_actionPerformed(ActionEvent e){ double d=Double.parseDouble(textField1.getText());double h=5.0/9.0*(d-32);textField2.setText(”“+h);}
更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部
(http://tieba.baidu.com/club/5346389)歡迎?加入...歡迎?交流...止不住的驚喜等著你.........}
7.參考程序如下:
import javapplet.Applet;
import javawt.*;
import javawt.event.*;
public class Chp9_3_E MouseListener,MouseMotionListener{
int x1,y1,x2,y2;
public void init(){
addMouseListener(this);
addMouseMotionListener(this);
}
public void paint(Graphics g){
g.drawRect(x1,y1,x2,y2);
int area=Math.abs(x2-x1)*Math.abs(y2-y1);
showStatus(”矩形面積: "+area);
}
//implementation of MouseListener
public void mousePressed(MouseEvent e){
x1=e.getX();
y1=e.getY();
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
//implementation of MouseMotionEvent
public void mouseDragged(MouseEvent e){
x2=e.getX();
y2=e.getY();
repaint();
}
public void mouseMoved(MouseEvent e){}
}
extends Applet implements
太原理工大學現(xiàn)代科技學院
C語言程序設計課程 實驗報告
專業(yè)班級
學
號
姓
名
指導教師
C語言程序設計 實驗指導及報告
實驗說明:
1、共4次實驗,每次實驗完成1個內(nèi)容。
2、實驗報告命名統(tǒng)一為:C語言_專業(yè)班級_學號_姓名
3、自備U盤,在實驗前認真閱讀實驗要求,在實驗中及時記錄保存實驗結果和調試過程,并填寫到實驗報告對應位置,實驗結束后將該實驗報告電子版在指定時間內(nèi)提交給各班學習委員。
實驗一
C語言開發(fā)工具VC6.0和順序結構程序設計
1、實驗目的:熟練掌握VC6.0開發(fā)工具進行程序設計及調試,能編寫簡單的C程序并完成調試。
2、實驗內(nèi)容1:結合課堂講授學習VC6.0開發(fā)工具及調試方法。
單文件編輯運行方法:
打開VC++6.0,如圖1所示
(圖1)
選擇“文件”→“新建”,打開如圖2所示
(圖2)
選擇“文件”項,如圖3所示
(圖3)
選擇“C++ Source File”項,并在“文件名”項目下輸入“sum.c”如圖4所示
(圖4)
單擊“確定”,打開如圖5所示
(圖5)
輸入如上源代碼,如圖6所示
(圖6)
選擇“組建”→“編譯”(或按Ctrl+F7組合鍵),打開如圖7所示
(圖7)
在下端的輸出窗口會有錯誤和警告的提示,如果沒有錯誤選擇“組建”→“執(zhí)行”(或按Ctrl+F5組合鍵)即可出現(xiàn)運行結果,如圖8所示
(圖8)
程序調試常用方法:
檢查錯誤:
用鼠標單擊調試信息窗口中右側的向上箭頭,可以看到出錯的位置和性質, 進行改錯時, 雙擊調試信息窗口中的報錯行, 這時在程序窗口中出現(xiàn)一個粗箭頭指向被報錯的程序行,一般在箭頭的當前行或上一行,可以找到出錯語句。
修改錯誤后必須重新進行編譯鏈接。從第一個錯誤開始修改,每修改一個錯誤就重新進行編譯鏈接。
設置斷點、單步跟蹤、查看變量等,詳細使用方法見下:
按快捷鍵F5或點擊以下圖片上標記的圖標進入調試模式。
打開調試工具條,一般情況下當你按F5鍵后會自動彈出,如果沒有彈出的話,右擊工具欄空白處,會彈出下圖,選中調試,就會出現(xiàn)調試工具條。
接下來,在監(jiān)視窗口中添加你要監(jiān)視數(shù)據(jù)變化的變量。
按F11逐語句的調試代碼,如果某一語句是一函數(shù),你不希望進入該函數(shù)時,F(xiàn)10逐過程來查看,在代碼的調試過程中,通過監(jiān)視窗口查看變量值的變化,從而確定代碼是否有問題。
如果希望跳出某一函數(shù)時,按快捷鍵Shift+F11,或者直接點擊調試工具條上的按鈕就可以跳出該函數(shù)了。
如果只是希望調試某一部分代碼的話,可以設置斷點來調試,調試方法如上,只是在要調試的代碼之間用斷點來分開。設置斷點時,光標放在你要設置斷點的那行,按F9或點擊編譯微型條上面的類似手狀的按鈕即可。
3、實驗內(nèi)容2:以下程序有錯誤,請調試改正錯誤,使之能正常運行。
程序:
/* 登陸密碼三次驗證程序*/ #include void mian(void){ int nPwd=0;
/* 用于保存輸入的密碼*/ int i;
/*循環(huán)控制變量*/ int nFlag=1
/*密碼匹配成功的標志*/
for(i=0;((nFlag=(87569!= nPwd))&& i<3);++i)
{ /* 默認設定密碼為87569,可以根據(jù)需要進行設定*/
printf(“please input the password:”);
scanf(“%d”,&nPwd);}
if(nFlag=0)
printf(“the password is right!n”);
else
printf(“over the times and the password you input is error!n ”);}
修改程序及運行結果:#include void main(void){ int nPwd=0;
/* 用于保存輸入的密碼*/ int i;
/*循環(huán)控制變量*/ int nFlag=1;
/*密碼匹配成功的標志*/
for(i=0;((nFlag=(87569!= nPwd))&& i<3);++i)
{ /* 默認設定密碼為87569,可以根據(jù)需要進行設定*/
printf(“please input the password:”);
scanf(“%d”,&nPwd);}
if(nFlag=0)
printf(“the password is right!n”);else
printf(“over the times and the password you input is error!n ”);}
4、實驗內(nèi)容3:習題第三章第1題:假如國民生產(chǎn)總值的年增長率為9%,計算10年后國民生產(chǎn)總值與現(xiàn)在相比增長多少百分比,計算公式為
p?(1?r)n
r為年增長率,n為年數(shù),p為與現(xiàn)在相比的倍數(shù)。源程序及運行
結
果
:
5、實驗總結
實驗二
選擇結構和循環(huán)結構
1、實驗目的:理解和掌握選擇結構和循環(huán)結構的語法知識,理解自頂向下、逐步細化的結構化程序設計思想,并能熟練應用。
2、實驗內(nèi)容1:習題第四章第4題:有3個整數(shù)a,b,c,由鍵盤輸入,輸出其中最大的數(shù)。源程序及運行結果:
3、實驗內(nèi)容2:習題第五章第8題:輸出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個三位數(shù),其各數(shù)字立方和等于該數(shù)本身。如:153是一個水仙花數(shù)153=13+53+33。源程序及運行結果
:
4、附加內(nèi)容(非必做,供學有余力的同學):習題第五章第17題:兩個乒乓球隊進行比賽,各出3人,甲隊為A,B,C,乙隊為X,Y,Z。已抽簽決定比賽名單,有人向隊員打聽比賽名單,A說他不和X比,C說他不和X,Z比,請編程找出比賽名單。源程序及運行結果:
5、實驗總結
實驗三
數(shù)組和函數(shù)
1、實驗目的:理解和掌握數(shù)組和函數(shù)的語法知識,理解模塊化編程思想,并能熟練應用。
2、實驗內(nèi)容1:習題第六章第3題:求一個3 ? 3的整型矩陣對角線元素之和。源程序及運行結果:
3、實驗內(nèi)容2:習題第七章第3題:寫一個判斷素數(shù)的函數(shù),在主函數(shù)中輸入一個整數(shù),輸出是否為素數(shù)的信息。源程序及運行結果:
4、附加內(nèi)容(非必做,供學有余力的同學):習題第六章第2題:用選擇法對10個整數(shù)排序。
源程序及運行結果:
5、實驗總結
實驗四
指針和結構體
1、實驗目的:理解和掌握指針和結構體的語法知識,并能熟練應用。
2、實驗內(nèi)容1:習題第八章第1題:輸入3個整數(shù),按由小到大的順序輸出。源程序及運行結果:
3、實驗內(nèi)容2:習題第九章第5題:有10個學生,每個學生的數(shù)據(jù)包括學號,姓名,3門課程的成績,從鍵盤輸入10個學生的數(shù)據(jù),要求輸出3門課程總平均成績,以及最高分的學生的數(shù)據(jù)(包括學號,姓名,3門課程成績,平均分數(shù))。源程序及運行#include #include #define SIZE 10
struct student{ char id[20];char name[20];int score[3];float average;} stud[SIZE];
void input()/* 輸入學生的信息 */ { int i;
for(i=0;i{
printf(“第%d個學生的信息:n”,i+1);scanf(“%s%s%d%d%d”,stud[i].id,stud[i].name,&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);stud[i].average=(stud[i].score[0]+stud[i].score[1]+stud[i].score[2])/3.0;} }
void output()/* 輸出學生的信息 */ { int i;
printf(“n”);for(i=0;ivoid sortput()/* 排序輸出最高分的學生信息 */ { int i,j;struct student temp;
for(i=0;ivoid main(){ input();
output();sortput();} 結果:
4、附加內(nèi)容(非必做,供學有余力的同學):習題第八章第6題:寫一個函數(shù),求一個字符串的長度,在主函數(shù)中輸入字符串,并輸出長度。源程序及運行結果:
5、實驗總結