上机1_结构体文件题目

上机1_结构体文件题目
上机1_结构体文件题目

短学期实习

上机1

[实验目的]

1.掌握结构体和结构体数组的概念、定义及存储

2.掌握结构体和结构体数组的基本操作及应用

[实验范例]

[问题] 下列程序的功能为:学生姓名(name)和年龄(age)存于结构体数组person中,函数fun的功能是:找出年龄最小的那名学生,请纠正程序中存在的错误,使程序实现其功能。

#include

struct stud

{ char name[20];

int age;

} ;

ufun(struct stud person[],int n)

{

int min,i;

min=0;

for(i=0;i

if(person[i]

return (person );

}

void main()

{

struct stud a[]={{"Zhao",21},{"Qian",20},{"Sun",19},{"LI",22}};

int n=4;

struct stud minpers;

minpers=fun(a,n);

printf("%s 是年龄小者,年龄是:%d\n",https://www.360docs.net/doc/7c3408848.html,,minpers.age);

}

[DIY]

1、调试下列程序(下列各程序中存在一些问题,通过调试发现问题,并加以修正,使其实现预期目标)

[1.1]下列程序的功能为:应用结构体求多项式的值。多项式:

a n x n+a n-1x n-1+a n-2x n-2+…+a1x+a0,请纠正程序中存在的错误,使程序实现其功能。

[代码]

#include

#include

struct Poly

{ float a; /*系数*/

int n; /*指数*/

};

double fpvalue()

{ struct Poly p;

double pvalue=0;

float x;

printf("输入多项式X:\n");

scanf("%f",&x);

printf("输入多项式系数(a)和指数(n,n=-10000,结束):\n");

scanf("%f %d", p.a, p.n);

while(p.n!=-10000)

{pvalue+=p.a*pow(x, n);

scanf("%f %d", p.a, p.n);

}

return pvalue;

}

void main()

{

printf("多项式值:%20.8f\n",fpvalue());

}

[1.2] 13个人围成一圈,从第1个开始顺序报号1、2、3。凡报到“3”者退出圈子。找出最后留在圈子中的人原来的序号。

[分析]本题算法通过一个循环队列来实现,用结构体数组构造一个循环队列,每个元素中定义一个成员存放下一个元素的下标。

[代码]

#include

#define N 13

struct person

{ int number ; /*当前元素的序号*/

int nextp ; /*下一个元素的位置*/

} link[N+1] ; /*定义N+1个元素的结构体数组存放N个人的信息*/

main()

{ int i, count, h ;

for( i = 1 ; i<=N ; i++) /*给循环队列初始化,下标从1开始*/

{ if(i = N)

link[i].nextp=1 ;

/*最后一人的下一个元素的位置为1即第一个元素,形成循环队列*/ else

link[i].nextp=i+1; /*下一个人的序号*/

link[i].number=i; /*每个人的序号与下标值相等*/

}

printf("\n") ;

h=N ; /*count统计出列的人数,h初始化为队列的最后一个元素*/

printf("sequence that persons leave the ircle: \n") ;

while(count < N-1)

{ i = 0 ;

while(i==3) /*报数,i统计当前数到的顺序,没数到3时继续报数*/ { h=link[h].nextp; /*h指向当前元素即前一个元素的后面一个元素*/

if( link[h].number) i++ ; /*如果h的序号为0,表示该元素已出列,i不加*/

}

printf("% 4d", link[h].number) ; /*数到3循环退出,输出数到3的人的序号*/

link[h] .number = 0 ; /*将其序号置0,表示该元素已出列*/

count++ ; /*统计出列的人数*/

}

printf("\n The last one is ") ;

for( i=1 ;i<=N; i++)

if(link[i].number) /*若元素值不为0,表示该元素没出列,即是留下来的元素*/

printf("% 3d\n" , link[i].number) ;

}

2.程序填空(请填写适当的符号,使程序实现其功能)

[2.1] 下列函数findbook的功能为:在有n个元素的数组s中查找书名为a的书,若找到,函数返回数组下标,否则,函数返回0,请填写适当的符号或语句,使程序实现其功能。

#include

#include "string.h"

struct bdata

{ int id;

char bname[20];

float price;

};

int findbook(struct bdata st[],int n,char s[])

{ int i;

for(i=0;i

{if(________)return i+1;}

________;

}

void main()

{struct bdata book[100]={12,"program-c",23.5,2,"大学计算机",43.5,3,"大学物理",33.5,6,"大学化学",53.5,8,"大学语文",23.5,9,"哲学",13.5};

char st[20];

int index;

printf("请输入要查找书名:");

gets(st);

index=findbook(_______________);

if(index) printf("书号:%d,书名:%s,价格:%f\n",book[index-1].id,book[index-1].bname,book[index-1].price);

else printf("%s 不在书库中\n",st);

}

[2.2] 下列函数average功能为:计算5名学生3门课成绩的平均分,请填写适当的符号或语句,使程序实现其功能。

#include

#define m 3

#define n 5

struct stud

{ int no;

char name[16];

float mark[m];

float ave;

};

void average(struct stud st[])

{int i,j;

float sum;

for(i=0;i

{sum= ;

for(j=0;j

sum= ;

=sum/m;

}

}

void main()

{struct stud preson[n]={1,"张平",90,88,78,0,2,"王新",70,88,78,0,3,"李和平

",60,68,78,0,4,"王开新",80,78,78,0,5,"赵明",89,98,98,0};

int i;

average(preson);

printf("\t\t\t成绩表\n");

for(i=0;i

printf("%3d%10s,%6f,%6f,%6f,%.2f\n",preson[i].no,preson[i].name,preson[i].mark[0],

preson[i].mark[1],preson[i].mark[2],preson[i].ave);

}

3.编程

[3.1] 编写一个程序实现如下功能:定义一个点的结构数据类型,实现下列功能:

①为点输入坐标值。

②求两个点中点坐标。

③求两点间距离。

[3.2] 建立一份同学通讯录,包含姓名、电话、通信地址、邮编、生日等信息,要求按姓名的字母顺序排列输出通讯录。

[本章测试]

一、 单选题(10分)

1.下列关于结构体的说法错误的是 D 。

A.结构体是由用户自定义的一种结构类型

B.结构体中可设定若干个不同数据类型的成员

C.结构体中成员的数据类型可以是另一个已定义的结构

D.在定义结构时,可以为成员设置默认值

2.下列程序中,结构体变量a 所占内存字节数是 A 。

union u

{char st[4] ;

int i;

long l;

};

struct A

{int c;

union u;

}a;

A.4

B.5

C.6

D.8

3.以下对结构体类型变量的定义中,不正确的是___A____。

A. typedef struct aa

{ int n;

float m;

}AA;

AA tdl;

C. struct

{ int n; float m; } aa; struct aa tdl;

4.若有下面的说明和定义,则sizeof(struct test)的值是___B____。

struct test

{ int m1;

char m2;

float m3;

union uu {char ul[5] ;

int u2[2] ;} ua;

} myaa;

B.#define AA struct aa AA{ int n; float m; }tdl; D. struct

{ int n;

float m;

} tdl;

A.12

B.16

C.14

D.9

5.若程序中有下面的说明和定义,则会发生的情况是__A___。

struct abc

{ int x;

char y;}

struct abc s1,s2;

A.编译是错

B.程序将顺利编译、连接、执行

C.能顺利通过编译、连接但不能执行

D.能顺利通过编译、但连接出错

6.以下对C语言共用体中共用体类型数据叙述正确的是_B__。

A.一旦定义了一个共用变量后,即可引用该变量或该变量中的任意成员

B.一个共用体变量中可以同时存放其所有成员

C.一个共用体变量中不能同时存放其所有成员

D.共用体类型数据可以出现在结构体类型定义中,但结构类型数据不能出现在共用体类

型定义中

7.下面的程序使用了共用体,其输出结果是_B__。

#define N 5

union data

{ char a;

int b;

};

main()

{ union data d;

d.b=0xeeff; d.a=0xaa; printf("%x ",d.b);

}

A.eeff

B.0xaa

C.aaee

D.eeaa

8.以下程序的输出结果是 A 。

# define f(x) x*x

main()

{ int a=6, b = 2, c;

c = f(a)/f(b) ; printf("%

d \n", c);

}

A.9

B.6

C.36

D.18

9.下列程序的输出结果是 B 。

struct abc

{ int a, b, c ; } ;

main()

{ struct abc s[2] = { {1,2,3},{4,5,6}} ; int i,t ;

t = s[0] .a + s[1] .b ; printf("%d \n", t) ;

}

A.5

B.6

C.7

D.8

10.结构体成员在内存中从高位到低位的排列顺序是__C____。

A.按结构体说明中成员出现的先后顺序,先出现的在低位

B.按结构体说明中成员出现的先后顺序,先出现的在高位

C.占内存量少的成员在低位

D.占内存量大的成员在低位

二、填空题(7分)

1.设struct student {int num;char name[20];}st;

写出printf语句:输出学生st的各个成员分量。要求按num、name的顺序输出,各成员之间使用空格分隔开。__________________

2.已知struct fs { int fz; int fm; } x[]={{2,7}, {4,9}};计算表达式

x[0].fz*x[1].fm+x[1].fz*x[0].fm和x[0].fm*x[1].fm的值为_____________。

3.已知有职工结构体数组struct {int num; char name[20];}per[100]; 用scanf函数写出输入下标为i 的职工的num和name的语句为_______________________________。

4.运行下列程序段,若输入:3 101 wang 102 zou 103 chen

其输出结果为:_____________________________________________。

struct worker

{

int num;

char name[20];

};

main()

{

struct worker per[10], t;

int n,i,j;

scanf( "%d", &n );

for ( i = 0; i < n; i++ )

scanf( "%d%s", &per[i].num, per[i].name );

for ( i = 0; i < n-1; i++ )

for ( j = 0; j < n-1-i; j++ )

if ( strcmp(per[j].name,per[j+1].name) > 0 )

{

t = per[j];

per[j] = per[j+1];

per[j+1] = t;

}

for ( i = 0; i < n; i++ )

printf( "%d, %s\n", per[i].num, per[i].name );

}

5.有以下说明和定义语句,请给结构体变量w赋初值,使w.a的值为99,w.b指向a数组的首地址。

double a[5] ;

struct ABC

{

int a ;

double b ;

}w ={ _, __} ;

6.有以下程序:

#include

union pw

{ int i;

char ch[2] ;

} a;

main()

{ a.ch[0] = 13 ; a.ch[1] = 0 ;

printf("% d\n", a.i) ;

}

程序的输出结果是(注意:ch[0] 在低字节,ch[1] 在高字节)。

三、程序调试题(10分)

1.请指出下列程序的错误所在。

【3.1】

#include

struct person

{ char name[20];

int count;

} x1={"ZhongHua", 10};

main( )

{ int p;

p=x1;

printf ("%s\n%d\n", https://www.360docs.net/doc/7c3408848.html,, p.count)

}

2.计算至少有一门功课不及格的学生人数,改正下列程序的错误。【

3.2】

#include

struct student

{ int num;

char name;

char sex;

float score[2];

} stu[5]={{101,"Li ping",'M',45,67}, {102,"Zhang ping",'M',62.5,76}, {103,"He fang",'F',92.5,80}, {104,"Cheng ling",'F',87,78},

{105,"Wang ming",'M',58,65}};

void main()

{ int i,c;

float s ;

for(i=0;i<5;i++)

if(stu[i].score<60) c+=1;

printf("\ncount=%d\n",c);

}

四、程序填空题(30分)

1.对结构体类型变量punkt 赋值并进行屏幕输出:

# include

# include

void main ( void )

{

struct

{

double xk ;

int yk ;

char zk ;

} punkt ;

scanf ( "%lf " , ____________ ) ;

scanf ( "%d " , ____________ );

scanf ( "%c " , ____________ ) ;

printf ( " \n x-coordinate : %lf ", ____________) ;

printf ( " \n y-coordinate : %d ", ____________ ) ;

printf ( " \n z-coordinate : %c ", ____________) ;

}

3.已知结构体数组person中存有N个人员的姓名和年龄,以下程序的功能:输出数组中

年龄最大者的姓名和年龄,请填空。

#include

#define N 3

struct man

{ char name[20] ;

int age ; };

struct man person [N] ={ " zhang" , 27 , " li " , 18 , " wang " , 73} ;

int find (__________________)

{ int q;

int i;

q = 0;

for ( i=1 ; i

if (_____________) q=i ;

return q;

}

main ( )

{ int q ;

q = find (___________, 3) ;

printf ( "年龄最大者为: %s , 其年龄为:%d\n", person[q].name , person[q].age ) ;

}

五、编程题(36分)

1.对职工工资进行统计。职工信息包含工号和姓名、基本工资、奖金、提成、实发工资,分别统计平均工资、最高工资和最低工资。

2.定义一个结构体用于存储年、月、日数据,并定义一个函数用于求两个日期之间的天数。

文件应用

[实验目的]

1.了解二叉树的链式存储结构,完成二叉树的建立,先序、中序和后序遍历的操作;

2.掌握文件指针的概念;

3.掌握文件和链表的综合应用。

[实验范例]

[问题]这里我们用链表的算法来编写一个程序,实现多项式的加法,减法。并使用菜单选择不同的功能模块。

[分析]已知一元多项式A = a n x n + …+ a1x + a0, B = b n x n + …+ b1x + b0

根据运算符+、-、*,分别计算A + B、A - B、A * B。

输入数据:为了方便起见,多项式的输入,只输入每一项的系数和指数,直到系数和指数全部为0为止。比如输入:2 3 4 2 5 1 8 0 0 0;那表示的多项式为2x3 +4x2 +5x+ 8。

执行:通过菜单选择的函数进行运算。如果选择加法运算,那就运行多项式加法的函数。输出结果:写在标准输出上,占一行。结果多项式按降幂方式排列,各项的表示形式与输入形式相同,按a n*x^n+…+ a1 *x^1 + a0方式显示。如上面的多项式就输出为:2*x^3+4*x^2+5*x^1+8。

算法:我们将多项式的每一项看成是一个链表的结点,每个结点数据域包含两个信息,一个是系数,一个是指数;指针域包含是下一项的结点。数据边输入,就一边创建链表。

【输入样例】

2 3 4 2 5 1 8 0 0 0

【输出样例】

2*x^3+4*x^2+5*x^1+8

[部分代码]完整代码见实验程序文件夹fanli.c。

#include

#include

#include

#include

typedef struct node

{

float coef;//系数

int expn;//指数

struct node *next;

}PolyNode;

PolyNode * Create_Poly(char ch) //输入多项式

{

PolyNode *p,*s,*r;

float x;

int y;

p=(PolyNode *)malloc(sizeof(PolyNode));

p->next=NULL;

printf("please input the Polynomial %c:\n",ch);

scanf("%f %d",&x,&y);

while(x!=0 || y!=0)

{

s=(PolyNode *)malloc(sizeof(PolyNode));

s->coef=x;

s->expn=y;

s->next=NULL;

if(p->next==NULL)

{ p->next=s;

r=s;

}

else

{ r->next=s;

r=s;

}

scanf("%f %d",&x,&y);

}

return p;

}

PolyNode * Add_Poly(PolyNode *f,PolyNode *g) //多项式相加

{……}

……

[DIY]

1. 调试下列程序(下列各程序中存在一些问题,通过调试发现问题,并加以修正,使其实现预期目标)

[1.1] 下列程序的功能为:从键盘上输入的字符输出到名为abc.txt的文件中,直到从键盘读入字符为“#”时,结束输入。

[代码]

#include

main()

{FILE*fout;char ch;

fout=fopen('abc.txt','w');

ch=fgetc(stdin);

while(ch!='#')

{fputc(ch,fout);

ch=fgetc(stdin);

}

[1.2] 下列程序的功能为:从数组读入数据,建立ASCII码文件,并按下列格式输出:

10 20 30 40 50 60 70 80 90 100(每个数据占5个字符宽度)。[代码]

#include

#include

void main()

{ FILE *fp3;

int b[]={10,20,30,40,50,60,70,80,90,100},i=0,n;

if((fp3=fopen("e:\\file9_3.txt","w"))==NULL)

{ printf("%s不能打开\n","e:\\file9_3.txt");

exit(1);

}

while(i<10)

{ fprintf(fp3,"%d",b[i]);

if(i%3==0) fprintf(fp3,"\n");

i++;

}

fclose(fp3);

if((fp3=fopen("e:\\file9_3.txt","r"))==NULL)

{ printf("%s不能打开读\n","e:\\file9_3.txt");

exit(1);

}

fscanf(fp3,"%5d",&n);

while(!feof(fp3))

{ printf("%5d",n);

fscanf(fp3,"%d",&n);

}

printf("\n");

fclose(fp3);

}

2.程序填空(请填写适当的符号,使程序实现其功能)

[2.1]下列程序的功能为:用来统计D盘fname. .txt文件中字符的个数。[提示:将素材中的fname.dat文件复制到D盘根目录]

[代码]

#include

#include

void main()

{char c;

FILE *fp3; long num=0;

if((fp3=fopen("d:\\fname. .txt", ))==NULL)

{

printf("Open error \n");exit(0);

}

c=fgetc(fp3);

while ( )

{

;

c=fgetc(fp3);

}

printf("\nnum=%ld\n", num);

;

}

[2.2]下列程序的功能为:从字符指针数组读出字符串,建立和输出二进制文件file9_6.dat。[代码]

#include

#include

#include

void main()

{ FILE *fp6;

int i=0;

char str[][20]={"visual C++","visual Basic","visual java","visual foxpro"};

char s[20];

if((fp6=fopen("file9_6.dat", )==NULL)

{ printf("%s不能打开!\n","file9_6.dat");

exit(1);

}

while(i<4)

{

fwrite( , ,1,fp6);

i++;

}

fclose(fp6);

if((fp6=fopen("file9_6.dat", ))==NULL)

{ printf("%s不能打开!\n","file9_6.dat");

exit(1);

}

fread(( , ,1,fp6);

while(!feof(fp6))

{ printf("%s\n",s);

fread(( , ,1,fp6);

}

fclose(fp6);

}

[2.3]下列程序的功能为:首先输入某单位的职工数据(包括每个职工的工号、姓名和工资),然后根据工资从高到低(即单调不增次序)对这些数据实现排序,排好序的数据送入磁盘文件d:\test.dat 中保存,同时在屏幕上显示排序结果。

[代码]

#include

#include "string.h"

#define N 5

struct worker

{ int num;

char name[30];

float pay;

};

main()

{ struct worker w[N], temp;

int i, j, k;

_______________;

printf("Input data \n");

for ( i = 0; i

scanf("%d%s%f", &w[i].num, w[i].name, &w[i].pay);

for ( i = 0; i < N-1; i ++)

{ k = i;

for ( j = i+1;j < N; j++ )

if (_______________;)

k =___________;

temp.num= w[i].num;

w[i].num = w[k].num;

w[k].num = temp.num;

temp.pay= w[i].pay;

w[i].pay = w[k].pay;

w[k].pay = temp.pay;

strcpy(https://www.360docs.net/doc/7c3408848.html,, w[i].name);

strcpy(w[i].name, w[k].name);

strcpy(w[k].name, https://www.360docs.net/doc/7c3408848.html,);

}

printf("Create and display a file:\n");

fp = fopen (___________);

for( i = 0; i < N; i++)

{ fwrite (___________);

printf("%d %s %f", w[i].num, w[i].name, w[i].pay);

printf("\n");

}

fclose(fp);

}

3. 编程

[3.1]编写程序,从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,输出到磁盘文件“upper.txt”中保存。输入的字符串以“!”结束。同时将文件upper.txt中的内容显示在屏幕上。

2015VB实验指导书

计算机程序设计基础(VB)实验指导书主编:刘华伟 单位:信息工程学院

实验报告要求:每次实验要求写实验报告(word电子版),包括实验名称,实验目的,实验内容,所有主要界面(需把界面图贴上,用截图工具)和所有源程序(将代码复制粘贴到word报告里),每次上机课后的周五理论课对上机题目进行讲解,每次上机实验报告要求在上机内结束前提交,如果没做完最迟当天内提交给教师信箱458007844@https://www.360docs.net/doc/7c3408848.html, 只能用自己的邮箱在这个时间段提交。 提交格式:邮件名和word文件名均为: 公141班张三000000第1次作业 第一次上机课要做实验指导书中前两次实验的内容,将两次上机的实验报告都写在同一个word文档里提交。以后每次上机均做一次实验的内容。

实验一VB6.0环境和程序设计初步 一、实验目的 1.学会使用VB开发环境。 2.学会建立、编辑、运行一个简单的VB应用程序的全过程。 3.掌握变量的概念及使用。 4.通过程序实践结合课堂例子,理解类、对象的概念,掌握属性、事件、方法的应用。 二、实验内容: 1.熟悉VB开发环境的标题栏、菜单栏、工具栏、窗体窗口、属性窗口、工程资源管理器窗口、代码窗口、立即窗口、窗体布局窗口、工具箱窗口的位置以及用法。(此题不需要写实验报告) 2.编写一个四则运算的功能,在界面上输入两个数,并设置加减乘除四个按钮,点击不同的按钮,显示不同的运算结果。 步骤: (1)建立用户界面的对象。 (2)对象属性的设置。 (3)对象事件过程及编程。 (4)保存和运行程序

实验二选择结构程序设计 一、实验目的 1.掌握逻辑表达式的正确书写形式。 2.掌握单分支与双分支语句的使用。 3.掌握多分支条件语句的使用。 4.掌握情况语句的使用与多分支条件语句的区别。 二、实验内容 1.P272实验C的1,2题,界面按自己思路设计。其中第1题要求用两种方法实现。 2.在界面上输入4个数,求最大值和最小值并显示,要求用两种方法实现。提示:先编写求最大值的程序,然后再编写求最小值的程序。 3.输入三门功课的成绩,评定某个学生是否得奖学金。 评奖学金标准如下: 平均分大于95分或两门100分第三门不低于80分。

计算机等级考试一级上机考试试题

上机考试试题 (第一套) 汉字录入(请在Word系统中正确录入如下内容,25分) 要求:1.在表格中正确地录入考生姓名及学号。 2.正确录入表格后的文本,文本中的英文。数字按西文方式;标点符号按中文方式。 3.整个录入的文本以文件名为:自己姓名.DOC保存。 ■* 2007.年呂月了日*在珈国西安举行的亚太先进励络APAN (The Asia-Pacific Adan 沁…Ndwort)学会第24届大会上,我国蓿华大学吴崖平教授接任第一届APAN 学会主席?堀悉,这也是第一次由中国科学家担任国际联刚学术组织主席职勞… 」由17个亚衣地医国家或地区近40多个成员的APAN,是目前国际下一代互逹厨的三天重要学术绢织之一,其寮旨是建立和协调亚衣地区下一代学术高速互联研究实验环境与北美、欧洲等地区的学术网互联,蔓同开展下一R互联艮其应用按术的研究与实推动邢末和国际下一代耳联 研究和为展口 、Word编辑和排版(25分) 打开上面文件:自己姓名.DOC,完成如下操作后。 页面设置:纸张为A4,纵向;页边距上、下、左、右为 2.5cm; 1.排版设置:标题为黑体三号粗体居中,正文为宋体小五号,行距为 1.5倍行距,段 前段后各间隔1行; 2.将正文第二段的的一个字设置为首字下沉,楷体、占二行,距正文0.7cm ; 3.设置页眉为考生自己的姓名,页眉内容居中对齐、楷体五号、蓝色,置于居中位置。 、Excel 操作(20 分) 在EXCEL系统中按以下要求完成,文件名为:姓名.XLS。 1.按以下模式建立表格,加边框(外框加双边框线)及首行合并单元格,并输入表格内容; 2.标题:楷体、加粗、16号字;正文:宋体11号字、汉字加粗,数字两位小数; 3.利用公式计算实发金额栏及平均栏; 其中:实发金额=固定工资+活动工资+岗位津贴+地区补贴+奖金 4.用三维柱形图显示平均情况(包括固定工资、活动工资、岗位工资、地区补贴、奖金); 四、Windows基本操作(10分)

《计算机图形学》新版实验指导书

湖北汽车工业学院实验报告 班级学号姓名 课程名称完成日期 实验一熟悉Visual C++绘图应用程序的开发过程 一、实验目的 1、熟悉VC6.0开发环境; 2、掌握MFC编程; 3、掌握CDC图形程序库; 4、掌握VC6.0下的简单图形程序的开发过程。 二、实验性质 验证性 三、实验要求 1、认真阅读本次实验的目的,了解本次实验要求掌握的内容; 2、能够根据实验指导书的要求,完成相关的内容; 3、务必掌握绘图程序的开发流程,为今后复杂的图形程序开发做好准备。 四、实验内容 (一)生成绘图应用程序的框架 开发绘图应用程序的第一步是使用AppWizard(程序生成向导)来建立程序的基本框架。AppWizard为框架的建立提供了一系列对话框及多种选项,用户可以根据不同的选项生成自己所需要的应用程序框架。具体步骤如下: 1、从“文件”菜单选择“新建”菜单项,在“新建”对话框中选择“工程”选项卡,从项目类型中选择MFC AppWizard(.exe)。在“位置”文本框中,可直接输入目录名称,或者单击“…”按钮选择已有的目录。在“工程名称”文本框中输入项目的名称,如Draw,其他采用默认值,这时确定按钮变亮,如下图所示:

2、单击确定按钮,弹出“MFC应用程序向导步骤1”对话框,如图所示,选择单文档单选按钮和“中文[中国]”选项,表示要生成以中文为用户界面的单文档(SDI绘图程序)。 3、点击下一步,在随后出现的几个对话框中,都点击下一步,表示采用各项的默认设置,直到出现“MFC应用程序向导步骤6”对话框,如图所示。

4、“MFC应用程序向导步骤6”对话框中默认设置确定了类得名称及其所在文件的名称。用户可以改CdrawApp、CmainFrame和CdrawDoc的文件名称,但不可以改变它们的基类。 单击完成按钮,应用程序向导显示将要创建的文件清单,再单击确定,MFC应用程序向导就自动生成绘图程序的各项源文件了。 MFC应用程序向导设置完后,点击组建按钮,然后再点击执行按钮,就会出现MFC 应用程序向导生成的完整应用程序的基本框架。

C语言上机作业试题5套含答案

第一次上机作业(2014): 要求: ?独立完成,上机调试通过后上交 ?作业提交邮箱: ?邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) ?以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。 ?程序必须采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: 76.8 The corresponding Celsius temperature is 24.89 4. 计算旅途时间 输入二个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 (输入的有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。) 例:输入712 1411 (出发时间是7:12,到达时间是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 思考题:你能否编程找出谁做的好事? 有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。 ?A说:不是我。 ?B说:是C。 ?C说:是D。 ?D说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。 第二次上机作业(2014): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交

上机练习题200道

1、从键盘输入一个正整数,按数字的相反顺序输出。 2、从键盘上输入两个整数,由用户回答它们的和,差,积,商和取余运算结果,并统计出正确答案的个数。 3、写一条for语句,计数条件为n从100~200,步长为2;然后再用while语句实现同样的循环。 4、编写一段程序,运行时向用户提问“你考了多少分?(0~100)”,接受输入后判断其等级并显示出来。判断依据如下: 等级={优(90~100分);良(80~89分);中(60~69分);差(0~59分);} 5、从键盘输入三个整数,求最大数。 6、用for、while、do…while循环语句中的任意一种求出1~100之间的质数。 7、求出1~1000之间的所有能被7整除的树,并计算和输出每5个的和。 8、编写一个控制台程序,分别输出1~10之间的平方、平方根. 9、设计一个包含多个构造函数的类,并分别用这些构造函数实例化对象。 10、已知6<=a<=30,15<=b<=36,求满足不定方程2a+5b=126的全部整数组解,并以(a,b)形式输出。 11、.计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传入, 若k的值为500, 则函数值为4622。。 12、编写一个类Cal1,实现加、减两种运算,然后,编写另一个派生类Cal2,实现乘、除两种运算。 13、建立三个类:具名、成人、官员。居民包含身份证号、姓名、出生日期,而成人继承自居民,多包含学历、职业两项数据;官员则继承自成人,多包含党派、职务两项数据。要求每个类中都提供数据输入输出的功能。 14、:编写一个类,其中包含一个排序的方法Sort(),传入一串整数,按照从小到大的顺序输出。 15、设计一个类,报告当前机器时间以及日期。 16、编写一个窗体程序,用菜单命令实现简单的加、减、乘、除四则运算,并将结果输出到对话框。 17、编写一个具有主菜单和快捷菜单的程序,实现文本文件的打开、修改和保存。

西门子PLC实验指导书

实验一:PLC认知及PLC编程软件的使用(两学时) 一、实验目的: 1.熟悉典型继电器电路的工作原理及电路接线。 2.熟悉西门子PLC 的组成,模块及电路接线。 3.熟悉西门子STEP 7 编程软件的使用方法。 4.熟悉利用STEP 7 建立项目、硬件组态、编程、编译、下载和运行等设 计步骤。 5.学会用基本逻辑指令实现顺控系统的编程,完成三相异步电机单向运行控 制程序的编制及调试。 二、实验设备: 1.个人PC 机 1 台 2.西门子1214C AC/DC/RLY PLC 1 台 3.西门子CM1241 RS485通信模块 1 台 4.实验操作板 1 块 5.线缆若干 三、实验步骤: 1.参照黑板上的电路接线图,电路连接好后经指导教师检查无误,可以上电 试验。 2.了解西门子PLC 的组成,熟悉PLC的电源、输入信号端I 和公共端 COM、输出信号端Q 和公共端COM;PLC 的编程口及PC 机的串行通讯口、编程电缆的连接;PLC 上扩展单元插口以及EEPROM 插口的连接方法;RUN/STOP开关及各类指示灯的作用等。 2.参照黑板上的电路接线图,电路连接好后经指导教师检查无误,并将 RUN/STOP 开关置于STOP 后,方可接入220V交流电源。 3.在PC 机启动西门子STEP 7编程软件,新建工程,进入编程环境。 4.根据实验内容,在西门子STEP 7编程环境下输入梯形图程序,转换后, 下载到PLC中。

5.程序运行调试并修改。 6.写实验报告。 四、实验内容: 实验1、三相笼型异步电动机全压起动单向运行控制 图1 三相笼型异步电动机全压起动单向运行控制接线图实验2、三相笼型异步电动机全压起动单向运行PLC控制 图2 三相笼型异步电动机全压起动单向运行PLC控制梯形图 五、实验总结与思考: 1.简述S7-1200 PLC的硬件由哪几部分组成。 2.请简要叙述从硬件组态开始到程序下载到PLC进行调试的整个过程。 3.做完本次实验的心得体会;

2010专第一次上机作业:%20MatLab练习题-基本运算

一、书上命令练习: 二、MatLab 练习1 注意: 1,请按要求作题,写出程序并把结果附上,并保存文件. 2,仔细填写 “学生信息”. 3,把此word 文档的文件名更名为你的 “学号 姓名(*)”-*表示第几次作业.在下课前5分钟提交. 1, (5*2+1.3-0.8)*10^2/25 答案:42 2,y =23log )10sin(4 ) 43.0(2 +?+-e π 答案: 3,z = 10sin(π/3) ... cos(π/3) 答案: 4,x = sin(223/3), y = x^2,z = y*10 ; 求x+2y-5z 答案: 5,i e z i z i z ?==+=π23215,2,72,计算3 221z z z z z += 答案: 6, 建立起始值=3,增量值=5.5,终止值=44的一维数组x (填写程序语句) 答案:X=(3:5.5:44) X =

3.0000 8.5000 1 4.0000 19.5000 2 5.0000 30.5000 3 6.0000 41.5000 7, 建立等差一维数组x :首项为0,末项为π,项数为15 (填写程序语句) 答案: >> X=linspace(0,pi,15) X = Columns 1 through 8 0 0.2244 0.4488 0.6732 0.8976 1.1220 1.3464 1.5708 Columns 9 through 15 1.7952 2.0196 2.2440 2.4684 2.6928 2.9172 3.1416 8, 计算行列式的值1 8 7 624 3 23 =A 答案:-8 9, 矩阵??????????=18 7 624323A ,矩阵??? ? ? ?? ???=33 3 222111 B ;分别求出A x B 及A 与B 中对应元素 之间的乘积的程序语句。 答案>> A=[3 2 3;4 2 6;7 8 1] A = 3 2 3 4 2 6 7 8 1 >> det(A) ans = -8

java上机练习题

要求:代码规范,代码风格,思路正确,功能实现 1、设计一个能随机产生100个大写英文字母的方法,在该方法中统计产生了多少元音字母,并输出这个数字。 2、编写一个矩形类Rect,包含: 两个protected属性:矩形的宽width;矩形的高height。 两个构造器方法: (1)一个带有两个参数的构造器方法,用于将width和height属性初化; (2)一个不带参数的构造器,将矩形初始化为宽和高都为10。 两个方法: (1 求矩形面积的方法area() (2 求矩形周长的方法perimeter() 4.编写一个Java源程序,在程序中建立一个含10个整型(int)元素的一维数组,对数组中的每个元素赋值,然后按下标的逆序输出。 5. 设计一个圆类(Circle),将圆的位置(圆心坐标和半径)作为属性(提供任意圆的设置),并能计算圆的面积。 Circle类必须满足以下要求: (1) 圆类Circle 的属性有: cPoint_x : int型,代表圆心横坐标。 cPoint_y : int型,代表圆心纵坐标。 cRadius: double型,代表圆的半径。 cPI: double型,最终静态变量初值为3.14,代表圆的圆周率。 cArea: double型,代表圆的面积。 (2) 圆类Circle 的方法有: Circle ( ) : 构造函数,将圆的圆心置坐标原点,半径置1。 Circle ( int x , int y, double r) : 构造函数,形参 r 为半径的初值,x为横坐标的初值,y为纵坐标的初值。 double cAreaCount() : 计算当前圆类对象的面积并赋值给Circle类的cArea属性,返回cArea的值给此方法的调用者。 String toString( ) : 把当前圆类对象的圆心坐标、半径以及面积组合成“圆心为(x, y)半径为r的圆的面积为cA”字符串形式,其中x、 y、r和cA分别为横坐标、纵坐标、半径和面积的数据。 7、猜数游戏 随机生成一个数 输入一个数 如果比随机生成的数大,显示“猜错了,比这个数小” 如果比随机生成的数小,显示“猜错了,比这个数大” 如果相等,显示“恭喜你,答对了” 8、写一个彩票程序

软件基础第一次上机作业

1、设有一个线性表E={e1, e2, … , en-1, en},设计一个算法,将线性表逆置,即使元素排列次序颠倒过来,成为逆线性表E’={ en , en-1 , … , e2 , e1 },要求逆线性表占用原线性表空间,并且用顺序表和单链表两种方法表示,分别用两个程序来完成。(文件夹:顺序表逆置、单链表逆置) 线性表:#include<> #include<> typedef char datatype; const int maxsize=1024; typedef struct { datatype data[maxsize]; int last; }sequenlist; void create(sequenlist*&); void print(sequenlist*); void invert(sequenlist*); void main() { sequenlist*L; create(L); printf("建立的顺序表是:"); print(L); invert(L); printf("逆置后的顺序表是:"); print(L); } void create(sequenlist*&L) { L=(sequenlist*)malloc(sizeof(sequenlist)); L->last=0; printf("请输入数据:"); char ch; while((ch=getchar())!='\n') { L->last++; L->data[L->last]=ch; } } void print(sequenlist*L) { for(int i=1;i<=L->last;i++) printf("%2c",L->data[i]);

C语言上机练习题

上机练习题 1.输入一个不超过五位的正整数,输出其逆数。例如输入12345,输出应为54321。 2.计算1+2+3…+n的值,n是从键盘输入的自然数。 3.从终端(键盘)读入20个数据到数组中,统计其中正数的个数,并计算这些正数之和。 4.从终端(键盘)将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中 各元素的值。 5.要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,每种面 值至少1张,编程输出所有可能的换法,程序应适当考虑减少重复次数。 6.求n以内(不包括n)同时能被3和7整除的所有自然数之和的平方根s,n从键盘输入。 例如若n为1000时,函数值应为:s=153.909064。 7.一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下 车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索找出车号。 8.输入1~10之间的一个数字,输出它对应的英文单词。 9.个位数为6且能被3整除但不能被5整除的三位自然数共有多少个,分别是哪些? 10.用自然语言描述程序逻辑如下,试写程序。 ①设置环境; ②定义变量i、j、s,以及用于放置结果的变量sum,并令sum初值为0; ③i=1; ④如果i≤100,则转⑤,否则转⑧; ⑤令s=0,求前i个自然数之和,并放于变量s之中; ⑥sum=sum+s; ⑦i增加1,转④; ⑧输出和sum,结束。 11.用自然语言描述的程序逻辑为: ①设置环境; ②定义变量i、flag和password,并令flag=0,i=0; ③用户回答口令,将其赋于password变量; ④口令正确?如果是,则flag=1,转⑥。否则转⑤; ⑤回答三次口令了吗?如果没有,计数器加1后(i++),转③,否则转⑥; ⑥根据flag之值输出相应信息。 12.用自然语言描述的程序逻辑如下: ①设置环境; ②定义变量digit、x、y分别表示原始数、原始数的个位数和逆数; ③输入原始正整数x; ④从x中分解出个位数字digit; ⑤合并个位digit至逆数y中; ⑥原始数x缩小10倍:x=x/10; ⑦如果x非零,则转④; ⑧输出逆数y,结束 13.输入某三角形的三个边的长度,判断出这是个什么三角形(等腰、等边、任意,或不能构 成)。 14.输入10个数,分别统计其中正数、负数、零的个数。 15.先随机产生N个三位自然数输出,然后再输出其中同时是3、5、7倍数的数。(设N为100)

武汉大学c++第一次上机试题

实验一开发环境与简单C++程序 一.实验目的 1.熟悉VC++开发环境,能够使用开发环境提供的工具创建项目,编辑源程序,编译、 运行程序。 2.熟悉常见的编译错误及其改正方法。 3.掌握利用VC++调试工具对程序进行调试的步骤、方法。 4.掌握C++语法组成要素及其定义。 5.C++程序的控制。 6.培养良好的编程习惯 二.知识要点 1.C++程序的开发流程。 2.C++的基本数据类型 3.标准C++关键字的作用、标识符定义、运算符的优先级别及结合方向。 4.标准C++程序的流程控制方式。 三.实验内容 ㈠Visual C++集成开发环境应用实习 ⒈创建应用程序Mysdi使用资源编辑器编辑图标、工具栏、快捷键、串表和版本信息。 ⒉创建一个名为mydlg的对话框应用程序,并修改程序的大小图标、修改版本号等。 ⒊课本P221-20 ㈡C++语言基础实习 ⒈从键盘输入一个字符序列,编程统计其中的数字个数和英文字母个数,输入的字符序 列以“#”作为结束符。 ⒉编写一段程序,当用户输入一个6位数据时,程序可以将其分离为单独的数字,分离 结果之间用3个空格分开。(应用求模运算符和整型除法) ⒊采用指针方法将一个数组中的所有元素颠倒顺序,结果仍然放在原来的数组中,要求 使用最少的辅助存储单元。 ⒋使用结构变量表示每个学生的信息:姓名、学号、三门课的成绩和平均成绩。编写一 个冒泡排序函数,根据学生的平均成绩排序。从键盘上输入10个学生的数据,在主函数中调用排序函数输出每个学生的姓名和三门课的成绩以及平均成绩。 ⒌编写一段程序,确定员工的工资总额。每位员工在一周内工作40小时以内,是按正规 工作时间付酬,超出40小时,是正规工作时间报酬的1.5倍。假定已经有了公司员工的

ppt上机操作题及答案

PowerPoint题共24道题 第1题 题目: ①建立页面一:版式为“标题幻灯片”; 标题内容为“思考与练习”并设置为黑体72; 副标题内容为“--小学语文”并设置为宋体28倾斜; ②建立页面二:版式为“只有标题”; 标题内容为“1、有感情地朗读课文”并设置为隶书36分散对齐; 将标题设置“左侧飞入”动画效果并伴有“打字机”声音; ③建立页面三:版式为“只有标题”; 标题内容为“2、背诵你认为写得好的段落”并设置为隶书36分散对齐; 将标题设置“盒状展开”动画效果并伴有“鼓掌”声音; ④建立页面四:版式为“只有标题”; 标题内容为“3、把课文中的好词佳名抄写下来”并设置为隶书36分散对齐; 将标题设置“从下部缓慢移入”动画效果并伴有“幻灯放映机”声音; ⑤设置应用设计模板为“Blueprint”; ⑥将所有幻灯片的切换方式只设置为“每隔6秒”换页; 答案: 1、启动PowerPoint单击页面——在“新幻灯片”对话框中选择“标题幻灯片”——确定——单击“标题”框,输入标题内容“思考与练习”——选中文字(或单击标题框)——格式工具栏,字体列表中选择黑体、字号选72 2、单击“副标题”框,输入标题内容“--小学语文”——选中文字(或单击副标题框)——格式工具栏,字体列表中选择宋体、字号选28 、选斜体 3、选择插入菜单、新幻灯片命令——在“新幻灯片”对话框中选择“只有标题”——确定——单击“标题”框,输入标题内容“1、有感情地朗读课文”——选

中文字(或单击标题框)——格式工具栏,字体列表中选择隶书、字号选36 、单击分散对齐按钮 4、选择“幻灯片放映”菜单、“自定义动画”命令——在“自定义动画”对话框中,“检查动画幻灯片对象”中选中“标题1”——“效果”选项卡、“动画和声音”列表选“飞入”、“左侧”、声音项选“打字机” ——确定 5、选择插入菜单、新幻灯片命令——在“新幻灯片”对话框中选择“只有标题”——确定——单击“标题”框,输入标题内容“2、背诵你认为写得好的段落”——选中文字(或单击标题框)——格式工具栏,字体列表中选择隶书、字号选36 、单击分散对齐按钮 6、选择“幻灯片放映”菜单、“自定义动画”命令——在“自定义动画”对话框中,“检查动画幻灯片对象”中选中“标题1”——“效果”选项卡、“动画和声音”列表选“盒状”、“展开”、声音项选“鼓掌” ——确定 7、选择插入菜单、新幻灯片命令——在“新幻灯片”对话框中选择“只有标题”——确定——单击“标题”框,输入标题内容“3、把课文中的好词佳名抄写下来”——选中文字(或单击标题框)——格式工具栏,字体列表中选择隶书、字号选36 、单击分散对齐按钮 8、选择“幻灯片放映”菜单、“自定义动画”命令——在“自定义动画”对话框中,“检查动画幻灯片对象”中选中“标题1”——“效果”选项卡、“动画和声音”列表选“缓慢移入”、“从下部”、声音项选“幻灯放映机” ——确定 9、选择格式菜单、应用设计模板命令——在“应用设计模板”对话框中,选“B luep rint.pot” ——应用 10、选择“幻灯片放映”菜单、“幻灯片切换”命令——在“幻灯片切换”对话框中,“换页方式”项去掉“单击鼠标换页”、选择“每隔”项、框中选择“0 0:06” ——全部应用 11、单击常用工具栏“保存”按钮(或选择文件菜单保存按钮)保存文件 第2题 题目: ①建立页面一:版式为“只有标题”; 标题内容为“长方形和正方形的面积”并设置为宋体48加下划线; ②建立页面二:版式为“只有标题”; 标题内容为“1、面积和面积单位”并设置为仿宋体36两端对齐;

C语言实验指导书

《C语言程序设计》实验指导书 每次实验(10分)一共100分,最后折合成50分计入最终成绩。 第一次实验(一星期完成) ●内容一:熟悉编译环境和工具 在VS中键入以下的这段程序 1)关键字变色,自动缩近,智能提醒 2)代码风格和注释 3)编译出错,连接出错。修改错误 4)调试,断点,监控变量,进入函数,跳出函数。监控内存,监控堆栈 在linux中键入以下这段程序 1)熟悉VIM程序,gcc编译程序(开两个终端窗口) 2)熟悉GDB调试程序的基本技巧。(list,backstrac; break, watch,delete; next, continue, run; print,set,help) 其中,help命令是一个非常的参考,如果忘记了某条具体的命令,可以随时去参考help命令来得到相关的细节。 3)介绍《鸟歌的私房菜》这本书 ●内容二:登陆https://www.360docs.net/doc/7c3408848.html,网站,在线提交。 1)熟悉基本的提交方法和规则 2)现场演示反作弊程序的效果 ●程序: 输入:两个整数,用空格分隔, 输出:两个整数的和,计算两个整数的和的功能,要求用函数实现,同时如果输入有错误,例如(12 abc)程序能够给出“error input”的提示。 参考输入: 12 33 参考输出: 45 参考输入: 12 abc 参考输出:

error input ●思考和扩展(无标准答案) 如果用户输入12 12abc 如何判断并终止程序,输出“error input”的提示 第二次实验(一星期完成) ●内容一:登陆ACM,演示OJ系统 1)介绍这个网站,有兴趣的同学可以去尝试一下() ●内容二:计算工资/小时程序 1)强制类型转换 2)一共有多少位的算法 3)整形数的溢出,以及针对特定问题,如何解决溢出问题 注意:linux编译下应该加上–lm 开关。 ●程序: 输入:工资数,小时数(整数,空格分隔)。 输出:工资/小时数(精确到小数点后2位),并根据四舍五入取整,然后将取整的数平方后计算一共有几位,后三位分别是什么? 参考输入: 2345 2 ←input (separate by space) 参考输出: 1172.50 ←average salary 1173 ← round off to integer 7 ← number of digit 0 2 5 ← the last three digit (separate by space) 第三次实验(两星期完成) ●内容一:介绍linux 下的grep,并给出相应的实例。重点介绍下面要用到的四个符号。 ●内容二:正则表达式 ^ 代表字符串开始 . 代表任意字符 $ 代表字符串末尾

c++第一次上机考试试题

《面向对象程序设计》过程考核大纲 第一单元类和对象 一、考核目标 主要考察类、对象、类的组合、友元等概念和使用方法,通过考试,使学生掌握类和对象的概念和语法;掌握面向对象的基本概念和对象的使用方法。掌握构造函数和析构函数的作用和语法。掌握类的组合,利用组合进行面向对象程序设计,掌握组合情况下的构造和析构函数,掌握友元函数的意义和用法。 二、考核内容 1.类的编写和对象的创建。 2.通过对象调用成员函数。 3.构造函数和析构函数。 4.类的组合,组合时构造函数的调用。 5.友元函数。 6.类的静态成员。 三、考试要求 1.不允许携带U盘和教材等进入考场。 2.考试过程中保持安静,独立按要求完成考试题目。 3.考试结束后,请坐在座位上,等待监考老师确认你的考题之后方可签字离开。 4.在桌面上新建一个文件夹,以“学号+姓名”形式命名,如:20130102张三。 该文件夹中应该包含两个子文件夹(文件夹名分别为:第一题第二题),分别存放两道题的相关工程文件以及测试结果等。

《面向对象程序设计》第一次过程考核A卷 (学号尾号为单数的学生完成A卷) 1.已知一个名为Complex的复数类,这个类包含: (1)私有成员:实部、虚部,且均为int 型 (2)公有的带默认形参值的构造函数、复制构造函数 (3)公有成员函数Display,其作用为显示复数 要求: (1)实现满足上述属性和行为的Complex类定义; (2)设计函数AddComplex,函数AddComplex功能为实现两个复数相加,要求该函数的形参为复数类的常引用; (3)保证如下主函数能正确运行, int main(){ Complex c0(2,-3); Complex c1(c0); cout<<"c1 is: "; c1.Display(); Complex c2(3,4); cout<<"c2 is: "; c2.Display(); Complex c3; c3 = AddComplex(c1,c2); cout<<"c3 is: "; c3.Display(); return 0; } 且输出结果如下: c1 is: 2-3i c2 is: 3+4i c3 is: 5+1i 2.2.已知表示点的类CPoint和表示线段的CLine类, 类CPoint包含:(1)表达点位置的私有数据成员x,y (2)构造函数及复制构造函数 类CLine包含: (1)两个CPoint的点对象(该两点分别为线段的两个端点)

Java上机题目及答案代码

Java上机实践三 实验题目1 假设字符串s1、s2、s3的定义如下: String s1 = “A String”; String s2 = “A String”; String s3 = s1; 请写出下列表达式的值: s1 == s2 s1 == s3 s1.length() s1.equals(s2) s1.equals(s3) https://www.360docs.net/doc/7c3408848.html,pareTo(s2) https://www.360docs.net/doc/7c3408848.html,pareTo(s3) s1.concat(s3) s1.indexOf(‘t’) https://www.360docs.net/doc/7c3408848.html,stIndexOf(‘t’) 实验目的 (1)熟悉字符串类String。 (2)学习创建类String的对象。 (3)学习使用类String执行字符串操作。 实验步骤 (1)按题目的要求创建String对象s1、s2,并声明对象引用s3指向s1;(2)调用String类的相关方法,执行指定操作并输出结果。 package lab1; public class Showstr { public static void main(String[] args){ String s1 ="A String"; String s2 ="A String"; String s3 = s1; System.out.println(s1 == s2); System.out.println(s1 == s3); System.out.println(s1.length()); System.out.println(s1.equals(s2)); System.out.println(s1.equals(s3)); System.out.println(https://www.360docs.net/doc/7c3408848.html,pareTo(s2)); System.out.println(https://www.360docs.net/doc/7c3408848.html,pareTo(s3)); System.out.println(s1.concat(s3));

广工《Java语言程序设计基础教程》上机实验指导手册(第一次)

《Java语言程序设计基础教程》 上机实验指导手册 实验一 Java环境演练 【目的】 ①安装并配置Java运行开发环境; ②掌握开发Java应用程序的3个步骤:编写源文件、编译源文件和运行应用程序; ③掌握开发Java Applet程序的3个步骤:编写源文件、编译源文件和运行Java Applet 程序; ④学习同时编译多个Java源文件。 【内容】 1.一个简单的应用程序 ?实验要求: 编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。 ?程序运行效果示例: 程序运行效果如下图所示: ?程序模板: Hello.java public class Hello { public static void main (String args[ ]) { 【代码1】//命令行窗口输出"你好,很高兴学习Java" A a=new A(); a.fA(); } } class A { void fA() { 【代码2】//命令行窗口输出"We are students" } } ?实验后的练习: 1.编译器怎样提示丢失大括号的错误? 2.编译器怎样提示语句丢失分号的错误? 3.编译器怎样提示将System写成system这一错误?

4.编译器怎样提示将String写成string这一错误? 2.一个简单的Java Applet程序 ?实验要求: 编写一个简单的Java Applet程序,并在Java Applet中写两行文字:“这是一个Java Applet程序”和“我改变了字体”。 ?程序运行效果示例: 程序运行效果如下图所示: ?程序模板: FirstApplet.java import java.applet.*; import java.awt.*; public class FirstApplet extends Applet { public void paint(Graphics g) { g.setColor(Color.blue); 【代码1】//在Java Applet中绘制一行文字:“这是一个Java Applet 程序” g.setColor(Color.red); g.setFont(new Font("宋体",Font.BOLD,36)); 【代码2】//在Java Applet中绘制一行文字:“我改变了字体” } } ?实验后的练习: 5.程序中的主类如果不用public修饰,编译能通过吗? 6.程序中的主类如果不用public修饰,程序能正确运行吗? 7.程序将paint方法误写成Paint,编译能通过么? 8.程序将paint方法误写成Paint,运行时能看到有关的输出信息吗? 3.联合编译 ?实验要求: 编写4个源文件:Hello.java、A.java、B.java和C.java,每个源文件只有一个类,Hello.java是一个应用程序(含有main方法),使用了A、B和C类。将4个源文件保存到同一目录中,例如:C:\100,然后编译Hello.java。 ?程序运行效果示例: 程序运行效果如下图所示: ?程序模板: 模板1:Hello.java public class MainClass { public static void main (String args[ ]) {

第一次上机练习-习题-结果

习题1 请根据给出的数据库表结构来回答相应问题: DEPT (DEPTNO INT, DNAME VARCHAR(14),LOC VARCHAR(13)); EMP (EMPNO INT,ENAME VARCHAR(10), JOB VARCHAR(9), MGR INT, HIREDATE DATE, SAL FLOAT, COMM FLOAT, DEPTNO INT); BONUS (ENAME VARCHAR(10), JOB VARCHAR(9), SAL INT, COMM INT); SALGRADE ( GRADE INT, LOSAL INT, HISAL INT); 其中表中包含如下数据: DEPT表: EMP表: SALGRADE表: BONUS表:无数据 根据上面描述完成下面问题:

(注意:注意保存脚本,尤其是DDL和DML,以便进行数据还原) DDL 1.写出上述表的建表语句。此外,在DEPT上创建名为”PK_DEPT”的主 键约束,在EMP表上创建名为”PK_EMP”的主键约束以及指向表DEPT 的外键约束”FK_DEPTNO”。 命令:create table DEPT(DEPTNO int ,DNAME nvarchar,LOC nvarchar,primary key(pk_dept)); Create table EMP(EMPNO int ,ENAME nvarchar, JOB nvarchar, MGR int,HIREDATE datetime,SAL int ,COMM float, DEPTNO int,primary key (pk_emp),foregin key(fk_deptno)references dept); DML 2.给出相应的INSERT语句来完成题中给出数据的插入。 命令:insert(“1”,”accounting”,”null”) 3.将所有员工的工资上浮10%.然后查询员工、薪水、补助。(emp.sal 为工资,https://www.360docs.net/doc/7c3408848.html,m为补助) 命令:select ename,sal*1.1,comm From emp 结果:

上机操作练习题

上机操作期末复习 一、Word操作 1、在“素材”文件夹中打开文档doc001.doc,按要求完成下面的操作,并以原文件名保存到自己的文件夹中。(必做) (1)将全文中的“数据传送”一词替换为“数据传输”,标题“56K Modem” 设置为英文字体Tahoma、二号红色阴影黑体、加单下划线、居中、并添 加文字蓝色底纹;正文部分的汉字设置为宋体,字号为五号,英文设置 为Times New Roman字体,将标题段的断后间距设置为1行。 (2)正文各段首行缩进2个字符、行距设置为20磅、段后间距设置为0.5行。 第一段首字下沉2行,距正文为0.2厘米。 2、在“素材”文件夹中打开doc002.doc,按要求完成下面的操作,并以原文件名保存到自己的文件夹中。(必做) 1)在第三行前插入一行,并按原有格式输入如下内容: 李明 520 550 40 2)在“总收入”字段中计算各人的收入总额。 3)按“基本工资”的多少,从高到低对表格进行排序。 4)设置表格的列宽为2.5厘米,行高为0.8厘米,将表格中所有单元格内容设 置为中部居中。 5)将最后一行的2、3、4、5列合并成一个单元格,并设置灰25%的底纹。3、在“素材”文件夹中打开doc003.doc,按要求完成下面的操作,并以原文件名保存到自己的文件夹中。(选做) 1)将素材所提供的文字转换成一个5行6列的表格; 2)在表格中的第五行前插入一行,并以表中原有内容的字体、字号和格式添 加下列内容:四车间 24192619; 3)将表格外框线改为1.5磅单实线,内框线改为0.25磅单细实线; 4)表格中的中文改为粗黑体四号;表格中内容均居中; 5)计算表格中的每车间的总计; 4、在“素材”文件夹中打开doc004.doc,按要求完成下面的操作,并以原文件名保存到自己的文件夹中。(必做) 1)设置纸张大小为A4,方向为纵向,上下页边距为2.3厘米,左右页边距为3 厘米。

测控电路实验指导书

目录 第一次实验 实验二信号放大电路实验 (1) 第二次实验 实验六幅度调制及解调实验 (6) 实验七移相电桥实验 (19) 第三次实验 实验八脉宽调制电路实验 (20) 实验十一开关式相乘调制及解调实验 (12) 第四次实验 实验十二精密全波整流及检波实验 (14) 实验十三开关式全波相敏检波实验 (16) 第五次实验 实验十四锁相环单元实验 (18) 实验十五分频器单元实验 (34)

实验二 信号放大电路实验 一、实验目的 1.研究由集成运算放大器组成的基本放大电路的功能。 2.了解运算放大器在实际应用时应考虑的一些问题。 二、实验原理 集成运算放大器是一种具有电压放大倍数高的直接耦合多级放大电路。当外部接入不同的线性或非线性元器件组成输入和负反馈电路时,可以灵活地实现各种特定的函数关系。在线性应用方面,可以组成反相比例放大器,同相比例放大器,电压跟随器,同相交流放大器,自举组合电路,双运放高共模抑制比放大电路,三运放高共模抑制比放大电路等。 理想运算放大器的特性: 在大多数情况下,将运放视为理想运放,就是将运放的各项技术指标理想化,满足下列条 件(如表2-1所示)的运算放大器称为理想运放。 失调与漂移均为零等。 理想运放在线性应用时的两个重要特性: (1)输出电压U O 与输入电压之间满足关系式:U 0=A ud (U +-U -),而U 0为有限值,因此,(U +-U -)=0,即U +=U -,称为“虚短”。 (2)由于r i =∞,故流进运放两个输入端的电流可视为零,即称为“虚断”。这说明运放对其前级吸取电流极小。 以上两个特性是分析理想运放应用电路的基本原则,可简化运放电路的计算。 1.基本放大电路: 1)反向比例放大器 电路如图2-1所示。对理想运放,该电路的输出电压与输入电压之间的关系为: i 1 F O U R R U - =,为了减少输入级偏置电流引起的运算误差,在同相输入端应接入平衡电阻 R 2=R 1∥R F 图2-1 反向比例放大器 图2-2 同相比例放大器 2)同相比例放大器 电路如图2-2所示。对理想运放,该电路的输出电压与输入电压之间的关系为:

相关文档
最新文档