程序设计综合训练

程序设计综合训练
程序设计综合训练

1、题目:编写程序,定义类Vehicles,其中:

a)域:name(品牌)、color(颜色)、weight(重量)、plate(车牌号码);

b)一个构造方法,对四个域进行初始化;

c)一个返回所有属性信息的方法getDetails();

d)对name属性的get和set方法;

e)该类在包vehicle中。

1)源程序

package vehicle;

public class Vehicles {

String name;

String color;

double weight;

String plate;

public Vehicles(String name,String color,double weight,String plate){

https://www.360docs.net/doc/9e3216588.html,=name;

this.color=color;

this.weight=weight;

this.plate=plate;

}

public String getDetails(){

return name+","+color+","+weight+","+plate;

}

public String getName(){

return name;

}

public String setName(){

return name;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Vehicles v=new Vehicles("玛莎拉蒂","黄色",1000,"BJ9708");

System.out.println("汽车的细节为:"+v.getDetails());

System.out.println("汽车的名字为:"+v.getName());

}

}

2)运行结果截图

汽车的细节为:玛莎拉蒂,黄色,1000.0,BJ9708

汽车的名字为:玛莎拉蒂

2.题目:编写程序,定义类Car,它是类Vehicles的子类。其中:

a)该类在包vehicle中;

b)域:seats(座位数),speed(速度);

c)对seats的get和set方法;

d)构造方法,对6个域进行初始化,对继承自父类的域,调用父类的构造

方法进行初始化;

e)覆盖父类中的getDetails()方法,返回所有域的信息;

f)对speed的speedUp()和slowDown()方法,通过方法的参数修改speed

的值。其中,最高时速不超过200,最低时速不低于0,在方法中实现对

速度的合法性检查;

g)main方法:定义两个Car类型的对象,分别调用getDetails()方法返回

这两个对象的信息,调用speedUp()和slowDown()方法改变Car对象的

速度。

1)源程序

package vehicle;

public class Car extends Vehicles{

int seats;

double speed;

public int get_seats(){

return seats;

}

public int set_seats(){

return seats;

}

public Car(String name, String color, double weight, String plate,int seats,double speed) {

super(name, color, weight, plate);

this.seats=seats;

this.speed=speed;

}

public String getDetails(){

return

name+","+color+","+weight+","+plate+","+seats+","+speed;

}

public String speedUp(){

if (speed>200)

return"您超速了!";

else

return"您的速度合法,小于最高速度";

}

public String slowDown(){

if (speed<0)

return"您应该提速!";

else

return"您的速度合法,大于最低速度";

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Car ca=new Car("宾利","黑色",1500,"BJ9999",4,236);

Car c=new Car("福特","白色",1000,"BJ7766",1,185);

System.out.println("汽车的细节为:"+ca.getDetails());

System.out.println("该汽车的速度为:"+ca.speedUp());

System.out.println("该汽车的速度为:"+ca.slowDown());

System.out.println("汽车的细节为:"+c.getDetails());

System.out.println("该汽车的速度为:"+c.speedUp());

System.out.println("该汽车的速度为:"+c.slowDown());

}

}

2)运行结果截图

汽车的细节为:宾利,黑色,1500.0,BJ9999,4,236.0

该汽车的速度为:您超速了!

该汽车的速度为:您的速度合法,大于最低速度

汽车的细节为:福特,白色,1000.0,BJ7766,1,185.0

该汽车的速度为:您的速度合法,小于最高速度

该汽车的速度为:您的速度合法,大于最低速度

3)问题截图和解决方法,对该问题的感想

3、题目:编写程序,定义一个抽象类Person,其中:

域:姓名name;

构造方法;

显示信息的抽象方法showinfo()。

1)源程序

public abstract class Person {

String name;

public Person(String name){

https://www.360docs.net/doc/9e3216588.html,=name;

}

public abstract void showinfo();

public void setName(String name)

{

https://www.360docs.net/doc/9e3216588.html,=name;

}

public String getName(){

return name;

}

}

2)运行结果截图

3)问题截图和解决方法,对该问题的感想

4、题目:编写程序,定义一个类Student,它继承了父类Person,其中:

a)域:年级grade、学号number、专业specialty(访问权限为private)。

b)构造方法,对父类的域的初始化要调用父类的构造方法;

c)覆盖父类的方法;

d)定义针对specialty的get和set方法;

e)Main方法:定义Student类型的对象(“李明”,“大一”,“信息管理”),

并显示学生信息,修改该对象的specialty的值为“国际贸易”,再次显

示学生信息。

1)源程序

public class Student extends Person{

private String grade;

private int number;

private String specialty;

public Student(String name,String grade,int number,String specialty) {

super(name);

this.grade=grade;

this.number=number;

this.specialty=specialty;

}

public void showinfo() {

System.out.println(name+","+grade+","+number+","+specialty);

}

public void setSpecialty(String specialty){

this.specialty=specialty;

}

public String getSpecialty(){

return specialty;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

Student s= new Student("李明","大一",151,"信息管理");

s.showinfo();

s.setSpecialty("国际贸易");

s.showinfo();

}

public void setNumber(int number)

{

this.number=number;

}

public int getNumber()

{

return number;

}

}

2)运行结果截图

3)问题截图和解决方法,对该问题的感想

2.5、题目:编写程序,定义一个类StudentImpl,其中:

