C语言程序设计及数据库有理串讲大纲.docx
- 文档编号:28816871
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:18
- 大小:64.89KB
C语言程序设计及数据库有理串讲大纲.docx
《C语言程序设计及数据库有理串讲大纲.docx》由会员分享,可在线阅读,更多相关《C语言程序设计及数据库有理串讲大纲.docx(18页珍藏版)》请在冰豆网上搜索。
C语言程序设计及数据库有理串讲大纲
C语言
1.一个完整的C程序(P6注意事项)Chapter1
2.C程序结构(P10-12)Chapter1
3.关于高级语言源程序Chapter1
4.二字节无符号整型数据在内在中占多少字节(P42,P44,P48数据类型)Chapter3
5.大小写字母转换
6.转义字符(P40)Chapter2
7.三目运算符
8.字符串在内存中占的字节数如何计算?
内存中一个字符占多少字节?
P45表3.2
9.运算符的优先级、自增自减运算(P52,P54)
10.数组定义及赋值P142-143
11.指针,如何理解变量的指针就是变量的地址。
P222-224P232
12.函数的定义与调用P177函数原型P179
13.fopen()P335;fclose()语句功能及返回值P337
14.C的函数的隐式数据类型
15.C语言中文件是以…为存取单位:
P10,一个程序由一个或多个源程序文件组成。
16.字符数组的正确输入语句(涉及数组、指针、取地址运算符、标准输入输了、格式输入输出等知识点)(P66-68getchar(),printf(),P75,scanf(),P76,P78putchar())[P161gets()puts()]
Get(a,b)scanf(“%s,%s”,a,b)
scanf(“%s,%s”,&a,&b)get(“a”)get(“b”)
17.字符串P156-157‘\0’字符串结束标志。
18.字符型数据与整型数据是可以进行加减运算的(P48)
19%符号的应用:
求模运算、地址运算
20Break与continue要成对出现P126
21Strlen()计算出的长度是否包含%所占的空间P164
22.函数调用中形参与实参可否同名?
P180
23判断变量是大小写的表达式如何写?
#include
Intmain()
{
Intx,y;
Scanf(“%d”,&x);
If(x<0)//iffunction
Y=-x;
Elseif(x>0)
Y=x;
Else
Y=0;
Return0;
}
输入任意一个数,求各位之和。
#include
intmain()
{
unsignedlongn,s=0;
printf(“Pleaseinputanumber:
”);
Scanf(“%ld”,&n);
Do//dowhileloop
{
S=s+n%10;
N=n/10;
}
while(n>0)
printf(“sum=%d\n”,s);
Rtrn0;
}
计算一个数组中所有元素中的平均值/最大值/最小值。
#include
intmain()
{
floata[10],s=0;
inti;
for(i=0;i<10;i++)
Scanf(“%f”,&a[i]);
for(i=0;i<10;i++)//forloop
s=s+a[i];
s=s/5.0;
printf(“average=%f\n”,s);
Rtrn0;
}
输出一个行列式中的最后小数,并显示其行号、列号。
#include
intmain()
{
inti,jrow=0,column=0,min=0;
ints[3][4]={1,2,3,4,0,9,8,7,11,12,45,87};
for(i=0;i<3;i++)
for(j=0;ji<4;ji++)
ifs[i][j] { Min=a[i][j];row=I;column=j;} printf(min=%d,row=%d,column=%d,min,row,column); Rtrn0; } 数组中有30个数,要求每行输出10个。 如何处理? P135例;P141练习16 Count=0;sum=0 For(i=0;i<30;i++) { Sum=sum+a[i] Count++ } 课本P141,题16 #include usingnamespacestd; intmain() { inti,j,k; for(i=0;i<=3;i++) { for(j=0;j<=2-i;j++) printf(""); for(k=0;k<=2*i;k++) printf("*"); printf("\n"); } for(i=0;i<=2;i++) { for(j=0;j<=i;j++) printf(""); for(k=0;k<=4-2*i;k++) printf("*"); printf("\n"); } return0; } 键盘输入两个数,比较其大小,并输出大者。 #include usingnamespacestd; intmax(intx,inty); intmain() { intm,n,p; cout<<"Pleaseinputtwointegers: "< "); cin>>m; cin>>n;//scanf("%d,%d",&m,&n); p=max(m,n); cout<<"Maxis: "< return0; } intmax(intx,inty) { intz; z=x>y? x: y; returnz; } 求1-50的和 #include usingnamespacestd; intmain() { inti=1,sum=0; while(i<=50) { //sum+=i; sum=sum+i; i++; } cout<<"thesumis: "< ",sum); return0; } 比较两个数的大小。 #include usingnamespacestd; intf(intx,inty) { intz; if(x>y) z=1; elseif(x==y) z=0; else z=-1; returnz; } intmain() { inti=3,p; p=f(i,++i); //p=f(i,i++); cout< return0; } 数据库原理与应用 Chapter1 数据库技术发展的三阶段: (人工管理阶段、文件系统阶段、数据为系统阶段)P2 数据库系统的特点: 数据结构化、较高的数据共享性、较高的数据独立性、数据由DBMS统一管理和控制P3 数据库系统的构成: P4,图1-4 数据库的三级模式结构: 外模式、模式、内模式 模式: ,概念模式,逻辑模式。 所有用户的公共数据视图(数据库设计人员如何看待数据)。 仅一个 外模式: 用户看到的数据(数据以多种不同的形式表现: 学生有学号、性名、性别,但用户可能不需要性别)如DDL语言 内模式: 数据在计算机内如何存放(如数据库定义语言: Create) 两级映射: 三级视图的对应关系 外模式/模式,模式/内模式 数据模型: 抽象或转换P7 概念模型: 现实世界的抽象反映(基本概念: P8);是从用户的角度看到的模型(P11) 数据模型: 是从机器的角度看到的模型(语法、语义、约束。 最终使计算机能理解P11(数据库中的各种定义: 字段、数据类型、存在字节等)) 有三种数据模型: 层次、网状、关系(基本概念或定义: P13,注意与P8的区别) 信息的三种世界: 现实世界、信息世界、机器世界(数据世界) Chapter2 关系运算: 关系运算的对象是关系----二维表P20 传统的关系运算: 并、差、交、笛卡尔积 专门的关系运算: 投影(对关系进行垂直分割)、选择(对关系进行水平分割)、连接(关系的结合)、除法(笛卡尔的逆运算)(对应P129中的投影查询、选择查询,P174中的连接查询)。 关系模式: 好的关系模式不会发生插入异常、删除异常、更新异常及少的数据冗余P29。 三范式 关系的完整性: 关系模型中数据的正确性与一致性。 通过完整性约束(实体完整性、参照完整性、用户定义完整性)来实现。 P19 Chapter3数据库设计 数据库设计步骤/过程: 需求分析、概念结构设计(设计E-R)、逻辑结构设计(将E-R转换成关系数据模型----表)、物理结构设计、实施运行与维护 E-R图(已完成: 2017-02-21) E-R转换成表: 重点 Chapter3 P76T-SQL语言的分类 Chapter5创建数据库 重点: 语法P82: 创建(createdatabase)、修改(alterdatabase)、删除(Dropdatabase) Chapter6表的操作 创建(createtable)、修改(altertable)、删除(Droptable)P91-98 约束P98 表数据的操作: 插入(insert)、修改(modify)、删除(delete)清空(truncatetable) 数据导入和导出P115 Chapter7query 数据类型: 概念模型、独立于、依赖于 笛卡尔积的记录量: 两个表中记录数的乘积。 P147交叉连接 约束: 表的约束类型 Chapter8游标P180 游标: 一种能从包括多条数据记录的结果集中每次只取一条记录的机制。 Declarecursorcursor_name For Select Chapter9 视图的定义P187及特点P188 Createviewview_name As Select 索引的定义: 对数据库表中一个或多个列的值进行排序的结构。 P199 特点: 大大加快数据的检索速度;创建唯一性索引,保证表中每一行数据的唯一性;加速表和表之间的连接;显著减少查询中分组和排序的时间;查询优化器可以提高系统的性能。 P199 Chapter10存储过程及触发器 存储过程: 一个具有特定功能的子程序。 P212 Createprocedureproc_name As select 触发器: 是一种在基本表被修改时,自动执行的内嵌的过程。 例10-21 Chapter11事务与并发控制 关系数据库有4个显著的特征: 安全性、完整性、并发性和监测性。 P243 事务的定义及特性 事务处理必须满足4个原则: 原子性、一致性、隔离性、持久性。 P246 事务类型: 根据系统的设置分类: 系统事务与用户定义事务。 根据运行模式分类: 自动事务、显示事务、隐式事务、批处理事务。 事务的定义: 由一系列的数据操作组成,是数据库应用程序的基本逻辑单元,用来保证数据的一致性。 P243 事务的特性 并发控制中的死锁: 是指多个用户分别锁定一个资源,并又试图请求对方已经锁定的资源,导致多个用户都在等待对方释放所锁定资源的状态。 P253 Chapter12数据库的安全管理 安全机制: 身份验证、账号管理、角色管理、权限管理。 角色: 一种SQLServer安全帐户。 用户若被加入到某一个角色中,由具有该角色的权限。 分为三类: 固定服务角色、固定数据库角色、用户自定义的数据库角色。 P265 范式 笛卡尔运算 Insertupdatedelete能触发的触发器类型 Having语句的作用 SQL的安全机制 关系的完整性 视图的优点 逻辑设计阶段的任务 SQL语句 创建表、查询、子查询、 触发器、视图、 脏数据的定义 数据备份的定义及类型 服务器的登录方式 实体之间的关系分类 查询商场名为华大的销售记录 Selectb.*froma.销售表 Wherea.商品号=b.商品号anda.商场名=b.商场名 查询各种商品销售之和 Select商场号,sum(销售数量)as销售总计from销售表 Groupby商品号 Orderby商品号DESC 创建一个触发器,要求当销售表中插入时,显示销售表中的全部数据 CreatetriggerTon销售表 Forinsert As Select*from销售表 创建一个触发器 当职工表被修改时,要求显示职工表中的全部数据P231例10-21 CreatetriggerShowAllon职工表 Forupdate As Select*from职工表 综合应用题(根据相关要求答题,每小题5分,共30分。 ) 1.某大学图书馆中有如下三个重要概念: 图书: 书号、书名、数量、位置 借书人: 借书证号、姓名、单位 出版社: 出版社名、邮编、地址、电话、E-mail 经过需求分析发现: 在该图书馆,某个借书人可以借多本书,某本书可以被多个人借阅。 借书人在借书和还书时,需要登记相应的借书日期和还书日期;某个出版社可以出版多种图书,同一种图书仅为一个出版社出版,出版社名具有唯一性。 根据以上信息,完成如下设计: (1)设计系统的E-R图;(5分) (2)将E-R图转换为相应的关系模式;(5分) (3)指出转换后的每个关系模式的主码。 (5分) 答: (1)E-R图 (2)关系模式 图书(书号,书名,数量,位置,出版社名) 借书人(借书证号,姓名,单位) 出版社(出版社名,邮编,地址,电话,E-mail) 借阅(书号,借书证号,借书日期,还书日期) (3)上述带下划线的属性 2.某数据库中包含二张数据表,分别为: 员工表(员工号,姓名,性别,年龄,部门);销售表(商品号,员工号,日期,数量)。 根据以上定义写出相应的SQL语句: (1)使用SQL语句创建一个名称为“订单”的新数据表,该表的结构如下表所示;(5分) 字段名数据类型 订单号int 商品号char(10) 数量int (2)以“员工表”为数据源,查询年龄大于30岁的男职工的所有信息;(5分) (3)用SQL语句设计一个名称为“function1”的自定义函数,其作用是: 以“销售表”为数据源,求某位员工的销售数量的总和,要求员工号通过函数参数输入,销售数量的总和通过函数返回值传递给调用方,函数的参数命名为x,参数类型为“char(10)”,函数的类型为float。 (5分) 2.答: (1)CREATETABLE订单 (订单号int, 商品号char(10), 数量int ) (2)select*from员工表 where年龄>30and性别=‘男’ (3)createfunctionfunction1(@xchar(10))returnsfloat As begin return(selectsum(数量)from销售表where员工号=@x) end 1.设有关系模式R(运动员编号,姓名,性别,班级,班主任,项目号,项目名,成绩),有以下语义规定: 每名运动员只能代表一个班级参加比赛;每个班级只有一个班主任;每名运动员可参加多个项目,每个比赛项目可由多名运动员参加;每个项目只能有一个项目名;每名运动员参加某一个项目只能有一个成绩。 根据上述语义,回答下列问题: (1)写出关系模式R的候选码;(5分) (2)R最高属于第几范式? 说明理由;(5分) (3)请将R其分解若干个关系模式,使每个关系模式均满足3NF。 (5分) 2.设有一个教学管理数据库,在该数据库中包括三张表: 学生表(学号,姓名,性别,年龄,所在系部)、课程表(课程号,课程名,学分)、成绩表(学号,课程号,成绩)。 带下划线的字段为表的主键。 根据以上定义写出相应的SQL语句: (1)查询‘计算机’系男同学的姓名、系别、年龄;(5分) (2)查询选修了课程号为‘ZY002’的课程的学生的姓名和年龄;(5分) (3)创建一个视图,视图中的数据为: 平均成绩大于或等于85分的课程号及该课程的平均成绩。 (5分) 1.分析 (1)关系模式R的主关键字是(运动员编号,项目号)。 (2)R最高属于第一范式。 因为存在着姓名,性别,班级和项目名对主关键字(运动员编号,项目号)的部分函数依赖,没有达到2NF。 (3)首先分解为2NF: R1(运动员编号,姓名,性别,班级,班主任),R2(项目号,项目名),R3(运动员编号,项目号,成绩) 因为R1存在班主任对运动员编号的传递函数依赖,所以没有达到3NF,再分解为3NF: R1分解为R1(运动员编号,姓名,性别,班级)和R4(班级,班主任) 2.写SQL语句 (1)select姓名,所在系,年龄fromStudent where所在系=‘计算机’and性别=‘男’ (2)select姓名,年龄fromStudent,SC whereStudent.学号=SC.学号andSC.课程号=‘ZY002’ (3)createviewv1as select课程号,avg(成绩)as平均成绩fromsc groupby课程号 having(avg(成绩)>=85)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 数据库 有理 串讲 大纲