当前位置:文档之家› 电子科技大学C++程序设计实验报告

电子科技大学C++程序设计实验报告

电子科技大学C++程序设计实验报告
电子科技大学C++程序设计实验报告

课程名称:c++程序设计

学院专业:计算机科学与工程

计算机科学与技术学生姓名:雷锋

学号:20120601000

指导教师:丘志杰杨浩淼

实验地点:主楼A2-412

实验一:

一、实验目的:学习VC++开发环境的基本使用方式,包括项目的创建、文件的添加、程序的编译、

运行和调试等。

二、实验内容:熟悉VC++开发环境,实现编译器输出helloworld,在给出的程序computer sale 中

找出一个以上的bug。

三、实验原理:

1) helloworld输出代码:

#include

using namespace std;

int main()

{

cout<<" Hello C++ "<

return 0;

}

2) computer sale 源代码:

#include "iostream"

using namespace std;

struct Computer{

char model[20];

int total;

}computers[100];

int modelCount = 0;

void list();

void enterWarehouse();

void outWarehouse();

void input(struct Computer &computer);

int find(char* model);

int main()

{

int action;

do{

cout<<"-----------菜单-----------"<

cout<<"1)查看库存"<

cout<<"2)电脑入库"<

cout<<"3)售出"<

cout<<"4)退出程序"<

cin>>action;

switch(action){

case 1:

list();

break;

case 2:

enterWarehouse();

break;

case 3:

outWarehouse();

break;

case 4:

return 0;

default:

cout<<"您输入了错误的菜单项,请重新选择!";

}

}while(1);

}

void list(){

cout<<"-------库存-------"<

cout<<"型号\t"<<"数量"<

for(int i=0;i

cout<

}

cout<<"-------库存-------"<

}

void enterWarehouse(){

struct Computer computer;

input(computer);

int i = find(computer.model);

if(i == modelCount){

strcpy(computers[i].model , computer.model);

computers[i].total = computer.total;

modelCount++;

}else{

computers[i].total += computer.total;

}

}

void outWarehouse(){

struct Computer computer;

input(computer);

int i = find(computer.model);

if (i==0) {

cout<<"型号错误!"<

}else{

computers[i].total -= computer.total;

}

}

void input(struct Computer &computer){

cout<<"型号:";

cin>>computer.model;

cout<<"数量:";

cin>>computer.total;

}

int find(char* model){

int i;

for(i=0;i

if(strcmp(computers[i].model,model) == 0){

break;

}

}

return i;

}

四、实验数据及结果分析:(vc编译)

1)

2)对于第二个找bug程序,其实有很多不合理的地方,比如这段:

int i = find(computer.model);

if (i==0) {

cout<<"型号错误!"<

}else{

computers[i].total -= computer.total;

}

调用find函数,其实只要i不为零则就型号错误,而find函数的返回值其实就是i,显然不合情理。

实验二:电话计费卡的使用编程

一:实验内容:编写一个电话计费卡程序,动态检测计费卡的金额信息,当电话打通时,根据通话情况来修改计费卡上的金额,并给出提示信息。

?电话卡类PhoneCard

?PhoneCard类构造器实现卡号、密码、剩余金额及接入号码的初始化处理

?实现PhoneCard类的拨号、连接及对剩余金额的处理

?显示拨打电话的状况及剩余金额的信息

?在main()中带参数输入给PhoneCard类的实例

?利用PhoneCard类的实例虚拟电话卡的使用

?输入参数,测试并分析程序运行情况

二、实验原理(代码):

#include

using namespace std;

class PhoneCard

{

protected:

double balance;

void performDial();

};

class Card_201:public PhoneCard{

private:

int password;

public:

static double additoryFee;

static long connectNumber;

long cardnumber;

bool connected;

double balance;

Card_201(long cn,int pw,double b){

cardnumber=cn;

password=pw;

balance=b;

}

void performConnect(long cn,int pw){

if(cardnumber==cn&&password==pw)

connected=true;

else

connected=false;

}

double getbalance(){

if(connected==true){cout<<"拨打成功"<

return balance;}

else{ cout<<"拨打错误"<

return 0;}

}

void performDial(){

balance-=(additoryFee+0.3);

}

};

double Card_201::additoryFee=0.03;

long Card_201::connectNumber=201;

int main(){

int pw,i;

long cn;

double b;

cout<<"输入初始号码";

cin>>cn;

cout<<"输入初始密码";

cin>>pw;

cout<<"输入初始金额";

cin>>b;

Card_201 Card(cn,pw,b);

bool ch=true;

while(ch)

{

cout<<"拨打电话中……"<

cin>>cn;

cin>>pw;

Card.performConnect(cn,pw);

Card.performDial();

b=Card.getbalance();

cout<<"剩余金额为:"<

cin>>i;

if(i==1)

ch=true;

else ch=false;

}

cout<<"已退出";

return 0;

}

三、实验结果(VC编译):

实验三:

一、实验室名称:电子科技大学计算机实验教学示范中心

二、实验项目名称:C++程序设计实验

三、实验学时:24学时

四、实验原理:

了解数据封装的作用和实现方式,使用C++语言的抽象数据类型实现数据封装。了解继承的实现方式,使用C++语言的基类和派生类实现继承功能。了解运算符重载的机制,学会进行运算符重载。了解继承和多态的作用和实现方式,掌握动态联编方法,使用C++语言的抽象类和派生类实现继承性。

五、实验目的:

1、掌握C++编程规范;

2、掌握C++的封装、继承、运算符重载以及多态程序的基本编写方法;

3、熟悉在visual Studio 2010(及以上版本)环境下的C++软件开发和调试过

程。

六、实验内容:

