实验2 数据类型与表达式答案

实验2 数据类型与表达式答案
实验2 数据类型与表达式答案

实验2 数据类型与表达式

实验目的

●掌握C++语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值

的方法;

●懂得转义字符的使用;

●了解基本数据类型的字节宽度;

●进一步熟悉C++程序的编辑、编译、连接和运行的过程;

●掌握数据的输入输出的方法;

●掌握运算符的优先级和结合性,能够正确书写表达式;

●掌握不同的类型数据之间运算的类型转换规则,理解自动类型转换和会使用强制类型转

换。

实验内容:

1、基本数据类型的长度

验证你的C++编译环境中每个基本数据类型的长度(即在内存空间所占的字节个

数)。用sizeof运算符获取类型或数据的所占字节数。

# include

using namespace std;

int main()

{

cout << "字符'a' 所占字节数: " << sizeof('a') << endl;

cout << "字符\"a\"所占字节数: " << sizeof("a") << endl;

cout << "字符串\"China\" 所占字节数: " << sizeof("China") << endl;

cout << "整型常量默认为int,int型所占字节数: " << sizeof(136) << endl;

cout << "短整型short类型所占字节数: " << sizeof(short) << endl;

cout << "实型常量.23456默认为double类型,double字节数:" << sizeof(1.23456) << endl; cout << "float型数据所占字节数:" << sizeof(float) << endl;

cout << "double型数据所占字节数:" << sizeof(double) << endl;

cout << "bool型数据所占的字节数:" << sizeof(bool) << endl;

return 0;

}

1)人工分析程序,写出应得结果,上机后将二者对照。

2)仿照上述程序输出基本数据类型char, short, int, long double, float,

double,bool的数据类型长度。

3)为什么字符串长度比总字符个数还要多1?多\0结束符

/* 结果

字符'a' 所占字节数: 1

字符"a"所占字节数: 2

字符串"China" 所占字节数: 6

整型常量默认为int,int型所占字节数: 4

短整型short类型所占字节数: 2

实型常量.23456默认为double类型,double字节数:8

float型数据所占字节数:4

double型数据所占字节数:8

bool型数据所占的字节数:1

*/

2、先阅读下列程序,写出执行结果(有些程序可能存在错误,请调试、改正)

(1)

#include

using namespace std;

int main()

{

char c1 = ‘’;

char c2 = ‘’;

c1 = 'a';

c2 = 'b';

cout << c1 << endl;

cout << c2 << endl;

return 0;

}

--正确不能赋空值

#include

using namespace std;

int main()

{

char c1 = ' ';

char c2 = ' ';

c1 = 'a';

c2 = 'b';

cout << c1 << endl;

cout << c2 << endl;

return 0;

}

(2)

#include

using namespace std;

int main()

{

char c1 = 0 ;

char c2 = 0;

c1 = 102;

c2 = 400;

cout << c1 << endl;

cout << c2 << endl;

return 0;

}

//C2=400 超出范围

(3)

#include

using namespace std;

int main()

{

char c1 = ‘’;

char c2 = ‘’;

c1 = a;

c2 = b;

cout << c1 << endl;

cout << c2 << endl;

return 0;

}

-- a,b加单引号也可以

#include

using namespace std;

int main()

{

char c1 = ' ',a='c',b='d'; char c2 = ' ';

c1 = a;

c2 = b;

cout << c1 << endl;

cout << c2 << endl;

return 0;

}

(4)

#include

using namespace std;

int main()

{

char c1 = “”;

char c2 = “”;

c1 = ”a”;

c2 = ”b”;

cout << c1 << endl;

cout << c2 << endl;

return 0;

}

--字符串要存在字符数组里或用string定义

#include

using namespace std;

int main()

{

char c1 = '\0';

char c2 = '\0';

c1 = 'a';

c2 = 'b';

cout << c1 << endl;

cout << c2 << endl;

return 0;

}

(5)

#include

using namespace std;

int main()

{

cout << "Prints the \'\\a\' character: " << 'a' << endl;

cout << "------------------------------------" << endl;

cout << "Prints the \"\\t\" character:" << '\t' << "test" << endl;

cout << "------------------------------------" << endl;

cout << "Prints the \"\\r\" character: " << '\r' << "test\n\n\n";

cout << "------------------------------------" << endl;

return 0;

}

--正确,结果

Prints the '\a' character: a

------------------------------------

Prints the "\t" character: test

------------------------------------

Prints the "\r" character:

test

------------------------------------

3、运行程序,观察实验结果。

//该程序已知圆的半径R,输出圆的周长P和面积S

#include

using namespace std;

#define PI 3.14159

const double R = 10;

int main()

{

double peremiter = 0;

double area = 0;

peremiter = 2 * R * PI; //周长 = 2πR

area = R * R * PI; //面积 = πR2

cout << "周长:" << peremiter << endl;

cout << "面积:" << area << endl;

return 0;

}

1)将上述用蓝色字显示的语句改为“ int peremiter;int area;”,比较两次实

验结果有什么不同,为什么?

2)比较用define和const定义符号变量的格式和优缺点

4、阅读下面的程序,写出执行结果。然后上机调试,比较结果的正确性。(有错误

改正后运行)

(1)

#include

using namespace std;

int main()

