C语言实验报告 安徽工业大学
- 格式:pdf
- 大小:517.62 KB
- 文档页数:26
实验11单向链表建立、删除、插入、输出1、实验要求掌握结构体、指针使用实现单链表的基本操作运用单链表解决问题2、实验内容编程实现单向链表建立、删除、插入、输出#include <stdio.h>#include<malloc.h>#define LEN sizeof(struct student )#define NULL 0struct student{int num;float score;struct student *next;};int n;struct student *create(void){struct student *head, *p1,*p2;n=0;p1=p2=(struct student *)malloc(LEN);scanf("%d %f",&p1->next,&p1->score);head=NULL;while(p1->num!=0){n=n+1;if(n==1) head=p1;else p2->next=p1;p2=p1;p1=(struct student *)malloc(LEN);scanf("%d %f",&p1->num,&p1->score);}p2->next=NULL;return (head);}struct student *del(struct student *head,long num){struct student *p1,*p2;if(head==NULL) {printf("\nlist null!\n");goto end;}p1=head;while(num!=p1->num && p1->next!=NULL){p2=p1;p1=p1->next;}if(num==p1->num){if(p1==head) head=p1->next;else p2->next=p1->next;printf("delete:%d\n",num);n=n-1;free(p1);}else printf("%dnot been found !\n",num);end:return(head);}struct student *insert(struct student *head ,struct student *stud) {struct student *p0,*p1,*p2;p1=head;p0=stud;if(head==NULL){head=p0,p0->next=NULL;}else{while ((p1->num>p1->num)&&(p1->next!=NULL)){p2=p1;p1=p1->next;}if(p0->num<=p1->num){if(head==p1) head=p0;else p2->next=p0;p0->next=p1;}else{p1->next=p0;p0->next=NULL;}}n=n+1;return (head);}void print(struct student *head){struct student *p;p=head;if(head!=NULL)do{printf("%d %f\n",p->num,p->score);p=p->next;}while(p!=NULL);}//main函数void main(){struct student *head,stu;long del_num;printf("Input records:\n");head=create();print(head);printf("\nInput the deleted number:\n");scanf("%ld",&del_num);while(del_num!=0){head=del(head,del_num);print(head);printf("Input the deleted number:\n");scanf("%ld",&del_num);}printf("\nInput the inserted record:\n");stu=(struct student *)malloc(LEN);scanf("%d %f",&stu->num,&stu->score);{head=insert(head,&stu);print(head);printf("\nInput the inserted record:\n");stu=(struct student *)malloc(LEN);scanf("%d %f",&stu->num,&stu->score);}}。
c语言实验报告实验C 语言实验报告实验一、实验目的本次 C 语言实验的主要目的是通过实际操作和编程实践,加深对 C 语言基本语法、数据类型、控制结构、数组、指针等重要概念的理解和掌握,提高编程能力和解决实际问题的能力。
二、实验环境本次实验使用的编程环境为 Visual Studio 2019,操作系统为Windows 10。
三、实验内容1、基本数据类型和运算符的使用定义不同类型的变量,如整数型(int)、浮点型(float、double)、字符型(char)等,并进行赋值和运算操作。
熟悉各种运算符的优先级和结合性,包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)、位运算符(&、|、^、~、<<、>>)等。
2、控制结构的应用使用ifelse 语句实现条件判断,根据不同的条件执行相应的代码块。
运用 switch 语句进行多分支选择,处理不同的情况。
利用 for 循环、while 循环和 dowhile 循环实现重复执行的操作,例如计算数列的和、打印特定的图案等。
3、数组和字符串的操作定义和使用一维数组、二维数组,进行数组元素的访问、赋值和遍历。
掌握字符串的存储和处理方式,使用字符数组和字符串函数(如strlen、strcpy、strcmp 等)进行字符串的操作。
4、指针的应用理解指针的概念和指针变量的定义,通过指针访问变量和数组元素。
实现指针与数组、指针与函数的结合使用,体会指针在程序中的灵活运用。
5、函数的定义和调用编写自定义函数,实现特定的功能,如计算阶乘、判断素数等。
掌握函数的参数传递方式(值传递和地址传递),理解函数的返回值。
6、结构体和共用体的使用定义结构体类型,创建结构体变量,访问结构体成员。
了解共用体的概念和使用场景,比较结构体和共用体的区别。
四、实验步骤1、实验准备打开 Visual Studio 2019 开发环境,创建一个新的 C 语言项目。
C语言程序设计实验报告(实验大纲+过程)C语言程序设计实验报告(实验大纲+过程)一、实验目的本实验旨在通过实际的C语言程序设计任务,培养学生的编程思维、动手能力,加深对C语言程序设计的理解和掌握。
二、实验内容1. 实验环境的搭建在计算机上安装C语言编程环境,如C语言编译器。
2. 实验材料准备根据给定的实验题目和要求,准备相应的实验材料,包括输入输出测试数据、参考文档等。
3. 实验任务根据实验题目,编写C语言程序,实现特定的功能要求。
程序需包括输入部分、处理部分和输出部分。
4. 程序调试与测试对编写完成的程序进行调试,确保程序的正确性。
使用多组测试数据进行测试,验证程序的功能是否符合要求。
5. 实验总结与思考对实验过程中遇到的问题进行总结,并提出改进建议。
思考课程的重点和关键,深化对C语言程序设计的理解。
三、实验步骤1. 实验环境的搭建在计算机上下载并安装C语言编译器,如Dev-C++或Code::Blocks等。
2. 实验材料准备根据实验题目要求,准备好实验所需的输入测试数据和输出要求。
3. 编写C语言程序根据实验题目,使用C语言编写程序。
在程序的开头部分添加必要的注释,说明程序的功能和使用方法。
4. 程序调试与测试编译并运行程序,查看是否存在语法错误。
使用给定的测试数据,验证程序的输出是否符合要求。
5. 实验总结与思考对实验过程中遇到的问题进行总结,并提出改进建议。
思考课程的重点和关键,深化对C语言程序设计的理解。
四、实验结果与分析根据实验题目要求,给出实验编写的C语言程序的详细代码,并解释程序的设计思路和实现方法。
同时,给出实验所得的输出结果,并分析结果是否符合预期。
五、实验心得体会通过完成本次实验,我对C语言程序设计的基本语法和思维方式有了更深入的理解。
在编写程序的过程中,我遇到了一些问题,但通过不断尝试和调试,最终顺利完成了实验任务。
在今后的学习中,我将进一步加强对C语言的理解和应用能力,提高程序设计的质量和效率。
c语言大实验报告C 语言大实验报告一、实验目的本次 C 语言大实验的主要目的是通过实际的编程项目,深入巩固和应用 C 语言的基础知识,提高编程能力和解决实际问题的能力。
具体而言,包括熟练掌握数据类型、控制结构、函数、数组、指针等核心概念,并能够运用它们构建较为复杂的程序逻辑。
二、实验要求1、完成一个具有一定规模和功能的 C 语言程序,例如学生成绩管理系统、图书管理系统等。
2、程序应具备良好的代码结构和可读性,遵循编程规范。
3、实现数据的输入、处理和输出功能,能够进行数据的存储和查询。
4、对程序进行充分的测试,确保其稳定性和正确性。
三、实验环境1、操作系统:Windows 102、编程工具:Visual Studio 2019四、实验内容本次实验我选择开发一个学生成绩管理系统,该系统能够实现学生成绩的录入、查询、修改、删除以及成绩统计分析等功能。
(一)数据结构设计为了存储学生的信息,我定义了一个结构体`Student` ,包含学生的学号、姓名、各科成绩等字段:```ctypedef struct {int id;char name50;float score3; //假设存储三门课程的成绩} Student;```同时,使用一个动态数组来存储多个学生的信息:```cStudent students;int numStudents = 0; //记录学生数量```(二)功能模块实现1、成绩录入通过循环让用户输入学生的信息,包括学号、姓名和各科成绩,并将其添加到动态数组中:```cvoid inputStudent(){Student newStudent;printf("请输入学号:");scanf("%d",&newStudentid);printf("请输入姓名:");scanf("%s", newStudentname);printf("请输入三门课程的成绩:");for (int i = 0; i < 3; i++){scanf("%f",&newStudentscorei);}students =(Student )realloc(students, (numStudents + 1) sizeof(Student));studentsnumStudents++= newStudent;}```2、成绩查询根据用户输入的学号,在动态数组中查找对应的学生信息并输出:```cvoid queryStudent(){int id;printf("请输入要查询的学号:");scanf("%d",&id);for (int i = 0; i < numStudents; i++){if (studentsiid == id) {printf("学号:%d\n", studentsiid);printf("姓名:%s\n", studentsiname);printf("成绩:");for (int j = 0; j < 3; j++){printf("%2f ", studentsiscorej);}printf("\n");return;}printf("未找到该学号的学生信息!\n");}```3、成绩修改先查询要修改的学生信息,然后让用户输入修改后的成绩:```cvoid modifyStudent(){int id;printf("请输入要修改的学号:");scanf("%d",&id);for (int i = 0; i < numStudents; i++){if (studentsiid == id) {printf("请输入修改后的三门课程成绩:");for (int j = 0; j < 3; j++){scanf("%f",&studentsiscorej);printf("修改成功!\n");return;}}printf("未找到该学号的学生信息!\n");}```4、成绩删除根据学号删除指定的学生信息,并重新调整动态数组:```cvoid deleteStudent(){int id;printf("请输入要删除的学号:");scanf("%d",&id);int found = 0;for (int i = 0; i < numStudents; i++){if (studentsiid == id) {found = 1;for (int j = i; j < numStudents 1; j++){studentsj = studentsj + 1;}numStudents;students =(Student )realloc(students, numStudents sizeof(Student));printf("删除成功!\n");return;}}if (!found) {printf("未找到该学号的学生信息!\n");}}```5、成绩统计分析计算所有学生的平均成绩,并输出最高和最低成绩:```cvoid statistics(){float totalScore = 0;float maxScore = students0score0;float minScore = students0score0;for (int i = 0; i < numStudents; i++){float sum = 0;for (int j = 0; j < 3; j++){sum += studentsiscorej;}totalScore += sum / 3;if (sum / 3 > maxScore) {maxScore = sum / 3;}if (sum / 3 < minScore) {minScore = sum / 3;}}printf("平均成绩:%2f\n", totalScore / numStudents);printf("最高成绩:%2f\n", maxScore);printf("最低成绩:%2f\n", minScore);}```(三)主函数在主函数中,通过菜单的方式让用户选择要执行的操作:```cint main(){int choice;while (1) {printf("1、录入成绩\n");printf("2、查询成绩\n");printf("3、修改成绩\n");printf("4、删除成绩\n");printf("5、成绩统计分析\n");printf("6、退出\n");printf("请选择操作:");scanf("%d",&choice);switch (choice) {case 1:inputStudent();break;case 2:queryStudent();break;case 3:modifyStudent();break;case 4:deleteStudent();break;case 5:statistics();break;case 6:free(students);return 0;default:printf("无效的选择,请重新输入!\n");}}return 0;}```五、实验结果经过多次测试,本系统能够稳定运行,实现了预期的各项功能。
(完整版)c实验报告实验名称: C语言实验报告实验内容:本次实验主要针对C语言编程进行实验。
通过实验的设计和完成,检验和加深对C语言的理解和应用能力。
实验步骤:1. 实验准备在开始实验之前,需要准备好以下必要的工具和材料:- 计算机- C语言编译器(比如GCC、Clang等)- 文本编辑器(比如Notepad++、Sublime Text等)2. 实验环境搭建在计算机上安装C语言编译器,并配置好相应的环境变量。
这样可以在终端或命令提示符中执行相关的C程序。
3. 编写实验代码根据实验要求,使用文本编辑器编写C语言代码。
根据实验的要求和功能需求,合理设计和组织代码结构,包括头文件的引用、变量的定义、函数的声明和定义等。
4. 编译和运行代码在命令行或终端中使用编译器对编写好的C语言代码进行编译,并生成可执行文件。
编译命令的具体格式根据不同的编译器而有所差异,但一般形式如下:```gcc -o output_file input_file.c```其中,"output_file"表示生成的可执行文件名,"input_file.c"表示待编译的C源代码文件名。
编译成功后,通过命令行或终端执行生成的可执行文件,检查程序的运行结果是否符合预期。
5. 实验结果分析根据实际运行结果,对实验数据进行分析和归纳。
可以通过输出结果、打印特定信息或观察程序的行为来判断程序是否正确地实现了预期的功能。
6. 实验总结在实验报告中对本次实验的过程、方法、结果进行总结,并提出实验中遇到的问题和解决方法。
同时,对所学习的C语言相关知识点进行总结和归纳,以加深对相关知识的理解和记忆。
实验结果:通过本次实验的设计和实现,我成功完成了对C语言编程的实验,达到了预期的目标。
通过编写实际的代码,我巩固了对C语言语法和基本概念的理解。
在实验过程中,我遇到了一些问题,通过查阅资料和与同学的讨论,我成功解决了这些问题。
c语言实习报告3篇c语言实习报告1在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的.学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。
课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1.加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。
《C程序设计1》实验报告学号 099074173 姓名周文班级软091 指导教师储岳中安徽工业大学计算机学院2010年1月9日《C程序设计》实验报告实验一:熟悉C语言的运行环境1、实验目的(1)了解Turbo C和WinTC的调试环境;(2)掌握调试C程序的四个步骤:编辑、编译、连接和运行;2、实验内容(1)首先调试下列程序,并将其以文件名first.c保存。
#include <stdio.h>int main(void){printf("This is a C program.\n");getch();}(2)将 first.c另存为second.c,并改为如下程序后调试。
#include "stdio.h"int main(void){printf(" Welcome!\n ");printf("Welcome!\n ");printf("Welcome!\n ");printf("Welcome!\n ");getch();}(3)对前两题的运行结果进行分析,然后总结调试C程序的基本步骤及观察结果的方法。
3、实验报告要求(1) 总结调试C 程序的基本步骤与技巧;(2)各题程序运行结果及分析;(3)实验总结。
实验二:运行一个C 程序的方法1、实验目的(1)掌握C 程序中定义主函数的方法; (2)掌握C 程序中书写注释的方法; (3)了解 printf 函数的基本功能。
2、实验内容(1)编写程序输出以下图案: #include<stdio.h> int main(void) {printf(" *\n"); printf(" ***\n"); printf(" *****\n"); printf("*******\n"); getch(); }(2) 编写程序输出下列字符 ------------------------- Your name:------------------------- Your password: #include<stdio.h>int main(void){printf("____________________\n"); printf("Your name:\n");printf("____________________\n"); printf("Your password:\n");**** ***** *******getch();}(3) 编写程序输出你的姓名、学号、所在学院、专业和 Email地址,并对你的程序添加注释#include"stdio.h"int main(void){printf("xingming:zhou wen\n");printf("xuehao:099074173\n");printf("suozaixueyuan:jisuanjixueyuan\n");printf("zhuanye;ruanjiangongcheng\n");printf("Email dizhi:ZHOUWENJS@\n");getch();}(4) 运行教材Page13中的程序,并观察结果#include<stdio.h>int main(void){int i,s=0;for(i=1;i<=100;i++)if(i%2==0)s = s+i;printf("%d",s);getch();return 0;}(5) 修改上题程序,求1~100中能被6整除的所有整数的和,并观察结果。
《C#.NET程序设计实验报告》学号:班级:姓名:一、实验题目随机点名程序:课堂上给大家描述过该程序要实现的功能。
主要包括:实现一个C/S或B/S程序,最好有登录功能,要求老师登录后可以进行对所带班级学生随机点名,并可以把各项信息(比如:出勤、旷课、请假等)添加到数据库,还可以对所有同学的考勤信息进行汇总统计,比如可以按照每个同学基准分为85分,出勤一次加3分,旷课一次扣5分,请假一次扣1分等,每位同漟最高为100分,最低为60分。
最后能实时看到某同学的平时成绩信息。
学生登录可以看到自己的考勤信息,比如出勤几次、旷课几次和平时成绩等。
注意:该程序最后要写实验报告,请务必好好做下!报告中可突出说明你的程序的特点。
二、实验原理从数据库中获取学生信息保存进数组→输入随机点名人数→判断剩余人数是否大于输入的人数→确定后,将随机选中的学生信息更新到listView中→进行点名,将旷课,请假的学生分别选中,选择类型→确定后,将旷课,请假的学生保存进attend表,并进行成绩计算,保存进student表→刷新dataGridView三、实验内容1、窗体设计Form1.cs[设计]2、Form1.cs代码using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace data{public partial class Form1 : Form{public Form1(){InitializeComponent();}public String[] name = new String[200];public String[] no = new String[200];public String[] selectname = new String[20];int selectnum = 0;int n = 0;int i = 0;Random rd = new Random();SqlConnection con = new SqlConnection();SqlCommand com = new SqlCommand();private void Form1_Load(object sender, EventArgs e){extBox4.Text = "3";con.ConnectionString = " server = LE-201212312241\\SQL2005; database = .net ; uid=yi ; pwd=123 ";// con.ConnectionString = " Data Source=LE-201212312241\\SQL2005;Initial Catalog=.net;User ID=sa;Password=123";con.Open();if (con.State == ConnectionState.Open){// MessageBox.Show("成功");mandText = "select SName from student"; //获取学生学号姓名到数组中com.Connection = con;//连接SqlDataAdapter da = new SqlDataAdapter();da.SelectCommand = com;DataSet ds = new DataSet();da.Fill(ds,"student");foreach(DataRow row in ds.Tables["student"].Rows){name[i] = row["SName"].ToString();name[i].Trim();i++;n++;}i = 0;n = 0;mandText = "select SNo from student";da.SelectCommand = com;ds.Clear();da.Fill(ds, "student");foreach (DataRow row in ds.Tables["student"].Rows){no[i] = row["SNo"].ToString();no[i].Trim();i++;n++;}textBox5.Text = DateTime.Now.ToString("yyyy-MM-dd"); //当前时间mandText = "select * from attend";da.SelectCommand = com;da.Fill(ds, "attend");dataGridView1.DataSource = ds.Tables["attend"];}else{MessageBox.Show("数据库连接失败!");}}private void deleteName() //随机抽取之后删除已经抽取到的学生学号姓名{int k;for (k = i; k < n; k++){name[k] = name[k + 1];no[k] = no[k + 1];}n--;}private void button4_Click(object sender, EventArgs e) //随机抽取规定数量的学生进行操作{String t = textBox4.Text;int max = Convert.ToInt16(t);if (max <= n + 1){if (max <= 20){this.listView1.Items.Clear();for (int k = 0; k < max; k++){i = rd.Next(0, n);t = no[i] + name[i];deleteName();ListViewItem lvi = new ListViewItem();lvi.Text = t;this.listView1.Items.Add(lvi);}}else{MessageBox.Show("请输入一个小于20的数!");}}else{MessageBox.Show("剩下的人数不足!");}private void button5_Click(object sender, EventArgs e) //进行点名之后将旷课和迟到的同学保存进数据库{int m = Convert.ToInt16(textBox4.Text); //出勤for (int k = 0; k < m; k++){int flag = 1;for(int j = 0; j < selectnum ;j++){if (listView1.Items[k].Text == selectname[j]) //没有出勤{flag = 0;break;}}if (flag == 1){String t;t = "select SScore from student where SNo = '" +listView1.Items[k].Text.Substring(0, 9) + "'";mandText = t;t = com.ExecuteScalar().ToString();int score = Convert.ToInt16(t);if (score + 3 <= 100)score = score + 3;elsescore = 100;t = "update student set SScore = '" + score.ToString() + "' where SNo = '" + listView1.Items[k].Text.Substring(0, 9) + "'";mandText = t;com.ExecuteNonQuery();}}if (comboBox1.SelectedItem == "旷课"){for (int k = 0; k < selectnum; k++){String t;t = "insert into attend values ('" + selectname[k].Substring(0, 9) + "','" +selectname[k].Substring(10, 8) + "','" + textBox5.Text + "','旷课')";mandText = t;com.ExecuteNonQuery();t = "select SScore from student where SNo = '" + selectname[k].Substring(0, 9) + "'"; //扣平时分mandText = t;t = com.ExecuteScalar().ToString();int score = Convert.ToInt16(t);if (score - 5 >= 60)score = score - 5;elsescore = 60;t = "update student set SScore = '" + score.ToString() + "' where SNo = '" + selectname[k].Substring(0, 9) + "'";mandText = t;com.ExecuteNonQuery();}selectnum = 0;}else if (comboBox1.SelectedItem == "请假"){for (int k = 0; k < selectnum; k++){String t;t = "insert into attend values ('" + selectname[k].Substring(0, 9) + "','" + selectname[k].Substring(10, 8) + "','" + textBox5.Text + "','请假')";mandText = t;com.ExecuteNonQuery();t = "select SScore from student where SNo = '" + selectname[k].Substring(0, 9) + "'"; //扣平时分mandText = t;t = com.ExecuteScalar().ToString();int score = Convert.ToInt16(t);if (score - 1 >= 60)score = score - 1;elsescore = 60;t = "update student set SScore = '" + score.ToString() + "' where SNo = '" + selectname[k].Substring(0, 9) + "'";mandText = t;com.ExecuteNonQuery();}selectnum = 0;}DataSet ds = new DataSet();SqlDataAdapter da = new SqlDataAdapter();if (radioButton1.Checked == true){mandText = "select * from attend";da.SelectCommand = com;da.Fill(ds, "attend");dataGridView1.DataSource = ds.Tables["attend"];}else{mandText = "select * from student";da.SelectCommand = com;da.Fill(ds, "student");dataGridView1.DataSource = ds.Tables["student"];}}private void listView1_MouseClick(object sender, MouseEventArgs e) //对选中listView中同学的姓名进行保存{ListViewHitTestInfo info = this.listView1.HitTest(e.X, e.Y);int flag = 1;if (listView1.SelectedItems.Count > selectnum) //判断是否是取消选中{selectname[selectnum] = info.Item.Text;selectnum++;}else{for (int k = 0; k < selectnum; k++) //已经选择过后,又选择,保证同一个选项可以点击多次{if (selectname[k] == info.Item.Text){flag = 0;for (int j = k; j < selectnum; j++)selectname[j] = selectname[j + 1];selectnum--;break;}}if (flag == 1){selectnum--;selectname[selectnum] = info.Item.Text;selectnum++;}}}private void radioButton1_Click(object sender, EventArgs e) {radioButton1.Checked = true;DataSet ds = new DataSet();SqlDataAdapter da = new SqlDataAdapter();mandText = "select * from attend";da.SelectCommand = com;da.Fill(ds, "attend");dataGridView1.DataSource = ds.Tables["attend"];}private void radioButton2_Click(object sender, EventArgs e) {radioButton2.Checked = true;DataSet ds = new DataSet();SqlDataAdapter da = new SqlDataAdapter();mandText = "select * from student";da.SelectCommand = com;da.Fill(ds, "student");dataGridView1.DataSource = ds.Tables["student"];}}}3、main()代码using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms;namespace data{static class Program{///<summary>///应用程序的主入口点。
c语言课程实验报告C语言课程实验报告引言:C语言作为一门广泛应用于计算机科学领域的编程语言,具有简洁高效的特点,被广泛用于系统软件、嵌入式设备等领域。
在C语言课程中,我们进行了一系列的实验,旨在通过实践提升我们的编程能力和理解C语言的各种特性。
本报告将对我们进行的实验进行总结和分析。
实验一:基本语法和数据类型在第一次实验中,我们学习了C语言的基本语法和数据类型。
通过编写简单的程序,我们熟悉了C语言的变量定义、运算符、控制语句等基本概念。
同时,我们也了解了C语言中常用的数据类型,如整型、浮点型、字符型等,并学会了如何进行类型转换和输入输出操作。
实验二:数组和字符串处理在第二次实验中,我们深入学习了C语言中的数组和字符串处理。
通过编写程序,我们掌握了数组的定义、初始化和访问方法,了解了一维数组和多维数组的特点。
同时,我们也学会了使用C语言提供的字符串处理函数,如strlen、strcpy、strcat等,实现字符串的复制、连接和比较等操作。
实验三:函数和指针第三次实验是函数和指针的学习。
我们学习了如何定义和调用函数,了解了函数的参数传递和返回值的相关知识。
同时,我们也深入研究了指针的概念和用法,掌握了指针的声明、初始化和使用方法。
通过实验,我们发现指针在C语言中具有重要的作用,可以提高程序的效率和灵活性。
实验四:文件操作和结构体在第四次实验中,我们学习了C语言中的文件操作和结构体。
通过使用文件读写函数,我们能够实现对文件的读取和写入操作,实现数据的永久存储。
同时,我们也学会了定义和使用结构体,实现对复杂数据的封装和处理。
这些知识对于实际项目的开发非常重要。
实验五:动态内存分配和链表在第五次实验中,我们学习了动态内存分配和链表的使用。
通过使用malloc和free函数,我们能够在程序运行时动态分配和释放内存,提高了内存的利用效率。
同时,我们也学会了使用链表数据结构,实现对数据的动态存储和管理。
链表在数据结构和算法中有着广泛的应用,对于解决实际问题非常有帮助。