当前位置:文档之家› 大连东软信息学院C语言实验七指针与结构体分析

大连东软信息学院C语言实验七指针与结构体分析

大连东软信息学院C语言实验七指针与结构体分析
大连东软信息学院C语言实验七指针与结构体分析

实验七指针与结构体

一、实验目的

1.掌握指针和指针变量的概念。

2.掌握简单指针变量的定义和基本使用方法。

3.熟悉指针和一维数组的关系,掌握指向一维数组的指针变量的定义方法,熟练使用指针变量访问一维数组元素。

4.了解指针和二维数组的关系,了解用指针表示二维数组元素的方法。

5.了解指针与字符串的关系,能熟练使用指针处理字符串。

6.掌握结构体类型变量的定义和使用;

二、实验预习

1.理解为什么要引入指针,引入指针是为了解决什么问题。指针和地址之间的关系是什么?

2.指针和指针变量有什么区别?

3.如何理解指针的类型和变量空间存储数值的类型之间的对应关系?当指针自增时,跳过的地址为多少,与什么因素有关?

4.理解指向数组的指针与数组名之间的联系与区别?数组名可以通过自增来实现地址空间的变化吗?

5.指向数组的指针和指针数组之间有什么样的区别,在定义的时候如何区分?

6.理解为什么要引入结构体?结构体类型和结构体变量分别指什么?

三、实验内容

(一)阅读并调试下列程序,根据要求给出程序结果。

1.用指针访问简单变量。

⑴ 编程分析

定义指向整型变量的指针变量,然后通过“*指针变量”的形式即可访问相应的简单变量。

⑵ 参考程序

/* 用指针访问简单变量的程序 */

#include "stdio.h"

void main()

{

int a,b,c,temp;

int *p1,*p2,*p3;

printf("请输入三个整数值(a,b,c):\n");

scanf("%d,%d,%d",&a,&b,&c);

p1=&a; /* 使指针p1指向简单变量a */

p2=&b; /* 使指针p2指向简单变量b */

p3=&c; /* 使指针p3指向简单变量c */

if(*p1<*p2)

{

temp=*p1;*p1=*p2;*p2=temp;

}

if(*p1<*p3)

{

temp=*p1;*p1=*p3;*p3=temp;

} /* 至此p1指向了三个数中的最大数 */

if(*p2<*p3)

{

temp=*p2;*p2=*p3;*p3=temp;

} /* 至此p3指向了最小数,p2指向了中间数 */

printf("%d,%d,%d\n",*p3,*p2,*p1);

}

⑶ 程序调试

① 运行程序,任意输入三个整数(之间以逗号分隔),察看并分析程序运行结果。

运行结果:

结果分析:此程序实现了三个随即输入的整数按从小到大的顺序排列输出

② 运行程序,按由小到大的顺序输入三个整数(之间以逗号分隔),察看并分析程序运行结果。

运行结果:同上

分析结果:同上

③ 运行程序,按由大到小的顺序输入三个整数(之间以逗号分隔),察看并分析程序运结果。

运行结果:同上

分析结果:同上

2.用指针法在一维有序数组中插入数据。

⑴ 编程分析

在实验中,我们可以用下标访问数据元素的方法,实现有序数列的数据插入问题。也可以用指针访问数组元素的方法予以实现。只要在原有数组程序的基础上,将下标访问数组元素改为用指针访问数组元素,问题即得以解决。

⑵ 参考程序

/* 用指针法在一维有序数组中插入数据程序 */

#include "stdio.h"

#define M 10

main( )