{

int a = 40;

int b = 4;

int c = 4;

a = (

b == c);

//一个 = 号表示赋值,两个 = = 表示判断两面的值是否相等,是的话为1,否的话为0

cout << "( 前面的 ) a = " << a << endl;

a = a == (

b = c);

cout << "( 经过改变后的 ) a = " << a << endl;

return 0;

}

--结果( 前面的 ) a = 1,( 经过改变后的 ) a = 0

(2)

#include

using namespace std;

int main()

{

int a = 0;

int b = 0;

int c = 0;

a =

b = 2;

c = 3;

b = a++ - 1;

cout << "(第一次) a = " << a << ",b = " << b << endl;

b = ++a - 1;

cout << "(第二次) a = " << a << ",b = " << b << endl;

b = c-- + 1;

cout << "(这时的) b = " << b << ",第一次:c = " << c << endl;

b = --

c + 1;

cout << "(这时的) b = " << b << ",第二次:c = " << c << endl;

return 0;

}

--答案

(第一次) a = 3,b = 1

(第二次) a = 4,b = 3

(这时的) b = 4,第一次:c = 2

(这时的) b = 2,第二次:c = 1

(3)

#include

using namespace std;

int main()

{

int a = 1 ;

int b = 2 ;

int x = 0 ;

int y = 0;

cout << (a++ + ++b) << endl;

//a = 2,b = 3

cout << (a % b) << endl;

x = ! a > b; //!表示“非”的意思

//x = 0

y = x-- && b;

//两个&&表示“与”(而且)的意思,这里用来判断,两边都同时为真(或假)的时候为1,否则就为0

cout << x << endl;

cout << y << endl;

return 0;

}

答案:4

2

-1

(4)

#include

using namespace std;

int main()

{ int i = 0;

int j = 0;

int m = 0;

int n = 0;

i = 8;

j = 10;

m = ++i;

n = j++;

n = (++i) + (++j) + m;

cout << i << '\t' << j << '\n';

cout << m << '\t' << n << '\n';

return 0;

}

答案:i=10,j=12,m=9,n=31

(5)

#include

#include

using namespace std;

int main()

{

{

string s = "a string";

{

string x = s + ", really";

cout << s << endl;

}

cout << x << endl;

}

return 0;

}

修改:局部变量作用范围只在{}内

#include

#include

using namespace std;

int main()

{

{

string s = "a string";

string x = s + ", really";

cout << s << endl;

cout << x << endl;

}

return 0;

}

5、求出下列算术表达式的值,并上机验证结果。

(1) x+(int)a%3*(int)(x+y)%2/4 =2.5设x = 2.5,y = 4.7,a = 7

#include

using namespace std;

int main()

{

double x=2.5,y=4.7,a=7,b;//填上各个变量的数据类型

b = x + (int)a%3*(int)(x+y)%2/4;

cout << "表达式的值为:" << b << endl;//填上表达式

return 0;

}

(2) (float)(a+b)/2-(int)x%(int)y =1.5 设a = 2,b = 3,x = 3.5,y = 2.5 #include

using namespace std;

int main()

{

double x=3.5,y=2.5,a=2,b=3,c;//填上各个变量的数据类型

c = (float)(a+b)/2-(int)x%(int)y;

cout << "表达式的值为:" << c << endl;//填上表达式

return 0;

}

(3) 'a'+x%3+5/2-'\24' =81 设x = 8

#include

using namespace std;

int main()

{

int x=8,b;//填上各个变量的数据类型

b = 'a'+x%3+5/2-'\24' ;

cout << "表达式的值为:" << b << endl;//填上表达式

return 0;

}

可以使用下面程序框架上机验证。

#include

using namespace std;

int main()

{

数据类型 x;//填上各个变量的数据类型

数据类型 y;

数据类型 a;

数据类型 b;

x = ; //对变量赋初值

y = ;

a = ;

b = ;

cout << "表达式的值为:" << (表达式) << endl;//填上表达式

return 0;

}

6、程序设计题:

参考《C/C++语言程序设计案例教程》自己独力完成以下题目。(一定要按照编程规范编写代码)

1、Page14案例1:时间转换

2、Page15案例2:四舍五入

3、Page17案例3:字母加密

4、Page21案例6:判断闰年

实验要求:

1、2题的(1)、(2)、(3)、(4)、4题、5题(1)课堂完成,课堂完成需上传至课堂文件夹

2、剩下所有题目上传.cpp代码至课后文件夹,测试文档上传至测试文件夹

附加题:

把教材《计算机程序设计基础---精讲多练C/C++语言》中应用举例Page31—Page34自己课后调试修改。

数据库实验3答案

实验三:交互式SQL语句的使用 1、实验目的 (1)掌握数据库对象的操作过程,包括创建、修改、删除 (2)熟悉表的各种操作,包括插入、修改、删除、查询 (3)熟练掌握常用SQL语句的基本语法 2、实验平台 使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。 3 实验容及要求 选择如下一个应用背景之一: ●学生选课系统 ●习题3、4、和5中使用的数据库 ●其它你熟悉的应用 (1)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作。 (2)要求认真进行实验,记录各实验用例及执行结果。 (3)深入了解各个操作的功能。 实验要求包括如下方面的容: 3.1 数据定义 1.基本表的创建、修改及删除 2.索引的创建 3.视图的创建 3.2 数据操作 完成各类更新操作包括: 1.插入数据

