c 数据库上机实验
- 格式:doc
- 大小:269.50 KB
- 文档页数:15
C上机实验报告实验实验报告:C语言上机实验一、实验目的通过编写C语言程序,掌握C语言的基本语法及应用,提高对C语言程序设计的理解与掌握。
二、实验内容1.编写程序,计算并输出n的阶乘。
2.编写程序,判断输入的年份是否为闰年。
3.编写程序,判断输入的数是否为质数。
4.编写程序,判断输入的字符串是否为回文字符串。
5.编写程序,实现选择排序并输出排序结果。
三、实验过程及结果1.阶乘计算程序```c#include <stdio.h>//函数声明int factorial(int n);int maiint n;printf("请输入一个整数n:");scanf("%d", &n);printf("%d的阶乘为:%d\n", n, factorial(n)); return 0;int factorial(int n)if (n == 0 , n == 1)return 1;} elsereturn n * factorial(n-1);}```实验结果:程序能够正确计算并输出n的阶乘。
2.闰年判断程序```c#include <stdio.h>int isLeapYear(int year);int maiint year;printf("请输入一个年份:");scanf("%d", &year);if (isLeapYear(year))printf("%d是闰年\n", year);} elseprintf("%d不是闰年\n", year);}return 0;int isLeapYear(int year)if (year % 400 == 0 , (year % 4 == 0 && year % 100 != 0)) return 1;} elsereturn 0;}```实验结果:程序能够正确判断输入的年份是否为闰年。
C语言上机实验报告实验题目:利用C语言实现学生信息管理系统一、实验目的1.熟悉C语言的基本语法和控制流程;2.掌握C语言的基本输入输出函数;3.学会使用C语言的数组和结构体来管理和操作学生信息。
二、实验环境1. 操作系统:Windows;2. 集成开发环境:Dev-C++。
三、实验内容和步骤1.设计学生结构体首先,定义一个学生结构体,包括学号、姓名、性别、年龄和成绩等字段。
2.实现学生信息的录入创建一个函数,用于输入学生的基本信息。
其中,输入学生的学号、姓名、性别、年龄和成绩。
3.实现学生信息的输出创建一个函数,用于输出学生的基本信息。
其中,输出学生的学号、姓名、性别、年龄和成绩。
4.实现学生信息的查询创建一个函数,用于根据学生的学号查询学生的基本信息。
5.实现学生信息的修改创建一个函数,用于根据学生的学号修改学生的基本信息。
6.实现学生信息的删除创建一个函数,用于根据学生的学号删除学生的基本信息。
7.实现学生信息的排序创建一个函数,用于按照学生的成绩对学生信息进行排序,并输出排序后的结果。
8.实现学生信息的保存和读取创建一个函数,用于将学生信息保存到文件中,并可以从文件中读取学生信息。
四、实验结果和分析1.学生信息的录入、输出、查询、修改、删除和排序等功能均能正常实现,并能正确显示结果。
2.学生信息的保存和读取功能能够正确将学生信息保存到文件中,并能从文件中读取学生信息并显示。
五、实验心得通过本次实验,我掌握了基本的C语言语法和控制流程,学会了使用数组和结构体来管理和操作学生信息。
在实验过程中,我遇到了一些问题,比如如何实现学生信息的排序和保存读取。
经过查阅资料和与同学的讨论,我成功解决了这些问题。
在实验过程中,我深刻体会到了C语言的强大和灵活性,同时也发现了一些C语言的不足之处。
在实验中,我发现了一些潜在的bug和改进的空间,比如输入验证不够严谨和错误处理不够完善等。
虽然本次实验只是一个简单的学生信息管理系统,但它给我提供了一个很好的机会来熟悉和掌握C语言的基本知识和技能。
附录C 上机实验第4章上机实验下列实验均使用SQL Server 的SSMS工具实现。
1.用图形化方法创建符合如下条件的数据库(创建数据库的方法可参见本书附录A):数据库名为:学生数据库主要数据文件的逻辑文件名为:Students_data,存放在D:\Data文件夹下(若D:盘中无此文件夹,请先建立此文件夹,然后再创建数据库。
),初始大小为:5MB,增长方式为自动增长,每次增加1MB。
日志文件的逻辑文件名字为:Students_log,也存放在D:\Data文件夹下,初始大小为:2MB,增长方式为自动增长,每次增加10%。
2.选用已建立的“学生数据库”,写出创建满足表C-1到4-4条件的表的SQL语句,并执行所写代码。
(注:“说明”部分不作为表定义内容)列名说明数据类型约束Sno学号普通编码定长字符串,长度为7主键Sname姓名普通编码定长字符串,长度为10非空Ssex性别普通编码定长字符串,长度为2取值范围:{男,女}Sage年龄微整型(tinyint)取值范围:15-45Sdept所在系普通编码不定长字符串,长度为20默认值为“计算机系”Sid身份证号普通编码定长字符串,长度为10取值不重Sdate入学日期日期默认为系统当前日期列名说明数据类型约束Cno课程号普通编码定长字符串,长度为10主键Cname课程名普通编码不定长字符串,长度为20非空Credit学时数整型取值大于0Semester学分小整型列名说明数据类型约束Sno学号普通编码定长字符串,长度为7主键,引用Student的外键Cno课程号普通编码定长字符串,长度为10主键,引用Course的外键Grade成绩小整型取值范围为0-100列名说明数据类型约束3. 写出实现如下功能的SQL语句,并执行所写代码,查看执行结果。
(1)在Teacher表中添加一个职称列,列名为:Title,类型为nchar(4)。
(2)为Teacher表中的Title列增加取值范围约束,取值范围为:{教授,副教授,讲师}。
c 上机实验报告C上机实验报告随着科技的不断发展,计算机技术已经成为了现代社会中不可或缺的一部分。
而在计算机技术的学习过程中,上机实验是一个非常重要的环节。
本文将围绕C语言上机实验展开讨论,探讨C语言的基本概念、实验内容以及实验结果与心得体会。
一、C语言的基本概念C语言是一种高级程序设计语言,由贝尔实验室的Dennis Ritchie在20世纪70年代开发。
它具有简洁、高效、灵活等特点,被广泛应用于软件开发、嵌入式系统等领域。
在进行C语言上机实验之前,我们首先需要了解C语言的基本概念。
C语言的基本语法包括变量、数据类型、运算符、控制语句等。
变量是存储数据的容器,可以存储各种类型的数据,如整数、浮点数、字符等。
数据类型决定了变量所能存储的数据范围和操作方式。
运算符用于进行各种数学和逻辑运算。
控制语句用于控制程序的执行流程,包括条件语句、循环语句等。
二、C语言上机实验内容C语言上机实验内容丰富多样,旨在通过实践掌握C语言的基本语法和程序设计技巧。
以下是几个常见的C语言上机实验题目:1. 计算圆的面积和周长:要求输入圆的半径,计算并输出圆的面积和周长。
2. 温度转换:要求输入摄氏温度,将其转换为华氏温度并输出。
3. 判断闰年:要求输入一个年份,判断该年份是否为闰年并输出。
4. 数组操作:要求输入一组整数,计算并输出这组整数的最大值、最小值和平均值。
5. 字符串处理:要求输入一个字符串,统计并输出其中的字母个数、数字个数和其他字符个数。
通过完成这些实验,我们可以熟悉C语言的基本语法和常用函数,提高程序设计的能力和思维逻辑。
三、实验结果与心得体会在进行C语言上机实验的过程中,我遇到了一些困难和挑战,但也取得了一些成果和收获。
以下是我在实验中的一些心得体会:首先,实验前的准备工作非常重要。
在进行实验之前,我会先仔细阅读实验要求和相关教材,了解实验的目的和要求。
然后,我会思考和设计解决问题的思路和方法,尽量提前预测可能遇到的困难和难点。
C语言程序设计上机实验报告(精选5篇)第一篇:C语言程序设计上机实验报告黔南民族师范学院 C语言程序设计上机实验报告系部:计算机科学系年级:2013 级班级:姓名:学号:实验时间:实验成绩:2013年月日实验三顺序结构程序的设计一实验名称:顺序结构程序的设计二.实验环境:windows XP系统,VC++6.0软件三.实验目的:四.实验内容:五.算法描述流程图六.源程序七.测试数据及运行结果八.实验心得实验成绩评分要求1、原创性发现抄袭或雷同成绩为0分2、正确性程序正确60分3、可读性格式清楚,有注释,变量命名规范20分4、健壮性对特殊测试数据有考虑有测试10分5、效率程序运行效率高10分第二篇:《c语言程序设计》上机实验报告要求《c语言程序设计》上机实验报告要求1.实验环境:软件系统:使用的软件环境硬件系统:机型说明2.实验目的:掌握如何编辑、编译、链接调试运行c程序3.实验内容:(1)掌握顺序结构程序设计.P26 ,p49,p62 3.2~3.7(2)掌握选择结构程序设计(if 和switch语句的用法)p4.2~(3)循环结构程序设计(while, dowhile,for语句的用法)。
(4)掌握数组的定义、输入和输出的方法,字符数组、字符串函数的使用。
(5)了解函数的定义,熟悉函数实参与形参的“值传递”方式,掌握函数的嵌套调用和递归调用方法。
(6)熟悉指针含义及其使用。
(7)熟悉结构体和共用体的使用。
(8)熟悉文件的使用。
4.实验要求:(1)输入编写的源程序,检查程序有无错误(语法和逻辑错误),有则改之。
(2)编译和连接,仔细分析编译信息,如有错误应找出原因并改正。
(3)运行程序,输入数据,分析结果。
5.实验结果:输出程序清单和运行结果。
(要求把原题内容,调试好的程序和其结果一并打印),6.实验体会分析运行结果,本次调试程序取得的经验(遇到的问题,解决的方法等)。
第三篇:C程序设计上机实验报告10C程序设计实验报告实验名称:指针与数组学时安排:2课时实验类别:上机操作型实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的1.理解指针、地址和数组间的关系;2.掌握通过指针操作数组元素的方法;3.掌握数组名作为参数的编程方式。
c语言上机实验报告C语言上机实验报告引言:C语言是一门广泛应用于计算机编程领域的高级编程语言。
通过学习C语言,我们可以了解计算机程序的基本原理和实现方法。
在本次实验中,我们将进行一系列的C语言上机实验,旨在提高我们的编程能力和解决问题的能力。
实验一:基本语法和数据类型在这个实验中,我们首先学习了C语言的基本语法和数据类型。
我们了解了变量的定义和使用,以及常用的数据类型,如整数、浮点数和字符。
通过编写简单的程序,我们掌握了C语言的基本语法和运算符的使用方法。
实验二:流程控制和循环结构在这个实验中,我们学习了C语言的流程控制和循环结构。
我们了解了条件语句(if-else语句)和循环语句(for循环和while循环)的使用方法。
通过编写程序,我们掌握了如何根据不同的条件执行不同的代码块,以及如何使用循环结构重复执行一段代码。
实验三:数组和字符串在这个实验中,我们学习了C语言中数组和字符串的使用方法。
我们了解了如何定义和初始化数组,以及如何使用下标访问数组元素。
我们还学习了字符串的定义和常用的字符串处理函数。
通过编写程序,我们掌握了如何使用数组和字符串解决实际问题。
实验四:函数和指针在这个实验中,我们学习了C语言中函数和指针的使用方法。
我们了解了如何定义和调用函数,以及如何传递参数和返回值。
我们还学习了指针的概念和使用方法,包括指针的定义、指针的运算和指针的传递。
通过编写程序,我们掌握了如何使用函数和指针提高程序的模块化和灵活性。
实验五:文件操作在这个实验中,我们学习了C语言中文件操作的使用方法。
我们了解了如何打开和关闭文件,以及如何读取和写入文件。
我们还学习了文件指针和文件位置指示器的概念和使用方法。
通过编写程序,我们掌握了如何读取和处理文件中的数据,以及如何将数据写入文件。
总结:通过这一系列的C语言上机实验,我们深入学习了C语言的基本知识和编程技巧。
我们掌握了C语言的基本语法和数据类型,了解了流程控制和循环结构的使用方法,掌握了数组和字符串的操作技巧,学会了函数和指针的使用方法,以及文件操作的基本知识。
实验一 C语言的运行环境、运行过程和表达式的使用一、目的与要求1、了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2、了解在该系统上如何编辑、编译、连接和运行一个C程序。
3、通过运行简单的C程序,初步了解C源程序的特点。
4、掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
5、学会使用C的有关算术运算符,以及包含这些运算符的表达式二、实验例题【例1】编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for.在Turbo C的集成环境下,键入如下源文件。
敲Alt+F组合键打开File菜单,File菜单中Write to或save as选项可将默认noname.c文件名改为任意文件名。
程序example.c如下:main(){printf("Hello,World!\n");printf("Wolcome to the C language world!\n");printf("Everyone has been waiting for.\n");}然后用Ctrl+F9执行example.c,用Alt+F5查看结果,即在屏幕上显示题目要求的三行文字。
按回车键重新返回Turbo C的编辑环境。
注意,在运行程序之前最好先存盘。
【例2】输入并运行程序,写出运行结果。
main(){int a,b,sum;a=123;b=456;sum=a+b;printf(“sum is %d\n”,sum);}运行方法同上,最后结果为:sum is 579。
【例3】输入并运行程序,写出运行结果。
main(){int a,b,c;int max(int,int);scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“max=%d”,c);}int max(int x,int y){int z;if (x>y) z=x;else z=y;return(z);}这个程序的功能是对于任意输入的两个整数,输出较大的那个数。
c语言上机实验报告《C语言上机实验报告》在计算机科学领域,C语言是一种非常重要的编程语言,它被广泛应用于系统软件开发、嵌入式系统设计以及高性能计算等领域。
为了更好地掌握C语言的基本语法和编程技巧,我们进行了一次C语言上机实验,以下是实验报告。
实验目的:1. 熟悉C语言的基本语法和数据类型;2. 掌握C语言的控制结构,如条件语句和循环语句;3. 学习C语言的函数定义和调用;4. 掌握C语言的数组和指针的使用。
实验内容:1. 编写一个简单的C程序,实现从键盘输入两个整数,然后输出它们的和、差、积和商;2. 编写一个C程序,实现计算n的阶乘;3. 编写一个C程序,实现对一个整型数组进行排序;4. 编写一个C程序,实现对一个字符串数组进行排序。
实验步骤:1. 首先,我们编写了一个简单的C程序,使用了scanf函数从键盘输入两个整数,然后使用printf函数输出它们的和、差、积和商。
通过这个实验,我们熟悉了C语言的输入输出函数的使用。
2. 接着,我们编写了一个C程序,实现了计算n的阶乘的功能。
在这个实验中,我们学会了如何定义和调用函数,以及如何使用循环语句。
3. 然后,我们编写了一个C程序,实现了对一个整型数组进行排序的功能。
在这个实验中,我们掌握了C语言的数组的使用方法,并且学会了一种简单的排序算法。
4. 最后,我们编写了一个C程序,实现了对一个字符串数组进行排序的功能。
通过这个实验,我们进一步掌握了C语言的数组和指针的使用方法。
实验总结:通过这次C语言上机实验,我们更加熟悉了C语言的基本语法和编程技巧,掌握了C语言的控制结构、函数定义和调用、数组和指针的使用方法。
这些知识和技能对我们今后的学习和工作都将非常有帮助。
希望通过不断的实践和实验,我们能够更加熟练地掌握C语言,为以后的编程工作打下坚实的基础。
附录C 上机实验第4章上机实验----------------------陈宇超,仅供参考------------------------------下列实验均使用SQL Server 的SSMS工具实现。
1.用图形化方法创建符合如下条件的数据库(创建数据库的方法可参见本书附录A):数据库名为:学生数据库主要数据文件的逻辑文件名为:Students_data,存放在D:\Data文件夹下(若D:盘中无此文件夹,请先建立此文件夹,然后再创建数据库。
),初始大小为:5MB,增长方式为自动增长,每次增加1MB。
日志文件的逻辑文件名字为:Students_log,也存放在D:\Data文件夹下,初始大小为:2MB,增长方式为自动增长,每次增加10%。
2.选用已建立的“学生数据库”,写出创建满足表C-1到4-4条件的表的SQL语句,并执行所写代码。
(注:“说明”部分不作为表定义内容)列名说明数据类型约束Sno学号普通编码定长字符串,长度为7主键Sname姓名普通编码定长字符串,长度为10非空Ssex性别普通编码定长字符串,长度为2取值范围:{男,女}Sage年龄微整型(tinyint)取值范围:15-45Sdept所在系普通编码不定长字符串,长度为20默认值为“计算机系”Sid身份证号普通编码定长字符串,长度为10取值不重Sdate入学日期日期默认为系统当前日期列名说明数据类型约束Cno课程号普通编码定长字符串,长度为10主键Cname课程名普通编码不定长字符串,长度为20非空Credit学时数整型取值大于0Semester学分小整型列名说明数据类型约束Sno学号普通编码定长字符串,长度为7主键,引用Student的外键Cno课程号普通编码定长字符串,长度为10主键,引用Course的外键Grade成绩小整型取值范围为0-100表C-4 Teacher表结构列名说明数据类型约束Tno教师号普通编码定长字符串,长度为8非空Tname教师名普通编码定长字符串,长度为10非空Salary工资定点小数,小数点前4位,小数点后2位3. 写出实现如下功能的SQL语句,并执行所写代码,查看执行结果。
(1)在Teacher表中添加一个职称列,列名为:Title,类型为nchar(4)。
ALTER TABLE Teacher ADD Title VARCHAR(4)(2)为Teacher表中的Title列增加取值范围约束,取值范围为:{教授,副教授,讲师}。
ALTER TABLE Teacher ADD CONSTRAINT Title CHECK(Title IN('教授','副教授','讲师'))(3)将Course表中Credit列的类型改为:tinyint。
注意:这里首先需要先删除Credit的约束,修改完数据类型后再重新添加约束项ALTER TABLE Course DROP CONSTRAINT CK__Course__Credit__2B3F6F97ALTER TABLE Course ALTER COLUMN Credit TINYINTALTER TABLE Course ADD CONSTRAINT Credit CHECK (Credit>0)(4)删除Student表中的Sid和Sdate列。
注意:这里首先需要先删除约束ALTER TABLE Student DROP CONSTRAINTUQ__Student__CA1E5D79B3204FCFALTER TABLE Student DROP CONSTRAINT DF__Student__Sdate__3B75D760 ALTER TABLE Student DROP COLUMN Sdate,Sid(5)为Teacher表添加主键约束,其主键为:Tno。
ALTER TABLE Teacher ADD PRIMARY KEY(Tno)※建立数据库主要文件和日志文件※我们可以看到D盘增加了主要数据文件.mdf和日志文件.ldf※给students_data建立表格create table Student(Sno char(7),Sname char(10)not null,Ssex char(2)check(Ssex='男'or Ssex='女'),Sage tinyint check(Sage>14 AND Sage<46),Sdept varchar(20)default'计算机系',Sid char(10)unique,--身份证号Sdate date default getdate()primary key(Sno))create table Course(Cno char(10)primary key,Cname varchar(20)not null,Credit int check (Credit>0),Semester tinyint,)create table SC(Sno char(7),Cno char(10),Grade tinyint check(Grade>=0 AND Grade<=100)foreign key(Sno)references Student(Sno),foreign key(Cno)references Course(Cno))create table Teacher(Tno char(8)not null,Tname char(10)not null,Salary decimal(6,2))第5章上机实验本实验均在SQL Server 的SSMS工具中实现。
首先在已创建的“学生数据库”中创建本章表5-1~5-3所示的Student、Course和SC表,并插入表5-4~5-6所示数据,然后编写实现如下操作的SQL语句,执行所写的语句,并查看执行结果。
有关建表及所需要的数据,见本章末尾1.查询SC表中的全部数据。
SELECT*FROM SC2.查询计算机系学生的姓名和年龄。
SELECT Sname,Sage FROM Student WHERE Sdept='计算机系'3.查询成绩在70~80分的学生的学号、课程号和成绩。
SELECT Sno,Cno,Grade FROM SC WHERE Grade between 70 AND 804.查询计算机系年龄在18~20岁的男生姓名和年龄。
SELECT Sname,Sage FROM Student WHERE Sdept='计算机系'AND SageBETWEEN 18 AND 20 AND Ssex='男'5.查询C001课程的最高分。
SELECT MAX(grade)AS最高成绩FROM SC WHERE Cno='C001'6.查询计算机系学生的最大年龄和最小年龄。
SELECT MAX(Sage)AS年长,MIN(Sage)AS年幼FROM Student WHERE Sdept='计算机系'7.统计每个系的学生人数。
SELECT Sdept,COUNT(Sno)AS人数FROM Student GROUP BY Sdept8.统计每门课程的选课人数和最高成绩。
SELECT Cno,COUNT(Sno)AS人数,MAX(Grade)AS最高成绩FROM SC GROUP BY Cno9.统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。
SELECT Sno,COUNT(Cno)AS选课数量,SUM(Grade)AS考试总成绩FROM SC GROUP BY Sno10.列出总成绩超过200的学生的学号和总成绩。
SELECT Sno,SUM(Grade)AS考试总成绩FROM SC GROUP BY Sno HAVINGSUM(Grade)>20011.查询选了C002课程的学生姓名和所在系。
SELECT Sname,Sdept FROM Student st,SC sc WHERE=AND Cno='C002'或者SELECT Sname,Sdept FROM Student WHERE Sno IN(SELECT Sno FROM SCWHERE Cno='C002')或者SELECT Sname,Sdept FROM Student WHERE EXISTS (SELECT*FROM SCWHERE Sno=AND Cno='C002')12.查询考试成绩80分以上的学生姓名、课程号和成绩,并按成绩降序排列结果。
SELECT Sname,Cno,Grade FROM Student,SC WHERE=AND Grade>80 ORDER BY Grade DESC13.查询与VB在同一学期开设的课程的课程名和开课学期。
SELECT,FROM Course c1,Course c2WHERE=AND='VB'AND!='VB'14.查询与李勇年龄相同的学生的姓名、所在系和年龄。
SELECT,,FROM Student s1,Student s2WHERE=AND='李勇' AND!='李勇'或者SELECT Sname,Sdept,Sage FROM Student WHERE Sage=(SELECT Sage FROMStudent WHERE Sname='李勇')AND Sname!='李勇'15.查询哪些课程没有学生选修,列出课程号和课程名。
SELECT,FROM Course LEFT JOIN SC on=WHERE IS NULL16.查询每个学生的选课情况,包括未选课的学生,列出学生的学号、姓名、选的课程号。
SELECT,,Cno FROM Student LEFT JOIN SC ON=17.查询计算机系哪些学生没有选课,列出学生姓名。
SELECT Sname FROM Student WHERE Sdept='计算机系'AND Sno NOTIN(SELECT Sno FROM SC)或者SELECT Sname FROM Student S LEFT JOIN SC ON=WHERE Sdept='计算机系'AND IS NULL18.查询计算机系年龄最大的三个学生的姓名和年龄。