{

int a[M+1]={10,20,30,40,50,60,70,80,90,99};

int i,n,*p,*q;

printf("请输入要插入的数据:\n");

scanf("%d",&n);

a[M]=n;

for(p=a,i=0;i<=M;i++) /* 确定要插入的位置p */

if(n<=*(p+i))

{

p=p+i; /* p指向要插入数据的位置 */

break;

}

for(q=a+M-1;q>=p;q--) /* 元素后移 */

*(q+1)=*q;

*p=n; /* 插入数据 */

printf("\n插入数据后的数列:\n");

for(p=a,i=0;i

printf("%d ",*(p+i));

}

运行结果:

结果分析:此程序实现了在已知一组从小到大数据中插入新输入的数据,然后将其与已知的数据比较后,将其按大小插入期中

3.用指针实现选择法排序程序。

⑴ 编程分析

① 定义一个int型一维数组a,并用指针p指向它。

② 用指针实现各个数组元素的输入。

③ 用指针访问各个数组元素实现选择法排序。

④ 输出排序结果。

⑵ 参考程序

/* 用指针实现的选择法排序程序 */

#include "stdio.h"

#define M 20

void main( )

{

int a[M],n,i,j,min,temp,*p,*q;

printf("请输入排序数据:\n");

for(p=a;p

scanf("%d",p);

printf("排序前数列:\n");

for(p=a;p

printf("%d ",*p);

for(i=0;i

{

q=&a[i];

for(p=&a[i+1];p

if(*p<*q)

q=p;

temp=a[i];

a[i]=*q;

*q=temp;

}

printf("\n排序后数列:\n");

for(p=a;p

printf("%d ",*p);

}

⑶ 程序调试

① 凡是排序程序,输入数据调试时至少要包括三种情况:任意的一组数据;一组升序数据;一组降序数据。

任意:

降序:

升序:

结果分析:此程序实现了输入一组整形数据将其按输入顺序和升序顺序分别打出

② 在上面的参考程序中,指针变量p在每一次的数组处理中都是变化的,不管是数组数据输入、数组数据输出、每一趟排序等,p指针总是逐步向后指向下一个元素。在编写调试程序时,指针p的指向也可以相对固定,而采用加(或减)移动量的方式指向其他的数组元素。

4.用结构体类型实现“日期问题”

⑴ 编程分析

① 定义结构体数据类型,包括year(年)、month(月)、day(日)

三个成员,类型定义在主函数main()前进行。

② 在主函数中定义相应的结构体变量,并输入结构体数值。

③ 天数累加,并进行闰年处理:计算到上月最后一天是第几天存放到sum;将本月的天数加到sum;若月份大于2,则考虑闰年情况,若闰年时sum+1。

⑵ 参考程序

/* 用结构体类型实现的日期问题程序 */

#include "stdio.h"

struct date /* 定义结构体数据类型 */ {

int year;

int month;

int day;

};

void main()

{

struct date d;

int sum=0;

printf("请输入日期(年、月、日之间用空格分隔):\n"); scanf("%d%d%d",&d.year,&d.month,&d.day);

switch(d.month)

{

case 1:sum=0;break;

case 2:sum=31;break;

case 3:sum=31+28;break;

case 4:sum=31+28+31;break;

case 5:sum=31+28+31+30;break;

case 6:sum=31+28+31+30+31;break;

case 7:sum=31+28+31+30+31+30;break;

case 8:sum=31+28+31+30+31+30+31;break;

case 9:sum=31+28+31+30+31+30+31+31;break;

case 10:sum=31+28+31+30+31+30+31+31+30;break;

case 11:sum=31+28+31+30+31+30+31+31+30+31;break;

case 12:sum=31+28+31+30+31+30+31+31+30+31+30;break; }

sum+=d.day; /* 天数累加 */

if(d.month>2) /* 闰年处理 */

if(d.year%400==0||d.year%100!=0&&d.year%4==0)

sum+=1;

printf("Total: %d\n",sum);

}

⑶ 程序调试

① 运行程序,输入一个合法日期数据,察看并分析程序结果。

运行结果:

分析结果:1.首先小于10的月份前面加零与否没有影响,经测试日一样(上图为月份对比)。

2.正确输入数据并无任何问题。

② 运行程序,输入一个月份非法的日期数据,察看并分析程序结果。

运行结果:

分析结果:1.在输入月份数据超过 12 后只计算显示了所输入的天数。

2.上两图为月错日对的情况,经学生运行月日均错的情况下,同样只显示后面的天数。(恕不再截图演示)

③ 运行程序,输入一个日子非法的日期数据,察看并分析程序结果。

运行结果:

分析结果:9月本无31号,从上图分析易知,日子超出时,程序默认为累加状态。

④ 完善程序,使得在任何情况下,都能输出一个合理的结果。

修改: 只需在switch 结构内部最后加下面一句即可

default:printf("Date Error! Please re-run!!");

(二)程序编制题

1. 写一个函数,用指针作为函数的参数,求2个整数的最大值。

2. 编一个程序,输入n个互不相等的整数存于数组中,并输出。程序如发现输入的数据已输入过,则要求重新输入。要求用指针实现。

3. 请编写程序,判断一个字符串是否是回文。若是回文,输出“yes”,否则输出“no”。回文是顺读和倒读都一样的字符串(如ABCBA,或者12321就是回文)。要求用指针实现。编写结果:

运行结果:

4.定义一个结构体变量,其成员包括:职工号、姓名、工龄、工资,从键盘输入具体的数据,然后输出。

编写结果:

#include

main()

{

int n;

struct worker_general

{

int number[15];

char name[20];

int seniority;

long int wage;

};

struct worker_general group[100];

struct worker_general *p;

p=group;

printf("Please input dates:\n");

scanf("%d%d%s%d%ld",&n,&(p->number),&(p->name),&(p->seniority),&(p-> wage));

printf("worker_%d:\n%d\t%s\t%d\t%ld",p->number,p->name,p->seniority, p->wage);

getch();

}

运行结果:

输入后出现按格式出现了不符的随机数~~~~很无语啊~~讲讲吧~~~可能上课时错过了什么~~~

四、思考题

1.在“用指针访问简单变量”实验中,调试程序时,给出了三组顺序不同的调试数据。请读者分析,这对调试程序有何意义。

答:为了检测程序的正确性,在任何情况下都可正确运行。

2.在“用指针法在一维有序数组中插入数据”实验中,可不可以不移动数组元素而直接插入一个数据?为什么?。

答:不可以!因为……

C语言程序设计实验报告(实验大纲+过程)之欧阳家百创编

《C程序设计》实验教学大纲 欧阳家百(2021.03.07) 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分: 4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解C 语言的特点,熟练掌握C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 五、实验项目与学时分配

注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。 2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每

大连东软信息学院专业介绍

大连东软信息学院专业介绍 计算机科学与技术系 计算机科学与技术系致力于培养计算机应用软件系统、嵌入式系统、网络工程、软件测试和项目管理等方向、能够从事软件设计与开发、计算机网络应用开发与管理的应用型高级专门人才。 共开设专业课程三十多门,数百门e-Learning课件可供学生自由选择,自主学习。全系设置了多个教学实验室,计算机网络实验室和项目实践实验室,具备一流的教学科研配套设施,同时与IBM、惠普、SUN、思科、东芝等国外著名公司建立了用于教学和科学研究的联合实验室,引进了IBM,微软、英特尔、惠普、Oracle等国际著名公司的教学资源、课程体系、实训体系等。 1. 计算机科学与技术(数据库应用系统开发方向) 培养目标: 本专业培养具备良好的计算机科学技术知识及应用能力,掌握数据库的基础知识和信息系统的基本工作原理,熟练掌握数据库应用系统的分析与设计方法,掌握数据库建模方法,能够根据应用的要求,利用数据库设计方法学和设计工具,构建数据库及其应用系统;有良好的组织管理和沟通交流能力,能够从事计算机信息管理、数据处理、维护和备份工作的德、智、体、美全面发展的应用型高级专门人才。 主要课程: 大学英语、沟通与演讲、高等数学、高级程序设计基础(C语言)、数据结构(C语言)、计算机组成原理、数据库原理与应用、操作系统(Linux)、计算机网络、信息资源管理、Java语言高级程序设计、Oracle、DB2、pureXML、Web开发技术等。 职业取向: 本专业的毕业生可到能源、金融、大型制造业以及政府等相关企事业单位,从事事务处处理系统、地理信息系统(GIS)、联机分析系统、决策支持系统、企业资源计划(ERP)、客户关系管理(CRM)、数据仓库和数据挖掘系统等各类数据库应用系统的设计与开发、运行管理及维护工作;从事数据库应用系统相关软件产品的市场推广、售前和售后服务等工作;在各类学校从事相应的教学、科研等工作;从业的岗位有系统工程师、软件工程师、数据库开发工程师、技术支持/维护工程师、产品工程师等。也可继续攻读本专业或相关专业的硕士学位。 2.计算机科学与技术(网络系统应用开发方向) 培养目标: 熟练掌握嵌入式系统的基础知识,掌握开发嵌入式系统的基本方法和技能,掌握单片机、微处理器等硬件基础知识,具有一定的硬件研发能力,具有开发硬件驱动程序、嵌入式操作系统、嵌入式应用软件的能力,能够从事嵌入式系统应用软件设计和管理的应用型高级专门人才。

C语言结构体实验报告

《高级语言程序设计》实验报告实验序号:8 实验项目名称:结构体

附源程序清单: 1. #include struct student { int num; char name[20]; char classname[20]; float score[3]; float aver_score; }stu[5]; void input() { int i; for(i=1;i<6;i++) { printf("第%d个同学",i); printf("请输入学号名字班级三门课程成绩:\n"); scanf("%d %s %s %f %f %f",&stu[i].num,stu[i].name,stu[i].classname,&stu[i].score[1],&stu [i].score[2],&stu[i].score[3]); } }; void averagescore() {

for(i=1;i<=5;i++) stu[i].aver_score=((stu[i].score[1]+stu[i].score[2]+stu[i].score[3])/3); printf("平均成绩:"); for(i=1;i<6;i++) printf("第%d个同学的平均成绩%f:\n",i,stu[i].aver_score); printf("\n"); }; void max() { int i,k=0; float temp=stu[1].aver_score; for(i=2;i<=5;i++) if(stu[i].aver_score>temp) {temp=stu[i] .aver_score;k=i;}; printf("成绩最好的同学:\n"); printf("%d %s %s %4.2f %4.2f %4.2f %4.2f\n", stu[k].num,stu[k].name,stu[k].classname,stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].aver _score); }; void main() { input(); averagescore(); max(); } 2.#include struct worker { char name[20]; int workyear; float salary; }work[5]; void input() { int i; for(i=1;i<=5;i++) { printf("第%d个工人:",i); printf("请输入名字工作年限工资总额:\n"); scanf("%s %d %f",&work[i].name,&work[i].workyear,&work[i].salary);

大连东软信息学院校歌词曲诠释

大连东软信息学院校歌词曲诠释 作词:温涛 作曲:张明华 这里山海壮阔这里草木芬芳 每一块砖石铭刻大学理想 听那汽笛悠长听那钟声激荡 每一颗心灵在此追梦远航 精勤博学求知的脚步拓出人生宽广 学以致用坚实的臂膀扛起时代担当 这是创新乐土也是人生课堂 每一段青春写就无悔时光 在这里快乐分享在这里勇敢闯荡 每一次成长源自梦的力量 你好远方你好梦想 在这里我们将未来眺望 你好远方你好梦想 在这里我们永远青春飞扬 我们刚起航 梦想在路上 歌词的首段对仗工整,绘声绘色。既有对学校地理环境、校园风貌、标志性景观的写实,也有对学校教育情怀的抒发。山,巍峨挺拔、气势磅礴;海,深邃宽广、波澜壮阔。黄海之畔,冲之山下,一座气势宏伟的高等学府在这里崛起。蓝天白云之下,学校现代而典雅的建筑群错落有致地镶嵌在如碧如玉的绿地中,林木丰茂,百花争艳,一派盎然生机。如果说山海的壮阔给予着学校海纳百川的智慧、草木的芬芳见证着学校不断成长的历史,那么这里的每一块砖石则铭刻着大连东软信息学院的大学理想——用年轻的力量和全新的理念来与产业高度融合创办一种新的教育,创办一所有特色高水平的创业型应用技术大学,帮助青年学子

实现自己的梦想。古朴庄重的钟楼用它的钟声召唤着东软学院人求知的脚步,学子广场上火车头鸣响的汽笛激励着东软学院人不畏风雨,敢为人先,执着梦想,奋勇前行。 第二段对大连东软信息学院的人才培养情况进行了更具象的描写,既是学校始终追求的愿景,也是学校勇于创新踏实前行的现实。“创新乐土”和“人生课堂”是大连东软信息学院对于大学使命的深刻理解,我们认为大学在社会中扮演了很多角色,是教育者,也是创新者。办学以来,随着学校不断发展和自我超越,我们更加深刻地认识到:学校唯有成为优秀的教育者和创业者,才可以培养出具有求真态度、创新者思维、和实干家行动力的优秀人才,让校园里的每一名师生都能够实现价值和梦想。“快乐分享”和“勇敢闯荡”是对青年学子的成长诉求,希望我们的教育能够让青年学子在经历过大学的时光后,拥有成就持续成长、贡献社会所需的知识、能力和素质,真正获得无悔无憾的青春时光。 第三段是整个歌曲中的起承转合之处,着意烘托“精勤博学,学以致用”的八字校训,彰显学校的文化核心是一种经世致用的态度,一种勇于创新和变革的精神。希望每一名师生能够勤奋求知、勤勉践行,能够始终保持对知识的好奇心和对未知领域的探求心,不断学习,广泛涉猎,永远饱含进取精神,在实现个人价值上追求更高的境界,为社会创造更多的价值,做有理想、有目标、有责任担当的东软学院人。 第四段是歌曲的副歌部分。“你好,远方,你好,梦想”的反复唱诵,体现了东软学院人对于未来的热切期盼和对梦想的乐观展望。尾声采用多声部领唱加混声合唱的形式。“刚起航”、“在路上”唱出了东软学院人永葆突破自我的创业心态和不断超越的激情,脚踏实地共同开创美好明天的坚定心声。 整首歌曲融合了古典与流行音乐的特点,整体节奏轻快活泼,旋律流畅,朗朗上口。歌曲是一首传统的单三部大调曲式,歌曲的前奏采用铜管乐圆号为主奏乐器,进行重奏演奏,并用长号作为低音声部的铺低乐器,使乐曲前奏安静舒缓,但不失大气,稳重的特点。歌曲第一段主歌部分以舒缓的节奏来进行,通过钢琴的音色和歌手深情地演唱相辅相成。第二段

大连东软信息学院封面个人简历模板

……………………….…………………………………………………………………………………姓名:杜宗飞专业:计算机科学与技术 学院:数理信息学院学历:本科……………………….…………………………………………………………………………………手机:×××E – mail:×××地址:大连东软信息学院

自荐信 尊敬的领导: 您好!今天我怀着对人生事业的追求,怀着激动的心情向您毛遂自荐,希望您在百忙之中给予我片刻的关注。 我是大连东软信息学院计算机科学与技术专业的2014届毕业生。大连东软信息学院大学四年的熏陶,让我形成了严谨求学的态度、稳重踏实的作风;同时激烈的竞争让我敢于不断挑战自己,形成了积极向上的人生态度和生活理想。 在大连东软信息学院四年里,我积极参加各种学科竞赛,并获得过多次奖项。在各占学科竞赛中我养成了求真务实、努力拼搏的精神,并在实践中,加强自己的创新能力和实际操作动手能力。 在大连东软信息学院就读期间,刻苦进取,兢兢业业,每个学期成绩能名列前茅。特别是在专业必修课都力求达到90分以上。在平时,自学一些关于本专业相关知识,并在实践中锻炼自己。在工作上,我担任大连东软信息学院计算机01班班级班长、学习委员、协会部长等职务,从中锻炼自己的社会工作能力。 我的座右铭是“我相信执着不一定能感动上苍,但坚持一定能创出奇迹”!求学的艰辛磨砺出我坚韧的品质,不断的努力造就我扎实的知识,传统的熏陶塑造我朴实的作风,青春的朝气赋予我满怀的激情。手捧菲薄求职之书,心怀自信诚挚之念,期待贵单位给我一个机会,我会倍加珍惜。 下页是我的个人履历表,期待面谈。希望贵单位能够接纳我,让我有机会成为你们大家庭当中的一员,我将尽我最大的努力为贵单位发挥应有的水平与才能。 此致 敬礼! 自荐人:××× 2014年11月12日 唯图设计因为专业,所 以精美。为您的求职锦上添花,Word 版欢迎 下载。

C语言实验八结构体上机报告

《标准C语言程序设计》上机报告实验八结构体程序设计 专业:电子信息工程 班级:电信1301 学号:U201313480 姓名:秦行 完成日期:2014/6/9

一、实验目的: 1、掌握结构体类型的说明和结构体变量的定义; 2、掌握结构体变量成员的引用和对结构体变量的初始化; 3、掌握结构体数组及结构体指针变量的定义及使用。 4、理解并掌握结构体在函数间的传递; 5、进一步掌握复杂程序编译、连接和调试的技巧。 二、实验内容及要求(鼓励一题多解) ——以下均要求不得使用全局变量: 1 (1)、正确定义该表格内容要求的数据类型; (2)、分别输入各成员项数据,并打印输出(为简便起见,假设只有3名考生)。#include #include #define N 3 struct date { int year; int month; int day; }; struct student { unsigned int num; char name[20]; char sex; struct date birth; }; void main()

{ struct student tester[N]; int i; for(i=0;i #include #include #define N 10 struct worker { char name[20]; int salary; };

大连东软信息学院数据结构期末试卷(本科)

东软信息学院07~08学年第二学期数据结构期中试题 班级:___________ 姓名:________ 学号:_____________ 学生层次:嵌入式系统工程系 07级电子信息工程(集成电路设计与系统)本科嵌入式系统工程系 07级电子信息工程(嵌入式系统工程)本科 一、选择题(每小题1分,共20分) 1. 从逻辑上可以把数据结构分为()。 A.动态结构和静态结构 B. 线性结构和非线性结构 C.紧凑结构和非紧凑结构 D. 逻辑结构和物理结构 2. 线性表的链表存储结构与顺序存储结构相比优点是() A.所有的操作算法实现简单 B 便于随机存取 C 便于插入和删除D便于利用零散的存储器空间 3.将下图所示的s所指结点加到p所指结点之后,其语句应为:() A s->next=p+1;p->next=s; B (*p).next=s;(*s).next=(*p).next; C s->next=p->next;p->next=s->next; D s->next=p->next;p->next=s; 4. 不带头结点的单链表head为空的判定条件是() A head= =NULL B head->next= =NULL C head->next= =head D head!=NULL 5. 在一个单链表中,若p所指结点不是最后结点,在p之后插入s结点,则应执行语句() A s->next=p:p->next=s; B s->next=p->next;p->next=s; C s->next=p->next;p=s; D p->next=s;s->next=p; 6. 在一个单链表中,若删除p所指结点的后续结点,则应执行语句() A p->next=p->next->next; B p=p->next;p->next=p->next->next; C p->next=p->next; D p=p->next->next; 7. 一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( ) A. 110 B. 108 C. 100 D. 120 8. 在一个长度为n的顺序表中,在第i个元素( 1 <= i <=n+1)之前插入一个新元素时须向后移动( )个元素. A. n-1 B. n-i+1 C. n-i-1 D. i 9. 在一个单链表中,已知q所指的结点是p所指结点的前驱结点,若在q和p之间插入s 结点,则执行( )。 A.s->next=p->next;p->next=s; B.p->next=s->next;s->next=p; C.q->next=s;s->next=p; D.p->next=s;s->next=q; 10. 线性表L=(a1,a2,…,a n),下列说法正确的是( ) A.每个元素都有一个直接前驱和一个直接后继 B.线性表中至少要有一个元素

C语言实验报告参考答案

《C语言程序设计》 实 验 手 册

《C语言程序设计》实验课程简介 课程名称:C语言程序设计实验 课程性质:专业必修课 课程属性:专业必修课 学时学分:学时32 学分1 开课实验室:软件实验室 面向专业:网络工程、软件工程、计算机科学与技术 一、课程的任务和基本要求 C语言程序设计实验是面向计算机相关专业学生开设的《C语言程序设计》实验课,是配合《C语言程序设计》课程而开设的实验性教育环节。本课程的主要任务是让学生充分掌握C 语言程序设计的基本概念、各种数据类型的使用技巧、模块化程序设计的方法等。C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。通过C语言上机实验的教学活动,使学生真正全面掌握C语言的基础知识,培养和提高学生的程序开发能力。 二、实验项目 【实验一】最简单的C程序---顺序程序设计 【实验二】逻辑运算和判断选取控制 【实验三】循环结构程序设计(一) 【实验四】循环结构程序设计(二) 【实验五】函数 【实验六】数组(一) 【实验七】数组(二) 【实验八】指针 【实验九】结构体、共用体和文件 【实验十】C程序综合性实验 三、有关说明 1、与其它课程和教学环节的联系: 先修课程:计算机文化 后续课程:面向对象程序设计、Java程序设计、数据结构、软件工程 2、教材和主要参考书目: (1)教材: 《C程序设计习题解答与上机指导》,谭浩强吴伟民著,北京:清华大学出版社,2003年。(2)主要参考书目: 《C语言程序设计》谭浩强主编,清华大学出版社,2003年。

三、实验内容 实验一最简单的C程序---顺序程序设计 (验证性实验 2学时) (一)、实验目的 1.熟悉win-tc程序运行环境 2.掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法 3.掌握C语言中使用最多的一种语句——赋值语句 4.掌握数据的输入输出方法,能正确使用各种格式控制符 (二)、实验内容 1.写出下列程序的运行结果 (1)#include void main() { printf(“*****************\n”); printf(“This is a c program. \n”); printf(“****************\n”); } 运行结果及分析:运行结果为: Printf函数语句表示输出引号内的字符串,最后的\n表示换行, 将程序中的\n去掉后,运行结果及分析:运行结果为: 去掉\n后不换行连续显示 (2)#include void main() { int a=100,b=20,sum,sb; sum=a+b; sb=a/b; printf("sum=%d,sb=%d",sum,sb); } 运行结果及分析: sum=100+20=120;sb=100/20=5. (3)#include void main( )

c语言实验报告1

C语言程序设计报告 日

程序主要内容 任务1. 程序首先随机产生一到十之间的正整数,在屏幕上打印出问题,例如6*7=?然后让学生输入答案,序检查学生输入的答案是否正确,若正确,则“RIGHT”,然后问下一个问题,否则打印“WRONG,PLEASE TRY AGAIN”,然后提示学生重做,直到答对为止。 程序如下: #include #include #include int Magic(int x); int Answer(); main() { int guess,answer,counter=1; do{ printf("%d*%d=",Magic(1),Magic(2)); answer=Magic(1)*Magic(2); if(Answer()==answer) { printf("Right\n"); break; } else printf("Wrong!,please try again\n"); }while(counter>=1); } int Magic(int m)

int x,int y; srand(time(NULL)); x=rand()%10+1; y=rand()%10+1; if(m==1) return x; if(m==2) return y; } int Answer() { int n; scanf("%d",&n); return n; } 任务2:在(1)的基础上,当学生回答错误时,最多给三次重做的机会。 :程序如下: #include #include #include int Magic(int x); int Answer(); int Exam(); main() { int n; n=Exam(); if(n==0) printf("Right\n"); else if(n==1) printf("Wrong!You have tried

大连东软信息学院精美个人简历模板

R esume

◆ 2012.09-2016.07 某某大学 广播电视编导 本科 ? 2014.09~2015.06 百度 编辑 ? 在百度实习期间,在百度新闻网站发表新闻总计300余篇。 ? 2013.09~2014.09 校园网 记者 ? 在校期间,担任校园网记者,报道发表近100篇校内校外新闻。 ? 优秀一等奖学金三次,二等奖学金两次,三等奖学金一次 ? 全国计算机二级证书 ? 普通话二级甲等证书 ? 2013年度荣获"优秀团员"称号 ? 2013~2014年度荣获"创新创业"奖 123456 123456 123456 ● 电视编导专业,擅长写作,摄影,视频制作。 ● 2年的新闻编辑实践经验,发表超过200余篇新闻文章。 ● 学习能力强,专业成绩突出,多次获得奖学金。 ? 2014.09~2015.06 学生会团宣部 部长 ? 在担任团宣部部长期间,在校外新闻网站(四川新闻联播网,百姓生活网等)发表校内新闻70余篇,以及其它新闻总计200余篇。 ? 2013.09~2014.09 学生会 女生部副部长 ? 在担任女生部副部长期间,多次组织院内、校级素质拓展活动。 ? 2014.09~2015.06 学长导航员 在担任学长导航学期间,解决学妹学弟生活上和学习上的各种问题。经常组织班级进行课外活动。 基本信息 ◆ 姓 名:某某 ◆ 性 别:女 ◆ 年 龄:21岁 ◆ 民 族:汉 ◆ 籍 贯:北京 求职意向:新闻编辑/记者 ? 摄影 ? 熟练使用Photoshop ? 熟练使用Offices 软件 某某 联系方式 个人技能 校园经历 荣誉证书 自我评价 实习经历 教育背景

大连东软信息学院电子电路题目汇总

电子电路复习题汇总 一、判断题 1.有了参考方向的概念之后,电阻两端的电压和电流不再满足欧姆定律。错!~ 2.电感的感抗表示电感对交流电流的阻碍能力。对!~ 3.三相交流电是指三相频率相等,幅值相等,想为彼此相差120°的交流电源。对!~ 4.稳压管的稳定电压Ui是在规定的稳压管反向工作电流Iimin~Iimax下,所对应的反 向工作电压。对!~ 5.本征半导体是纯净的、结构完整的具有晶体结构的半导体。对!~ 6.当PN结正向偏置时,回路中将产生一个较大的正向电流,PN结处于导通状态。对! ~ 7.整流电路可将正弦电压变成脉动的直流电压。对!~ 8.PN结内电场的方向是从P区指向N区。错!~ 9.要想保证晶体管在整个交流信号的周期内都工作在放大区且放大电路的输出波形 不失真,必须设置合适的静态工作点。对!~ 10.电容的容抗表示电容阻碍交流电流通过的能力的大小。错!~ 11.我们将最大值、角频率和初相角称为正弦量的三要素。对!~ 12.功率放大电路在整个信号周期内NPN晶体管和PNP晶体管交替导通是互补工作方 式。对!~ 13.在N型半导体中如果掺入足够量的三价元素,就可将其改变为P型半导体。对!~ 14.PN结动态平衡后,空间电荷区中没有载流子。错!~ 15.直流稳压电源中整流电路的目的是将交流变为脉动的直流。 16.PN结内电场的方向是从N区指向P区。对!~ 17.功率放大电路的转换效率是电路的输出功率与电源提供的直流功率之比。对!~ 18.若元件的u,i取关联参考方向,计算该元件的功率大于零,表示该元件实际吸收功 率。对!~ 19.实际电压源可以用理想电压源与电阻的串联表示。对!~ 20.电感具有通直阻交的作用。对!~ 21.对称三相正弦交流电源的电压瞬时值之和为0.对!~ 22.在P型半导体中如果掺入足够量的五价元素,就可将其改变为N型半导体。对!~ 23.三极管是通过基极电流来控制集电极电流的。对!~ 24.由于N型半导体的多子是自由电子,所以它带负电。错!~ 25.电容具有通直阻交的作用。错!~ 26.设备铭牌额定值指的是最大值。错!~ 27.PN结的内电场是阻碍多子的扩散运动的。对!~ 28.只要是共射放大电路,输出电压的顶部失真都是截止失真。错!~ 29.若元件的u,i取非关联参考方向,计算该元件的功率小于零,表示该元件实际吸收 功率。对!~ 30.测量中,交流测量仪表指示的电压、电流读数一般为有效值。对!~ 31.PN结的内电场是促进多子的扩散运动的。错!~ 32.PN结在无光照、无外加电压时,结电流为零。错!~ 33.直流稳压电源一般由电源变压器、整流电路、滤波电路和稳压电路构成。 34.甲乙类互补对称功放比乙类互补对称功放好,可较好的清除交越失真。

C语言实验报告

实验一进制转换一、实验要求 采用模块化程序设计完成进制转换。由键盘输入一个十进制正整数,然后将该数转换成指定的进制数(二、八、十六) 形式输出。指定的进制由用户输入。 二、实验目的 1、熟悉C 环境的安装、使用。 2、承上启下,复习《C 程序设计》等基础课程的知识。 3、掌握C 语言编程的方法。 三、预备知识 1、VC6.0的安装与使用。 2、C 程序设计基础知识。 四、实验内容 采用模块化程序设计完成进制转换。

五、程序框图 六、程序清单 1. 编写主函数:输入需转换的数与转换的进制 2. 编写子函数 (1)函数转换为除16进制以外的进制转换算数编程,使用while 循环实现计算进制 的转换,并输出转换后的数字; (2)函数转换为16进制,用while 函数实现16进制转换的计算并输出16进制转换后的数据; 3. 编写数组,关于16进制的一系列字符 4. 编写主函数加入do while 使函数可以循环。

七、实验步骤 #include char num[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; void fun(int n, int m) { int i=-1, a[100]; if(m!=16) { while(n) { a[i++]=n%m; n=n/m; } while(i!=-1) printf("%d",a[--i]); printf("\n");

} else { while(n) { a[++i]=num[n%16]; n/=16; } while(i!=-1) printf("%c",a[i--]); printf("\n"); } } int main() { int a, c;

C语言结构体习题及答案

第9章结构体 1.定义以下结构体类型 struct s { int a; char b; float f; }; 则语句printf("%d",sizeof(struct s))的输出结果为【】。 A) 3 B) 7 C) 6 D) 4 2.当定义一个结构体变量时,系统为它分配的内存空间是【】 A)结构中一个成员所需的内存容量 B)结构中第一个成员所需的内存容量 C)结构体中占内存容量最大者所需的容量 D)结构中各成员所需内存容量之和 3.定义以下结构体类型 struct s { int x; float f; }a[3]; 语句printf("%d",sizeof(a))的输出结果为【】 A) 4 B) 12 C) 18 D) 6 4.定义以下结构体数组 struct c { int x; int y; }s[2]={1,3,2,7}; 语句printf("%d",s[0].x*s[1].x)的输出结果为【】 A) 14 B) 6 C) 2 D) 21 5.运行下列程序段,输出结果是【】 struct country { int num; char name[10]; }x[5]={1,"China",2,"USA",3,"France",4, "England",5, "Spanish"}; struct country *p; p=x+2; printf("%d,%c",p->num,(*p).name[2]); A) 3,a B) 4,g C) 2,U D) 5,S