2.修改数据 3. 删除数据 3.3 数据查询操作 完成各类查询操作 1.单表查询 2.分组统计 3. 连接查询 4. 嵌套查询 5. 集合查询 3.4 数据操作 1.创建视图 2.视图查询 参考示例: 建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。 一、数据定义 创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表: 表1. Student表结构 表2. Course表结构

表3. SC表结构 1.创建、修改及删除基本表 (1)创建Student表 CREATE TABLE Student (Sno CHAR(8)PRIMARY KEY, Sname CHAR(8), Ssex CHAR(2)NOT NULL, Sage INT, Sdept CHAR(20) ); (2)创建Course表 CREATE TABLE Course (Cno CHAR(4)PRIMARY KEY, Cname CHAR(40)NOT NULL, Cpno CHAR(4), Ccredit SMALLINT, ); (3)创建SC表 CREATE TABLE SC (Sno CHAR(8)FOREIGN KEY (Sno)REFERENCES Student(Sno), Cno CHAR(4), Grade SMALLINT, ); (4)创建员工表Employee

实验2---数据类型、运算符和简单的输入输出

实验2 数据类型、运算符和简单的输入输出 【实验目的】掌握C语言数据类型,了解字符型数据和整型数据的内在关系;掌握对各种数值型数据的正确输入方法学会使用C的有关算术运算符以及包含这些运算符的表达式,特别是自加(++)和自减(––)运算符的使用;学会编写和运行简单的应用程序。 【实验内容】 1、输入教材第3章第4题(P83)给出的程序,按照(1)(2)(3)的要求分别运行,并分析其结果。 2、P83第5题。 用下面的scanf函数输入数据,使得a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’,问在键盘上如何输入? #include int main( ) { int a,b; float x,y; char c1,c2; scanf(“a=%d b=%d”,&a,&b); scanf(“%f %e”,&x,&y); scanf(“%c %c”,&c1,&c2); printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n”,a,b,x,y,c1,c2); return 0; } 3、输入以下程序: #include int main() { int i,j,m,n; i=8;

j=10; m=++i; n=j++; printf(”%d,%d,%d,%d\n”,i,j,m,n); return 0; } (1)编译和运行程序,注意i,j,m,n各变量的值。(2)将第7,8行改为 m=i++; n=++j; 再编译和运行,分析结果。 (3)把第7,8删掉,将程序中的printf语句改为printf(“%d,%d\n”,i++,j++); 再编译和运行,查看结果。 (4)在(3)的基础上,将printf语句改为 printf(”%d,%d,%d,%d\n”,i,j, i++,j++); 再编译和运行,分析结果。 (5)程序改为: #include int main() { int i,j,m=0,n=0; i=8; j=10; m+=i++; n–=––j; printf(”i=%d,j=%d,m=%d,n=%d\n”,i,j,m,n); return 0; } 再编译和运行,分析结果。

数据库实验二及其答案

实验名称 实验二:使用分组,排序,汇总 课程名称 数据库原理与设计 成绩 学院(系) 软件学院 专业 计算机软件工程 班级 学生姓名 学号 实验地点 实验日期

实验报告答案如下: 一.实验内容: 1. 完成在在Recruitment,GlobalToyz和Student数据库基础上的查询, 按要求完成给出的15道题目,要求写出相应数据库的查询语句(SELECT语句)。

二.实验目的: 1.掌握通配符的用法 2.掌握 GROUP BY 子句的使用 3.掌握 ORDER BY子句的使用 4.掌握 TOP和DISTINCT关键字的使用 5.掌握 COMPUTE和COMPUTE BY子句的使用 6.掌握聚集函数的使用 三.实验原理: 本次实验主要通过根据题目要求完成对数据库的查询,加深对sql语言的印象。主要的原理就是SQL语言基本语句及语法。 四.实验过程及编写代码: 1.显示以‘S’开头,并且玩具名称不少于7个字符的玩具名称vToyName。 SELECT vToyName FROM Toys WHERE vToyName like'S______%' 2.显示名称里包含字母‘u’或‘x’的玩具ID和名称以及价格。 SELECT cToyId, vToyName, mToyRate FROM Toys WHERE vToyName like'u%'or vToyName like'x%' 3.查询信用卡号(cCreditCardNo)中包含4个8的订购者(Shopper)的详细信息。 SELECT* FROM Shopper WHERE cCreditCardNo like'%8%8%8%8%' 4.统计订单号为‘000001’的订单订购的玩具的数量和玩具的总花费(mToyCost)。 SELECT cOrderNo, mTotalCost FROM Orders WHERE cCartId ='000001' 5.统计每份提单订购的玩具数量和玩具花费。 SELECT cOrderNo, mToyCost FROM OrderDetail 6.对于GlobalToyz数据库的Country表,统计国家名称只由六个字母构成的国家的数目。 SELECT count(cCountry)'国家数量' FROM Country

实验2基本数据类型与数组(最新整理)