C++编辑和编译系统采用Visual Studio 2010,设计1个综合运用数据封装、继承、运算符重载、多态等机制的C++编程语言的应用实验“学校教职工工资管理程序”:对学校教职工进行关系划分;着重应用数据封装、继承等机制对各类人员进行类封装并体现继承和派生关系;着重应用虚函数机制,实现计算职工工资的功能;重载“<<”运算符,能够对对象进行信息输出。

七、实验器材(设备、元器件):

1、个人计算机;

2、Visual Studio 2012。

八、实验步骤:

1.了解实验室可用的软硬件开发平台并学习必要的知识,安装并掌握Visual

Studio 2010的基本使用方法;

2.设计和编辑学校教职工工资管理程序

(1)对教职工进行人员划分,设计类关系图,设计每个类的成员构成;(2)在Visual Studio 2010环境下,对各类教职工进行数据封装,并应用继承和派生机制实现类的继承功能;

(3)应用虚函数机制,设计计算职工工资的功能,并在Visual Studio 2010环境下实现该功能;

(4)应用运算符重载机制,在Visual Studio 2010环境下实现对“<<”运算符的重载,能够对对象进行信息输出。

3.编译和调试

(1)编译相应的C++程序,若不通过,则检查出错原因;

(2)在编译通过的情况下,调试程序,看运行结果是否与预期一致。通过单步或函数级跟进调试程序;

4.美化和优化程序编写规范和结果显示形式

5.截取实验结果图和撰写实验报告

九、实验数据及结果分析:

初始时加入两名临时人员,三名行政人员和四名教师,然后修改了教师中的博导的信息,又删除了一名临时人员、一名行政人员和一名教师,并将最终数据存入磁盘,最后退出程序。

程序源代码以及运行结果见附录

十、实验结论:

通过C++面向对象中的类封装、继承、多态、虚函数等以及数据结构中的容器、链表等,基本实现了教职工信息的增加、修改、删除、查询、以及持久化到磁盘中。

运行结果见附录截图

十一、总结及心得体会:

通过本次综合实验,我了解了C++面向对象中的类封装、继承、多态、虚函数等以及数据结构中的链表等知识,熟悉了C++的数据封装、继承、多态等核心机制并且掌握了类的定义、继承的实现、虚函数的作用和实现方式。

十二、对本实验过程及方法、手段的改进建议:

最好能增加小组讨论以及个人展示环节,以便于丰富编程乐趣。

附录:(程序和实验结果截图.)

1.staff.h

#ifndef CSTAFF_H

#define CSTAFF_H

#include

#include

using namespace std;

class CStaff{

virtual void setName(string name){

this->name=name;

}

virtual void setNo(long No){

this->No=No;

}

virtual void setSex(int sex){

this->sex=sex;

}

virtual string getName(){

return name;

}

virtual long getNo(){

return No;

}

virtual int getSex(){

return sex;

}

virtual int getSalary(){return 0;}

virtual void input(){

cout<<"请输入该职工的姓名:"<

cin>>this->name;

cout<<"请输入该职工的职工号:"<

cin>>this->No;

cout<<"请输入该职工的性别:('1'代表男,‘0’代表女)"<

cin>>this->sex;

}

private:

string name;

long No;

int sex;//'1'代表男,‘0’代表女

int salary;

};

#endif// CSTAFF_H

2.CTempStaff.h

#ifndef CTEMPSTAFF_H

#define CTEMPSTAFF_H

#include

#include

#include"CStaff.h"

using namespace std;