6.下面程序的运行结果是【】。 struct KeyWord { char Key[20]; int ID; }kw[]={"void",1,"char",2,"int",3,"float",4,"double",5}; main() { printf("%c,%d\n",kw[3].Key[0], kw[3].ID); } A) i,3 B) n,3 C) f,4 D) l,4 7.定义以下结构体类型 struct student { char name[10]; int score[50]; float average; }stud1; 则stud1占用内存的字节数是【】。 A) 64 B) 114 C) 228 D) 7 8.如果有下面的定义和赋值,则使用【】不可以输出n中data的值。struct SNode { unsigned id; int data; }n,*p; p=&n; A) p.data B) n.data C) p->data D) (*p).data 9.根据下面的定义,能输出Mary的语句是【】。 struct person { char name[9]; int age; }; struct person class[5]={"John",17,"Paul",19,"Mary",18,"Adam",16}; A) printf("%s\n",class[1].name); B) printf("%s\n",class[2].name); C) printf("%s\n",class[3].name);

C语言结构体和共用体实验报告

实验九参考程序 实验 9- 1 /**************************************************************** * 实验 9.1 * * ( 1 )为某商店的商品设计合适的结构体 (PRODUCT) 。每一种商品包含编号 (number) 、 * 名称 (name) 、价格 (price) 、折扣 (discount)4 项信息,根据表 9-1 ,为这些信 息选择合适的数据类型。 * (2)建立 2个函数,以实现对商品的操作。 input 函数实现商品的输入; * display 函数显示商品信息。要求这 2个函数都以商品的结构体 (PRODUCT) 指针为 参数。 * (3 )在主函数中为商品键盘定义一个结构体变量 (keyboard) ,利用 input 函数实现键 盘信息的输入; * 定义一个结构体数组 (elec_device[3]) ,利用 input 函数实现冰箱、 空调、电视 信息的输入; * 最后利用 display 函数显示 4 种商品的信息。 * * 表 9-1 #include typedef struct _PRODUCT int iNumber; char strName[32]; float fPrice; float fDiscount; * 编号 名称 价格 折扣 *1010 键盘 89.50 0.85 *1021 冰箱 1024.00 0.95 *1022 空调 2058.50 0.90 *1023 电视 3001.88 0.95 *************************************************************** */