民族学院实验报告 计算机科学 系 级 班 指导教师 报告人20 年 月 日 成 绩 课程名称 JAVA 语言程序设计实验名称实验二 基本数据类型与数组实验 目的 1.掌握基本数据类型及其相互之间的转换2.掌握JAVA 中数组的使用实验仪器 和器材具有JDK 环境的计算机一台 实验内容和要求 一、输出希腊字母表 1.请按模板要求,将【代码】替换为Java 程序代码,运行该程序时在命令窗口中输出希腊字母表。其运行效果如图 2.1所示。 图2.1 输出希腊字母表 GreekAlphabet.java public class GreekAlphabet { public static void main(String[] args) { int startPosition=0,endPosition=0; char cStart='α',cEnd='ω'; startPosition=(int )cStart; //cStart 做int 型数据转换,并将结果赋值给startPosition endPosition=(int )cEnd; //cEnd 做int 型数据转换,并将结果赋值给EndPosition System.out.println("希腊字母\'α\'在Unicode 表中的顺序位置:"+(int)cStart); System.out.println("希腊字母表:"); for (int i=startPosition;i<=endPosition;i++){ char c='\0'; cStart=(char )i; //i 做char 型转换运算,并将结果赋值给c System.out.print(" "+c); if ((i-startPosition+1)%10==0) System.out.println(); } } } 2.实验后练习 (1)将一个double 型数据直接赋值给float 型变量,程序编译时提示怎样的 错误? 答:程序提示的内容为:“可能损失精度”。 (2)在应用程序的main 方法中增加语句:

数据库实验四作业及答案

实验4数据查询 一、实验目的 1.掌握使用Transact-SQL的SELECT语句进行基本查询的方法。 2.掌握使用SELECT语句进行条件查询的方法。 3.掌握嵌套查询的方法。 4.掌握多表查询的方法。 5.掌握SELECT语句的GROUP BY和ORDER BY子句的作业和使用方法。 6.掌握联合查询的操作方法。 7.掌握数据更新语句INSERT INTO、UPDATE、DELETE的使用方法。 二、实验准备 1.了解SELECT语句的基本语法格式和执行方法。 2.了解嵌套查询的表示方法。 3.了解UNION运算符的用法。 4.了解SELECT语句的GROUP BY和ORDER BY子句的作用。 5.了解IN、JOIN等子查询的格式。 6.了解INSERT INTO、UPDATE、DELETE的格式与作用。 三、实验内容及步骤 0. 创建studentsdb数据库及其相应表,并录入数据。 启动查询分析器,运行下面链接的代码即可。 创建数据库代码 1.在studentsdb数据库中,使用下列SQL语句将输出什么? (1)SELECT COUNT(*) FROM grade (2)SELECT SUBSTRING(姓名,1,2) FROM student_info (3)SELECT UPPER('kelly')

(4)SELECT Replicate('kelly',3) (5)SELECT SQRT(分数) FROM grade WHERE 分数>=85 (6)SELECT 2,3,POWER(2,3) (7)SELECT YEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE()) 2.在studentsdb数据库中使用SELECT语句进行基本查询。 (1)在student_info表中,查询每个学生的学号、姓名、出生日期信息。 SELECT*FROM student_info (2)查询学号为0002的学生的姓名和家庭住址。 SELECT姓名,家庭住址FROM student_info WHERE学号=0002 (3)找出所有男同学的学号和姓名。 SELECT学号,姓名FROM student_info

福建工程学院《实验指导书(数据库系统原理及应用)》

数据库系统原理 实验指导书 (本科)

目录 实验一数据定义语言 (1) 实验二SQL Sever中的单表查询 (3) 实验三SQL Serve中的连接查询 (4) 实验四SQL Serve的数据更新、视图 (5) 实验五数据控制(完整性与安全性) (7) 实验六语法元素与流程控制 (9) 实验七存储过程与用户自定义函数 (11) 实验八触发器 (12)

实验一数据定义语言 一、实验目的 1.熟悉SQL Server2000/2005查询分析器。 2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表 的定义、删除与修改,掌握索引的建立与删除方法。 3.掌握SQL Server2000/2005实现完整性的六种约束。 二、实验内容 1.启动SQL Server2000/2005查询分析器,并连接服务器。 2.创建数据库: (请先在D盘下创建DB文件夹) 1)在SQL Server2000中建立一个StuDB数据库: 有一个数据文件:逻辑名为StuData,文件名为“d:\db\S tuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10% 2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。 3.设置StuDB为当前数据库。 4.在StuDB数据库中作如下操作: 设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE), 其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。 写出实现下列功能的SQL语句。 (1)创建表S; (2)刷新管理器查看表是否创建成功; (3)右击表S插入3个记录:95031班25号李明,男性,21岁; 95101班10号王丽,女性,20岁; 95031班座号为30,名为郑和的学生记录; (4)将年龄的数据类型改为smallint; (5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime); (6)对表S,按年龄降序建索引(索引名为inxage); (7)删除S表的inxage索引; (8)删除S表; 5.在StuDB数据库中, (1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。 并输入相关数据。 (2)将StuDB数据库分离,在D盘下创建DB文件夹下找到StuDB数据库的两个文件,进行备份,后面的实验要用到这个数据库。 6.(课外)按照《数据库系统概论》(第四版)P74页习题5的SPJ数据库。创建SPJ数据 库,并在其中创建S、P、J和SPJ四张表。每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。要作好备份以便后面的实验使用该数据库数据。 三、实验要求:

c++实验2 数据类型与表达式

实验2 数据类型与表达式 实验目的 ●掌握C++语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值 的方法; ●懂得转义字符的使用; ●了解基本数据类型的字节宽度; ●进一步熟悉C++程序的编辑、编译、连接和运行的过程; ●掌握数据的输入输出的方法; ●掌握运算符的优先级和结合性,能够正确书写表达式; ●掌握不同的类型数据之间运算的类型转换规则,理解自动类型转换和会使用强制类型转 换。 实验内容: 1、基本数据类型的长度 验证你的C++编译环境中每个基本数据类型的长度(即在内存空间所占的字节个 数)。用sizeof运算符获取类型或数据的所占字节数。 # include using namespace std; int main() { cout << "字符'a' 所占字节数: " << sizeof('a') << endl; cout << "字符\"a\"所占字节数: " << sizeof("a") << endl; cout << "字符串\"China\" 所占字节数: " << sizeof("China") << endl; cout << "整型常量默认为int,int型所占字节数: " << sizeof(136) << endl; cout << "短整型short类型所占字节数: " << sizeof(short) << endl; cout << "实型常量.23456默认为double类型,double字节数:" << sizeof(1.23456) << endl; cout << "float型数据所占字节数:" << sizeof(float) << endl; cout << "double型数据所占字节数:" << sizeof(double) << endl; cout << "bool型数据所占的字节数:" << sizeof(bool) << endl; return 0; } 1)人工分析程序,写出应得结果,上机后将二者对照。 2)仿照上述程序输出基本数据类型char, short, int, long double, float, double,bool的数据类型长度。 3)为什么字符串长度比总字符个数还要多1? 2、先阅读下列程序,写出执行结果(有些程序可能存在错误,请调试、改正) (1) #include using namespace std; int main()

数据库试验答案

计算机与信息学院 数据库实验报告 专业班级 学生姓名及学号 课程教学班号 任课教师 实验指导教师 实验地点 2012 ~2013 学年第二学期

实验1 使用向导创建和删除数据库 一、实验目的 1.熟悉SQL Server 中SQL Server Management Studio的环境 2.了解SQL Server 数据库的逻辑结构和物理结构 3.掌握使用向导创建和删除数据库的方法 二、实验要求 1.熟练使用SSMS进行数据库的创建和删除操作。 2.完成实验报告。 三、实验内容 设有一学籍管理系统,其数据库名为“EDUC”。 初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长; 日志文件初始为2MB,最大可增长到5MB,按1MB增长。 数据库的逻辑文件名为“student_data”, 物理文件名为“student_data.mdf,存放路径为“E:\sql_data”。 日志文件的逻辑文件名为“student_log”, 物理文件名为“student_log.ldf”,存放路径为“E:\sql_data”。 四、实验步骤

1.使用SQL Server Management Studio(简称SSMS)创建数据库。 (1)启动SSMS 在开始菜单中:所有程序-SQL Server 2005 -SQL Server Management Studio单击“连接”按钮,便可以进入【SQL Server Management Studio】窗口。如果身份验证选择的是“混合模式”,则要输入sa的密码。 (2)建立数据库 在“对象资源管理器”窗口,建立上述数据库EDUC。在数据库节点上右击选择新建。同时建立一个同样属性的数据库EDUC1。

数据库实验题目和答案

按照如下方式重新定义四张表: 定义新的books表,其所拥有的属性与属性类型与原有的books表一致 以列级完整性的方式定义属性bookId为主码,同时在定义的时候必须提供约束名 定义属性category为”非空” ,同时在定义的时候必须提供约束名 create table Books( bookId number(9,0) constraint BooksKey primary key, title varchar(80), author varchar(40), year integer, category varchar(15) constraint B1 not null ); commit; 定义新的customers表,其所拥有的属性与属性类型与原有的customers表一致 以表级完整性的方式定义属性cid为主码 以列级完整性的方式定义属性cname为”唯一”,同时在定义的时候必须提供约束名 create table Customers ( cid number(9,0), cname char(40) constraint C1 unique, age integer, primary key(cid) ); commit; 定义新的purchases表,其所拥有的属性与属性类型与原有的purchases表一致 定义属性cid与bookId为主码,同时在定义的时候必须提供约束名 以列级完整性的方式定义属性bookId为外码,它参照Books表的主码,同时在定义的时候必须提供约束名。当删除Books表中的某一本书时,级联删 除与它相关的购买记录 以表级完整性的方式定义属性cid为外码,它参照customers表,同时在定义的时候必须提供约束名。当删除customers表中的某个顾客时,如果存在 与该客户相关的购买记录,拒绝删除。 create table Purchases( cid number(9,0), bookId number(9,0)

实验2 简单数据类型和流程控制

实验二简单数据类型和流程控制 一、实验目的 1.掌握Java语言的标识符和保留字,各简单数据类型变量以及有逻辑量意义数据的表示方法以及表示条件的表达式的类型。 2.掌握Java语言中具各种运算符表达式的基本知识。 3.熟练掌握使用if语句进行单分支结构和双分支结构程序设计的基本方法。4.熟练掌握使用if语句的嵌套及switch语句进行多分支结构程序设计的基本方法。 5.熟练掌握while、do-while和for三种语句组成循环结构的基本方法。熟练掌握特殊流程控制语句如break,continue,标号语句。 二、实验内容与要求 1、仔细读下面的JA V A语言源程序,自己给出程序的运行结果然后编译、运行进行验证。 public class Ch21 { public static void main(String args[]) { char x,y,z; x='K'; y='\\'; z='\117'; System.out.print(x); System.out.print(y); System.out.print(z); } } 2、仔细读下面的JA V A语言源程序,自己给出程序的运行结果然后编译、运行进行验证。 public class Ch22 { public static void main(String args[]) { boolean x,y,z; int a=12,b=24; x=(a>b); y=(a!=b); z=(a+b==36); System.out.println("x="+x); System.out.println("y="+y); System.out.println("z="+z); } }

数据库实验五题目答案

实验五 实验5.1 数据查询 1)要求 以School数据库为例,在该数据库中存在四表格,分别为: ●表STUDENTS(sid, sname, email, grade); ●表TEACHERS(tid, tname, email, salary); ●表COURSES(cid, cname, hour); ●表CHOICES(no, sid, tid, cid, score) 在数据库中,存在这样的关系:学生可以选择课程,一个课程对应一个教师。在表CHOICES中保存学生的选课记录。 按以下要求对数据库进行查询操作: (1)查询年级为2001的所有学生的名称并按编号升序排列。 程序:Select sname from students where grade='2001' order by sid asc; (2)查询学生的选课成绩合格的课程成绩。 程序:Select score from choices where score>'59';

(3)查询课时是48或60的课程的名称。 程序:select cname from courses where hour='48'or hour='60'; (4)查询所有课程名称中含有data的课程编号。 程序:select cid from courses where cname like'%data%';

(5)查询所有选课记录的课程号(不重复显示)。 程序:select distinct cid from choices; (6)统计所有教师的平均工资。 程序:select avg(salary) from teachers;

数据库系统原理与设计(第二版)实验一至实验三

实验一 1-1.查询员工的姓名、职务和薪水 select employeeName,headShip,salary from employee 图1-1 2.查询名字中含有“有限”的客户姓名和所在地 select CustomerName,address from Customer where CustomerName like '%有限%'

3. 查询出姓“张”并且姓名的最后一个字为“梅”的员工。 select * from employee where employeeName like '张%梅' 图1-3 4. 查询住址中含有上海或南昌的女员工,并显示其姓名、所属部门、职称、住址,其中性别用“男”和“女”显示 SELECT employeeName,department,address, isnull (convert(char(10),birthday,120),'不详')出生日期, case sex when 'M'then '男' when 'F'then'女' end as 性别 from employee where (address like '%上海%'or address like '%南昌%')and sex='F'

5. 查询出职务为“职员”或职务为“科长”的女员工的信息 select * from employee where (headship='职员' or headship='科长') and sex='F' 图1-5 6. 选取编号不在“C20050001”和“C20050004”的客户编号、客户名称、客户地址。 Select * from Customer where CustomerNo not in ( 'C20050001' ,'C20050004')

数据库实验四(含答案)

实验四使用SQL语句创建和删除数据库、表 一. 实验目的: 1、了解SQL Server 2005数据库的逻辑结构和物理结构。 2、掌握使用SQL 语句创建和删除数据库。 3、学会使用T-SQL语句创建表。 二. 实验准备 1.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。 2.了解用SQL语句创建和删除数据库的基本语法。 3.是用查询分析器,完成用SQL语句创建和删除基本表。 三. 实验要求 1、熟练使用查询分析器进行数据库的创建和删除操作。 2、用查询分析器,完成用SQL语句创建和删除基本表。 3、完成实验报告。 四. 实验内容 一、数据库 1.以下是创建数据库userdb1的SQL语句, create database userdb1 on (name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名 filename='g:\xygl\userdb4.mdf' ,--物理名称,注意路径必须存在 size=5,--数据初始长度为5M maxsize=10,--最大长度为10M filegrowth=1)--数据文件每次增长1M log on ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 , filegrowth=1) 运行上诉语句建立数据库userdb1

