实验六 字符串类
- 格式:doc
- 大小:17.50 KB
- 文档页数:2
实验一C语言的运行环境和运行过程实验目的1.掌握c程序设计编程环境visual c++,掌握运行一个c语言程序的基本步骤,包括编辑、编译、连接和运行。
2.掌握c语言程序设计的基本框架,能够编写简单的c程序。
3.了解程序调试的思想,能找出并改正c程序中的语法错误。
4.通过编程进一步理解和掌握运算符的确切含义和功能。
实验内容1.在d盘新建一个文件夹,用于存放c程序,文件夹名字可以是学号姓名。
2.调试示例,在屏幕上显示一个短句“Hello World!”。
源程序#include <stdio.h>void main(){printf(”Hello World!\n”);}运行结果:Hello World!提示:请复习教材P9页1.4.2节内容。
基本步骤:(要求熟练掌握)1)启动VC++“开始”->“程序”->“Microsoft Visual Studio 6.0”->“MicrosoftVisual C++6.0”进入VC++编程环境。
2)单击“文件”->“新建”新建一个C语言的源文件(*.c),新建对话框中,选择文件标签,在列表框中选择C++Source File项,然后在对话框右半部分的位置文本框中输入准备编辑的源程序的存储路径(如d:\work文件夹),在文件名文本框中输入文件名(如:eg.c)。
单击“确定”按钮关闭新建对话框,回到VC++主窗口,可以看到光标在编辑窗口闪烁,表示程序编辑窗口已激活,可以输入和编辑源程序。
#include <stdio.h>void main(){printf(”Hello World!\n”);}3)单击文件->保存,保存源程序。
4)单击组建->编译[eg.c]或Ctrl+F7将源文件编译成目标文件(eg.obj)。
编译用来检查语法错误。
由于刚才编辑的源程序的文件名为eg.c,故组建项中大家看到的是:编译[eg.c]。
实验六力控组态软件中Windows控件的应用一、实验目的熟悉力控组态软件中Windows控件的应用,主要控件包括文本编辑框、复选框、多选按钮、下拉框、列表框、起始时间、时间范围。
二、实验任务1、以三级液位系统为对象,在监控软件中添加相应的Windows控件;2、对主要的Windows控件分别举例应用(Windows控件主要指文本编辑框、复选框、多选按钮、下拉框、列表框、起始时间、时间范围)。
三、预习及实验要求1、参考教材及力控组态软件随机帮助文件及FAQ文件,预习相关内容;2、分别设计应用Windows主要控件,包括文本编辑框、复选框、多选按钮、下拉框、列表框、起始时间、时间范围的应用。
四、主要参考实验步骤1、文本编辑框。
点击菜单中的“工具/windows控件/文本编辑框”,加入到界面中。
能够显示多行文本,用于信息提示。
相关函数注意:相关函数是与WINDOWS控件相关的一组函数,在动作脚本程序中调用时要指明WINDOWS控件的对象名称,具体格式为:“对象名称.相关函数(参数)”。
1、TextLoad (FileName )说明此函数将指定的文本文件调入到文本编辑框中加以显示。
参数FileName:文本文件名称,类型为字符串。
示例#text1. TextLoad ("C:\abc\a.txt");//向编辑框装载a.TXT文本文件并显示。
//text1为用户定义的编辑框控件名称。
2、复选框。
在菜单中选择“工具/Window控件/复选框”,可在窗口中加入一复选框。
3、多选按钮。
在菜单中选择“工具/Window控件/多选按钮”,可在窗口中加入一复选框。
属性如下:标签颜色:标签文字颜色。
竖排:选中竖排复选框,成员项将按垂直方向排列。
在标签输入框输入复选框标题。
增加:单击“增加“按钮,将加入新的成员。
删除:选择列表中的项,单击“删除“按钮将删除选中的项。
修改:选择列表中的项,单击“修改“按钮将修改选中的项。
实验六函数一、实验目的1. 熟练掌握函数的定义、函数的类型和返回值。
2. 熟练掌握形式参数与实际参数、参数值的传递。
3. 掌握函数的嵌套调用与递归调用。
4.学会使用指向函数的指针变量。
5.了解指向指针的指针的概念及带参数的main函数。
6. 掌握局部变量和全局变量。
7. 掌握变量的存储类型。
8. 了解内部函数和外部函数。
二、实验学时:8课时三、预习知识1.标准库函数标准库函数是C系统提供的,这些库函数定义了一些基本的、常用的功能,用户可以使用这些库函数,但是在使用库函数之前需要用预编译命令# include将该库函数所在的头文件包含进来。
2.自定义函数定义函数一般有两种形式形式1:存储类型类型符函数名(类型符形参1,类型符形参2 ,… ) { 说明语句执行语句}形式2:存储类型类型符函数名(形参1,形参2 ,……)形参类型说明{ 说明语句执行语句}说明:①形参表中即使没有参数,函数名后的一对圆括号也不能省略。
②函数名前的类型符是用来说明函数返回值的数据类型(也作为函数的数据类型) 。
当函数值为整型时,类型符可以省略。
③当函数只完成某一特定操作不需要返回值时,可用类型标识符 void 说明,将函数定义成空类型。
④C 规定:不允许在一个函数内部再定义另外一个函数,即函数不允许嵌套定义。
⑤函数的存储类型:函数的存储类型有 extern 和 static 两种。
extern 型的函数除了可以被本程序中其它函数调用外,还可以被其它文件中的函数调用,这种函数称为外部函数,如果定义函数时省略 extern ,则隐含为外部函数。
static 型的函数只能被本源程序文件中的函数调用,称为内部函数(静态函数)。
3.函数的参数(1)在定义函数时函数名后面括号中的变量称为形参(形式参数),如果有两个以上形参,形参之间以逗号分隔。
形参是函数的内部变量,只在函数内部才有意义。
在未出现函数调用时,形参不占内存。
对每个形参必须指明其名字和数据类型。
实验六子程序实验(一)1.实验目的(1)掌握主程序与子程序之间的调用关系及其调用方法。
(2)掌握子程序调用过程中近程调用与远程调用的区别。
(3)掌握通过堆栈传送参数的方法。
2.实验内容(1)将BUF开始的10个单元中的二进制数转换成两位十六进制数的ASCⅡ码,并在屏幕上显示出来。
要求码型转换通过子程序HEXASC实现,在转换过程中,通过子程序DISP 实现显示。
(2)编写一个主程序,从键盘接收若干个字符,然后用远调用方法,调用子程序统计字符串字符“b”的个数。
子程序的参数是字符串的首地址TABLE、字符长度N及字符“b”。
子程序返回字符“b”的个数。
参数传送采用堆栈实现。
主程序在子程序返回后,显示字符“b”及其个数(设为一位十六进制数)。
3. 实验准备(1)预习子程序设计的基本方法,根据实验内容要求,画出主程序及子程序的流程图。
(2)熟悉键盘输入字符串及用堆栈传送参数的程序段编制方法。
4. 编程提示(1)第一个实验程序用子程序的近程调用实现。
由于在调用HEXASC子程序时,子程序又调用了DISP子程序,这叫做子程序的嵌套调用。
实验过程中可以从堆栈的内容看到两个子程序的返回地址值。
由于是近调用,地址值只包括返回地址的段内偏移量。
在每个子程序的执行中,检查CS值是不变的。
(2)第二个程序是利用远调用的方法调用子程序的。
在远调用情况下,主程序与子程序处在不同的逻辑代码中,可在子程序执行中查看CS值是不同的。
子程序调用后,堆栈中保留了返回地址的段地址及段内偏移量。
(3)第二个程序中,主程序与子程序之间参数的传送是由堆栈实现的。
一段是将参数(此处是串首址TABLE,串的长度N及待统计的字符“b”)顺序压入堆栈,在子程序调用后,通过BP指针肆堆栈中的参数访问,并将统计的结果通过椎栈返回。
有关该方法的原理此处不再介绍。
5.实验步骤(1)编辑、汇编两个源程序,生成相应的可执行文件(.EXE)。
(2)有DEBUG的R命令、T命令或G命令检查远程调用及近程调用时堆栈的变化。
《C语言程序设计》实验报告实验六使用指针的程序设计学号姓名一、实验目的1、掌握指针的概念,会定义和使用指针变量;2、能正确使用数组的指针和指向数组的指针变量;3、熟悉指针作为函数参数的定义和调用方法;4、能正确使用字符串的指针和指向字符串的指针变量。
二、实验内容1.分析下面的程序并上机运行程序,要求写出3组以上程序的运行结果。
#include <stdio.h>void main(){int *p1,*p2,*p;int a,b;printf("Input a b please");scanf("%d%d",&a,&b);p1=&a;p2=&b;if(a>b){ p=p1;p1=p2;p2=p;}printf("*p1=%d, *p2=%d\n",*p1,*p2);printf("a=%d, b=%d\n",a,b);}『运行结果:』输入1,2得:*p1=1,*p2=2a=1,b=2输入2,1得:*p1=1,*p2=2a=2,b=1输入56,123得:*p1=56,*p2=123a=56,b=1232.下列程序的功能是分别求出数组中所有奇数之和以及所有偶数之和。
形参n给了数组中数据的个数,利用指针odd返回奇数之和,利用指针even 返回偶数之和。
请在下面空白处将实现这一功能的函数完善,并且调试运行出结果。
#include <stdio.h>#define N 10void fun(int *a,int n,int *odd,int *even){int m;*odd=0; *even=0;for(m=0;m<n;m++)if(*(a+m)%2==0)*even+=*(a+m);else*odd+=*(a+m);}void main(){int a[N]={1,10,2,3,19,6},i,n=6,odd,even;printf("The original data is:\n");for(i=0;i<n;i++)printf("%5d",*(a+i));printf("\n\n");fun(a,n,&odd,&even);printf("The sum of odd numbers:%d\n",odd);printf("The sum of even number:%d\n",even);}『运行结果:』3.编程实现从键盘输入一个字符ch和一个字符串str,利用字符指针实现删除字符串str中和字符ch相等所有字符,然后输出字符串str。
实验六数据库的完整性定义与检查实验目的:1.充分理解关系数据库中关于数据库完整性的概念。
2.掌握实体完整性的定义和检查方法。
3.掌握参照完整性的定义和检查方法。
4.掌握用户自定义完整性的定义和检查方法。
实验内容:一、在企业管理器中定义以下数据表中各字段的完整性约束(包括实体完整性、参照完整性和用户定义完整性)。
1.Student表。
记录学生基本信息。
表1-1 Student 表结构[Sno] [char](9)PRIMARY KEY,[Sname] [char](8)NOT NULL,[Ssex] [char](2)CHECK(Ssex IN('女','男')),[Sage] SMALLINT CHECK(Sage>=15 AND Sage<=45),[Sdept] [char](20)default('计算机'))2.Course表。
记录课程信息。
表1-2 Course 表结构[Cno] [char](10)PRIMARY KEY,[Cname] [char](20)NOT NULL,[Ccredit] SMALLINT CHECK(Ccredit>0),[Semester] SMALLINT CHECK(Semester>0),[Period] SMALLINT CHECK(Period>0),)3.Sc表。
记录学生选修课程的信息。
表1-3 Sc 表结构[Sno] [char](9)NOT NULL,[Cno] [char](10)NOT NULL,[Grade]SMALLINT CHECK(Grade>=0 and Grade<=100),PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno)REFERENCES Student(Sno),FOREIGN KEY(Cno)REFERENCES Course(Cno))二、在查询编辑器中,写出创建表的语句同时写出设置实体完整性、参照完整性和用户自定义完整性的语句。
实验六 RAM读写实验一、实验概述AT89C52有256B的片内RAM,本实验对AT89C52的RAM进行存取,然后用数码管显示出存取的数据。
二、实验目的掌握RAM的读写方法;理解RAM和ROM的作用。
三、实验预习要求1、主要知识点概述:掌握单片机RAM的结构;学会RAM的读写。
2、实验效果说明:将存入的RAM的数值读出用数码管显示出来。
四、实验原理数据存储器用于存放中间运算结果、数据暂存和缓冲、标识位等。
80C51系列单片机的片内数据存储器除RAM块外。
还有特殊功能存放器〔SFR〕块。
通过查询AT89C52的数据手册可以知道:AT89C52 有256 个字节的RAM,80H-FFH 高128 个字节与特殊功能存放器〔SFR〕地址是重叠的,也就是高128字节的RAM 和特殊功能存放器的地址是相同的,但物理上它们是分开的。
当一条指令访问7FH 以上的地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128 字节RAM还是访问特殊功能存放器。
如果指令是直接寻址方式那么为访问特殊功能存放器。
例如,下面的直接寻址指令访问特殊功能存放器0A0H〔即里头,如果一个字符串在程序中不会被修改,那么最好在他的前面加上code,将他们保存在flash里头,这样可以节约内存ram,注意保存在flash中的数据是不能修改的,因为flash用来存储程序的,如果用来存储数据那么这个数据是不能变的。
CU-AT89S52读写实验*向内存中写入数据058,然后读出,用两位数码管显示读出的值--------------------------------------------------------------------------------* 计数值单位,存放器与数码管对应关系: ** --- 单位 ---------- 数码管端口 ---- 缓冲区 ---------* 十位据58。
图:实验现象五、实验总结使用的数据。
实验六分支程序设计(二)一、实验目的⒈掌握多分支程序设计的方法;⒉掌握多条件选择语句和SELECT语句的使用;二、实验环境Visual Basic 6.0。
三、相关知识1. If…Then…ElseIf语句(多分支结构)形式:If <表达式1> Then<语句块1>ElseIf <表达式2>Then<语句块2>…ElseIf <表达式n>Then<语句块n>[Else语句块n+1 ]End If不管有几个分支,依次判断,当某条件满足,执行相应的语句块,其余分支不再执行;若条件都不满足,且有Else子句,则执行该语句块,否则什么也不执行。
ElseIf不能写成Else If。
2. Select Case语句(情况语句)形式:Select Case 测试表达式Case 表达式1语句块1Case 表达式2语句块2…[Case Else语句块n+1]End Select测试表达式值的类型是数值型、字符串型等,一旦与某个Case后的表达式值相匹配,则执行这个Case中的语句块,完成后执行End Select后的语句。
如果所有的Case后的表达式都不与测试表达式匹配,则执行Case Else后的语句。
Case 后面表达式i是与测试表达式同类型的下面四种情况之一:①单个常量、变量或表达式比如:case 90 case “tom”②使用关键字“To”连接的两个值比如:case 1 To 5case “A” To“C”③Is关系运算符表达式比如: case Is < 60④ 以上三种的组合形式(使用逗号分隔)比如:case 6, 8 To 9, Is>12四、实验示例【例6-1】计算如下分段函数的值,x 的值从键盘输入。
要求用If 语句的多分支结构和Select 分情况语句分别实现。
(1)21(110)311(10)x x y x x x x <⎧⎪=-≤≤⎨⎪->⎩第一步:设计界面。
实验一(第1章实验)实验目的:1.掌握运行C语言程序的全过程。
2.熟悉编译环境。
3.初步熟悉C语言程序的语法规定。
4.了解简单函数的使用方法。
实验内容:1.编程且上机运行:求3个整数的和。
2.编程且上机运行:求2个数的和、差、积和商。
3.编程且上机运行:输入3个数,求最大值。
4.编程且上机运行:输入圆的半径,求圆的面积和周长。
5.在屏幕上输出:“hello world!”实验结果:实验二(第3章实验)1.实验目的:理解C语言的类型系统。
实验内容:写程序测试数据-2在类型char,int,unsigned int,long int,unsigned long int 中存储情况。
实验过程:实验结果:参见各种类型的存储实现描述。
2.实验目的:了解混合类型计算中类型的转换规则。
实验内容:写程序测试多种类型数据一起运算时类型的转换及表达式结果的类型。
注意unsigned int和int数据运算时类型转换的方向。
实验过程:/** 类型转换问题* 试问下面两个表达式等价吗?*/#include <stdio.h>#include <stdlib.h>int main() {unsigned int ui,uj;ui = 1;uj = 2;if (ui < uj)printf("\n%u < %u is true !\n", ui, uj);elseprintf("\n%u < %u is false !\n", ui, uj);if (ui - uj < 0)printf("\n%u - %u <0 is true !\n", ui, uj);elseprintf("\n%u - %u <0 is false !\n", ui, uj);system("pause");return 0;}实验结果:参见类型转换规则。
实验六函数一,实验目的:1,掌握定义函数的方法.2,掌握函数实参与形参的对应关系,以及"值传递"的方式.3,掌握函数的嵌套调用和递归调用的方法.4,掌握全局变量和局部变量动态变量,静态变量的概念和使用方法.二,实验准备:1,复习函数调用的基本理论知识.2,复习函数的嵌套调用和递归调用的方法.3,复习全局变量,局部变量;静态变量,动态变量;外部变量等概念和具体使用. 4,源程序.三,实验步骤及内容:1,运行程序并回答问题(1)程序main(){ play(3);}void print_star(){ printf("* * * * * * * * * *\n")}void print_message(){ printf("Good Friend! \n");}void play(n)int n;{ int i;for(i=1;i<=n;++i){ print_star();print_message();}}问题:运行后出现什么错误为什么应如何修改请上机调试.修改:main(){ play(3);}void print_star(){ printf("* * * * * * * * * *\n");(缺少分号)}void print_message(){ printf("Good Friend! \n");}play(n)(原先void的与声明类型不同)int n;{ int i;for(i=1;i<=n;++i){ print_star();print_message();}getch();}运行结果(2)以下程序用于计算1+2+3+4+5.main(){ int i,sum;for(i=1;i<=5;++i)sum=add(i);printf("sum=%d\n",sum);getch();}add (a)int a;{static int s=0;s=s+a;return(s);}运行结果:问题:此程序能否得到正确结果为什么请在不增加语句的条件下,修改程序并上机调试.(3)程序int x=567,y=890;main(){ printf("x=%d,y=%d\n",x,y);}运行结果:问题:运行程序后出现什么错误为什么如何修改答:定义位置出错,y的定义在主函数之后了,将y的定义改在和x一样的位置处。
《面向对象程序设计》实验指导书(新)《面向对象程序设计》实验指导书一、课程教学与实验教学计划学时比:48/16二、适用专业:信息管理与信息系统三、实验目的基本要求能够充分理解面向对象程序设计的思想和应用方法。
能够使用面向对象编程语言进行相应的程序设计和开发。
理解面向对象的基本思想、概念和特性以及面向对象的分析、建模、设计技术与方法。
掌握C++语言基本构成、类与对象、消息传递与函数、函数与运算符重载、继承性、多态性与虚拟函数、数据封装和隐藏及Windows 程序设计基础。
通过实验动手实践,使学生能够掌握面向对象程序设计的特征和基本思想,以及相应的具体实现和Windows程序设计基础知识。
四、实验内容实验一:循环控制(一)实验目的要求:熟悉VC++集成开发环境,学习使用控制台应用程序;创建工程,建立可执行文件并执行,观察结果。
掌握变量的声明和定义方法,掌握循环语句和条件语句的定义、作用和使用方法。
(二)实验设备:1.服务器;2.交换机;3.计算机。
(三)实验内容:1.编程求1!+2!+3!+4!+…+12!。
2.编程求所有的3位数素数,且该数是对称的。
所谓“对称”是指一个数,倒过来还是该数。
例如,375不是对称数,因为倒过来变成了573。
实验二:递归函数(一)实验目的要求:掌握函数的概念和使用方法,掌握递归函数的概念和使用方法。
(二)实验设备:1.服务器;2.交换机;3.计算机。
(三)实验内容:1.用递归函数来求1!+2!+3!+…+12!。
2.用递归的方法建立一个函数int fibonacci(int n),求Fibonacci数列中第n个数的值。
实验三:用气泡法排序(一)实验目的要求:掌握文件读写的方法,掌握递归函数的概念和使用方法。
(二)实验设备:1.服务器;2.交换机;3.计算机。
(三)实验内容:建立一个文件,文件中包含一系列数,用这些数构成一个数组,并按照数值,为这个数组从小到大排序,把排序结果输出到另一个文件中。
实验六1.实验目的通过本次实验(1)初步掌握函数的定义方法,及函数的三种调用方法;(2)理解参数传送过程中,值传送与传地址的过程与区别;(3)初步学会用递归编写程序方法;(4)学会用数组作为函数参数的编程方法。
2.实验要求(1)编写实验程序(2)在VC++运行环境中,输入源程序;(3)编译运行源程序;(4)输入测试数据进行程序测试;(5)写出运行结果。
3.实验内容(1)分别用冒泡法(升序)、选择法(降序)、擂台法(升序)编写三个对一维数组进行排序的函数,函数名为sort1()、sort2()、sort3()。
再定义一个输出数组元素值的函数print()。
在主函数中定义一维整型数组a[N](N=10),用键盘输入10个整数给a[N]数组。
依次调用sort1()、print()、sort2()、print()、sort3()、print(),进行升序、降序、升序的操作,并输出每次排序后的结果。
输入十个实验数据:10,25,90,80,70,35,65,40,55,5(2)编写一个函数px(float x,int n)用递归的方法求下列级数前n项的和s。
在主函数中定义变量x与n,用键盘输入x与n的值,调用px()函数计算并返回级数前n项和s。
最后输出s的值。
输入实验数据:x=1.2 n=10(3)编写一个字符串连接函数str_cat(char s[],char s1[],chars2[]),完成s=s1+s2的字符串连接工作。
具体要求为,先将字符串s1复制到s中,然后再将字符串s2连接到s后面。
在主函数中定义三个字符串数组str[80]、str1[40]、str2[40],将两个字符串输入到str1与str2中,调用字符串连接函数str_cat(),将str1与str2连接到str中,最后输出连接后的字符串str。
要求用两种方法编写str_cat()函数。
方法一,用字符串复制与连接函数。
方法二,用while语句编程实现。
C语言程序设计实验教案一、实验目的1. 掌握C语言的基本语法和编程技巧。
2. 培养学生的逻辑思维能力和问题解决能力。
3. 熟悉开发环境,学会调试和运行C程序。
二、实验内容1. C语言基本数据类型和运算符。
2. 顺序结构程序设计。
3. 分支结构程序设计。
4. 循环结构程序设计。
5. 函数的定义和调用。
三、实验要求1. 每个实验项目都需要编写相应的C程序。
2. 每个程序都需要包含注释,说明程序的功能和关键代码。
3. 每个程序都需要经过调试,确保程序的正确性。
4. 提交实验报告,包括程序代码、运行结果和实验心得。
四、实验步骤1. 打开开发环境,新建C语言文件。
2. 根据实验内容,编写相应的C程序。
3. 进行代码调试,找出并修正错误。
4. 运行程序,观察并分析运行结果。
五、实验时长1. 实验一:C语言基本数据类型和运算符(1学时)2. 实验二:顺序结构程序设计(1学时)3. 实验三:分支结构程序设计(1学时)4. 实验四:循环结构程序设计(1学时)5. 实验五:函数的定义和调用(1学时)六、实验六:数组和字符串操作1. 目的:掌握一维和多维数组的声明、初始化和使用。
学习字符串的基本操作和处理。
2. 内容:数组的声明和访问。
二维数组的操作。
字符串的复制、连接和长度计算。
3. 要求:编写程序实现数组的排序(例如冒泡排序)。
编写程序实现字符串的逆序。
4. 步骤:设计数组排序的算法,并编写相应程序。
设计字符串逆序的算法,并编写相应程序。
调试程序,确保功能正确。
5. 时长:1学时七、实验七:指针理解指针的概念和作用。
掌握指针的基本操作,如赋值、解引用和指针算术。
2. 内容:指针的声明和初始化。
指针与数组。
指针与函数。
3. 要求:编写程序利用指针操作数组元素。
编写程序实现指针作为函数参数传递。
4. 步骤:编写程序演示指针与数组的操作。
编写程序演示指针作为函数参数的使用。
调试程序,确保指针的使用正确无误。
5. 时长:1学时八、实验八:结构体和文件操作1. 目的:学习结构体的定义和使用。
《Python程序设计》课程实验教学大纲一、课程基本信息课程代码:课程名称:Python程序设计英文名称:Introduction to Programming Using Python课程总学时:32实验学时:16适用专业:全校本科一、二年级学生课程类别:通识必修课先修课程:无实验教学的总体目的和要求《Python程序设计》课程是面向非计算机专业本科生的第一门程序设计类课程,面向非计算机各专业,作为通识必修课程开设。
课程任务是通过对程序设计基本方法、基本语法等知识学习,使学生掌握一门帮助各专业后续教学且具有广泛应用价值的程序设计语言。
通过让学生理解Python语言及应用方式,掌握利用计算机解决问题的能力,培养计算思维,并通过实验训练学生的动手能力。
在学习Python编程和调试程序的过程能学生充分体会到追求精益求精的“匠人精神”,培养学生具备规范的程序编写习惯和用计算思维处理实际问题的能力。
(一)对学生的要求:1、实验前必须对实验内容进行预习,做好预习笔记方好上机实验。
2、严格考勤制度,学生必须按时进入实验室,做好实验前的准备,不得迟到早退,因故须请假者,必须按学校规定的办理请假手续。
3、服从实验指导教师的安排,按学号对号入座,因故需调整座位者,须经实验指导教师同意。
4、上机实习过程中有问题请举手请老师指导。
鼓励同学们在实验过程中就实验问题展开讨论,相互交流学习,但必须独立完成实验项目。
5、实验期间不得玩游戏、上网聊天,以及做与实验无关的事,不得将食物带入实验室,一经发现,经提醒无效后,将赶离实验室。
6、每次实验结束,必须按要求提交实验作业,重点实验项目还需提交实验报告。
7、实验结束后须关机,将键盘架及座椅摆放整齐,并将本机台面等处杂物主动带离实验室。
(二)对教师的要求:1、教师需按时进入实验室,做好实验前的准备工作,不得无故迟到。
2、每次实验,老师必须布置实验项目,给出实验要求。
实验前要检查学生的预习笔记,对没有认真预习的的学生,不允许进行实验操作。
实验六 SQL函数与T-SQL编程参考答案多对比多思考,达举一反三,方能灵活掌握。
最惧死记硬背,不问原由--1.集合函数--统计选修了课程的学生人数select count(distinct sno) as '选修了课程的学生数' FROM SCgo--用GROUP BY统计不同职称的教师人数select prof,count(tno) from teacher group by profgo--COMPUTE BY统计不同职称的教师人数select tno,prof from teacher order by prof compute count(tno) by profgo--2、数据类型转换函数--从Teacher表中查询教师的电话号码中的最后8位数字能被9整除的教师信息select *from teacherwhere convert(int,right(mobile,8))%9=0go--查询学生的学号、姓名、出生日期。
要求将出生日期转化为整数后显示select sno,sname,convert(int,birthdate) 出生日期的内部存储形式 FROM student--3、日期函数--把当前日期转换为样式 101select getdate()select convert(char(10),getdate(),101) as CurrentDatego--计算所有学生的平均年龄select avg(datediff(yy,birthdate,getdate())) as 平均年龄from studentgo--查询最近一年选修课程的课程号select distinct cnofrom scwhere datediff(yy,SDate,getdate())<=2go--分别获取数据库当前时间的年、月、日、小时select year(getdate()) as cur_year,month(getdate()) as cur_month,day(getdate()) as cur_day,datepart(hh,getdate()) as cur_hourgo--4、数学函数--以2为随机数种子产生一随机数select rand(2) as rand_sek_2go--对数字1223.75进行整数的四舍五入和取整select round(1223.75,0) as Int1,FLOOR(1223.750) as Int2go--5、字符串函数--求在字符串‘They call me the hunter'中从5个字符开始,"the"出现的位置select charindex('the','They call me the hunter',5) as h_start_positiongo返回Teacher表中的所有学生的姓氏(不重复)。
实验六字符串类
专业班级学号姓名
实验学时 2 实验类型验证性实验地点
实验时间指导老师
实验成绩
年月日一、实验目的:
理解字符串类的作用,理解String类与StringBuffer类的区别与各自的运用范围。
掌握
String类与StringBuffer类中的常用方法。
二、实验内容:
编写程序,输入两个字符串,完成以下几个功能:
(1)求出两个字符串的长度。
(2)检测第一个字符串是否为第二个字符串的子串。
(3)把第一个串转换为byte类型并输出。
三、实验要求:
1.完成程序的编写工作。
2.写出实验报告。
四、实验步骤与结果:(由学生按照实验内容完成)
Apackage zxl;
import java.util.Arrays;
public class ZXL {
public static void main (String args[])
{
String s1 = "java Application";
String s2 = "zxl";
int len = s1.length();
int len2 = s2.length();
System.out.println("s1的长度为"+len);
System.out.println("s2的长度为"+len2);
byte m[] = s1.getBytes();
byte n[] = s2.getBytes();
System.out.println(Arrays.toString(m));
System.out.println(Arrays.toString(n));
if(s1.indexOf(s2) != -1) {
System.out.println(s2 + "是" + s1 + "的字串");
} else {
System.out.println(s2 + "不是" + s1 + "的字串");
}
}
}
五、总结
通过本次实验,我了解了String对象传递的时候是值传递,StringBuffer是引用传递。
String是一种强不变类型,它的值一旦被赋予之后,在内存中的相应位置上的值就不会变化了。
StringBuffer是种可变类型,对内存的消耗要小的多。