a)Main方法:定义了一个长度为5的数组,数组的类型为Student,并对数组进行初

始化,其中,这5个数组元素的number属性的值分别为:1005,1002,1003,1001,1004。其他属性的值,自行赋值。

b)对数组元素按照number属性的值,找到最大值的对象,并显示对象信息;

注:此题要求画流程图

c)对数组元素按照number属性的值,找到最小值的对象,并显示对象信息。

1)源程序

public class StudentImpl {

public static void main(String[] args) {

// TODO Auto-generated method stub

Student[] s={

new Student("李石化","大一",1005,"信息管理"),

new Student("张石化","大二",1002,"会计"),

new Student("赵石化","大三",1003,"市场营销"),

new Student("王石化","大四",1001,"国际贸易"),

new Student("吴石化","研究生",1004,"物流管理") };

Student max=s[0];

for (int i=0;i

max=max.getNumber()>=s[i].getNumber()?max:s[i];

}

max.showinfo();

Student min=s[0];

for (int i=0;i

min=min.getNumber()<=s[i].getNumber()?min:s[i];

}

min.showinfo();

}

}

2)运行结果截图

3)问题截图和解决方法,对该问题的感想

6、题目:编写一个类,类中有一个方法sort(int n1,int n2,int n3),

实现三个整数的排序(从小到大);一个main方法,能够从键盘接收三个整数的输入,并调用sort方法进行三个整数的排序。

注:此题要求画流程图

1)源程序

import java.util.Scanner;

public class Paixu {

public void sort(int n1,int n2,int n3){ int n=0; //小到大if(n1>=n2){

n=n2;

if(n2>=n3){

n2=n;

}

if(n3>=n2){

n2=n3;

n3=n;

}

}

if(n1>=n3){

n=n3;

if(n3>=n2){

n3=n;

}

if(n2>=n3){

n3=n2;

n2=n;

}

}

System.out.println(n1);

System.out.println(n2);

System.out.println(n3);

}

public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.println("请输入3个整数");

int n1=input.nextInt();

int n2=input.nextInt();

int n3=input.nextInt();

Paixu t=new Paixu();

t.sort(n3, n2, n1);

}

}

2)运行结果截图

3)问题截图和解决方法,对该问题的感想

经典练习C语言编程的题目及答案整理

1.逆序输出正三位数 #include int main() { int input,output= 0; scanf("%d",&input); while(input != 0) { output = output*10 + input%10; input /= 10; } printf("%d\n",output); return 0; } 2.百元找零函数 #include int main() { int amount=100; int price=0; printf("请输入金额(元)"); scanf("%d",&price); printf("请输入票面"); scanf("%d",&amount); int change=amount-price; printf("找您%d元。\n",change); return 0; } 3.求平均数 #include int main() { int a,b; scanf("%d %d",&a,&b);

double c=(a+b)/2.0; /* scanf("%d",&amount); 这是注释,我随便放的,没意义 int change=amount-price;*/ printf("%d和%d的平均值是%f\n",a,b,c); return 0; } 4.写出程序的输出: int i=1; switch ( i/3 ) { case 0: printf("zero"); case 1: printf("one"); case 2: printf("two"); } 正确答案是:zeroonetwo。 5.水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身。例如:153 = 13 + 53+33。本题要求编写程序,计算所有N位水仙花数。 输入格式: 输入在一行中给出一个正整数N(3<=N<=7)。 输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行。 输入样例: 3 输出样例: 153 370 371 407

面向对象程序设计期末综合练习一(单选题)

22. 下列的符号常量定义中,错误的定义是()。 A. const M=10; B. const int M=20; C. const char ch; D. const bool mark=true; 40. 函数重载是指()。 A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同 C. 两个以上的函数名字不同,但形参的个数或类型相同 D. 两个以上的函数取相同的函数名,并且函数的返回类型相同 41. 以下关于函数模板叙述正确的是()。 A. 函数模板也是一个具体类型的函数 B. 函数模板的类型参数与函数的参数是同一个概念 C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数 D. 用函数模板定义的函数没有类型 42. 下列()的调用方式是引用调用。 A. 形参和实参都是变量 B.形参是指针,实参是地址值 C. 形参是引用,实参是变量 D.形参是变量,实参是地址值

43. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。 A. 内联函数 B.重载函数 C.递归函数 D.函数模板 44. 函数原型语句正确的是()。 A. int Function(void a); B.void Function (int); C. int Function(a); D.void int(double a); 45. C++中函数返回值的类型是由()决定的。 A. return语句中表达式的类型 B.该函数定义时的类型 C.调用函数时的调用语句 D.系统根据结果 56. 采用重载函数的目的是()。 A. 实现共享 B. 减少空间 C. 提高速度 D. 使用方便,提高可读性 58. 以下叙述中正确的是( )。 A. 使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值 B. 使用const定义的常量,其值在程序运行时是不可改变的 C. 在程序中使用内联函数使程序的可读性变差 D. 在定义函数时可以在形参表的任何位置给出缺省形参值 70. 用new运算符创建一个含10个元素的一维整型数组的正确语句是( )。 A. int *p=new a[10]; B. int *p=new float[10];

程序设计实训心得体会