句,并建立“学生信息”数据库.(.mdf的名字可以修改) 3.数据库的修改(alter database 数据库名add file),将一个大小为10MB 的数据文件mrkj添加到userdb1的数据库中,该数据文件的大小为10MB,最大的文件大小为100MB,增长速度为2MB,物理地址与原有的mdf,ldf文件放在一起。 alter database 数据库名 add file() 注括号内格式同下: ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 ,

大数据库系统应用与开发--实验二

实验二JDBC基础(1) 一、相关知识点 1、JDBC基本概念 2、java连接数据库的方式 3、JDBC简单查询 二、实验目的: 理解Java连接数据库的基本概念。理解JDBC的四种驱动程序,掌握纯java驱动和jdbc-odbc驱动。理解Statement对象和ResultSet对象。 三、实验内容: 1、将booklib应用的JDBC驱动程序改成JDBC-ODBC驱动方式。 第一步:设置ODBC数据源;

第二步:修改DBUtil类中的相关代码;

第三步:运行程序 【实验结果与分析】 A、说明需要修改DBUtil类的哪些地方,及修改原因? private static final String jdbcUrl="jdbc:odbc:cjeSQL"; 因为booklib应用的驱动方式是jdbc-odbc驱动 2、利用Statement对象和Result对象实现按出版社名称精确查询出版社功能(精确查 询是指查询的目标和查询条件中值完全相同的数据)。 第一步:在https://www.360docs.net/doc/4016510708.html,.zucc.booklib.control. PublisherManager类中添加按出版社名称精确查询方法public BeanPublisher loadPubByName(String name)throws BaseException 第二步:编写上述方法,要求当相应名字的出版社不存在时,返回null值;相关代码请参考提取所有出版社函数。 第三步:启动booklib主程序,在出版社管理中录入几个出版社 第四步:清空https://www.360docs.net/doc/4016510708.html,.zucc.booklib.control. PublisherManager类中的main函数现有内