class CTempStaff:public CStaff{

virtual void setName(string name){

this->name=name;

}

virtual void setNo(long No){

this->No=No;

}

virtual void setSex(int sex){

this->sex=sex;

}

virtual string getName(){

return name;

}

virtual long getNo(){

return No;

}

virtual int getSex(){

return sex;

}

bool equal(CTempStaff other){

return this->No==other.No;

}

void change(){

cout<<"请输入修改后的姓名: "<

string temp1;

cin>>temp1;

this->setName(temp1);

cout<<"请输入修改后的职工号:"<

long temp2;

cin>>temp2;

this->setNo(temp2);

cout<<"请输入修改后的性别:('1'代表男,‘0’代表女)"<

int temp3;

cin>>temp3;

this->setSex(temp3);

cout<<"修改后的信息为:"<

cout<<"姓名:"<

void input(){

cout<<"请输入该职工的姓名:"<

cin>>this->name;

cout<<"请输入该职工的职工号:"<

cin>>this->No;

cout<<"请输入该职工的性别:('1'代表男,‘0’代表女)"<

cin>>this->sex;

}

int getSalary(){

salary=Fixedsalary;

return salary;

}

friend ostream& operator<<(ostream &output,CTempStaff &item){

output<

return output;

}

private:

string name;

long No;

int sex;//'1'代表男,‘0’代表女

int serviceYears;

int salary;

int static const Fixedsalary=2200;//临时人员每月领取固定工资2200元

};

#endif//CTEMPSTAFF_H

3.CAdministrator.h

#ifndef CADMINISTRATOR_H

#define CADMINISTRATOR_H

#include

#include

#include"CStaff.h"

using namespace std;

class CAdministrator:public CStaff{

public:

virtual void setName(string name){

this->name=name;

}

virtual void setNo(long No){

this->No=No;

}

virtual void setSex(int sex){

this->sex=sex;

}

virtual string getName(){

return name;

}

virtual long getNo(){

return No;

}

virtual int getSex(){

return sex;

}

bool equal(CAdministrator other){

return this->No==other.No;

}

void setServiceYears(int sy){

this->serviceYears=sy;

}

void setPosition(int pos){

this->position=pos;

}

int getServiceYears(){

return serviceYears;

}

int getPosition(){

return position;

}

void change(){

cout<<"请输入修改后的姓名: "<

string temp1;

cin>>temp1;

this->setName(temp1);

cout<<"请输入修改后的职工号:"<

long temp2;

cin>>temp2;

this->setNo(temp2);

cout<<"请输入修改后的性别:('1'代表男,‘0’代表女)"<

int temp3;

cin>>temp3;

this->setSex(temp3);

cout<<"请输入修改后的工龄: "<

int temp4;

cin>>temp4;

this->setServiceYears(temp4);

this->setSex(temp3);

cout<<"请输入修改后的职务:('1'代表一般人员,‘2’代表科级人员,‘3’代表处级人员) "<

int temp5;

cin>>temp5;

this->setPosition(temp5);

cout<<"修改后的信息为:"<

cout<<"姓名:"<

龄:"<

}

void input(){

cout<<"请输入该行政职工的姓名:"<

cin>>this->name;

cout<<"请输入该行政职工的职工号:"<

cin>>this->No;

cout<<"请输入该行政职工的性别:('1'代表男,‘0’代表女)"<

cin>>this->sex;

cout<<"请输入该行政职工的工龄:"<

cin>>this->serviceYears;

cout<<"请输入该行政职工的职务:('1'代表一般人员,‘2’代表科级人员,‘3’代表处级人员)"<

cin>>this->position;//'1'代表一般人员,‘2’代表科级人员,‘3’代表处级人员

}

int getSalary(){

salary=0;

switch(position){

case 1:

salary=Basesalary+serviceYears*YEARsalary;

break;

case 2:

POSsalary=2000;//科级人员每月职务工资2000元

salary=Basesalary+serviceYears*YEARsalary+POSsalary;

break;

case 3:

POSsalary=3000;//处级人员每月职务工资3000元

salary=Basesalary+serviceYears*YEARsalary+POSsalary;

break;

default:

cout<<"输入有误!"<

}

return salary;

}

friend ostream& operator<<(ostream &output,CAdministrator &item){

output<

"<

return output;

}

private:

string name;

long No;

int sex;//'1'代表男,‘0’代表女

int serviceYears;

int salary;

int position;//'1'代表一般人员,‘2’代表科级人员,‘3’代表处级人员

int static const Basesalary=4000;//行政人员基本工资每月4000元

int static const YEARsalary=200;//行政人员每月工龄工资,300元每年工龄int POSsalary;//职务工资

};

#endif//CADMINISTRATOR_H

4.CTeacher.h

#include

#include

#include"CStaff.h"

#include

using namespace std;

class CTeacher:public CStaff{

public:

virtual void setName(string name){

this->name=name;

}

virtual void setNo(long No){

this->No=No;

}

virtual void setSex(int sex){

this->sex=sex;

}

virtual string getName(){

return name;

}

virtual long getNo(){

return No;

}

virtual int getSex(){

return sex;

}

void change(){

cout<<"请输入修改后的姓名: "<

string temp1;

cin>>temp1;

this->setName(temp1);

cout<<"请输入修改后的职工号:"<

long temp2;

cin>>temp2;

this->setNo(temp2);

cout<<"请输入修改后的性别:('1'代表男,‘0’代表女)"<

int temp3;

cin>>temp3;

this->setSex(temp3);

cout<<"请输入修改后的工龄: "<

int temp4;

cin>>temp4;

this->setServiceYears(temp4);

this->setSex(temp3);

cout<<"请输入修改后的职称:('1'代表讲师,‘2’代表副教授,‘3’代表教授,‘4’代表博导) "<

int temp5;

cin>>temp5;

this->setPosition(temp5);

cout<<"请输入修改后的学时数:"<

int temp6;

cin>>temp6;

this->setClassHour(temp6);

if(position==2||position==3){

cout<<"请输入修改后该教师所带的硕士生人数:"<

int temp7;

cin>>temp7;

this->setMasterNumber(temp7);

cout<<"修改后的信息为:"<

cout<<"姓名:"<

}

if(position==4){

cout<<"请输入修改后该教师所带的硕士生人数:"<

int temp8;

cin>>temp8;

this->setMasterNumber(temp8);

cout<<"请输入修改后该教师所带的博士生人数:"<

int temp9;

cin>>temp9;

this->setDoctorNumber(temp9);

cout<<"修改后的信息为:"<

cout<<"姓名:"<

}

if(position==1){

cout<<"修改后的信息为:"<

cout<<"姓名:"<

}

}

bool equal(CTeacher other){

return this->No==other.No;

}

void setMasterNumber(int mn){

this->masterNumber=mn;

}

void setDoctorNumber(int dn){

this->doctorNumber=dn;

}

void setPosition(int pos){

this->position=pos;

}

void setServiceYears(int sy){

this->serviceYears=sy;

}

int getServiceYears(){

return serviceYears;

}

int getPosition(){

return position;

}

void setClassHour(int ch){

this->classHour=ch;

}

int getClassHour(){

return classHour;

}

int getMasterNumber(){

return masterNumber;

}

int getDoctorNumber(){

return doctorNumber;

}

void input(){

cout<<"请输入该教师的姓名:"<

cin>>this->name;

cout<<"请输入该教师的职工号:"<

cin>>this->No;

cout<<"请输入该教师的性别:('1'代表男,‘0’代表女)"<

cin>>this->sex;

cout<<"请输入该教师的工龄:"<

cin>>this->serviceYears;

cout<<"请输入该教师的职称:('1'代表讲师,‘2’代表副教授,‘3’代表教授,‘4’代表博导)";

cout<

cin>>this->position;//'1'代表讲师,‘2’代表副教授,‘3’代表教授,‘4’代表博导

cout<<"请输入该教师所上的学时数:"<

cin>>this->classHour;

if(position==2||position==3||position==4){

cout<<"请输入该教师所带的硕士生人数:"<

cin>>this->masterNumber;

}

if(position==4){

cout<<"请输入该教师所带的博士生人数:"<

cin>>this->doctorNumber;

}

}

int getSalary(){

salary=0;

switch(position){

case 1:{

classHourFee=200;//讲师课时费,每学时200元

salary=Basesalary+YEARsalary*serviceYears+classHourFee*classHour;

break;

}

case 2:

case 3:{

classHourFee=300;//副教授或教授课时费,每学时300元

salary=Basesalary+YEARsalary*serviceYears+classHourFee*classHour+masterbsides*maste rNumber;

break;

}

case 4:

{

classHourFee=500;//博士生导师课时费,每学时500元

salary=Basesalary+YEARsalary*serviceYears+classHourFee*classHour+masterbsides*maste rNumber+doctorsubsides*doctorNumber;

break;

}

default:

cout<<"输入有误!"<

return salary;

}

friend ostream& operator<<(ostream &output,CTeacher &item){

if(item.getPosition()==1)

output<

"<

else

if(item.getPosition()==4)

output<

"<

else

output<

"<

"<

return output;

}

private:

string name;

long No;

int sex;//'1'代表男,‘0’代表女

int serviceYears;

int salary;

int position;//'1'代表讲师,‘2’代表副教授,‘3’代表教授,‘4’代表博导

int static const Basesalary=3000;//教师基本工资每月3000元

int static const YEARsalary=300;//教师每月工龄工资,300元每年工龄

int classHourFee;//课(学)时费

int classHour;

int static const masterbsides=300;//硕士生补助,每个硕士生补助300元

int masterNumber;

int static const doctorsubsides=500;//博士生补助,每个博士生补助500元

int doctorNumber;

};

5.menu.h

#ifndef MENU_H

#define MENU_H

#include

#include"MenuItem.h"

using namespace std;

C语言程序设计实验报告参考答案

长沙理工大学C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: Thedressislong Theshoesarebig Thetrousersareblack 答案: #include main() { printf("Thedressislong\n"); printf("Theshoesarebig\n"); printf("Thetrousersareblack\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() {

printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序:a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { inta,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x);

printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4.设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include main() { inta,b,c; a=0; b=-10; c=(a>b)?b:a; printf("c=%d\n",c); }

电子科技大学 汇编 实验报告

计算机专业类课程 实 验 报 告 课程名称:汇编语言程序设计 学院:计算机科学与工程 专业:计算机科学与技术 学生姓名:郭小明 学号:2011060100010 日期:2013年12月24日

电子科技大学 实验报告 实验一 学生姓名:郭小明学号:2011060100010 一、实验室名称:主楼A2-412 二、实验项目名称:汇编源程序的上机调试操作基础训练 三、实验原理: DEBUG 的基本调试命令;汇编数据传送和算术运算指令 MASM宏汇编开发环境使用调试方法 四、实验目的: 1. 掌握DEBUG 的基本命令及其功能 2. 学习数据传送和算术运算指令的用法 3.熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程五、实验内容: 编写程序计算以下表达式: Z=(5X+2Y-7)/2 设X、Y的值放在字节变量VARX、VARY中,结果存放在字节单元VARZ中。 1.编辑源程序,建立一个以后缀为.ASM的文件. 2.汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无错时继续第3步。 3.连接目标程序,产生可执行程序。

4.用DEBUG程序调试可执行程序,记录数据段的内容。 六、实验器材(设备、元器件): PC机,MASM软件平台。 七、实验数据及结果分析: 程序说明: 功能:本程序完成Z=(5X+2Y-7)/2这个等式的计算结果求取。其中X 与Y 是已知量,Z是待求量。 结构:首先定义数据段,两个DB变量VARX与VARY(已经初始化),以及结果存放在VARZ,初始化为?。然后定义堆栈段,然后书写代码段,代码段使用顺序程序设计本程序,重点使用MOV和IMUL以及XOR,IDIV完成程序设计。详细内容见程序注释。 程序清单:

程序设计实验报告

学生实验报告 院系:测绘学院 专业班级:测绘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) +","

C语言程序设计实验报告(实验大纲+过程)

《C程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分:4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; pr intf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序:

电子科大电子技术实验报告

电子科技大学 电子技术实验报告 学生姓名:班级学号:考核成绩:实验地点:仿真指导教师:实验时间: 实验报告内容:1、实验名称、目的、原理及方案2、经过整理的实验数据、曲线3、对实验结果的分析、讨论以及得出的结论4、对指定问题的回答 实验报告要求:书写清楚、文字简洁、图表工整,并附原始记录,按时交任课老师评阅实验名称:负反馈放大电路的设计、测试与调试

一、实验目的 1、掌握负反馈电路的设计原理,各性能指标的测试原理。 2、加深理解负反馈对电路性能指标的影响。 3、掌握用正弦测试方法对负反馈放大器性能的测量。 二、实验原理 1、负反馈放大器 所谓的反馈放大器就是将放大器的输出信号送入一个称为反馈网络的附加电路后在放大器的输入端产生反馈信号,该反馈信号与放大器原来的输入信号共同控制放大器的输入,这样就构成了反馈放大器。单环的理想反馈模型如下图所示,它是由理想基本放大器和理想反馈网络再加一个求和环节构成。 反馈信号是放大器的输入减弱成为负反馈,反馈信号使放大器的输入增强成为正反馈。四种反馈类型分别为:电压取样电压求和负反馈,电压取样电流求和负反馈,电流取样电压求和负反馈,电流取样电流求和负反馈。 2、实验电路

实验电路如下图所示,可以判断其反馈类型累电压取样电压求和负反馈。 3.电压取样电压求和负反馈对放大器性能的影响 引入负反馈会使放大器的增益降低。负反馈虽然牺牲了放大器的放大倍数,但它改善了放大器的其他性能指标,对电压串联负反馈有以下指标的改善。 可以扩展闭环增益的通频带 放大电路中存在耦合电容和旁路电容以及有源器件内部的极间电容,使得放大器存在有效放大信号的上下限频率。负反馈能降低和提高,从而扩张通频带。 电压求和负反馈使输入电阻增大 当 v一定,电压求和负反馈使净输入电压减小,从而使输入电流 s

网络程序设计实验报告-Winsock编程接口实验

网络程序设计 实验报告 实验名称: Winsock编程接口实验 实验类型:____验证型实验_____ __ 指导教师:______________________ 专业班级:_____________________ 姓名:_______________________ 学号:_____________________ 电子邮件:____________ 实验地点:______ _______ 实验日期2013 年 3 月29 日 实验成绩:__________________________

一、实验目的 ●掌握Winsock的启动和初始化; ●掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的使用。 二、实验设计 由实验内容可以知道: 1、编写程序能同时实现对多个域名的解析。比如在控制台输入:getip https://www.doczj.com/doc/487987422.html, https://www.doczj.com/doc/487987422.html,,能输出https://www.doczj.com/doc/487987422.html,和https://www.doczj.com/doc/487987422.html,对应的IP地址列表。 2、编写程序获取并输出本地主机的所有适配器的IP地址,子网掩码,默认网关,MAC 地址。 首先要了解一些基本的知识gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的基本知识gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。结构的声明与gethostaddr()中一致。 之后要根据内容画出函数流程图

三、实验过程(包含实验结果) 1.在实验过程中调用GetAdaptersInfo()时,出现了undeclared identifier的报错,原因是没有包含其头文件,之后进行一些修改解决了问题. 2.实验结果 3.选择查看本机信息 四、讨论与分析 1.Winsock初始化的作用是什么? 答:使用winsock初始化可加载winsock编程的动态链接库。

C语言程序设计实验报告(数组)

C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。

3算法描述流程图

4源程序 #include #include void catStr(char str1[],char str2[]) { int i,j; for (i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(char m[] ) {int i;

for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。

网络编程实验报告

实验一TCP Socket API程序设计 一、预备知识 1.网络编程基本概念 网络上的计算机间的通讯,实质上是网络中不同主机上的程序之间的通讯。在互联网中使用IP地址来标识不同的主机,在网络协议中使用端口号来标识主机上不同进程,即使用(IP地址,端口号)二元组。 套接字(Socket)用于描述IP地址和端口,是一个通信链的句柄,通信时一个网络程序将要传输的一段信息写入它所在主机的Socket中,该Socket通过与网络接口卡相连的传输介质将这段信息发送到另一台主机的Socket中,以供其他程序使用。 图1-1 TCP通信流程 2.TCP通信流程 TCP程序是面向连接的,程序运行后,服务器一直处于监听状态,客户端与

服务器通信之前必须首先发起连接请求,由服务器接收请求并在双方之间建立连接后才可以互相通信。 二、实验目的 1.了解Winsock API编程原理; 2.掌握TCP Socket程序的编写; 3.了解C/S模式的特点; 4.学会解决实验中遇到的问题。 三、实验任务 使用Winsock API相关类实现TCP Socket通信程序,并能成功运行。 四、实验环境及工具 1. Windows2000/XP/7 2. Visual C++开发平台 3. Visual Studio2010 五、实验内容和步骤 参照《Visual C++网络编程教程》书中81页,TCP Socket API程序设计。 连接: void CChatClientDlg::OnConnect() { WSADATA wsd; //WSADATA结构 WSAStartup(MAKEWORD(2,2),&wsd); //加载协议,使用Winsock 2.2版 m_client = socket(AF_INET,SOCK_STREAM,0); //创建流式套接字 //服务器地址 sockaddr_in serveraddr; UpdateData(); if(ServerIP.IsBlank()) { AfxMessageBox("请指定服务器IP!"); return; } if(sPort.IsEmpty()) { AfxMessageBox("请指定端口!"); return; }

C程序设计实验报告

实验1 C程序运行环境、数据类型、运算符和表达式 一、实验目的 1. 掌握Turbo C集成环境的进入与退出、Turbo C集成环境各种窗口的切换,了解Turbo C集成环境的设置。 2. 掌握C语言源程序的建立、编辑、修改、保存及编译和运行等操作。 3. 学会使用C语言的基本运算符(主要是算术运算符、赋值运算符)及其表达式。 4. 掌握C语言源程序的结构特点与书写规范。 二、实验要求 1. 根据题目要求,进行各种程序测试与验证,并记录结果。 2. 上机调试程序。按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根 据这些信息找到程序中的错误所在,然后修改程序,直至正确。 3. 详细记录数据的输入、输出信息,按要求写出实验报告。 三、实验内容 1. 开机;进入Turbo C集成工作环境,了解Turbo C集成工作环境及其菜单的使用,输入如下C语言源程序,并以exl.C存盘。 / *ex1.c* / #include main() { printf("Hello!\n"); printf("This is C program!\n"); } 试编译、连接、运行该程序,并按Alt+F5查看运行结果。 运行结果是: 2. 输入并调试运行以下程序,查看运行结果 (由此结果可以了解到在实验用的微型机上,几种数据类型所占的字节数)。 main() { printf("char\t%d bytes\n",sizeof(char)); printf("short\t%d bytes\n",sizeof(short)); printf("int\t%d bytes\n",sizeof(int)); printf("long\t%d bytes\n",sizeof(long)); printf("float\t%d bytes\n",sizeof(float)); printf("double\t%d bytes\n",sizeof(double)); } 运行结果是: 3. 输入并调试运行以下程序。 main() {int i,j,m,n; i=8;j=10;

C+程序设计实验报告-2013

C++程序设计 实验报告 专业计算机科学与技术班级 ____________ 学号 ____________ 姓名 ____________ 指导教师 __许加兵_ 信息与电子工程学院2013年9月-12月

C++程序设计实验报告 专业__________班级__________学号__________姓名__________ 成绩____________ 指导教师____________ 日期____________ 实验1 C++集成开发环境与C++函数程序设计 一、实验目的 1、了解和使用Visual Studio 2010的C++集成开发环境; 2、熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、学会完整的C++程序开发过程; 4、学习并掌握C++函数程序设计; 二、实验内容 1、安装、了解和使用Visual Studio 2010的C++集成开发环境; 2、通过以下的C++函数程序设计,熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、通过以下的C++函数程序设计,学会完整的C++程序开发过程; 4、完成以下的C++函数程序设计和调试: 1)编写一个函数print(),将一个整型向量输出到cout。此函数接受两个参数:一个字符串(用于“标记”输出)和一个向量。 2) 编写一个函数,接受一个vector 参数,返回一个vector ,其每个元素值是对应字符串的长度。此函数还找出最长和最短的字符串,以及字典序第一个和最后一个字符串。 三、简要说明C++开发环境安装和配置的过程

