学号2011111435 姓名张芳荣
实验3. 最简单的C程序设计——顺序程序设计
1.实验目的
⑴.掌握C语言中使用最多的一种语句——赋值语句的使用方法。
⑵.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
⑶.进一步掌握编写程序和调试程序的方法。
2. 实验内容和步骤
⑴.通过下面的程序掌握各种格式转换符的正确使用方法。
①.输入以下程序:
#include
int main()
{ int a,b;
float d,e;
char c1,c2;
double f,g;
long m,n;
unsiguld int p,q;
a=61;b=62;
c1='a';c2='b';
d=3.56;e=-6.87;
f=3157.890121;g=0.123456789;
m=50000;n=-60000;
p=32768;q=40000;
printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);
printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n",f,q,m,n,p,q);
}
②.运行此程序并分析结果。
--------------------Configuration: text1 - Win32 Debug--------------------
Compiling...
text1.c
c:\users\zhfr\desktop\实验3\text1.c(8) : error C2065: 'unsiguld' : undeclared identifier
c:\users\zhfr\desktop\实验3\text1.c(8) : error C2143: syntax error : missing ';' before 'type'
c:\users\zhfr\desktop\实验3\text1.c(11) : warning C4305: '=' : truncation from 'const double ' to 'float '
c:\users\zhfr\desktop\实验3\text1.c(11) : warning C4305: '=' : truncation from 'const double ' to 'float '
c:\users\zhfr\desktop\实验3\text1.c(14) : error C2065: 'p' : undeclared identifier
c:\users\zhfr\desktop\实验3\text1.c(14) : error C2065: 'q' : undeclared identifier
执行cl.exe 时出错.
text1.obj - 1 error(s), 0 warning(s)
分析结果:关键字unsigned输错为unsiguld,导致定义变量出错。在进行编译时,对float 变量分配4个字节,但对于浮点型常量3.56与-6.87,则按双精度处理,所以编译系统发出警告。检查发现,第16行printf语句的输出表列有误,左起第一个“q”应该改为“g”。修改,再使之运行,分析其运行结果。
运行此程序:
分析结果:此程序各个数值都在指定类型范围内,数值输出正确。
③.在此基础上,将程序第10~14行改为
c1=a;c2=b;
f=3157.890121;g=0.123456789;
d=f;e=g;
p=a=m=50000;q=b=n=-60000;
运行程序,分析结果。
运行此程序:
分析结果:a的值61赋给c1,ASCII值61对应的字符是“=”;b的值62赋给c2,ASCII 值61对应的字符是“>”;f的值赋给d,g的值赋给e,由于f、g是双精度浮点型,d、e是单精度浮点型,所以转化后相应的数据精度会降低;50000赋给m、a、p,-60000赋给n、b、q,50000在变量m、a、p范围内,所以都输出50000,-60000在变量n、b范围内,所以都输出-60000,但q是无符号基本整型变量,所以赋给一个负值不能正确输出。
④.用sizeof运算符分别检测程序中各类型的数据占多少字节。例如,int型变量a的字节数为sizeof(a)或sizeof(int),用printf函数语句输出各类型变量的长度(字节数)。
在text2.c基础上,程序第16行后加入
printf("int:%d\n",sizeof(int));
printf("float:%d\n",sizeof(float));
printf("char:%d\n",sizeof(char));
printf("double:%d\n",sizeof(double));
printf("long:%d\n",sizeof(long));
printf("unsigned int:%d\n",sizeof(unsigned int));
运行程序,分析结果。
运行此程序:
分析结果:通过检测,程序中int型数据长度为4字节,float型数据长度为4字节,char型数据长度为1字节,double型数据长度为8字节,long型数据长度为4字节,unsigned int 型数据长度为4字节。
⑵.设圆半径r = 1.5,圆柱高h = 3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。编程序,用scanf输入数据,输出计算结果。输出时要有文字说明,取小数点后两位数字(第3章第7题)。
程序为:
#include
#define Pi 3.1415926
int main()
{
float r,h,c,s1,s2,v1,v2; //定义圆半径r,圆柱高h,圆周长c,圆面积s1,圆球表面积s2,圆球体积v1,圆柱体积v2
printf("请输入圆半径r,圆柱高h(中间用空格隔开):");
scanf("%f %f",&r,&h); //要求输入圆半径r和圆柱高h,中间用空格隔开
c=2*Pi*r; //计算圆周长c
s1=Pi*r*r; //计算圆面积s1
s2=4*Pi*r*r; //计算圆球表面积s2
v1=4.0/3.0*Pi*r*r*r; //计算圆球体积v1
v2=Pi*r*r*h; //计算圆柱体积v2
printf("圆周长为: c=%6.2f\n",c);
printf("圆面积为: s1=%6.2f\n",s1);
printf("圆球表面积为: s2=%6.2f\n",s2);
printf("圆球体积为: v1=%6.2f\n",v1);
printf("圆柱体积为: v2=%6.2f\n",v2); //输出各个数值,小数点后取两位数字
return 0;
}
运行此程序:
分析结果:输入圆半径r=1.5和圆柱高h=3,运算得到相应的数值,小数点后取两位数字。
⑶.计算存款利息(第3章第2题)。
有1000元,想存5年,可按以下5种办法存:
①一次存5年期。
②先存2年期,到期后将本息再存3年期。
③先存3年期,到期后将本息再存2年期。
④存1年期,到期后将本息再存1年期,连续存5次。
⑤存活期存款。活期利息每一季度结算一次。
银行存款利率:请去银行查当日利率。
计算利息的公式见第3章第2题。
最近的银行存款利率是2012-07-06的数据如下:
活期存款年利率是0.35%,一年定期存款年利率是3.00%,二年定期存款年利率是3.75%,三年定期存款年利率是4.25%,五年定期存款年利率是4.75%,依公式计算本息和。
程序为:
#include
#include
int main()
{
float p=1000,r5=0.0475,r3=0.0425,r2=0.0375,r1=0.03,r0=0.0035,p5,p3,p2,p1,p0;
p5=p*(r5*5+1);
p3=p*(r2*2+1)*(r3*3+1);
p2=p*(r3*3+1)*(r2*2+1);
p1=p*pow(1+r1,5);
p0=p*pow(1+r0/4,20);
printf("p5=%f\np3=%f\np2=%f\np1=%f\np0=%f\n",p5,p3,p2,p1,p0);
return 0;
}
运行此程序:
⑷.编程序将"China"译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母"A"后面第4个字母是"E",用"E"代替"A"。因此,"China"应译为"Glmre"。请编一程序,用赋初值的方法使c1,c2,c3,c4,c5这5个变量的值分别为'C','h','i','n','a',经过运算,使c1,c2,c3,c4,c5分别为'G','l','m','r','e'。分别用putchar函数和printf函数输出这5个字符。(第3章第6题)
①.输入事先已编好的程序,并运行该程序。分析是否符合要求。
程序为:
#include
int main()
{
char c1='C',c2='h',c3='i',c4='n',c5='a';
c1=c1+4;
c2=c2+4;
c3=c3+4;
c4=c4+4;
c5=c5+4;
printf("Password is %c%c%c%c%c\n",c1,c2,c3,c4,c5);
return 0;
}
运行此程序:
分析结果:依题意,字母相应的ASCII值加上4即可得到密码。
②.改变c1,c2,c3,c4,c5的初值为:'T'、'o'、'd'、'a'、'y',对译码规律做如下补充:'W'用'A'
代替,'X'用'B'代替,'Y'用'C'代替,'Z'用'D'代替。修改程序并运行。
程序为:
#include
int main()
{
char c1='T',c2='o',c3='d',c4='a',c5='y';
c1+=-22;
c2+=-22;
c3+=-22;
c4+=-22;
c5+=-22;
printf("Password is %c%c%c%c%c\n",c1,c2,c3,c4,c5);
return 0;
}
运行此程序:
分析结果:依题意,字母相应的ASCII值减去22即可得到密码。
③.将译码规律修改为:将一个字母被它前面第4个字母代替,例如'E'用'A'代替。修改程序并运行。
程序为:
#include
int main()
{
char c1='C',c2='h',c3='i',c4='n',c5='a';
c1=c1-4;
c2=c2-4;
c3=c3-4;
c4=c4-4;
c5=c5-4;
printf("Password is %c%c%c%c%c\n",c1,c2,c3,c4,c5);
return 0;
}
运行此程序:
分析结果:依题意,字母相应的ASCII值减去4即可得到密码。
注:为了方便运行阅读,每个源文件在主函数末端(return 0;)语句前加上"getch();",而后进行编译得到可执行文件;text1.c因为不能正确编译,所以不能生成text1.exe文件。
北京交通大学海滨学院考试试题 课程名称:数学实验2010-2011第一学期出题教师:数学组适用专业: 09机械, 物流, 土木, 自动化 班级:学号:姓名: 选做题目序号: 1.一对刚出生的幼兔经过一个月可以长成成兔, 成兔再经过一个月后可以 繁殖出一对幼兔. 如果不计算兔子的死亡数, 请用Matlab程序给出在未来24个月中每个月的兔子对数。 解: 由题意每月的成兔与幼兔的数量如下表所示: 1 2 3 4 5 6 ··· 成兔0 1 1 2 3 5··· 幼兔 1 0 1 1 2 3··· 运用Matlab程序: x=zeros(1,24); x(1)=1;x(2)=1; for i=2:24 x(i+1)=x(i)+x(i-1); end x 结果为x = 1 1 2 3 5 8 13 21 3 4 5 5 89 144 233 377 610 987 1597 2584 4181 6765 1094 6 7711 2865 7 46368 2.定积分的过程可以分为分割、求和、取极限三部分, 以1 x e dx 为例, 利用
已学过的Matlab 命令, 通过作图演示计算积分的过程, 并与使用命令int() 直接积分的结果进行比较. 解:根据求积分的过程,我们先对区间[0,1]进行n 等分, 然后针对函数x e 取和,取和的形式为10 1 i n x i e e dx n ξ=≈ ∑ ? ,其中1[ ,]i i i n n ξ-?。这里取i ξ为区间的右端点,则当10n =时,1 x e dx ?可用10 101 1.805610 i i e ==∑ 来近似计算, 当10n =0时,100 100 1 01 =1.7269100 i x i e e dx =≈ ∑?,当10n =000时,10000 10000 1 1 =1.718410000 i x i e e dx =≈ ∑ ?. 示意图如下图,Matlab 命令如下: x=linspace (0,1,21); y=exp(x); y1=y(1:20); s1=sum(y1)/20 y2=y(2:21); s2=sum(y2)/20 plot(x,y); hold on for i=1:20 fill([x(i),x(i+1),x(i+1),x(i),x(i)],[0,0,y(i),y(i),0],'b') end syms k;symsum(exp(k/10)/10,k,1,10);%n=10 symsum(exp(k/100)/100,k,1,100);%n=100 symsum(exp(k/10000)/10000,k,1,10000);%n=10000
《大数据技术原理与应用》实验报告 题目:熟悉常用的HBase操作 姓名:李莹 日期:2018.6.15
实验三熟悉常用的HBase操作 一、实验环境 操作系统:Linux Hadoop版本:2.6.0或以上版本 HBase版本:1.1.2或以上版本 JDK版本:1.6或以上版本 Java IDE:Eclipse 二、实验内容 1.安装Hbase 2.测试Hbase
3.启动Hbase 4.打开Hbase shell 5.设计表
6.编程 (1)插入 public class HbaseTest { public static Configuration configuration; public static Connection connection; public static Admin admin; public static void main(String[] args) { configuration = HBaseConfiguration.create(); configuration.set("hbase.rootdir", "hdfs://localhost:9000/hbase"); try { connection = ConnectionFactory.createConnection(configuration ); admin = connection.getAdmin(); } catch (IOException e) { e.printStackTrace(); } try { insertRow("student", "scofield", "score", "English", "45"); insertRow("student", "scofield", "score", "Math", "89"); insertRow("student", "scofield", "score", "Computer", "100");
简介 遥感试验场是用于遥感技术基础研究、技术试验和检定的,自然条件相对稳定、具有定位观测条件的天然的固定实验场所。遥感技术的基础研究包括从地物的波谱特性经大气传输到传感器获得信息过程中的机理及其相互关系,是研制新型传感器、发展遥感技术新方法、完善判读理论、方法的基础性工作。如美国在发射陆地卫星前后,对地表土壤、岩石、植被、水体等地物的光谱特性均进行了大量测试和研究,为波段的选择、传感器性能检验和遥感资料的判读应用提供了重要依据。 地面遥感试验场基本条件是:应有足够大的面积,如数十至数百平方公里;场内有多种自然要素,如水体、植被、沙地、耕地的大范围分布等。实验场按实验内容分为综合试验场和专业试验场。如中国科学院长春净月潭遥感实验场即为一个综合试验场。它位于吉林省东部山地与松辽平原过渡地带,自然条件复杂、资源丰富。场内有山、水、沼泽和大面积天然次生林人工林以及旱地、水田、菜园等多种天然和人工的景观。地质、地貌、水文、土壤、植被等自然要素,在中国东北地区具有一定的代表性。 场内测试设备齐全,遥感车和动力气球作为平台同大型模拟遥感实验室相结合,为进行地物波谱、昼光、太阳光和天空光辐射测定提供了定位观测条件,是一个比较理想的综合性遥感基础研究实验场地。 中国科学院怀来遥感综合试验站 中国科学院怀来遥感综合试验站。该站隶属于科学院特殊环境网络,是我国目前正在运行的遥感站之一。该试验站所属区域具有华北平原和华北平原向蒙古高原过渡的双重生态地理特征。试验站周边10公里范围内,地表类型丰富,有农田、水域、山地、草场和湿地滩涂。怀来遥感综合试验站现有高架车、高架塔吊等观测平台,并设有自动气象站、波纹比系统、涡动相关仪、气象梯度观测塔(40米)、LAI自动观测系统、6谱段辐射观测系统、漫散射辐射观测系统、大
一、实验内容 (1)掌握在SQL Server管理平台中对表进行插入、修改和删除数据操作的方法。 (2)掌握使用Transact-SQL语句对表进行插入、修改和删除数据操作的方法。 二、实验器材(设备、元器件) Window7操作系统,SQL Server软件 三、实验步骤 (1)启动SQL Server管理平台,在对象资源管理器中展开studentsdb数据库文件夹。 (2)在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图所示在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图所示 (3)在SQL Server管理平台中创建student_info、curriculum表。 学生基本情况表student_info 课程信息表curriculum
①启动SQL Server管理平台,在对象资源管理器中展开studentsdb数据库文件夹。 ②在SQL Server管理平台中创建student_info表。 ③在SQL Server管理平台中创建curriculum表。 (4)使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建表 学生成绩表grade
①新建查询,输入Transact-SQL语句,点击执行 ②出现如下界面,学生成绩表grade建立成功 (5)在SQL Server管理平台中,将student_info表的学号列设置为主键,非空。
(6)student_info、curriculum、grade表中的数据如图所示。 student_info的数据 curriculum的数据 grade的数据 (7)在SQL Server管理平台中为student_info表添加数据
1.(1) [1 2 3 4;0 2 -1 1;1 -1 2 5;]+(1/2).*([2 1 4 10;0 -1 2 0;0 2 3 -2]) 2. A=[3 0 1;-1 2 1;3 4 2],B=[1 0 2;-1 1 1;2 1 1] X=(B+2*A)/2 3. A=[-4 -2 0 2 4;-3 -1 1 3 5] abs(A)>3 % 4. A=[-2 3 2 4;1 -2 3 2;3 2 3 4;0 4 -2 5] det(A),eig(A),rank(A),inv(A) 求计算机高手用matlab解决。 >> A=[-2,3,2,4;1,-2,3,2;3,2,3,4;0,4,-2,5] 求|A| >> abs(A) ans = ( 2 3 2 4 1 2 3 2 3 2 3 4 0 4 2 5 求r(A) >> rank(A) ans =
4 求A-1 《 >> A-1 ans = -3 2 1 3 0 -3 2 1 2 1 2 3 -1 3 -3 4 求特征值、特征向量 >> [V,D]=eig(A) %返回矩阵A的特征值矩阵D 与特征向量矩阵V , V = - + + - - + - + - + - + D = { + 0 0 0 0 - 0 0 0 0 + 0 0 0 0 - 将A的第2行与第3列联成一行赋给b >> b=[A(2,:),A(:,3)'] b = 《 1 - 2 3 2 2 3 3 -2
实验一 %sy1ljq20111668 %第一大题 %1 x=[3,2*pi]; y1=sin(x)+exp(x) %y1= 20.2267 535.4917 %2 x=2:2:10 y2=x.^2+sqrt(2*x) %y2= 6.0000 18.8284 39.4641 68.0000 104.4721 %3 a=2*pi,b=35/180*pi,c=exp(2); y31=sin(a/5)+cos(b)*c y32=tan(b)*cot(a/3) %y31 =7.0038 %y32 =-0.4043 %6 a1=-6.28,a2=7.46,a3=5.37; a11=fix(a1) a21=fix(a2) a31=fix(a3) %a11=-6 %a21=7 %a31=5 %7
y71=abs(a1*a2+a3) y72=a1^2*sqrt(a2*a3/2) %y71 =41.4788 %y72 =176.5066 %8 save sy1 clear %9 load sy1 %10 A=[2 -5 6;8 3 1;-4 6 9]; A1=A' A2=det(A) A3=5*A save sy1 A1 A2 A3 %A1 = 2 8 -4 -5 3 6 6 1 9 %A2 =782 %A3 = 10 -25 30 40 15 5 -20 30 45 %第二大题 %1 X=0:pi/10:2*pi; Y=cos(X);S=[X',Y']
%S = 0 1.0000 0.3142 0.9511 0.6283 0.8090 0.9425 0.5878 1.2566 0.3090 1.5708 0.0000 1.8850 -0.3090 2.1991 -0.5878 2.5133 -0.8090 2.8274 -0.9511 3.1416 -1.0000 3.4558 -0.9511 3.7699 -0.8090 4.0841 -0.5878 4.3982 -0.3090 4.7124 -0.0000 5.0265 0.3090 5.3407 0.5878 5.6549 0.8090 5.9690 0.9511 6.2832 1.0000 %2 a22=input('a22='); b22=input('b22=');
实验报告三 实验目的 (1)掌握一维数组(静态、动态)定义及使用 (2)掌握二维数组(静态、动态)定义及使用 (3)掌握“控件数组”的使用 (4)掌握数组相关算法(求最值,排序,查找) (5)通过数组巩固循环及多重循环程序设计 实验内容 【实验1】对一维数组A(1 to 10)先赋值1、3、5、7、9、11、13、15、17、19,然后再输出。程序运行界面如下图所示。(5分) 掌握一维静态数组的定义及使用 实验结果: 【实验1 代码】 Option Base 1 Dim A(1 T o 10) As Integer Private Sub Command1_Click() Dim i As Integer For i = 1 T o 10 A(i) = 2 * i - 1 Next i End Sub
Private Sub Command2_Click() Dim i As Integer For i = 1 T o 10 Print A(i) Next i End Sub Private Sub Form_Load() End Sub 【实验1 典型结果】 【实验2】用Array函数对一维数组进行赋值,程序运行界面如下图(5分) 掌握一维动态数组的定义及使用 实验结果:
【实验2 代码】 Option Base 1 Dim a Private Sub Command1_Click() a = Array(1, 3, 5, 7, 9, 11, 13, 15, 17, 19) End Sub Private Sub Command2_Click() Dim i As Integer For i = 1 T o 10 Print a(i); Next i End Sub Private Sub Form_Load() End Sub 【实验2 典型结果】 【实验3】动态数组声明及输入输出,程序运行界面如下图所示。(10分)
禹城综合试验站简介 禹城综合试验站成立于1979年,1987被批准为中国科学院首批开放试验站,1989年被列入中国生态系统网络基本站,并于1999年被国家科技部确定为首批国家重点试验站。 禹城站地处黄淮海平原的腹地,地貌类型为黄河冲积平原,土壤母质为黄河冲积物,以潮土和盐化潮土为主,表土质地为轻—中壤土。所在地区属暖温带半湿润季风气候区,该地区黄河古道形成的风沙化土地、渍涝盐碱地、季节性积水涝洼地相间分布,历史上干旱、渍涝、盐碱、风沙等自然灾害频繁,生态环境脆弱,但生产潜力很大,是黄淮海平原的主要农业生产区。该地区农业生态系统以种植业(小麦、玉米、蔬菜为主)、畜牧业(牛、鸡、猪为主)、水产养殖业为主要结构,在黄淮海平原的农业类型具有典型性和代表性。 1)建站历程 二十世纪60年代初,黄秉维先生首次提出“热水平衡及其在自然地理环境中的作用”的著名学说后,地理研究所就开始了实验地理学的新研究方向,先后在山东德州,河北石家庄等地开展了农田能量、水分平衡的定点试验观测研究工作。1965年地理所组织了全所各研究室约30余名研究人员,开展了徳州地区旱涝盐碱综合治理区划的工作,1966年由国家科委副主任范长江率领的国家抗旱工作队,根据地理所提出的徳州地区旱涝盐碱综合治理区划,选定山东禹城县为实验示范点,并由地理所组成规划队,提出在禹城县南部建立约14万亩的旱涝碱综合治理实验区,指挥部设在石屯乡南北庄。十年文化大革命动乱结束后,1978年地理所承担了国家科委下达的关于“南水北
调后的后效及其对环境影响和华北平原水量平衡研究”项目,由所长左大康主持与联合国大学的环境科学家合作进行了南水北调沿线考察,最终确定在禹城南北庄实验区建立定位试验站点,目标是对华北平原的水资源、水量平衡和农作物的耗水、需水规律进行定点试验,以期获得华北平原的水资源定量数据,并对黄淮海平原的旱涝碱中低产田的水盐动态和综合治理改造进行试验和示范。1978年先后由水文室的程维新、赵家义、洪家涟、逢春浩、张兴权等研究人员到南北庄开展土壤水分、作物耗水、地下水动态的定点观测试验和筹建试验站,1980年由中科院资环局出资,在南北庄开工建设办公楼,建立气象观测场、水面蒸发观测场,1979年禹城试验站挂牌,1982年中国科学院正式发文批复,宣布中国科学院禹城综合试验站正式成立。并任命唐登银为站长,程维新、赵家义为副站长。同时左大康所长又派遣气候研究室谢贤群、叶芳德和技术研究室杜懋林、张仁华筹建60米气象铁塔和30米实验遥感铁塔及传感器遥测工作,1984年该项工程完成并通过了专家的验收。直此,禹城试验站开始了完整的野外试验观测工作。1985年由黄秉维先生主持与澳大利亚联邦科工组织(CSIRO)科学家麦克依罗(Mciroy)合作,在禹城站建设我国第一台大型秤重式蒸发渗漏仪(Lysimeter),该仪器表面积3M2,土柱深度2米,可秤重12吨,感应精度为50克,即可感应0。03mm的水分变化。是测定蒸发的相对标准仪器。以该仪器为基础,禹城试验站于1986年申请了国家自然科学基金委员会的重点基金:“农田蒸发测定方法和蒸发规律研究”,从1987年到1989年连续三年开展了农田蒸发的联合观测试验,获得了丰硕成果,1992年获中科院科技进步二等奖。与此同时,禹城站又派遣了程维新、张兴权、欧阳竹、逢春浩、李运生等骨干力量投身到黄淮海中低产田改造和旱涝盐碱综合治理的工作,他们承担和主持
滨江学院 题目数据库实验报告(一) 学生姓名 学号 系部电子工程系 专业通信工程 指导教师林美华 二O一三年十二月十八日
实验一数据库的定义实验 本实验需要2学时。 一、实验目的 要求学生熟练掌握和使用SQL、SQL Server企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收语句和进行结果分析。 二、实验内容 1 创建数据库和查看数据库属性。 2 创建表、确定表的主码和约束条件。为主码建索引。 3 查看和修改表结构。 4 熟悉SQL Server企业管理器和查询分析器工具的使用方法。 三、实验步骤 1 基本操作实验 (1) 使用企业管理器按教材中的内容建立图书读者数据库。 (2)在企业管理器中查看图书读者数据库的属性,并进行修改,使之符合要求。 (3)通过企业管理器,在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为; 图书(书号,类别,,作者,书名,定价,作者). 读者(编号,,单位,性别,). 借阅(书号,读者编号,借阅日期) 要求为属性选择合适的数据类型,定义每个表的主码.是否允许空值和默认值等列级数据约束。 (4)在企业管理器中建立图书、读者和借阅3个表的表级约束.每个表的主码约束.借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式.再通过操作予以实现.实现借阅表的书号和读者编号的惟一性约束:实现读者性别只能是“男”或“女”的Check(检查)约束。 2 提高操作实验 (一) 将教材中用SQL描述的建立学生--课程操作.在SQL Server企业管理器中实现。库中表结构为: 学生(学号,,年龄,性别,所在系). 课程(课程号,课程名,先行课). 选课(学号,课程号,成绩) 要求: 1)建库、建表和建立表间联系。, 2)选择合适的数据类型。 3)定义必要的索引、列级约束和表级约束. 四、实验方法 l创建数据库 (1)使用企业管理器创建数据库的步骤 1)从“开始”菜单中选择;“程序”“Microsoft SQL2000”“企业管理器”.