版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一、C语言回顾复习C语言中关于函数、数组、指针、结构体等的知识,为数拯结构实验做准备。【实验学时】2学时【实验预习】回答以下问题:1、数组的左义与引用数组定义在泄义数组时,应该说明数组的名字、类型、大小和维数。 数组左义形式类型说明符 数组剑常量表达式数组元素的引用方法 数组名下标2、函数的泄义与调用无参函数类型说明符函数名() 函数体:有参函数类型说明符函数名(形式参数表列)函数体:函数调用 函数名(实参表列)3、指针的基本概念指针一般指向一个函数或一个变量。在使用一个指针时,一个程序既可以直接使用这个 指针所储存的内存地址,又可以使用这个地址里储存的函数的值。在计算机语言中,由于通 过
2、地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为 “指针”。意思是通过它能找到以它为地址的内存单元。4、结构体类型变量的定义方法结构体类型左义的一般形式 struct结构体名成员表:struct结构体名 成员表变呈:表:5、结构体成员的访问方法结构体变星名.成员划(*指针变量名).成员名 指针变量划-成员划【实验内容和要求】1、完成并调试程序:实现对一维数组元素的升序排序并输岀结果(横线处仅能补充一 条语句)。#includevoid sort(int a, int n):int mainO int s10 = l,-9, 89,120, 76, 45, 43,
3、6, 7, 2, i;for(i=0;i10;i+) printf (%4d/z, si);printf(n);return 0;void sort (int a, int n) /*补充完整排序函数,可用选择或冒泡排序*/#includevoid sort (int all, int n);int mainOint s101=(1, -9, 89,120, 76, 45,43, 6, 7, 2,i;sort (s, 10);for(i=0;i10;i+)printfsLi);printf(n);return 0;void sort (int a J,int n)int it j, t;for
4、(i=0;in-l;i+)fqfor (j=0;jaj+lj)t=aj;aj=aj+l;aj+匸二 t;2、完成并调试程序:字符串连接程序,不使用系统提供的字符串连接函数,将第二个 字符串连接至第一个字符串后。(横线处仅能补充一条语句)。#includedefine M 80int mainO char sublM, sub2M;char *psl=sub1, *ps2=sub2;printf (/zplease input strings:n?,);printf (?,stringl: ”);gets(psi);printf (/,string2);gets(ps2);while(*psl!
5、=,0)ps 1+-;while (*ps2!= 0)_* (ps 1+) =* (sp2+):*psl= 0;printf (?znew string:;puts(subl);return 0;3、完成并调试程序:结构体与数组。实现学生数据的输入、输出和按成绩排序。(横 线处仅能补充一条语句)。#include#includestruct student!int sno;char sname10_;float grade;void inputData(struct student s, int n);void printData(struct student s, int n);void s
6、ortData(struct student s, int n);int mainO struct student a100;int n=3;inputData(a,n);sortData (a, n);printData(a, n);return 0;void inputData(struct student s, int n) int i;for(i=0;in;i+)scanf ( u%s%s%dM , si sno, si sname, si grade); /*读入数据*/void printData(struct student s, int n) int i;printf (n=n
7、);for(i=0;in;i+)_printf( un%s%s%4dM , s.i sno, si sname, si grade); /*输岀数据*/void sortData(struct student s,int n) int i, j;struct student t;for(i=0;in-l;i+) for(j=i+l;jn;j+)if (sli gradesj grade) t二si; /*实现数据交换*/si=sj;;4、完成并调试程序:结构体与指针。实现学生数据的输入、输岀。(横线处仅能补充 一条语句)。#include#include#includetypedef stru
8、ct STUint sno;char sname10.;float grade;struct STU *next;STU;STU *inputData(); /*创建链表,返回链表的头指针*/void printData( STU *list); /*输出链表*/int mainO STU *h=NULL;h=inputData();printData(h);return 0;STU *inputData() STU *p=NULL, *q=NULL, *head=NULL;int sno;char sname10_;float grade;scanf (z/%d%s%fz/, &sno, s
9、name, &grade);wh订e (sno!=-l) /*输入学号为-1时,结束输入*/p=(STU *)malloc(sizeof(STU); /*此语句功能:_计算 st_u 的大小/p-sno=sno;strcp3r (p-sname, sname);p-grade=grade;p-next二NULL;if(head=NULL) head=p;else q-next二p;Q=P;scanf (z?%d%s%f/z, &sno, sname, &grade);return head;void printData( STU *list) STU *p=list;printf (n=n);
10、while(p!=NULL) _ rintf ( next;回答问题:此链表创建的是有头结点链表还是无头结点链表?有课后作业:完成下而三个程序1、在一组升序排列的整数数组中插入一数据,并使该数组仍保持升序,最后输岀插入后的 数组。include int mainOint x10+l;int i;int a;int j, k;for(i=0;i20;i+=2)xi/2=i;for(i=0;i10;i+)printfxi);scanf (,z%d,z, &a);for(i=0;ixi) if (i=10-l) x10a;else J=l;for (k=10-l;k=j;k) xk+l=xk;xj二
11、 a;break;for(i=0;iU;i+)printf (“3d, xi);return 0;2、输入4*3列矩阵,并输出最大数和最小数所在的行和列。include int mainOint a3 4二0;int i, j, max, max_i, max_j ;printf (Please input a 3X4 matrix: n?,);for(i=0;i3;i+)for(j=0;j4;j+)scanf&ai j);max=a0. .0;max_i二max_j=0;for(i=0;i3;i+)for(j=0;jmax)max=ai j;max_i=i;max_j二j;printf (Z
12、/The max is %d, row %, col %dn/z, max, max_iF max_j);3、从键盘输入3名学生的学号、姓名和C语言成绩,输出最高分,最低分,平均分,并按 由 髙到低的顺序输出 学生的成绩。#includestruct Stuint num;char name20_;float score;void Input(struct Stu s)int i;for(i=0;i3;+i)scanf (/z%d%s%f/z, &si num, &si name, &si score);void Sort (struct Stu *a)int i, j;struct Stu *t,*p;for(i=0;i2;+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年西藏电子劳动合同推广与应用信息反馈合同3篇
- 2025年滕秋离婚协议书保障婚姻解除权益6篇
- 2025年度高校与企业实践技能培训协议范本2篇
- 2025房屋借住合同范本
- 个人抵押借款合同协议范文
- 2025电脑网络维护合同范
- 年度专业设计服务产业分析报告
- 场地租赁合同书范文
- 2025煤炭储运承包合同
- 专家聘用协议书范文
- 2024年黑河嫩江市招聘社区工作者考试真题
- 第22单元(二次函数)-单元测试卷(2)-2024-2025学年数学人教版九年级上册(含答案解析)
- 蓝色3D风工作总结汇报模板
- 安全常识课件
- 河北省石家庄市2023-2024学年高一上学期期末联考化学试题(含答案)
- 2024年江苏省导游服务技能大赛理论考试题库(含答案)
- 2024年中考英语阅读理解表格型解题技巧讲解(含练习题及答案)
- 新版中国食物成分表
- 浙江省温州市温州中学2025届数学高二上期末综合测试试题含解析
- 2024年山东省青岛市中考生物试题(含答案)
- 保安公司市场拓展方案-保安拓展工作方案
评论
0/150
提交评论