程序设计实训心得体会 心得体会这种学习方法对于一个人来说也许是优秀的,但没有被推广普及的必要。因为学习的方法因人而异,方法的奏效是它与这个人相适应的结果,以下《程序设计实训心得体会》由心得体会栏目为您精心提供。 在软件实验室经过2个星期Jsp程序设计实训,从对软件开发没有太多经验的我掌握了更多的软件开发的方 法和技能,收获颇多。 经过这次理论学习,了解到要做好软件开发,要求 掌握的知识并不是只有编写代码方面的,网络、数据库、操作系统等的知识对做好项目开发是很有帮助的。这让 我明确了以后学习的目标,在不断学习软件开发的同时,也应该继续其他相关知识的深入学习。 实训期间经历的许许多多,给我们带来了很多很多 有实无形的东西,知识、友情以及团队开发的热情,快 乐无一不包围着我们。在这我很想感谢几个人,王璐老 师和班上一同参与这次实训的2位同学。王璐老师对我 们备至关心,不论在学习前后,都给予我们关怀不少, 并且王璐老师不愧是从事多年软件开发的专业人士,其 深厚的专业技能知识和丰富的经验令我等钦佩无比。对 于我们未出茅庐的大学生而言,遇到的问题多而复杂,

询问有经验的人,他们或许一句话就能解决问题,而自 己就得找资料或上网摸索可能要一两天,有时甚至绞尽 完脑汁都不得其解。用个词形容,老师的解答如醍醐灌顶,而对我们,则甘之如饴。 实训这段期间真的好累,尽管实验室给我们提供了 一个相当不错的上课学习环境,但是整天木木地待在实 验室面对毫无生气的荧屏,为 code而烦恼,为bug而郁闷,被文档所包围,随程序侵蚀。然而,这就是学习的 生活,既选之也则安之。忙碌的生活让我每天似乎没有 太多的时间去想一些其他的事,耐心的去调试,专注的 去编写更好的算法,沉浸充实和快乐之中。 更重要的是,两个星期的实训使我们明白我们所欠 缺的不仅仅是技术知识,更重要的是有一种处理事情的 方法、面对问题的心态和动手能力。面对完全陌生的新 知识、新技术、新项目以及整个IT行业,我们不能畏惧,要以一种积极的心态去面对,分析并抓住关键所在。因 为我们所即将应对的每一个项目都是既需要实际操作, 又需要详细规划的。作为组长,协调组员、激励其他组 员和积极参与项目开发是我每天必做的工作。我认为每 个人都应该在团队中做好自己应尽的职责,再优秀的个 人也可能完成一个即庞大又复杂的项目工作,我们必需 紧密的联合在一起,以一个团队的角色来面对。

程序设计练习题

第六章程序设计 1、下列程序运行时,若从键盘上输入20,则屏幕上的输出是多少?Input “请输入一个数:” to x If x<=10 Y=2*x-5 Else Y=2*x+5 Endif ? Y 2、执行下列程序后,变量A的值为多少?B的值为多少? A=100 B=200 IF A-B<0 T=A A=B B=T ENDIF ? A,B 3、下列程序运行时,若从键盘上输入25时,屏幕上显示的结果是多少?INPUT “X=” TO X DO CASE CASE X>10 ? “A1” CASE X>20 ? “A2” OTHERWISE ? “A3” ENDCASE RETURN

4、执行下列程序,变量T中的值是多少? T=1 FOR I=1 TO 5 T=T*I ENDFOR ? “T=”,T 5、执行下列程序,屏幕上输出的是多少? D=”” SS=”ABCDE” FOR I=1 TO 5 D=D+SUBSTR(SS,6-I,1) ENDFOR ? D 6、执行下面程序,屏幕上输出的Y是多少? STORE 0 TO X,Y DO WHILE .T. X=X+1 DO CASE CASE INT(X/2)=X/2 LOOP CASE X>=10 EXIT OTHERWISE Y=Y+X ENDCASE ENDDO ? Y 7、下列程序运行时,若从键盘上输入5,则屏幕上输出的是_______。Input "请输入一个数:" to x Do case

Case x>10 ?"A1" Case x>20 ?"A2" otherwise ?"A3" Endcase Return 8、执行下列程序片段后,变量T中的值是_______。 T=1 FOR I=1 TO 5 T=T*I ENDFOR ? "T=",T 9、如下程序显示的结果是。 s=1 i=0 do while i<8 s=s+i i=i+2 Enddo ?s 10、如下程序的输出结果是。 i=1 DO WHILE i<10 i=i+2 ENDDO ?i 11、执行下列程序后,变量A的值为_______,变量B的值为_______。

经典练习C语言编程的题目及标准答案整理

1.逆序输出正三位数 #include intmain() { intinput,output=0; scanf("%d",&input); while(input != 0) { output = output*10 + input%10;input/= 10; } printf("%d\n",output); return 0; } 2.百元找零函数 #include int main() { intamount=100; int price=0; printf("请输入金额(元)"); scanf("%d",&price); ?printf("请输入票面"); scanf("%d",&amount); int change=amount-price; printf("找您%d元。\n",change); ? return0; } 3.求平均数 #include int main() { int a,b; scanf("%d%d",&a,&b);