实验报告_实验2 数据类型与表达式

实验报告_实验 2 数据类型与表达式(学生学号__姓名) 一、实验目的: 1、熟悉基本数据类型(int、char、float、double)占用的字节数和存储形式,能够定义基本数据类型的变量,使用这些类型的数据; 2、掌握字符数据的存储形式及其与整数的运算,能正确理解“字符数据”与“字符串”的区别与联系,熟悉常用转义字符的使用; 3、熟悉字符常量与一般常量的定义、使用; 4、掌握算术运算符(重点是/和%)、自增(++)和自减(--)运算符的使用,能够构建正确的表达式,并输出其结果; 5、理解不同类型数据之间运算时的类型转换规则,掌握强制类型转换的方法。 二、实验内容 1、(基础题)用sizeof运算符可以得到各种类型数据占用存储单元长度,利用数据间的关系和不同控制符,可以得到查看数据的存储形式。 回答下列问题: (1)sizeof运算符如何使用?它的操作数可以是类型关键字吗? 答:可用sizeof(类型名或数据) 来获取该类型数据所占字节数。可以。 (2)整数的占用长度与其数值大小有关吗? 答:有。 (3)字符串中’\’’、’\n’、’\t’的功能各是什么? 答:单引号,换行,水平制表。 (4)字符串的一个英文字母占几个字节?一个汉字占几个字节?尾部还有什么字 符? 答:1个字节;4个字节;结束符‘\0’。 (5)整数的存储形式是什么? 答:二进制补码。