大连东软信息学院数据库(数据库选择题题库)

1. 下面的数据库产品中,是IBM公司的为:() (A)SQL Server (B)Oracle (C)MYSQL (D)DB2 答案:D 分数:1 题型:选择题 难度:1 2.SQL Server2000分为不同的版本,其中的功能最强大。()(A)个人版(B)标准版(C)企业版(D)开发版 答案:C 分数:1 题型: 选择题 难度:1 3.SQL语言是()语言。 A.层次数据库B.网络数据库C.关系数据库D.非数据库 答案:C 分数:1 题型: 选择题 难度:1 4.数据库系统的核心是() (A)数据库 (B)数据库管理系统 (C)数据模型 (D)软件工具 答案:B 分数:1 题型: 选择题 难度:1 5下列四项中,不属于数据库系统特点的是() (A)数据共享(B)数据完整性 (C)数据冗余度高(D)数据独立性高 答案:C 分数:1 题型: 选择题 难度:1 6.数据库管理系统的工作不包括)(A)对已定义的数据库进行管理(B)定义数据库 (C)数据通信(D)为定义的数据库提供操作系统

答案:D 分数:1 题型: 选择题 难度:1 7. 数据库、数据库系统和数据库管理系统三者之间的关系是() (A)数据库系统就是数据库,也就是数据库管理系统 (B)数据库管理系统包括数据库和数据库系统 (C)数据库系统包括数据库和数据库管理系统 (D)数据库包括数据库系统和数据库管理系统 答案:C 分数:1 题型: 选择题 难度:1 8. 数据库管理系统的工作不包括() (A)为定义的数据库提供操作系统 (B)数据备份 (C)为已定义的数据库进行管理 (D)定义数据库 答案:A 分数:1 题型: 选择题 难度:1 9.下面关于数据库系统的正确叙述是() (A)数据库系统避免了数据冗余 (B)数据库系统减少了数据冗余 (C)数据库系统中数据的一致性是指数据类型一致 (D)数据库系统比文件系统能管理更多的数据 答案:B 分数:1 题型: 选择题 难度:1 10. 要保证数据库的数据独立性,需要修改的是