double c=(a+b)/2.0; /*scanf("%d",&amount); 这是注释,我随便放的,没意义 int change=amount-price;*/ printf("%d和%d的平均值是%f\n",a,b,c); return0; } 4.写出程序的输出: int i=1; switch(i/3){ case0:printf("zero"); case1:printf("one"); case2:printf("two"); } 正确答案是:zeroonetwo。 5.水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身。例如:153 = 13 + 53+33。本题要求编写程序,计算所有N位水仙花数。 输入格式: 输入在一行中给出一个正整数N(3<=N<=7)。 输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行。 输入样例: 3 输出样例: 153 370 371 407

面向对象程序设计期末综合练习二(填空题)

面向对象程序设计期末综合练习二(填空题) 填空题 17.C++头文件和源程序文件的扩展名分别为______和______。 19.当使用_______保留字作为函数类型时,该函数不返回任何值。 20.当函数参数表用______保留字表示时,则表示该参数表为空。 88. 重载一个函数的条件是:该函数必须在参数的个数或参数的__________上与其它同名函数有所不同。 91. 定义一个函数模板要用到的第一个修饰符是____________。 92. 在函数模板的参数中,用class修饰的参数称为__________参数。 97. 如果一个函数中有多个默认参数,则默认参数必须全部处在形参表的________部分。 153. 以面向对象方法构造的系统,其基本单位是__________。 154. 每个对象都是所属类的一个__________。 155. 对象将其大部分实现细节隐藏起来,这种机制称为__________。 156. 基类和派生类的关系称为__________。 157. 复杂对象可以由简单对象构成,这种现象称为__________。 158. 对象是对问题域中客观事物的________,它是一组属性和在这些属性上操作的__________。 159. 特殊类的对象拥有其一般类的全部属性与操作,称特殊类________了一般类。 160. 如果一个派生类的基类不止一个,则这种继承称为____________。 161. 如果一个派生类只有一个唯一的基类,则这样的继承关系称为__________。 162. C++支持两种多态性:_________时的多态性和__________时的多态性。 163. 在C++中,编译时的多态性是通过__________实现的,而运行时的多态性则是通过__________实现的。 164. 面向对象软件开发的生命周期分为三个阶段,即分析、__________和__________。 165. 面向对象的分析包括__________分析和__________分析两步。 166. 类定义中,既包含数据成员,也包含________成员。 167. 类中的数据成员的访问属性通常被指明为________。 168. 类中的供外部调用定义的函数成员,其访问属性通常被定义为________。 169. 对于类中定义的任何成员,其隐含访问权限为________。 170. 对于结构中定义的任何成员,其隐含访问权限为________。 171. 为了使类中的成员不能被类外的函数通过成员操作符访问,则应把该成员的访问权限定义为________。 172. 若在类的定义体中给出了一个成员函数的完整定义,则该函数属于________函数。 173. 若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时,其函数名前必须加上________和两个冒号分隔符。 174. 若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义

程序设计实验报告

学生实验报告 院系:测绘学院 专业班级:测绘13级3班 学号:2013305517 学生姓名:王泽 指导教师:郭辉老师 2016年05月20日

安徽理工大学实验报告 实验课程名称:数据结构与软件开发上机实验 开课院系及实验室:测绘学院红楼二楼机房 实验1 编程基本知识练习 实验目的: 通过该实验课内容的练习,学生应掌握VB 编程的基本语法、变量的定义、数组(动态数组)的定义、VB 语言中子过程与函数的定义以及文本文件的读写等知识。 实验内容: 1)变量的定义动态数组的定义与应用; 2)矩阵的加、减、乘运算(定义Sub()子过程或Function()来实现); 3)数据文件的建立、数据的读取与写入。 实验步骤: 1.编辑界面 1.1 打开VB 编程工具,进入编程主界面。

1.2 在窗体上新建“读入数据”和“输出数据”两个按钮。 1.3 双击“窗体”进入代码输入界面,进行代码编辑。 2.用VB 编写的源代码 2.1 矩阵基本运算源码详见附录一。 (1)两矩阵相加 (2)两矩阵相减 (3)矩阵转置 (4)两矩阵相乘 (5)矩阵求逆 2.2 文本文件(本实验中data.txt)的读取源代码 (1)建立文本文件并输入数据 在桌面上新建一“data.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\data.txt”)。输入以下内容: 6,7,4,0.005 A,35.418 B,45.712 C,25.270

D,24.678 在桌面上新建一“result.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\result.txt”)。(2)从文本文件中读数据 Dim linedata as string, m_GaochaN as integer,m_Pnumber as integer,m_knPnumber as integer,M as Double,k1 as integer 'linedata 为存储文本文件一行信息的字符串变量 Dim a() as String,H() as Double 'a()为存储点名,H()存储高程 Open“C:\Users\ WH\Desktop\练习\data.txt”For Input As #1 Line Input #1, linedata k = Split(linedata, ",") m_GaochaN = Val(k(0)) m_Pnumber = Val(k(1)) m_knPnumber = Val(k(2)) M = CDbl(k(3)) For k1 = 1 To m_knPnumber Line Input #1, linedata k = Split(linedata, ",") a(k1)= k(0) GetstationNumber (a) H(k1) = CDbl(k(1)) Next Close #1 (3)将读入点名存储到点名数组中,且返回该点名所对应编号 Function GetstationNumber(name As String) Dim i As Integer For i = 1 To m_Pnumber If P_Name(i) <> "" Then '将待查点名与已经存入点名数组的点比较 If P_Name(i) = name Then GetstationNumber = i Exit For End If Else '待查点是新的点名,将新点名放到P_Name 数组中 P_Name(i) = name GetstationNumber = i Exit For End If Next i End Function (4)从文本文件中写数据(将从data.txt 读入的数据,写入到result.txt 文件中) Open“C:\Users\ WH\Desktop\ 练习\result.txt” For Output As #1 outstring = outstring + str(m_GaochaN) +","

