C语言实验7 指针实验报告
- 格式:doc
- 大小:411.69 KB
- 文档页数:12


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语言程序设计
实验项目名称:指针应用
专业名称:
班级:
学号:
学生姓名:
教师姓名:
2018 年 月 日 实验日期: 年 月 日 实验室名称:
一.实验名称:
指针应用
二.实验目的与要求:
1.掌握指针的概念、定义方法及基本操作。
2.掌握通过指针操作数组元素的方法。
3.掌握通过指针操作字符串的方法。
三.实验内容:
用字符指针存放一个字符串,求该字符串的长度。
【输入/输出示例】Student↙
strlen=7
判断输入的字符串是否是“回文”(顺读和倒读都一样的字符串称“回文”)
【输入/输出示例】
① level↙
yes
② where↙
no
将字符串数组s2中的大写英文字母拼接到字符数组s1字符串的后面。
【输入/输出示例】
Visual↙
FoxPro↙
VisualFP
统计二维数组a[3][4]中非零元素的个数。
【输入/输出示例】
1 0 2 3↙
2 3 0 4↙
0 1 0 2↙
nonezero=8
在a数组中查找与从键盘输入的x相同的元素在数组中的下标。
【输入/输出示例】
11 23 45 31 65 78 82 14 55 91↙
31↙
position of 31 is 3
第 1 页 共 8 页 实 验 报 告
专业 软 件 工 程 班级 X 班 学号_ _ 姓名
实验日期:201X年X月X日 报告退发 (订正 、 重做)
课程 C程序设计实验 实验名称 指 针
一、实验目的
二、实验环境(描述实验的软件、硬件环境)
① 软件环境:windows xp/win7等操作系统,Microsoft Visual C++ 6.0编译器;
② 硬件环境:PC机一台
三、实验内容、步骤和结果分析
题目一:输入3个整数,按由小到大的顺序输出
要求:
使用指针方法实现;
#include
void function(int *a, int *b)
{
int temp;
if (*a<*b)
{
temp = *a;
*a = *b;
*b = temp;
}
}
int main()
{
int a, b, c;
int *p1, *p2, *p3;
p1 = &a;
p2 = &b;
p3 = &c;
scanf("%d%d%d", &a, &b, &c);
function(p1, p2);
function(p1, p3);
function(p2, p3);
printf("%d %d %d\n", *p3, *p2, *p1);
return 0;
第 2 页 共 8 页 }
题目二:将长度为10的整型数组arr中的元素按照从小到大排列并输出
要求:
使用指针方法实现;
#include
int main()
{
struct METRIC {
float m;
C语言实习报告
题目:指针及其应用
系别:
专业:
姓名:
学号:
日期:
一 实验名称:指针及其应用
二 实验目的:
(1) 掌握变量的指针及其基本用法。
(2) 掌握一维数组的指针及其基本用法。
(3) 掌握指针变量作为函数的参数时,参数的传递过程及其用法。
三 实验内容:
(1) 运行以下程序,并从中了解变量的指针和指针变量的概念。
(2) 运行以下程序,观察&a[0]、&a[i]和p的变化,然后回答以下问题:
1. 程序的功能是什么?
2. 在开始进入循环体之前,p指向谁?
3. 循环每增加一次,p的值(地址)增加多少?它指向谁?
4. 退出循环后,p指向谁?
5. 你是否初步掌握了通过指针变量引用数组元素的方法?
(3) 先分析以下程序的运行结果,然后上机验证,并通过此例掌握通过指针变量引用数组元素的各种方法。
(4) 编写函数,将n个数按原来的顺序的逆序排列(要求用指针实现),然后编写主函数完成:
① 输入10个数;
② 调用此函数进行重排;
③ 输出重排后的结果。
四 分析与讨论:
(1) 指针的定义方法,指针和变量的关系。
定义方法:
数据类型 *指针变量名;
如定义一个指向int型变量的指针——
int *p; 则我们可以继续写如下代码——
int a = 4;
p = &a;
printf("%d", *p);
在这里,我们定义了一个变量a,我们把它理解为内存空间连续的4个字节(int型占用4字节),则这4个字节的空间保存着一个数4。&是取地址符号,即把变量a的地址(即这4个字节的首地址)赋给指针p(记住指针p的类型和变量a的类型要保持一致,否则的话,要进行类型转换)。这样子,指针p就保存着变量a的地址。我们如果把指针p当做内存空间里面另外一个连续的4个字节,那么这4个字节保存的数就是变量a的地址。printf("%d",*p)和printf("%d",a)的结果是一样的。这里的*是取变量符号(与&刚好作用相反,通过变量的地址找到变量),与定义时int *p的*号作用不同(定义时的*表示该变量是个指针变量,而非是取它指向的变量)。