大连东软信息学院数据库(关系规范化题库)

关系规范化题库 一、单项选择题 1.关系规范化中的删除操作异常是指 A ,插入操作异常是指 D 。 (A)不该删除的数据被删除(B)不该插入的数据被插入 (C)应该删除的数据未被删除(D) 应该插入的数据未被插入 2.设计性能较优的关系模式称为规范化,规范化主要的理论依据是 A 。 (A)关系规范化理论(B)关系运算理论 (C)关系代数理论(D)数理逻辑 3.规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足:其每一属性都是 B 。 (A)互不相关的(B)不可分解的(C)长度可变的(D)互相关联的 4.关系数据库规范化是为解决关系数据库中 A 问题而引入的。 (A)插入、删除和数据冗余(B)提高查询速度 (C)减少数据操作的复杂性(D)保证数据的安全性和完整性 5.规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常以及 C 的缺陷。 (A)数据的不一致性(B)结构不合理(C)冗余度大(D)数据丢失 6.当关系模式R(A,B)已属于3NF,下列说法中 B 是正确的。 (A)它一定消除了插入和删除异常(B)仍存在一定的插入和删除异常 (C)一定属于BCNF (D)A和C都是 7.关系模型中的关系模式至少是 A (A)1NF (B)2NF (C)3NF (D)BCNF 8.当B属性函数依赖于A属性时,属性A与B的联系是 B (A)1对多(B)多对1 (C)多对多(D)以上都不是 9.在关系模式中,如果属性A和B存在1对1的联系,则说 C (A)A-〉B (B)B->A (C)A >B (D)以上都不是 10.候选码中属性称为 B (A)非主属性(B)主属性(C)复合属性(D)关键属性 11.关系模式中各模式之间的关系为 C (A)1NF?2NF?3NF?BCNF (B)1NF?2NF?BCNF?3NF (C)1NF?2NF?3NF?BCNF (D)1NF?2NF?BCNF?3NF 12.关系模式中,满足2NF的模式, A (A)可能是1NF (B)必定是1NF (C)必定是3NF (D)必定是BCNF 13.关系模式R中的属性全部是主属性,则R的最高范式必定是 B (A)2NF (B) 3NF (C)BCNF (D)4NF 14.消除了部分函数依赖的1NF的关系模式,必定是 2NF (A)1NF (B)2NF (C)3NF (D)BCNF 15.关系模式的候选码可以有(C),主码有(B) (A)0个(B)1个(C)1个或多个(D)多个 16.候选码中的属性可以有(C) (A)0个(B)1个(C)1个或多个(D)多个 17.关系模式的分解(B) (A)惟一(B)不惟一 18.图中给定关系R(D) (A)不是3NF (B)是3NF但不是2NF (C)是3NF但不是BCNF (D)是BCNF