程序设计训练报告

程序设计训练 报告 目录 一、设计题目 二、开发平台 三、需求分析 四、信息描述 五、总体分析 (一)、定义结构体体变量 (二)、功能模块 (三)、流程图 六、运行界面设计 七、设计心得 八、附录 源程序代码

一、设计题目: 职员管理系统 二、开发平台 开发平台:vc++6.0 企业版, 使用系统,winXP以上 三、需求分析 1、该程序可用于对企业员工工资情况基本信息的保存、查询等操作,以实现对企业员工工资的管理。 2、其中更新功能包括:添加工资信息、删除工资信息、修改工资信息、可根据需要添加一个或多个员工工资信息,也可对个别员工信息进行适当的删除或修改。以便随时更新员工工资信息。 3、程序中设计的查询功能可根据需要从若干数据中查询某个员工信息,并且可根据两种不同的方法查询:按工作证号查询和按查询。以满足不同的需要。 四、信息描述 职工信息包括职工号、、基本工资、奖金、扣款、税款,实发工资。 五、总体方案 (一)定义结构体体变量 typedef struct employee { char num[10]; //保存职工编号 char name[15]; //保存职工 float jbgz; //保存职工基本工资

float jj; //保存职工奖金 float kk; //保存职工扣款 float yfgz; //保存职工应发工资 double sk; //保存职工税款 double sfgz; //保存职工实发工资 }ZGGZ; (二)功能模块 菜单模块:显示职工管理系统的主菜单,供用户选择所需的功能,通过自己定义的void menu()函数来实现。 (1)输入模块 按照编号,,基本工资,奖金,扣款的顺序输入信息,税金和实发工资根据输入的信息进行计算得到,这些信息被录入到文件中。通

汇编语言程序设计练习题

汇编语言程序设计练习题 一、字符与串处理类 1.逆序输出字符串“BASED ADDRESSING”。 2.试编写一段程序,要求对键盘输入的小写字母用大写字母显示出来。 3.编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。 4.从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示计数结果。 5.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。)放在STRING中,试编制一个程序测试字符串中是否存在数字。如有,则把CL的第5位置1,否则将该位置置0。 6.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。),将其中的小写英文字母变换为大写英文字母,其他字符保持不变。然后将变换后的字符串显示出来。 7.试编制一个程序:从键盘输入一行字符,要求第一个键入的字符必须是空格符,如不是,则退出程序;如是,则开始接收键入的字符并顺序存放在首地址为buffer的缓冲区中(空格符不存入),直到接收到第二个空格符时退出程序。 8.试编写一段程序,要求比较两个字符串string1和string2所含字符是否相等,如相等则显示“MATCH”, 若不相同则显示“NO MATCH”。 9.试编写一段程序,要求输入两个字符串,如两个字符串相等则显示“MATCH”, 否则显示“NO MATCH”。 10.试编写一段程序,要求在长度为100H字节的数组中,找出大于61H的无符号数的个数并存入字节单元UP中,找出小于2FH的无符号数的个数并存入字节单元DOWN中。 11.在内存区域0B800:0000-0B800:0FFFF(都是16进制数)内查找首地址为SOURCE的串(SOURCE的首字节为串长度),如果找到,则把AL的第0位置0,否则将该位置置1。 12.已知数组A包含15个互不相等的整数,数组B包含20个互不相等的整数。试编制一个程序,把既在A中又在B中出现的整数存放于数组C中。 13.在附加段中,有一个首地址为LIST和未经排序的字数组。在数组的第一个字中,存放着该数组的长度,数组的首地址已存放在DI寄存器中,AX寄存器中存放着一个数。要求编制一个程序:在数组中查找该数,如果找到此数,则把它从数组中删除。 二、数字输入输出类 1. 试编制一个程序,把BX寄存器内的二进制数以十六进制数的形式在屏幕上显示出来。 2. 试编制一个程序,把BX寄存器内的二进制数以八进制数的形式在屏幕上显示出来。 3. 试编制一个程序,把BX寄存器内的二进制数以十进制数的形式在屏幕上显示出来。 4.从键盘上输入2个一位数,求出它们的和(假设和不超过1位)。 5.试编写一段程序,从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数。 6.试编写一段程序,从键盘接收一个0-65535间的十进制无符号数,并在终端上显示与它等值的二进制数。 7.试编写一段程序,从键盘接收一个-32768-32767间的十进制有符号数,并在终端上显示与它等值的二进制数。 8.编写一个程序,从键盘输入一个0~65535之间的10进制无符号数,然后以16进制

程序设计基础练习题(全答案版)