电子科技大学通信原理实验实验报告2

电子科技大学通信学院 最佳接收机(匹配滤波器) 实验报告 班级 学生 学号 教师任通菊

最佳接收机(匹配滤波器)实验 一、实验目的 1、运用MATLAB软件工具,仿真随机数字信号在经过高斯白噪声污染后最佳的恢复的方法。 2、熟悉匹配滤波器的工作原理。 3、研究相关解调的原理与过程。 4、理解高斯白噪声对系统的影响。 5、了解如何衡量接收机的性能及匹配滤波器参数设置方法。 二、实验原理 对于二进制数字信号,根据它们的时域表达式及波形可以直接得到相应的解调方法。在加性白高斯噪声的干扰下,这些解调方法是否是最佳的,这是我们要讨论的问题。 数字传输系统的传输对象是二进制信息。分析数字信号的接收过程可知,在接收端对波形的检测并不重要,重要的是在背景噪声下正确的判断所携带的信息是哪一种。因此,最有利于作出正确判断的接收一定是最佳接收。 从最佳接收的意义上来说,一个数字通信系统的接收设备可以看作一个判决装置,该装置由一个线性滤波器和一个判决电路构成,如图1所示。线性滤波器对接收信号进行相应的处理,输出某个物理量提供给判决电路,以便判决电路对接收信号中所包含的发送信息作出尽可能正确的判决,或者说作出错误尽可能小的判决。 图1 简化的接收设备 假设有这样一种滤波器,当不为零的信号通过它时,滤波器的输出能在某瞬间形成信号的峰值,而同时噪声受到抑制,也就是能在某瞬间得到最大的峰值信号功率与平均噪声功率之比。在相应的时刻去判决这种滤波器的输出,一定能得到最小的差错率。 匹配滤波器是一种在最大化信号的同时使噪声的影响最小的线性滤波器设计技术。注意:该滤波器并不保持输入信号波形,其目的在于使输入信号波形失 t输出信号值相对于均方根(输出)噪声值达到真并滤除噪声,使得在采样时刻 最大。