大连东软信息学院实践学期提升学生应用能力

大连东软信息学院实践学期提升学生应用能力 每年暑假,在其他高校的学生们还在享受假期的愉悦和轻松时,大连东软信息学院的学生们已各就各位,进入他们称之为“小学期”的实践学期学习。在这为期一个月的实践学期中,学生们会在学院营造的一个仿真的专业能力训练的环境下学习,全面体验“做中学”带来的乐趣。在人们的传统印象里,对于技术类人才的培养,多是抽象的理论知识、枯燥的课堂内容。然而专门培养“实用化、国际化、个性化”IT应用型人才的大连东软信息学院设置的实践学期,贯彻了“强能力,重应用”的人才培养原则,变抽象为具体、变枯燥为生动。在整个实践学期里,学生是概念实习、技能实习、项目实习的参与者、推动者,彻底地摆脱了应试教育下被动接受者的角色。这种新型的人才培养模式从大连东软信息学院办学之初一直沿用至今。以计算机科学与技术系的小学期实践项目为例,该系基于专业培养目标,以项目贯穿教学始终,自上而下设计各级教学项目。专业最高级项目也就是一级项目均来源于企业的实践项目或是国内国际的比赛成果。根据对一级项目的分析与拆解,老师们精心设计了一系列为支撑一级项目所需能力的二级项目,这些二级项目是指基于多个课程、包含一组相关核心课程能力要求的课程群项目,这些项目相当于综合性的课程设计,把相关联的课程知识有机地结合起来,使学生认识到课程之间是有机和关联的知识群而不是孤立的知识点,同时有力支撑一级项目的教与学。例如“智能家居”项目,对学生的GPRS、单片机、安卓开发等技术掌握提出了综合性的要求,小学期就是针对这些能力综合进行培训,最终使得学生在毕业前完成智能家居系统。整个课程的设置紧密围绕社会人才发展的需求,与学院TOPCARES-CDIO教育教学改革理念相结合,将理论切实融于实践之中。计算机科学与技术系副主任滕英岩老师表示:“这些小学期课程很好地让学生们把自己在理论学期的知识应用于实践,提高自身动手能力,培养了团队意识和合作精神,为学院向企业输送应用型高级专门人才奠定了坚实的基础。”在嵌入式系统工程系的教学楼内,有很多产品的展示台,据嵌入式系统工程系刘龙老师介绍:“这些都是学生们在实践学期完成的作品,包括基于单片机的智能小车设计、蓝牙控制小车等等,其中不乏一些获得国家奖励的优秀参赛作品。通过实践学期的实践项目,学生的综合能力得到了很大程度的提升。学生们在实践中学习,也在实践中对专业产生了兴趣。”实践学期由于基于项目设计、实施教学的特殊性,考核采取过程性评价与终结性评价相结合的方式,在学期末对学生能力的综合测评也一改传统模式,采取以项目设计与开发为主,笔试、上机、实验、口试、竞赛、认证和答辩等多种形式的综合测评方式。测评时通过学生自评与互评、小组自评与互评、教师评价等多个方面给予最终成绩。同时,学院的教学质量管理与保障部对各系部实践学期的教学过程和教学效果全程进行评估,为完善下一学年的实践学期做准备。实践学期这种全方位、全员化、全程性的“做中学”学习方式,有效地增加了学习乐趣,提高了学习效率,大大提升了学生们的实践应用能力。现如今,实践学期教学方式日趋完善,实践教学管理科科长李薇介绍说:“在TOPCARES-CDIO教学理念的指导下,大连东软信息学院已经逐步建立了一体化理论教学体系和实践教学体系。实践学期教学以学生专业核心能力培养为主线,以项目为导向,注重学科知识的连续性和学生能力的整合性。根据不同专业年级和实训内容特点,利用课堂、实验室、在线实训平台、大学生实训中心、校外实践教学基地等校内外教学资源,在校内外教师的共同指导下,开展源自社会或企业真实的环境、真实项目、真实案例和企业管理模式的实训。同时实践学期实训项目通常以小组的形式开展,在设计、开发项目的过程中,注重提升个人人际交往能力、团队合作能力,加强了学生的组织管理能力及团队合作精神。”.icon_sina, .icon_msn, .icon_fx{ background-position: 2px -1px}.icon_msn {background-position: -25px -1px;}.icon_fx {background-position: -240px -50px;}分享到:更多信息请访问:新浪高考频道高考论坛高考博客圈-->特别说明:由于各方面情况的不断调整与变化,新浪网所提供的所有考试信息仅供参考,敬请考生以权威部门公布的正

相关主题
文本预览
相关文档 最新文档