2、(基础题)字符数据以整数方式(ASCII)存储的,可以与整数进行+、-运算,既可以用“字符”方式输出,也可以用“整数”方式输出。 回答下列问题: (1)字符数据在内存中是以什么方式存储的? 答: ASCII码。 (2)字符数据与整型数据能相互赋值、运算吗?如何以“整数”方式和“字符” 方式输出字符? 答:能,整数:”%d”,字符:”%c”。 (3)大小写字母的ASCII有什么关系?(如:’G’与’g’) 答:ASCII码相差32。 (4)如何由’A’、’a’分别得到后续的大写字母、小写字母? 答:’A+1’,’a+1.’ (5)字符间的距离如何计算?由一字符能分别得到ASCII比它小5、大10的两个 字符吗?若能,如何得到? 答:两个ASCII码绝对值相减,’a’-5,’a’+10. (6)说明“C”与’c’的联系与区别,能否写成”dog”、’boy’? 答:”C”字符串,’c’字符,能. 3、(基础题)符号常量与常变量(即用const关键字定义)的使用: 回答问题: (1)写出用符号常量定义PI的格式; #define PI (2)写出用“常变量”方式定义PI值的语句。 Const float PI=; 4、(基础题)运行下列程序,体会/、%运算符的用法: 回答下列问题: (1)运算符/的操作数有什么要求? 答:被除数不能为0.

数据库实验答案

实验3 使用T-SQL语言完成单表查询 一、实验目的 掌握使用T-SQL语言完成单表查询 掌握常用谓词的用法 掌握where子句的用法 掌握order by 子句的用法 掌握group by 子句和having短语的用法 实验环境 Microsoft SQL Server 2000。 实验内容和要求 查询全体学生的详细信息。 查询所有课程的详细信息。 查询所有选课记录的详细信息,要结果表中的列名以中文的形式显示,分别为:学号,课程号,成绩。 查询已被学生选修了的课程的编号。 查询系别编号为“d002”的学生的姓名和性别。 查询年龄在19至21岁或者性别为“女”的学生的学号和所在系别编号。 查询系别编号为d001、d002和d003的学生的学号和姓名。 查询课程名为“C_”开头的课程名和学分。 某些学生入学后还没有确定所在的系,查询还没有确定系的学生的姓名。 查询成绩大于60分的学生的学号、课程号和成绩,并将查询结果按课程编号升序排列,同一课程的成绩按分数降序排列。 查询学校所开设的总的课程数。 计算2号课的学生成绩总和以及平均成绩,对应的列名分别为“总成绩”和“平均成绩”。 查询选修了3号课程的学生的最高分和最低分,对应的列名分别为“最高分”和“最低分”。 求各个系别的编号以及各系的人数。 查询选课人数大于等于2人的课程编号以及选课的人数。 查询学生2选修课程的总成绩对应的列名为“总成绩”,并显示出学号。 查询有2门以上课程是80分以上的学生的学号及课程数。 查询选修了1号课的学生的学号和成绩,结果按成绩降序、学号升序排列。 实验1 使用T-SQL语言建库、建表 实验2 向表中增、删、改数据 实验目的 掌握使用T-SQL建库、建表、修改表; 掌握使用T-SQL对表中数据进行插入、删除和修改。 实验环境 Microsoft SQL Server 2000。 实验内容和要求 建立数据库STDB 在数据库STDB中建立四个表:

大一上期C语言实验报告2 数据类型、运算符和表达式

成都工业学院·计算机工程学院 《程序设计基础》实验报告 1.实验目的 (1)掌握C语言数据类型,熟悉如何定义一个整形、字符型和实型的变量,以及对它们赋值的方法 (2)掌握不同的数据类型之间赋值的规律 (3)学会使用关系运算符,以及包含这些运算符的表达式,特别是自增和自减运算符的使用 2.实验内容 (1)要将China译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母。例如A后面第4个字母是E,用E代替A,因 此,China应翻译为Glmre。请编译一个程序,用赋初值的方式是 c1,c2,c3,c4,c5,五个变量的值分别 为’C’、’h’、’i’、’n’、’a’,经过运算,使 c1,c2,c3,c4,c5,分别为’G’、’l’、’m’、’r’、’e’ ①画出算法流程图,输入事先已编好的程序,并运行该程序,分 析是否符合要求。 ②改变c1,c2,c3,c4,c5的值分别为Today,修改程序并运行 ③修改程序,完成上述译码规则的解码操作,并将密码PSZI解码 成明文 3.流程图