《程序设计基础——C#.NET》练习 参考答案: 一、选择题 https://www.360docs.net/doc/9e3216588.html,的目的就是将____A____作为新一代操作系统的基础,对互联网的设计思想进行扩展。A.互联网 B. Windows C. C# D. 网络操作系统 2.假设变量x的值为10,要输出x值,下列正确的语句是__C__。 A.System.Console.writeline(“x”) B. System.Cosole.WriteLine(“x”) C. System.Console.WriteLine(“x={0}”,x) D. System.Console.WriteLine(“x={x}”) 3.要退出应用程序的执行,应执行下列的_A___语句。 A. Application.Exit(); B. Application.Exit; C. Application.Close(); D. Application.Close; 4.关于C#程序的书写,下列不正确的说法是__D________。 A.区分大小写 B.一行可以写多条语句 C.一条语句可以写成多行 D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法 5. 在C#语言中,下列能够作为变量名的是__C__。 A.if B. 3ab C. b_3a D. a-bc 7. 能正确表示逻辑关系“a≥5或a≤0”的C#语言表达方式是__D__。 A.a>=5 or a<=0 B. a>=5|a<=0 C. a>=5&&a<=0 D. a>=5||a<=0 8. 以下程序的输出结果是___C_____。 A. 5 B. 4 C. 6 D. 不确定 9. If语句后面的表达式应该是__A___。 A.逻辑表达式 B. 条件表达式 C. 算术表达式 D. 任意表达式10.有如下程序:

C程序设计实训报告

C程序设计实训报 告

实训一:类和对象的定义及使用 实训目的: (1)掌握类与对象的定义与使用方法,理解面向对象方法中经过对象间传递消息的工作机制。 (2)正确掌握类的不同属性成员的使用方法。 (3)掌握构造函数与析构函数的概念,理解构造函数与析构函数的执行过程。 (4)掌握友元函数和友元类的定义和使用。 (5)基本掌握指针和引用作为函数参数的应用。 实训内容: 定义一个时间类Time,有三个私有成员变量Hour、Minute、Second,定义构造函数、析构函数以及用于改变、获取、输出时间信息的公有函数,主函数中定义时间对象,并经过调用各种成员函数完成时间的设定、改变、获取、输出等功能。 ①按要求完成类的定义与实现。 ②修改数据成员的访问方式,观察编译结果。 ③在Time类中定义一个成员函数,用于实现时间增加一秒的功能,主函数中经过对象调用该函数,并输出增加一秒后的时间信息。 ④定义一个普通函数。

