C语言程设计实验与案例周信东主编实验八 指针
实验6 指针
学号:1700200224姓名:莫新锋实验日期:
一、实验目的和要求
(1)掌握指针的概念、指针变量定义和引用。
(2)掌握指针的运用方法。
(3)掌握数组的指针和指向数组的指针变量。
(4)掌握指针与函数的关系。
(5)能正确使用字符串的指针和指向字符串的指针变量。
(6)了解指向函数的指针。
(7)了解指向指针变量的指针的概念及其使用方法。
二、实验内容
完成实验指导书中的实验八“基础部分”和“增强部分”的题目。
实验九的内容由同学自行选作。
三、实验步骤及结果
【基础题】:Ex8-1请在下面分别插入改正错误后的源程序代码及运行成功时的画面源程序代码:
请在此粘贴修改后正确的程序代码。、
#include
//#define N 12
void main()
{
int j, a[12],*p=a;
//p=&a[N];
for(j=1;j<=12;j++)
scanf("%d",p);
for(j=1;j<=12;j++)
{
printf("%d",p++);
if(j%4==0)
printf("\n");
}
}
运行结果:
请在此粘贴本程序运行结果的截图
Ex8-2请在下面插入该程序的运行结果的画面:运行结果:
#include
swap(int *pl,int *p2)
{
int p;
p=*pl;
*pl=*p2;
*p2=p;
}
void main()
{
int n1,n2,n3;
int *p1,*p2,*p3;
printf("Input n1,n2,n3: ");
scanf("%d,%d,%d",&n1 ,&n2,&n3);
p1=&n1;
p2=&n2;
p3=&n3;
if (n1>n2)
swap(p1,p2);
if (n1>n3)
swap(p1,p3);
if(n2>n3)
swap(p2,p3);
printf("The result is:%d %d %dn",n1,n2,n3);
}
请在此粘贴本程序运行结果的截图
试用解释本程序是如何通过指针参数p1、p2改变主函数main中的变量n1、n2、n3的值的?
请回答问题
将n1,n2,n3的地址分别给p1,p2,p3,通过对n1,n2,n3两两的比较,调用函数swap进行排序,进而得到新的地址排序后输出
【增强题】:Eh8-1请在下面分别完成本题的源程序代码及运行结果的画面:源程序代码:
请在此粘贴完成本题的程序源代码。
#include
void main()
{
void lookup(int *str,int n);
int str[10];
int i;
for (i=0;i<10;i++)
{
scanf("%d",&str[i]);
}
lookup(str,10);
}
void lookup(int *str,int n)
{
int *min,*p;
min=str;
for (p=str;p<(str+n);p++)
{
if (*min<*p)
{
min=p;
}
}
printf(",min=%d\n", *min);
}
运行结果截图:
请在此粘贴本程序运行成功时的截图
Eh8-2请在下面分别完成本题的源程序代码及运行结果的画面:源程序代码:
请在此粘贴完成本题的程序源代码。
#include
int change(char *s)
{
int n;
for(n=0;s[n]!='\0';n++);
return n;
}
int main()
{
char a[100];
gets(a);
printf("%d\n",change(a));
return 0;
}
运行结果截图:
请在此粘贴本程序运行成功时的截图
、
四、选作实验题目完成情况
若你选作了课堂布置之外的题目,请按照上述格式依次编写你所作各题目的题号、源程序代码、运行结果截图及其结果情况分析。
五、实验总结
总结你在实验中易犯的错误及其解决方法,或总结本次实验中你学到的经验或技能等。注意,不要说空话。
在一定的程度上掌握了指针的概念、指针变量的定义和引用,但是指针的运用方法方面还是把握得不够到位,数组的指针和指向数组的指针变量找人两个还是不太搞得清楚,解决就只能是多做练习,巩固基础。
C语言实验报告《指针》.doc
C语言实验报告《指针》 学号:__________ 姓名:__________ 班级:__________ 日期:__________ 指导教师:__________ 成绩:__________ 实验五指针 一、实验目的 1、掌握指针的概念、会定义和使用指针变量 2、掌握指向数组的指针变量 3、掌握字符串指针的使用 二、实验内容2、写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。(习题10.6)#include #include long fun(char *p) { 填写程序 } void main() { char s[6]; long n; printf( enter a string:n gets(s); n=fun(s); printf( %ldn ,n); }
一、三、实验步骤与过程 四、程序调试记录 C语言实验报告《综合实验》 学号:__________ 姓名:__________ 班级:__________ 日期:__________ 指导教师:__________ 成绩:__________ 实验六综合实验 一、实验目的 1、掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。 2、掌握C程序的结构化程序设计方法,能使用C语言开发简单的应用程序。 3、掌握C程序的运行、调试方法等。 二、实验内容 编写一个学生信息排序程序。要求:
1、程序运行时可输入n个学生的信息和成绩(n预先定义)。 2、学生信息包括:学号、英文姓名、年龄;学生成绩包括:语文、数学、计算机。 3、给出一个排序选择列表,能够按照上述所列信息(学号、姓名、年龄、语文、数学、计算机)中的至少一个字段进行排序,并显示其结果。 1、使用函数方法定义各个模块。 三、实验步骤与过程 物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板 四、程序调试记录
C语言程序设计实验报告(实验大纲+过程)
《C程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分:4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。
2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; pr intf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序:
信息科学与工程学院综合性设计性实验报告
重庆交通大学信息科学与工程学院 综合性设计性实验报告 专业:通信工程专业11级 学号:0204 姓名:何国焕 实验所属课程:宽带无线接入技术 实验室(中心):软件与通信实验中心 指导教师:吴仕勋 一、题目 OFDM系统的CFO估计技术 二、仿真要求 要求一:OFDM系统的数据传输 ①传输的数据随机产生; ②调制方式采用16QAM; 要求二:要求对BER的性能仿真 设计仿真方案,比较两个CFO的性能(基于CP与基于训练符号Moose),并画出不同SNR下的两种估计技术的均方差(MSE)性能。
三、仿真方案详细设计 1、首先OFDM技术的基本思想和现状了解。认真学习OFDM技术的基本原理,包括OFDM系统的FFT实现、OFDM系统模型、OFDM信号的调制与解调、OFDM信号的正交性原理,根据PPT及网上查阅资料加以学习。其次,了 解OFDM的系统性能,包括OFDM系统的同步技术及训练序列等。 2、同步技术:接收机正常工作以前,OFDM系统至少要完成两类同步任务: ①时域同步,要求OFDM系统确定符号边界,并且提取出最佳的采样时钟,从而减小载波干扰(ICI)和码间干扰(ISI)造成的影响。 ②频域同步,要求系统估计和校正接收信号的载波偏移。在OFDM系统中,N个符号的并行传输会使符号的延续时间更长,因此它对时间的偏差不敏感。对于无线通信来说,无线信道存在时变性,在传输中存在的频率偏移会使OFDM 系统子载波之间的正交性遭到破坏。 3、载波频率的偏移会使子信道之间产生干扰。OFDM系统的输出信号是多个相互覆盖的子信道的叠加,它们之间的正交性有严格的要求。无线信道时变性的一种具体体现就是多普勒频移引起的CFO,从频域上看,信号失真会随发送信道的多普勒扩展的增加而加剧。因此对于要求子载波严格同步的OFDM 系统来说,载波的频率偏移所带来的影响会更加严重,如果不采取措施对这种信道间干扰(ICI)加以克服,系统的性能很难得到改善。 OFDM系统发射端的基本原理图OFDM信号频谱 4、训练序列和导频及信道估计技术 接收端使用差分检测时不需要信道估计,但仍需要一些导频信号提供初始的相位参考,差分检测可以降低系统的复杂度和导频的数量,但却损失了信噪
c语言实验报告6 指针
实验6 指针1.实验目的和要求 (1)掌握指针的概念、指针变量定义格式和引用。 (2)掌握指针的运算方法。 (3)掌握数组的指针和指向数组的指针变量。 (4)掌握指针与函数的关系。 (5)能正确使用字符串的指针和指向字符串的指针变量。(6)了解指向函数的指针。 (7)了解指向指针变量的指针。 2.实验内容:实验指导书中的实验九。 3.实验步骤 9.1 调试程序,找出程序的错误。 改正后的程序代码(贴图): 运行结果(帖图): 9.2 运行程序:
运行结果:; 9.3 修改程序错误,并运行。 改正后程序代码: 运行结果(帖图): 9.4. 程序填空:
运行结果(请帖图):9.5. 程序填空:
程序填空: #include
9.6 编程(选作) #include C语言程序设计实验报告 1实验目的 (1)掌握指针的概念,会定义和使用指针变量; (2)能正确使用变量的指针和指向变量的指针变量; (3)能正确使用数组的指针和指向数组的指针变量; (4)能正确使用字符串的指针和指向字符串的指针变量; 2实验内容 将一个任意整数插入到已排序的整形数组中,插入后,数组中的数仍然保持有序;要求: (1)整形数组直接由赋值的方式初始化,要插入的整数有scanf()函数数入;(2)算法实现过程采用指针进行处理; (3)输入原始数据以及插入整数后的数据,并加以说明; 3算法描述流程图 4源程序 #include for(i=n-1;a[i]>=w;i--) { a[i+1]=a[i]; } a[i+1]=m; 这一步没有注意a[i++]=m和a[i+1]=m中i++和i+1不同,a[i++]=m是先将的值赋给a[i],然后在执行自增;而在实验过程中忽略了这一点,造成了不必要的麻烦; 8实验心得 通过这次指针实验掌握了指针的概念,会定义和使用指针变量,并且能利用指针来简单化一些问题,给以后的编程带来了很大的便利; 综合性实验报告 课程名称:《C语言程序设计》 实验题目:班级成绩管理系统的设计与实现姓名学号:(组长) 系别: 专业班级: 指导教师: 实验日期:2012年06月01日—06月20日 一、实验目的和要求 实验目的 1、利用所学的三种程序基本结构以及数组、用户自定义函数进行一个小型程序的设计,进一步理解和掌握C语言的语法以及三种基本程序结构的综合应用。 2、通过程序中涉及到的排序、查找、求和等操作加深对算法、程序设计思路、常用程序设计技巧的理解与掌握,逐步培养学生的程序开发能力。 实验要求 1、根据实验内容,认真编写源程序代码、上机调试程序,书写实验报告。 2、分小组协作实验时,要写明每一位学生负责的实验内容。 二、设计要求 (一)学生信息和程序功能 给定的原始数据和程序应实现的功能是该C程序开发的依据,此实验只处理一个班级学生信息,最多学生数为120人。 1、学生信息和数据类型 最多学生人数和最多课程数定义为全局符号常量: #define Mmax 120 #define Nmax 3 (1)学生信息 学生信息包含:学号,姓名,三门课(语文,数学,英语)成绩和总分。 (2)数据类型 学号、姓名、课程三个信息为char型,课程分数和总分为float型,其余为int型。其中,假设学号有10位数字字符(注意此时要求存储空间要11个字节),例如2011023102表示入学年份为2011年,023是专业编码,102是学生在班级中的排号。 2、测试数据 测试数据在定义数组时以初值形式提供,其中学生总成绩通过程序计算。 学号姓名语文数学英语 2011023001 Zhang 73.5 85 67 2011023002 Li 83 91.5 87 2011023003 Cheng 65 82 78 2011023004 Wang 71 83 80.5 但是,在用单链表处理学生信息时,要求直接从键盘上接收数据。 3、程序功能 (1)学生信息(学号、姓名、成绩等)的显示(数据结构要求用数组); (2)按姓名查找学生(数据结构要求用数组); (3)计算各门课程的平均分(数据结构要求用数组); C语言程序设计实验报告 1实验目得 (1)掌握指针得概念,会定义与使用指针变量; (2)能正确使用变量得指针与指向变量得指针变量; (3)能正确使用数组得指针与指向数组得指针变量; (4)能正确使用字符串得指针与指向字符串得指针变量; 2实验内容 将一个任意整数插入到已排序得整形数组中,插入后,数组中得数仍然保持有序; 要求: (1)整形数组直接由赋值得方式初始化,要插入得整数有scanf()函数数入; (2)算法实现过程采用指针进行处理; (3)输入原始数据以及插入整数后得数据,并加以说明; 3算法描述流程图 4源程序 #include for(i=n-1;a[i]>=w;i--) { a[i+1]=a[i]; } a[i+1]=m; 这一步没有注意a[i++]=m与a[i+1]=m中i++与i+1不同,a[i++]=m就是先将得值赋给a[i],然后在执行自增;而在实验过程中忽略了这一点,造成了不必要得麻烦; 8实验心得 通过这次指针实验掌握了指针得概念,会定义与使用指针变量,并且能利用指针来简单化一些问题,给以后得编程带来了很大得便利; 实验项目名称: CSS页面布局及样式设计 (所属课程:web系统与技术) 学院:计算机学院专业班级:11级计科信息姓名:学号: 实验日期:实验地点:A06-404 合作者:指导教师:李 本实验项目成绩:教师签字:日期: 一、实验目的 (1)掌握CSS中的定位属性使用方法。 (2)掌握DIV+CSS的页面布局方式。 (3)掌握CSS中的常用属性的使用方法。 (4)理解CSS的样式构造。 二、实验条件 安装Web开发环境的微机。 三、实验内容 (1)重新对聊天室的注册页面、登陆页面和聊天页面进行页面布局。 (1)对聊天室的注册页面、登陆页面和聊天页面进行样式设计。 四、实验步骤 (1)注册页面使用CSS将注册表单居中显示,表单内嵌入表格将文本与输入域格式化显示,表单内使用label标签。 (2)登录页面中添加div层用于显示在线用户数。 (3)登录页面使用div将登录表单,在线用户数,logo图片,超链接等页面元素重新定位布局。 (4)聊天页面改用div标签并使用CSS的position定位属性进行布局,框架内的独立页面使用float属性进行布局。 (5)使用CSS设置三个页面的背景颜色或背景图片。 (6)注册页面使用CSS设计所有输入框和提交按钮的样式。 (7)登录页面使用CSS设置的超链接的字体和下划线、登录表单使用圆顶角、在线用户数使用图片数字,使用CSS设计登录按钮的显示样式。 (8)聊天页面中使用CSS设计信息发送表单和发送按钮的样式,设计用户信息列表和聊天信息段落的的显示样式。 五、实验结果 注册界面效果图及代码: C语言指针实验报告
《C语言程序设计》-综合性实验实验报告(参考格式)
C语言指针实验报告
CSS页面布局及样式设计实验报告