C程序设计上实验报告(完整版)

C语言程序设计上机实验报告 学院:机械工程学院 班级:机自161213 姓名:刘昊 学号:20162181310 实验时间:2017年3月6号 任课老师:张锐

C语言程序设计上机实验报告 实验一 一、实验名称: C程序的运行环境和运行C程序的方法 二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C 程序 三、实验内容: (1). 输入并运行一个简单的C程序。 (2). 设计程序,对给定的两个数求和。 (3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。 四、源程序代码: 代码1: 运行结果1:

程序分析1: 该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了1和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for 循环来进行整除过程的简写。 代码2: 运行结果2:

程序分析2: 简单的使用printf()和scanf()函数进行简单的数据运算。代码3: 运行结果3:

程序分析3: 使用if语句进行判断。 五.实验总结 C语言程序设计上机实验报告 实验二 一、实验名称:顺序结构程序设计 二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法, 熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。 三、实验内容: (1). 编写程序,实现小写字母转大写。

(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。 (3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。 (4). 编写程序,实现单字符getchar和putchar输入输出。 (5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。 四、源程序代码 代码1: 运行结果1: 程序分析1:

电子科技大学实验报告撰写模板

电子科技大学 实验报告 ( 2018 - 2019 - 2 ) 学生姓名:学生学号:指导老师: 实验学时:1.5h 实验地点:基础实验大楼425 实验时间:2019.4.9 14:30—16:00 报告目录 一、实验课程名称:电路实验I 1.实验名称:BJT放大器设计与测试 二、实验目的: 1. 了解BJT管的基本放大特性。 2. 掌握BJT共射放大电路的分析与设计方法。 3. 掌握放大电路静态工作点的测试方法。 4. 掌握放大电路放大倍数(增益)的测试方法。 5. 掌握放大电路输入、输出电阻的测试方法。 6. 掌握放大电路幅频特性曲线的测试方法。 三、实验器材(设备、元器件): GDS1152A型数字示波器一台。 EE1641B1型函数发生器一台。

通用面包板一个。 1kΩ电阻;10mH电感;0.047μF电容若干。 四、实验原理:

3、测试方法 (1)静态工作点调整与测试 对直流电压的测量一般用数字万用表。测量静态工作点时测出晶体管各管脚对地的电压。 (2)放大倍数的测试 用晶体管毫伏表或者示波器直接测量输出、输入电压,由 Av=vo/vi 即可得到。(3)放大器输入电阻的测试

在放大器输入端口串入一个取样电阻R,用两次电压法测量放大器的输入电阻Ri。 (4)放大器输出电阻的测试 在放大器输出端口选择一个合适的负载电阻RL,用两次电压法分别测量空载与接上负载时的输出电压,计算输出电阻Ro。 (5)放大器频率特性的测试 用点频法测试法测量放大器的频率特性,并求出带宽。 五、实验内容: (1)静态工作点的测试 (2)电压增益测试 (3)输入电阻测试 (4)输出电阻测试 (5)幅频特性测试 六、实验数据及结果分析: 1、静态工作点调整与测试 令VCC=+12V,用万用表测量VE、VB、VC,计算VBE、IEQ、VCE,数据记入表格中。 2、放大倍数的测试 用函数发生器输出一个正弦波信号作为放大器的输入信号,设置信号频率 f =1kHz,(有效值)Ui=5mV,测量U0 ,计算放大器的电压放大倍数(增益)Av。数据填入表中,定量描绘输出波形图。

算法程序设计实验报告

程序设计》课程设计 姓名:王 学号:20100034 班级:软件工程00 班 指导教师:王会青 成绩: 2010年 6 月 实验一.构造可以使n 个城市连接的最小生成树 专业:__软件工程___ 班级:__软件姓名:_王___ 学号:_20100034 完成日期:_2010/6/26 ________ 一、【问题描述】给定一个地区的n 个城市间的距离网,用Prim 算法或Kruskal 算法建立最小生成树,并计算得到的最小生成树的代价。 1 城市间的道路网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道

路,则将相应边的权值设为自己定义的无穷大值。 2 显示出城市间道路网的邻接矩阵。 3 最小生成树中包括的边及其权值,并显示得到的最小生成树的总代价。 4 输入城市数、道路数→输入城市名→输入道路信息→执行Kruskal 算法→执行Prim 算法→输出最小生成树 二、【问题分析】 1. 抽象数据类型结构体数组的定义: #ifnd ef ADJACENCYMATRIXED// 防止该头文件被重复引用 #define ADJACENCYMATRIXED // 而引起的数据重复定义 #define INFINITY 32767 // 最大值∞ #define MAX_VERTEX_NUM 20 // 最大顶点个数 typedef int VRType; // 权值,即边的值 typedef char InfoType; // 附加信息的类型,后面使用时会定义成一个指针 typedef char VertexType[MAX_VERTEX_NUM]; // 顶点类型 typedef enum {DG=1, DN, UDG, UDN} GraphKind; //{ 有向图,有向网,无向图,无向网} typedef struct ArcCell { VRType adj; //VRType 是顶点关系类型。对无权图,用1 或0 表示相邻否;对带权图,则为权值类型。 InfoType*info; // 该弧关系信息的指针

c程序设计实验报告.docx

. C++ 程序设计 实 验 报 告 : 班级: 学号: 指导教师:

. 实验一VC6.0 环境入门与简单程序设计 一、实验目的: 1、熟悉 VC++6.0 开了环境并编写简单的C++ 程序。 3、使用 C++ 语言编写简单的输入输出程序。 4、使用 VC++6.0 的 DEBUG 调试功能:单步执行、设置断点、观察变量值。 二、实验内容: 1、使用 VC++ 建立一个标准C++ 程序,编译、运行如下程序: #include Int main() { Cout<< ”Hello World!\n”; Cout<< ”Welcome to C++!\n”; } 2、编程计算图形的面积。程序可计算圆形、长方形、正方形等的面积,运行时首先提 示用户选择图形类型,然后根据不同图形类型,输入相关参数计算其面积,并将其显示出来。 #include using namespace std; void circle_area(); void rectangle_area(); void square_area(); int main()

. { int i; while(1) { cout<<" 请输入图形类型(1:圆形; 2:长方形; 3:正方形; 4:退出。): "; cin>>i; switch(i) { case 1:circle_area();break; case 2:rectangle_area();break; case 3:square_area();break; case 4:return 0; default:cout<<"输入错误!\n"; } } } void circle_area() { float r,s; cout<<" 输入圆的半径:"; cin>>r; s=3.14*r*r; cout<<" 该圆的面积是:"<>a>>b; s=a*b; cout<<" 该长方形的面积是:"<>a; s=a*a; cout<<" 该正方形的面积是:"<

C#程序设计实验报告

学生实验报告 (理工类) 课程名称: C#程序设计专业班级:M11计算机科学与技术(专转本)学生学号: XXXXXXXX 学生姓名: XXX 所属院部:信息技术学院指导教师: XXX 2012 — 2013学年第 1 学期 金陵科技学院教务处制

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,标题采用四号黑体,正文采用小四号宋体,单倍行距。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:C#基础编程实验学时: 6 同组学生姓名:实验地点: A205 实验日期: 9月17日-9月24日实验成绩: 批改教师:批改时间:

实验1 C#基础编程 一、实验目的 1、熟悉Visual Studio .NET开发环境; 2、掌握C#应用程序的基本操作过程; 3、掌握C#的数据类型,运算符以及表达式的使用; 4、掌握分支和循环语句的使用方法; 5、掌握一维数组,二维数组及数组型数组的使用。 二、实验要求 (1)编写程序要规范、正确,上机调试过程和结果要有记录; (2)做完实验后给出本实验的实验报告。 三、实验设备、环境 安装有Visual Studio .NET软件。 四、实验步骤 1、分析题意; 2、根据题目要求,新建项目; 3、编写并输入相关的程序代码; 5、运行与调试项目; 6、保存项目。 五、实验内容 1、编写一个简单的控制台应用程序,打印一行文字(如你的姓名)。using System; using System.Collections.Generic; using System.Text; namespace Test1_1 { class Program { static void Main(string[] args) { Console.WriteLine("1121412016 张明星!"); Console.ReadLine(); } } } 2、编写一个简单的Windows应用程序,在标签中显示你的姓名。 Form窗体的代码: using System; using System.Collections.Generic;

网络编程实验报告

网络编程技术实验报告 一实验目的: 网络编程技术是计算机科学与技术专业、网络工程专业、软件工程专业的一门专业基础课程。本课程以Java技术为主讲授,Java语言是当前最流行的网络编程语言。本课程是一门实用性和综合运用性都很强的课程,实践教学环节是教学过程中必不可少的重要内容。通过实验,让学生熟悉JDK中的主要内容,掌握用JDK调试和运行程序的方法,掌握网络编程的基本思想和开发方法、面向对象编程的思想,JA V A中的基本方法和技术,能够熟练使用JA V A设计、编写程序,特别是基于TCP/IP的Socket 编程,并能运用这些知识方法完成C/S和B/S结构程序的设计工作。通过实验,提高学生使用Java语言程序设计开发的能力,提高应用面向对象技术分析和解决实际问题的能力,并在此基础上强化学生的实践意识、提高其分析问题、解决问题的能力以及动手能力和创新能力。 二实验要求 要求学生熟悉JDK中的主要内容,掌握用JDK调试和运行程序的方法,掌握网络编程的基本思想和开发方法、面向对象编程的思想,JAVA中的基本方法和技术,能够熟练使用JAVA设计、编写程序,特别是基于TCP/IP的Socket编程,并能运用这些知识方法完成C/S和B/S结构程序的设计工作。要注意培养学生良好的编程习惯,自始至终贯彻课程中所介绍的程序设计风格。为保证尽量在统一安排的上机时间内完成程序设计任务,学生应事先做问题分析,并做静态检查。学生应记录实验中所遇到的问题,并写出详细的实验报告。课前准备上机程序,上机认真调试,课后撰写实验报告,实验报告包括实验目的、实验内容、源程序、实验结果及分析。

. 实验一java基本语法 实验目的: 了解Java的数据类型,掌握各种变量的声明方式,理解运算符的优先级,掌握Java基本数据类型、运算符与表达式,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 实验要求: 1、编写一个声明Java不同数据类型变量的程序。 2、编写使用不同选择结构的程序。 3、编写使用不同循环结构结构的程序。 实验内容: 1、编写一个声明Java不同数据类型变量的程序。 public class DataTypes { public static void main(String args[]) { byte b=127; short s=32767; int i=2147483647; long l=9223372036l;//为什么long表示的数比Int还小? char c='c'; float f=1.23F; double d=0.9E-3; boolean bool=true; System.out.println(" b="+b); System.out.println(" s="+s); System.out.println(" i="+i); System.out.println(" l="+l); System.out.println(" c="+c); System.out.println(" f="+f); System.out.println(" d="+d); System.out.println(" bool="+bool); }

数字集成电路设计实验报告

哈尔滨理工大学数字集成电路设计实验报告 学院:应用科学学院 专业班级:电科12 - 1班 学号:32 姓名:周龙 指导教师:刘倩 2015年5月20日

实验一、反相器版图设计 1.实验目的 1)、熟悉mos晶体管版图结构及绘制步骤; 2)、熟悉反相器版图结构及版图仿真; 2. 实验内容 1)绘制PMOS布局图; 2)绘制NMOS布局图; 3)绘制反相器布局图并仿真; 3. 实验步骤 1、绘制PMOS布局图: (1) 绘制N Well图层;(2) 绘制Active图层; (3) 绘制P Select图层; (4) 绘制Poly图层; (5) 绘制Active Contact图层;(6) 绘制Metal1图层; (7) 设计规则检查;(8) 检查错误; (9) 修改错误; (10)截面观察; 2、绘制NMOS布局图: (1) 新增NMOS组件;(2) 编辑NMOS组件;(3) 设计导览; 3、绘制反相器布局图: (1) 取代设定;(2) 编辑组件;(3) 坐标设定;(4) 复制组件;(5) 引用nmos组件;(6) 引用pmos组件;(7) 设计规则检查;(8) 新增PMOS基板节点组件;(9) 编辑PMOS基板节点组件;(10) 新增NMOS基板接触点; (11) 编辑NMOS基板节点组件;(12) 引用Basecontactp组件;(13) 引用Basecontactn 组件;(14) 连接闸极Poly;(15) 连接汲极;(16) 绘制电源线;(17) 标出Vdd 与GND节点;(18) 连接电源与接触点;(19) 加入输入端口;(20) 加入输出端口;(21) 更改组件名称;(22) 将布局图转化成T-Spice文件;(23) T-Spice 模拟; 4. 实验结果 nmos版图

C语言程序设计实验报告(实验1-12)

文档从网络中收集,已重新整理排版.word版本可编辑.欢迎下载支持. 《C语言程序设计》 实验报告 2013~2014学年第二学期 班级 姓名 学号 指导教师

实验一 实验项目名称:C程序的运行环境和运行C程序的方法 所使用的工具软件及环境:Visual C++ 6.0 一、实验目的: 1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序; 2.通过运行简单的C程序,初步了解C源程序的特点。 二、预习内容: 教材《C语言程序设计教程》第1章。 三、实验内容: 1. 在Visual C++ 6.0环境下输入并运行下面的程序: #include int main( ) { printf("This is a C program.\n"); return 0; } 2. 在Visual C++ 6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序 无语法错误,然后运行程序,并观察分析运行结果。 #include int main( ) { int a,b,sum a=3; b=4; sun=a+b; print(“%d+%d=%d\n”,a,b,sum); return 0; } 四、实验结果: 1. 运行结果(或截图): This is a C program. Press any key to continue

2. (1) 改正后的源程序: #include int main( ) { int a,b,sum; a=3; b=4; sum=a+b; printf("%d+%d=%d\n",a,b,sum); return 0; } (2) 运行结果(或截图): 3+4=7 五、思考题: 1. 一个C程序上机的步骤有哪些? 答:上级输入与编辑源程序—对原程序进行编译–与库函数链接–运行可执行的目标程序。 2. 组成C程序的基本单位是函数,一个函数包括哪几个部分? 答:一个函数包括两部分:分别为函数头或函数首部和函数体。 成绩指导教师签名 实验二 实验项目名称:数据类型、运算符和表达式 所使用的工具软件及环境:Visual C++ 6.0 一、实验目的: 1.掌握整型、实型与字符型这三种基本类型的概念; 2.掌握常量及变量的使用方法; 3. 掌握基本算术运算符及其表达式的使用方法; 4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。 二、预习内容:

相关主题
文本预览
相关文档 最新文档