void f(Time t) { t. PrintTime( ); } 在Time类中增加拷贝构造函数的定义,主函数中调用该函数,运用调试工具跟踪,分析整个程序调用构造函数(包括拷贝构造函数)和析构函数的次数;再将f函数的形式参数分别修改为引用参数和指针参数(此时函数代码修改为{t-> PrintTime( );},主函数中调用,再分析此时调用构造函数和析构函数的次数。 实训代码: #include using namespace std; class Time { private: int Hour,Minute,Second; public: Time(int h=0,int m=0,int s=0); Time(const Time &ob); ~Time(); void ChangeTime(int h,int m,int s);

模块化程序设计练习题及答案

第四章模块化程序设计练习题及参考答案 一、填空题 1、以下程序的运行结果是(111),把x定义为静态变量运行结果是(123)。void increment(void) { int x=0; x+=1; printf("%d",x);} main() { increment(); increment(); increment(); } 2、若输入的值是-125,以下程序的运行结果是(-125=-5*5*5) #include "" main() { int n; void f(int n); scanf("%d",&n); printf("%d=",n); if(n<0) printf("-"); n=fabs(n); fun(n); } void fun(int n) { int k,r; for(k=2;k<=sqrt(n);k++) { r=n%k; while(r==0) { printf("%d",k); n=n/k; if(n>1)printf("*"); r=n%k; } } if(n!=1) printf("%d\n",n); } 3、设有以下宏定义: #define WIDTH 80 #define LENGTH WIDTH+40 则执行赋值语句:v=LENGTH*20;(v为int型)后,v的值是(880) 4、设有以下宏定义: #define WIDTH 80 #define LENGTH (WIDTH+40)

则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是(2400) 5、下面程序的运行结果是(5) #define DOUBLE(r) r*r main() { int x=1,y=2,t; t=DOUBLE(x+y); printf("%d\n",t);} 6、下面程序的运行结果是(36) #define MUL(z) (z)*(z) main() { printf("%d\n",MUL(1+2)+3); } 7、下面程序的运行结果是(212) #define POWER(x) ((x)*(x)) main() { int i=1; while(i<=4) printf("%d,",POWER(i++)); } 8、下面程序的运行结果是(9) #define MAX(a,b) (a>ba:b)+1 main() { int i=6,j=8,k; printf("%d\n",MAX(i,j)); } 二、选择题 1、以下正确的说法是(D)建立自定义函数的目的之一是: A)提高程序的执行效率 B)提高程序的可读性 C)减少程序的篇幅 D)减少程序文件所占内存 2、以下正确的说法是(B) A)用户若需调用标准库函数,调用前必须重新定义 B)用户可以重新定义标准库函数,若如此,该函数将失原有含义。 C)系统根本不允许用户重新定义标准库函数。 D)用户若需调用标准函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调用。 3、以下正确的函数定义形式是(C) A)double fun(int x,int y) B)double fun(int x;int y) C)double fun(int x,int y); D)double fun(int x,y) 4、以下正确的说法是(D)。在C语言中: A)实参与其对应的形参各占用独立的存储单元。 B)实参和与其对应的形参共占用一个存储单元。 C)只用当实参和与其对应的形参同名时才共占用存储单元。

编程基础练习题

第二章基本数据类型和运算 因为题目略有删减,可能编号不连续,请见谅 一、单项选择题 1.下列数据中属于“字符串常量”的是(A )。 A. "a"B.{ABC} C.?abc\0?D.?a? 4.字符串"ABC"在内存占用的字节数是( B )。 A.3 B.4C.6 D.8 5.字符串" \?ABCD\? "内存占用的字节数是( C )。 A.4 B.6 C.7D.8 6.在C语言中,合法的长整型常数是( A )。 A.0L B.4962710 C.0.054838743 D.2.1869e10 7. 在C语言中,合法的短整型常数是( D )。 A.0L B.0821 C.40000 D.0x2a 8.下列数据中不属于“字符常量”的是( C )。 A.…\xff?B.…\160?C.?070?D.070 9.char型常量的内存中存放的是( A )。 A.ASCII代码值B.BCD代码值C.内码值D.十进制代码值 11.常数的书写格式决定了常数的类型和值,03322是( B )。 A、16进制int类型常数 B、8进制int类型常数 C、10进制int类型常数 D、10进制long int类型常数 12.“e2”是( D ) 。 A、实型常数100 B、值为100的整型常数 C、非法标识符 D、合法标识符 13. 要为字符型变量a赋初值,下列语句中哪一个是正确的( A )。 A、char a=?3?; B、char a=”3”; C、char a=%; D、char a=*; 14. 要为float类型变量x、y、z赋同一初值3.14,下列说明语句哪一个是正确的(C )。 A、float x,y,z=3.14; B、float x,y,z=3*3.14; C、float x=3.14,y=3.14,z=3.14; D、float x=y=z=3.14; 15. 语句float pi=3.1415926535; 将( D )。 A、导致编译错误 B、说明pi为初值3.1415926535的单精度实型常数 C、导致运行时的溢出错误 D、说明pi为初值3.141593的单精度实型常数 16. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( B)。 A、算术运算、赋值运算、关系运算 B、算术运算、关系运算、赋值运算 C、关系运算、赋值运算、算术运算 D、关系运算、算术运算、赋值运算 17. 关系运算符中优先级最低的运算符是( C )。 A、“>=”和“<=” B、“>”和“<” C、“==”和“!=” D、“<=”和“<” 18. 逻辑运算符中,运算优先级按从高到低依次为( D )。 A、&&,!,|| B、||,&&,! C、&&,||,! D、!,&&,|| 19. 对C程序在作逻辑运算时判断操作数真、假的表述,下列哪一个是正确的( A )。 A、0为假非0为真 B、只有1为真 C、-1为假1为真 D、0为真非0为假 20. 表达式x&&1等效于( C )

C语言程序设计综合练习题

《C语言程序设计》综合练习题 一、单选题 1. C语言中基本数据类型有。C A)整型、实型、逻辑型B)整型、字符型、逻辑型 C)整型、实型、字符型D)整型、实型、字符型、逻辑型 2. 在C语言中,数字O29是一个。A A)八进制数 B)十进制数 C)十六进制数 D)非法数 3. 在以下关于C语言的不严格的叙述中,错误的说法是。A A)在标识符中,大写字母和小些字母的意义相同 B)有些不同类型的变量可以在一个表达式中运算 C)在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型 D)同一个运算符号在不同的场合可以有不同的含义 4.下列关于C语言用户标识符的叙述中正确的是。B A)用户标识符中可以出现下划线和中划线(减号) B)用户标识符中不可以出现中划线,但可以出现下划线 C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头 D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头 【解析】考查C语言中的用户标识符规则,在C语言程序设计中,用户标识符是由字母、数字和下划线组成的,并且第一个字符必须是字母或下划线。 5. 结构化程序设计方法中有三种基本控制结构,以下不正确的是。D A) 顺序结构B) 选择结构C) 循环结构 D) 数组结构 6. C语言提供的合法关键字是。D A) swicth B) cha C) Case D) default 7.以下非法的赋值语句是C A) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0; 【解析】对表达式不能进行自加自减运算。 8.在以下一组运算符中,优先级最高的运算符是。 A) <= B) = C) % D) &&

Visual-Basic程序设计期末综合练习题一

Visual Basic程序设计期末综合练习题一 一、单项选择题 1.Visual Basic是一种面向对象的可视化编程语言,采取了()的编程机制。 A.从主程序开始执行B.按过程顺序执行 C.事件驱动D.按模块顺序执行 2.在Visual Basic中,窗体文件的扩展名为()。 A..vbp B..frm C..cls D..bas 3.Visual Basic6.0集成开发环境有三种工作模式,下列不属于三种工作模式之一的是()。 A.设计模式B.编写代码模式 C.中断模式D.执行模式 4.如果对象的名称为Mytext,而且对象有一个属性Text,那么在代码中引用该属性的正确格式是()。 A.Text.Mytext B.Mytext*Text C.Mytext.(Text) D.Mytext.Text 5.下列关于变量的说法不正确的是()。 A.局部变量在声明它的过程执行完毕后就被释放了 B.局部变量的作用域仅限于声明它的过程 C.静态局部变量是在过程中用Static语句声明的 D.局部变量是指那些在过程中用Dim语句或Static语句声明的变量 6.关于对象的属性不正确的是()。 A.对象的属性一般有属性名和属性值B.可通过属性窗口设置属性的值 C.可通过程序代码设置属性的值D.对象的所有属性值均可在设计时设计7.在设计阶段,双击窗体上的某个控件时,打开的窗体是()。 A.工程资源管理器窗口B.工具箱窗口 C.代码编辑器窗口D.属性窗口 8.要在窗体的标题内显示“myfrm”,使用的语句是()。 A.Form.caption="myfrm" B.Form1.caption="myfrm" C.Form1.Print"myfrm" D.Form.Print"myfrm" 9.在VB中,下列变量名不合法的是()。 A.file_1 B.file C.file-1 D. 10.在设计动画时,用时钟控件来控制动画速度的属性是()。 A.Enabled B.Move C.Interval D.Timer 11.要从For…Next循环中退出循环,应使用()语句。 A.Exit B.Exit For C.Continue D.Stop Loop 12.文本框ScrollBars属性设置了非零值,却没有效果,原因是()。 A.文本框中没有内容B.文本框的Locked属性为True C.文本框的MultiLine属性为True D.文本框的MultiLine属性为False