4.源代码 #include void main() {char c1='C',c2='h',c3='i',c4='n',c5='a'; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);} 修改后的程序 #include void main() {char c1='T',c2='o',c3='d',c4='a',c5='y'; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);} 将密码PSZI解码成明文 #include void main() {char c1='P',c2='S',c3='Z',c4='I'; c1-=4; c2-=4; c3-=4; c4-=4; printf("%c%c%c%c\n",c1,c2,c3,c4);} 5.运行结果 将China翻译成密码 将China改成Today

mysql数据库实验答案

实验一创建、修改数据库和表结构 1、用create建立教学数据库的五个基本表: (1)学生表(学号,姓名,性别,年龄),student((Sno, sname,ssex,sage) ; (2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ; (3)选课表(学号,课程号,成绩),SC (Sno,, Cno, grade ) ; (4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址), T(Tno,Tname,ssex,birthday,dept,title,address) ; (5) 工资表(教师号,基本工资,职务工资,合计),Salary(Tno,jbgz,zwgz,hj); Create Database Student default character set utf8 default COLLATE utf8_bin;

Use Student; Create Table Student( SNo c har(20) primary key, SName char(20) , SSex char(4) default '男', SAge int ) ENGINE=InnoDB; Create Table Course( CNo c har(20) primary key, CName char(20) NOT NULL,

CRedit f loat ) ENGINE=InnoDB; Create Table SC( SNo c har(20) NOT NULL, CNo c har(20) NOT NULL, Grade float, Primary Key(SNo, CNo), Foreign Key(SNo) References Student(SNo) On Delete Cascade, Foreign Key(CNo) References Course(CNo) )ENGINE=InnoD B;

数据库系统概论实验设计答案

数据库系统概论 实验报告册 姓名:momo 学号: 教师:

实验一需求分析(一)——业务流程调查 一、实验目的:掌握需求分析的步骤和业务流程调查的方法;掌握应用Powerbuilder绘制BPM模型 二、学时:6H(课内4H,课外2H) 三、实验软件平台:Windows 2k或Windows XP, Powerduilder9.5,Visio 四、实验内容:根据该VCD连锁店的业务需求调查文字,利用PD绘制该VCD连锁店管理系统的BPM 模型。 五、实验结果: 出售租借:根据购买人或租借人提供的VCD租借单,查阅库存,如果有,则办理销售或租借并登记销售或租借流水帐;如果没有相应的VCD,则可根据购买人或租借人的要求办理预约登记,当有VCD时,及时通知购买人或租借人。 归还:根据租借人提供的所还VCD,检查VCD是否完好,如果完好,则办理归还登记,如果有损坏的VCD,办理赔偿登记。并把赔偿通知单通知给租借人。

逾期罚款通知:查询逾期未还的VCD,及时通知租借人,并进行相应的罚款登记。 六、思考题 1、数据库设计为什么需要进行详细的需求分析? 答:需求分析简单地说就是分析用户的要求。需求分析是设计数据库的起点,需求分析的结果是不是准确的反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是不是合理使用情况。 2、需求分析的目标是什么?其调查步骤是什么?常用的调查方法有哪些? 答:(1)需求分析的目标: 1.通过详细调查现实世界要处理的对象,充分了解原系统(手工系统或计算机系统)工作概况, 明确用户的各种需求。 2.在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当 前应用需求来设计数据库。 (2) 调查步骤:

实验2简单数据类型和流程控制

实验2简单数据类型和流程控制 1.实验目的 (1)掌握Java语言的标识符、保留字、各简单数据类型。 (2)掌握Java语言中各种运算符表达式的基本知识。 (3)熟练掌握使用if语句进行单分支结构和双分支结构程序设计的基本方法。 (4)熟练掌握使用if语句嵌套及switch语句进行多分支结构程序设计的基本方法。(5)熟练掌握while、do-while和for三种语句组成循环结构的基本方法。 2.实验主要内容 (1)将百分制成绩转换成等级制成绩。 (2)打印所有的水仙花数,即一个三位数,它的每个数字位的立方和等于它本身。 (3)打印出杨辉三角形。 (4)改写下面的计算圆面积的程序,使之能处理用户输入的负数、并能让用户循环输入半径值,另外,设定一个用户退出程序的值,比如0或者q等,用户输入这个值后能退出时程序。 public class ComputerAreaV02 { public static void main(String[] args) { final double PI = 3.14159; // 创建一个 Scanner对象 Scanner input = new Scanner(System.in); // 提示用户输入一个半径值 System.out.print("请输入半径值: "); //从键盘接受输入的值 double radius = input.nextDouble(); // 计算圆的面积 double area = radius * radius * PI; // Display result System.out.println("圆的面积是: " + area); } } (5)计算身体质量指数。BMI指数(身体质量指数,Body Mass Index,BMI),是国际上常用的衡量人体胖瘦程度的一个标准,其计算方法是用体重(公斤)数除以身高(米)

相关文档
最新文档