C语言程序设计实验-答案

-前言- /*非常感谢度娘以及各位网上C语言高手的支持,才能让敝人完成此文档的整理。 本文档集合了本人、度娘、众网友的力量,其中代码的正确率约为90%(不正确的有标注)。为回报度娘及众网友的帮助,本文档免费下载。 */ /*配“电子科技大学出版社(周信东主编)”的C语言程序设计实验*/ /*努力吧,骚年以及学妹们!*/ /*整理ed by 口玉刀一of GUET.*/ ===================== 实验一C语言程序初步 ===================== 1.---------------------------- 已知a=5,b=4,c=6,求出s并换行 #include"stdio.h" main() { int a,b,c,s; a=5;b=4;c=6; s=(a+b+c)/3; printf("a=%d,b=%d,c=%d\n,s=%d",a,b,c,s); } 2.------------------------------- 输入一个数字求他的平方 #include main() { int r,s; scanf("%d",&r); s=r*r; printf("s=%d\n",s); } 3.-------------------------------- (1) #include main() { printf(" *\n"); printf("***\n"); printf(" *\n"); } (2) #include

{ int v; int a,b,c; //a,b,c aer sides,v is volume of cube a=3;b=3;c=5; v=a*b*c; printf("v=%d\n",v); } ================================= 实验二数据类型、运算符和表达式 ================================= 1. (1)-------------------------------------------------- //总觉得打印结果怪怪的,DO YOU THINK SO? main() { char s1='3',s2='4',s3='5'; int c1=101,c2=102; printf("3%c\t4%c\t5%c\n",s1,s2,s3); //3%c为输出3和%c printf("s1=%d\ts2=%d\ts3=%d\n",s1,s2,s3);//注意哦,s1,s2,s3是char!而%d:输入输出为整形%ld 长整型%hd 短整型%hu无符号整形%u %lu%s:输入输出为字符串%c字符%f:输入输出为浮点型%lf双精度浮点型printf("c1=%d\t~%c\n",c1,c1); //换码符'\t',表示水平制表位(horizeontal tab),它的作用是将光标移到最接近8的倍数的位置 printf("c2=%d\t~%c\n",c2,c2); //注意c1,c2的类型 } (2) //运行结果为8.300000 %是求余数先运算x-y,把结果转换为int型的有利于四则运算 main() { float x=8.3,y=4.2,s; int a=7; s=x+a%5*(int)(x-y)%2/3; printf("s=%f",s); }

程序设计综合设计题目详解

程序设计综合设计题目详解 1. 大整数加法 计算两个整数m 、n 的和,0<=m,n<=1050。输入输出格式:本题只有1组输入数据,每组数据只有1行,每组数据包含两个0到1050之间的大整数,两个整数中间用1个空格分隔。 对于每组数据,输出一行,表示两个大整数的和。 样例输入:input.txt 12345678909876543211234111222 98765432101234567891234111222 样例输出:output.txt 111111111011111111102468222444 2. 舞伴问题: 假设在周末舞会上,男士们(m 人)和女士们(n 人)进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一算法模拟上述舞伴配对问题。并m 和n 存在什么条件时,第x 个(1<=x<=m )男生才有可能和他心仪的第y 个(1<=x<=n )女生跳舞,在第几首曲子时? 3. 一元多项式加法: 有两个一元多项式P(x)和Q(x)需要相加,一类情况是项数很多,次数比较连续的情况,另一类是项数不多,但次数不连续的情况,试分别设计合理的数据结构对其进行求解。 测试数据: (1)P(x)=20 1(1)i i i x =+∑ Q(x)=2011 (23)i i i x -=+ ∑ (2)P(x)=1005611100282345x x x x +-+ Q(x)=10056122558335x x x x --+ 4 约瑟夫环问题: 已知n 个人(以编号1,2,3...n 分别表示)围坐在一张圆桌周围。从编号为k 的人开始报数,数到m 的那个人出列;他的下一个人又从1开始报数,数到m 的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。请给出出列人的编号序列。 5. 不浪费空间的矩阵乘法 一直两个矩阵X m n ? 和Y n p ? 要相乘,但不允许事先分配一个很大空间的二维数组 来存储矩阵,而是要动态分配实际数据需要占有的空间进行矩阵乘法。 测试数据:自行设计 m 、n 、 p>3

相关文档
最新文档