c语言实验报告6 指针
C语言——指针
float b[3], *pb;
pa=a; pb=b; 则指针与数组元素的关 系为: p+i 代表 a[i] 的 地址。
例10.5 使用各种引用方法输出数组a[10]的全部元素。
变量名 内存地址
i j k y
2000 2002 2004 3000
找到k的起始地址2004, 将2004,2005中的数据10读出。
printf(―%d‖,i); scanf(―%d‖,&i);
2000 2001 2002 2003 2004 2005
–5
+5 10
i j k
3000 3001
10
1 3 5 7
a[0] a[1]
9 11 13 15 17 19
a[9]
a
2、使用下标法进行引用
当p=a时,p[i] *(p+i) a[i]
1 3 5 7 9 11 13 15 17 19
a[0] a[1]
p
注意:
p和p+1的含义 类型不同,p+1的含义不同
p+1
a[9]
注意:p+1 代表的是地址加一
程序运行结果:
输入: 10, 20 输出: a=20, b=10
int x1, x2;
scanf("%d,%d",&a, &b); x1=&a; x2=&b; }
计算机C语言实验报告含答案
高级语言程序设计(C语言)实验报告。………………………………………………………………………………………………
一、实验题目:语句与顺序结构控制
程序设计
1)编写程序,已知圆半径radius=1.25,求圆周长和面积。
源代码:运行结果:
#include <stdio.h> d=7.853981
#define PI 3.1415926 s=4.908735
void main()
{
float r=1.25,d,s;
d=2.0*PI*r;
s=PI*r*r;
printf("d=%f\n",d);
printf("s=%f\n",s);
}
2)编写程序完成大写字母的小写转换。
源代码:运行结果:
#include <stdio.h> 请输入一个大写字母:H void main() H h
{
char ch1,ch2;
printf("请输入一个大写字母:");
ch1=getchar();
ch2=ch1+32;
printf("%c %c\n",ch1,ch2);
}
3)任意从键盘输入一个三位整数,要求正确分离出它的个位、十位和百位数,并分别在屏幕上显示。
源代码:运行结果:
#include <stdio.h> 请输入一个整数 :123 void main() b=1,s=2,g=3
{
int a,g,s,b;
printf("请输入一个整数:");
scanf("%d",&a);
b=a/100;
s=(a%100)/10;
g=a%10;
printf("b=%d,s=%d,g=%d\n",b,s,g);
C语言实验报告之指针结构体等综合程序设计
C语言实验报告之指针结构体等综合程序设计
实验目的:
1.掌握C语言中指针和结构体的基本概念和用法;
2.综合运用指针和结构体,设计和实现一个复杂的程序。
实验内容:
设计一个简单的图书管理系统,实现如下功能:
1.添加图书:输入图书的名称、作者、出版社和价格,将图书信息保存到图书库中;
3.修改图书价格:输入图书的名称,通过遍历图书库,找到要修改的图书,然后输入新的价格;
4.删除图书:输入图书的名称,通过遍历图书库,找到要删除的图书并删除;
5.显示所有图书:输出图书库中所有图书的信息。
实验步骤:
1. 定义一个结构体类型Book,包含图书的名称、作者、出版社和价格;
2. 声明一个指向Book结构体的指针bookPtr,用于操作图书库;
3. 实现添加图书的函数addBook(,从控制台输入图书信息,将其保存到图书库中;
5. 实现修改图书价格的函数changePrice(,从控制台输入要修改的
图书的名称和新的价格,通过遍历图书库找到要修改的图书并更新价格;
6. 实现删除图书的函数deleteBook(,从控制台输入要删除的图书
的名称,通过遍历图书库找到要删除的图书并删除;
7. 实现显示所有图书的函数displayBooks(,遍历图书库输出所有
图书的信息;
8. 定义主函数main(,在主函数中使用以上函数完成图书管理系统
的交互操作;
9.运行程序,测试图书管理系统的各项功能是否正常;
10.编写实验报告,总结实验过程和实验结果。
实验结果:
经过测试,图书管理系统的各项功能正常运行,可以成功添加、查找、修改和删除图书,同时可以显示图书库中所有图书的信息。
C语言课后实验设计题目及答案
C语⾔课后实验设计题⽬及答案
C语⾔实验题⽬及答案
1、实验项⽬⼀ C程序的编辑、编译、连接和运⾏
题⽬:编写程序,要求屏幕上显⽰如下信息:
***********************
This is a C program .
***********************
程序:
#include
void main()
{
printf(“***********************\n”);
printf(“This is a C programn .\n”);
printf(“***********************\n”);
}
实验项⽬⼆数据类型、运算符、表达式
题⽬
(1)程序填空:输⼊1 个实数x,计算并输出其平⽅根(保留1 位⼩数)。填空
1.double x,root;
2.root=sqrt(x);
(2)输⼊⼀个⼤写英⽂字母,输出相应的⼩写字母。
填空
1.ch=ch+32;
1、#include "stdafx.h"
#include "stdio.h"
#include "math.h"
int main(int argc, char* argv[])
{
printf("This is a Cprogram\n");
return 0;
}
#include "math.h"
int main(int argc, char* argv[]) {
double x;
printf("x=");
scanf("%lf",&x);
printf("%lf\n",sqrt(x));
return 0;
}
2、实验项⽬三顺序结构程序设计
C语言指针详解
C语言指针详解
1 程序如何运行
当我们打开电脑中的任何一个程序运行时,我们的操作系统会将该程序存在硬盘的所有数据装载到内存中,然后有CPU 进行读取内存中的数据并进行计算,并将计算的结果返回给我们的操作系统,然后操作系统将相应的动作交付给相应的硬件来完成。如:将声音数据交给声卡,最后有音响输出来,将图像交给显卡最后有显示器输出……
但是还会有一部分数据会返回给内存,以供程序下面的语句继续使用。
我们都知道内存的容量有很大,如:4G,8G, 16G,有时候我们会打开很多的程序,所有的程序的数据都存放到我们的内存中,那么CPU是如何正确的读取我们的不同程序的数据并加以计算的哪?
2 内存的假设设计
为了让我们的CPU 可以很好的读取内存中的数据,内存必须做优化设计,于是给内存设定了集合设计,将我们的内存分成很多大小相同的方格(盒子),所有的数据将放入这些小盒子中,将不同的程序的数据放入到不同的小盒子中,这样就出现的模块化的内存,当我执行程序的一个命令时,CPU就会从相应的盒子读数据然后计算,由于我们硬件所能访问或计算的最小单位是字节,所以内存中的这样的一个小盒子的大小就给他规定一个字节。
3 地址和指针
一般我们声明一块内存空间的时候,会给他取一个名字,为的是我们在编写程序的时候方便使用空间中存放的值,但是CPU 读数据的时候会忽视这个名字,因为CPU无法理解这样的数据,CPU 只能执行0,1代码,那么CPU是如何知道从什么地方读取数据,又到什么地方地址数据的读取的那,所以必须对内存做2次设计,就是将内存中分成的很多小盒子下面标注一些顺序的序号,例如:从第一个盒子开始,标注1,2,3,4,5,6,7,……每一个数字
c语言中的指针详解
c语言中的指针详解
在C语言中,指针是一种特殊的变量类型,它存储了一个变
量的内存地址。通过指针,我们可以间接访问和修改内存中的数据,这对于一些需要动态分配内存的操作非常有用。
以下是关于C语言指针的一些详细解释:
1. 定义指针:使用"*"符号来定义指针变量。例如,int* ptr; 定
义了一个指向整型变量的指针 ptr。
2. 取址操作符(&):取地址操作符(&)用于获取变量的内存地址。例如,&a 返回变量 a 的地址。
3. 解引用操作符(*):解引用操作符(*)用于访问指针所指向的
变量的值。例如,*ptr 返回指针 ptr 所指向的整型变量的值。
4. 动态内存分配:可以使用相关的库函数(如malloc和calloc)在运行时动态分配内存。分配的内存可以通过指针来访问和使用,并且在使用完后应该使用free函数将其释放。
5. 空指针:空指针是一个特殊的指针值,表示指针不指向任何有效的内存地址。可以将指针初始化为NULL来表示空指针。
6. 指针和数组:指针和数组在C语言中有密切的关系。可以
通过指针来访问数组元素,并且可以使用指针进行指针算术运算来遍历数组。
7. 传递指针给函数:可以将指针作为函数参数传递,以便在函数内部修改实际参数的值。这种传递方式可以避免拷贝大量的数据,提高程序的效率。
8. 指针和字符串:字符串在C语言中实际上是以字符数组的形式表示的。可以使用指针来访问和操作字符串。
需要注意的是,指针在使用时需要小心,因为不正确的操作可能导致程序崩溃或产生不可预料的结果。对于初学者来说,理解指针的概念和使用方法可能需要一些时间和练习。
《C语言程序设计》实验报告实验六
《C语言程序设计》实验报告
实验六使用指针的程序设计
学号姓名
一、实验目的
1、掌握指针的概念,会定义和使用指针变量;
2、能正确使用数组的指针和指向数组的指针变量;
3、熟悉指针作为函数参数的定义和调用方法;
4、能正确使用字符串的指针和指向字符串的指针变量。
二、实验内容
1.分析下面的程序并上机运行程序,要求写出3组以上程序的运行结果。
#include <stdio.h>
void main()
{
int *p1,*p2,*p;
int a,b;
printf("Input a b please");
scanf("%d%d",&a,&b);
p1=&a;
p2=&b;
if(a>b)
{ p=p1;p1=p2;p2=p;}
printf("*p1=%d, *p2=%d\n",*p1,*p2);
printf("a=%d, b=%d\n",a,b);
}
『运行结果:』
输入1,2得:*p1=1,*p2=2
a=1,b=2
输入2,1得:*p1=1,*p2=2
a=2,b=1
输入56,123得:*p1=56,*p2=123
a=56,b=123
2.下列程序的功能是分别求出数组中所有奇数之和以及所有偶数之和。形参
n给了数组中数据的个数,利用指针odd返回奇数之和,利用指针even 返回偶数之和。请在下面空白处将实现这一功能的函数完善,并且调试运行出结果。
#include <stdio.h>
#define N 10
void fun(int *a,int n,int *odd,int *even)
{
int m;
C语言指针实验报告
实验6 指针
一、实验目的
1.掌握指针的基本概念和基本用法。包括:变量的地址和变量的值,指针变量的说明、指针变量的初始化、指针的内容与定义格式、指针的基本运算等;
2.掌握数组与指针的关系并能够利用指针解决数组的相关问题;
3.掌握字符串与指针的关系并能够利用指针处理字符串的问题;
4.掌握指针与函数的关系并能够利用指针处理函数问题;
5.了解指向指针的指针的概念及其使用方法;
6.能够使用指针进行程序设计。
二、实验环境
PC微机
Windows 操作系统
Visual studio 2019
三、实验内容与步骤
1.实现:将一个任意整数插入到一个已排序的整数数组中,插入后数组中的数仍然保持有序。
要求:
(1)整数数组由初始化方式输入。任意整数由scanf函数输入;
(2)实现过程采用指针处理;
(3)输出原始数组数据以及插入数据后的数组数据并加以相应说明。
代码实现:
#include<stdio.h>
int main()
{
int num[11], * p = &num[10];//预先指向末尾
for (int i = 0; i < 10; i++) {
scanf("%d", &num[i]);
}//输入已排序的数据
printf("原始数组:");
for (int i = 0; i < 10; i++) printf("%d ", num[i]);
printf("\n");
int newnum;
scanf("%d", &newnum);//输入待插入的数
bool flag = true;//判断是否是插入末尾
c语言指针实验报告
c语言指针实验报告
C语言指针实验报告
引言
指针是C语言中非常重要的概念,它允许程序直接访问内存地址,为程序员提供了更大的灵活性和控制力。本实验旨在通过一系列实验来深入理解C语言指针的使用和原理。
实验一:指针的基本概念
在第一个实验中,我们首先学习了指针的基本概念。我们了解了指针的定义和声明,以及如何使用指针来访问变量的内存地址。通过编写简单的程序,我们成功地掌握了指针的基本语法和用法。
实验二:指针的运算
在第二个实验中,我们进一步学习了指针的运算。我们探讨了指针的加法和减法运算,以及指针与数组的关系。通过实际的编程练习,我们深入理解了指针运算的原理和实际应用。
实验三:指针和函数
在第三个实验中,我们学习了指针和函数之间的关系。我们了解了如何在函数中使用指针作为参数,以及如何在函数中返回指针。通过实验,我们掌握了指针在函数中的灵活应用,以及指针和函数之间的相互作用。
实验四:指针和动态内存分配
在最后一个实验中,我们学习了指针和动态内存分配的知识。我们了解了如何使用指针来动态分配内存空间,并在程序运行时释放内存。通过实际的编程实践,我们成功地掌握了动态内存分配的技术,并了解了指针在内存管理中的重
要作用。
结论
通过本次实验,我们深入理解了C语言指针的使用和原理。我们掌握了指针的基本概念、运算、函数和动态内存分配等知识,为进一步深入学习和应用C语言打下了坚实的基础。指针作为C语言中非常重要的概念,对于程序员来说具有重要的意义,通过本次实验,我们对指针有了更深入的理解,相信在今后的学习和工作中能够更加熟练地运用指针来解决实际问题。
C语言指针
main() { int i,a[N]; for(i=0;i<N;i++) i scanf(“%d”,a+____); a invert( ____,0,N-1); for(i=0;i<N;i++) printf(“%d ”,a[i]); printf(“\n”); }
字符指针
char *p; p=“student”; 字符串常量存放在常量存储区中,可用字 符指针指向它的第一个字符 char *p =“student”;
设计一个函数, 例6-1: 设计一个函数,用于交换 两个变量中的整数
#include <stdio.h> void swap(int *p, int *q) { int t; t = *p; *p = *q; } main( ) { int x, y; scanf( “%d%d”, &x, &y ); swap( &x, &y ); printf( “%d %d\n”, x, y ); }
int strcmp (char *s,char *t) { while (*s && *t && *s==*t) {s++;t++;} return *s-*t; }
使用合法的内存单元
main( ) { int n; char *p = “abc”, *q = “xyz”, *s; strcat( p, q ); /* 非法 */ n = strlen(p) + strlen(q); s = (char *)malloc( n+1 ); /* 分配空间 */ strcpy( s, p ); strcat( s, q ); printf( “%s\n”, s ); free( s ); /* 释放空间 */ }
C语言实验报告答案
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的*号作⽤不同(定义时的*表⽰该变量是个指针变量,⽽⾮是取它指向的变量)。
C语言之指针
指针
一、指针的概念
指针即地址,一个变量的指针就是指该变量的地址。注意:指针变量中只能存放地址。
二、指针变量的定义和引用
1、指针变量的定义
int *p; 此语句定义了一个指针变量p,p中可存放一个整型变量的地址。
注意:①*是指针变量的特征②只是分配了一个存储单元,并没有指真正指向,要想使一个指针变量指向一个整型变量必须赋值。
例如::int *p,I=3;
p=&I;
如果p=3就是错误的。
2、指针变量的引用(两个有关指针的运算符)
①& 取地址运算符号
②* 指针运算符*p表示p所指向的变量值。
int *p,a;
p=&a; /*指向变量a的值赋给p*/
scanf(“%d”,p);/*从键盘输入一个值赋值给p所指向的变量
a*/
*p=5; /*把5赋值给变量p所指向的a*/
三、指针作为函数参数
函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型,它的作用是将一个变量的地址传送到另一个函数中
四、指针与数组
1、一维数组的指针表示方法
(1)数组中各元素的地址。
int a[10]={1,2,3,4,5,6,7,8,9,10};
①&a[0] &a[1] &a[2] 、、、&a[i]、、、&a[9]
②a a+1 a+2 、、、a+i、、、、、a+9
(2)数组元素值
①a[0] a[1] a[2] 、、、、a[i]、、、、a[9]
②*(a+0) *(a+1) *(a+2)、、*(a+i) *(a+9)
2、二维数组的指针表示方法
例:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
C语言实验报告
实验一C语言程序初步
一、实验目的:
1、熟悉Turbo C2.0 集成开发环境,了解各菜单的功能。
2、了解在该系统上如何编辑、编译、连接和运行一个C程序。
3、通过运行简单的C程序,初步了解C源程序的特点和书写格式。
二、实验内容:
1、进入Turbo C2.0集成开发环境,了解各菜单的功能。
2、下列c程序的功能是:由键盘依次输入五个实数,计算并输出这五个实数的平均数。
#include"stdio.h"
main()
{float a,b,c,d,e,av;
printf("input a,b,c,d,e:”);
scanf(“%f,%f,%f,%f,%f”,&a,&b,&c,&d,&e);
av=(a+b+c+d+e)/5;
printf("av=%e\n",av);
)
(1)输入该程序,然后进行编译连接。如果在编译过程中有错误发生,则仔细检查并修改程序,修改后再进行编译连接,直到没有错误为止。
(2)运行该程序。运行时按程序中要求的输人格式依次输入下列五个数:
3.456,-1.789,-2.258,9.886,7.634
三、实验步骤:
四、实验小结:
实验二数据类型、运算符和表达式
一、实验目的:
1、掌握c语言数据类型,熟悉如何定义一个整型、字符型、实型变量,及赋值方法。
2、理解常用运算符的意义,学会使用C的常用运算符,以及包含这些运算符的表达式,
特别是自加(++)和自减(--)运算符的使用。
3、掌握C语言表达式的运算规则。
二、实验内容:
1、写出下列程序的运行结果:
1)main()
{ char c1,c2;
C语言实验报告
C语⾔实验报告
上机要求:禁⽌玩游戏、看视频及从事与课程⽆关的活动。
实验内容按照指导书内容填写,可以把⾃⼰上机编写的程序、遇到的问题、解决办法写上(得到⾼分的条件)。
在有输⼊输出的程序部分,应该写上输⼊输出的结果,以表⽰程序能正确⼯作。
实验⼀编程环境的使⽤
⼀、⽬的和要求
1.了解编程环境的使⽤。
2.学会处理简单的错误,观察运⾏结果。
3.掌握基本的输⼊输出。
⼆、实验原理
VisualC++6.0是⼀个集成的开发环境,包括编辑、编译连接和调试。编写程序的主要过程是:建⽴⼯作区、建⽴⼯程、添加源⽂件、输⼊程序、运⾏程序、改正出现的错误直到有正确的输出结果。
三、实验内容及步骤
1.编程环境的使⽤。
(1)打开VisualC++6.0开发环境。
(2)单击“⽂件-〉新建”菜单命令,显⽰出“新建”对话框(如图1-3)。在新建对话框
单击“⼯程”标签,选中Win32 Console Application项,然后在⼯程框中键⼊控制台应⽤程序项⽬名称,并且选中空⼯程。
(3)添加C++源⽂件,输⼊⽂件名。
(4)打开编辑窗⼝,输⼊程序,保存。
(5)编译运⾏程序,找到其错误位置,改正错误。
2.编写如下程序,从键盘读⼊两个整数,计算它们的和差积商,将结果输出在屏幕上。
3.编写如下程序,从键盘读⼊两个字符,并输出在屏幕上。
四、思考问题
1.如何使⽤不同的数据类型。
2.如何处理输⼊输出。
3.如何查找程序中的错误?
实验⼆选择结构
⼀、⽬的和要求
1. 掌握if ...else 及其嵌套的⽤法。
2. 掌握switch 的⽤法。
⼆、实验原理
计算机C语言—指针
一、选择题
(1)设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是 A)*p=*q; B)p=q; C)*p=&n1; D)p=*q;
(2)若有定义:int x=0, *p=&x;,则语句printf("%d\n",*p);的输出结果是
A)随机值 B)0 C)x的地址 D)p的地址
(3)以下定义语句中正确的是
A)char a='A'b='B'; B)float a=b=10.0;
C)int a=10,*b=&a; D)float *a,b=&a;
(4)有以下程序
main()
{ int a=7,b=8,*p,*q,*r;
p=&a;q=&b;
r=p; p=q;q=r;
printf("%d,%d,%d,%d\n",*p,*q,a,b);
}
程序运行后的输出结果是
A)8,7,8,7 B)7,8,7,8 C)8,7,7,8 D)7,8,8,7
(5)设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是
A)scanf(“%d”,pA); B)scanf(“%d”,A);
C)scanf(“%d”,&pA); D)scanf(“%d”,*pA);
(6)设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是
A)p=1; B)*q=2; C)q=p; D)*p=5;
(7)有以下程序
void fun(char *a, char *b)
{ a=b; (*a)++; }
main ()
{ char c1="A", c2="a", *p1, *p2;
C语言程序设计 指针
实验6 指针
学号:姓名:实验日期:
一、实验目的和要求
(1)掌握指针的概念、指针变量定义和引用。
(2)掌握指针的运用方法。
(3)掌握数组的指针和指向数组的指针变量。
(4)掌握指针与函数的关系。
(5)能正确使用字符串的指针和指向字符串的指针变量。
(6)了解指向函数的指针。
(7)了解指向指针变量的指针的概念及其使用方法。。
二、实验内容(注意:由于本实验报告模板中已经有题目内容,故源代码中无需再
附上教材上的题目编号信息,只需有你的学号和姓名信息即可。以下所有题目都要求代码与运行结果一起截图,只有在代码实在过多无法一起截图情况下,才能分开
截图)
1、【编写程序】请用指针编程实现:从键盘输入10个数,求出其中的最小值。
提示:定义函数lookup(int *str,int *a,int n)查找数组str中的最小值,将数组中的每一个数跟第一个数进行比较,最后得到最小的数。
2、【编写程序】请用指针编程实现:编写函数change(char *s,int *p),将字符串s 中的数字字符转换成数字存储到整型数组p中,函数返回转换后的数字的个数。提示:先检测字符是否为数字,数字的ASCII码值为30H~39H,逐个判断s中的字符,如果是数字字符,则将其转换成数字存储到整型数组中。
3、【编写程序】请用指针编程实现:先读入10个整数,然后把它们按从大到小的次序排列起来,最后再读入一个整数k,并将k插入到该整数数列中,插入后的数列仍然按从大到小的顺序排列。要求:编写一个函数实现排序功能。
4、【编写程序】请用指针编程实现:从键盘输入一个字符串,判断输入的字符串是否为回文。(回文是指正序和反序字符排例方式相同的字符串,如abcdcba是回文)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验6 指针1.实验目的和要求
(1)掌握指针的概念、指针变量定义格式和引用。
(2)掌握指针的运算方法。
(3)掌握数组的指针和指向数组的指针变量。
(4)掌握指针与函数的关系。
(5)能正确使用字符串的指针和指向字符串的指针变量。(6)了解指向函数的指针。
(7)了解指向指针变量的指针。
2.实验内容:实验指导书中的实验九。
3.实验步骤
9.1 调试程序,找出程序的错误。
改正后的程序代码(贴图):
运行结果(帖图):
9.2 运行程序:
运行结果:;
9.3 修改程序错误,并运行。
改正后程序代码:
运行结果(帖图):
9.4. 程序填空:
运行结果(请帖图):9.5. 程序填空:
程序填空:
#include
main()
{
int a[5][5]={0},*p[5],i,j;
for(i=0; i<5; i++) p[i]= &a[i][0] ;
for(i=0; i<5; i++)
{ *(p[i]+ i )=1;
*(p[i]+5- (i+1) )=1;
}
for(i=0; i<5; i++)
{
for(j=0; j<5; j++)
printf("%2d", p[i][j]);
Printf("\n") ;
}
}
运行结果(请帖图):
9.6 编程(选作)
#include
main()
{
int *p,a[20],i,k,m,n;
p=a;
printf("请输入人数n:");
scanf("%d",&n);
for(i=0;i *(p+i)=i+1; i=0;k=0;m=0; p=a; while(m { if(*(p+i)!=0) k++; if(k==3) {*(p+i)=0;k=0;m++;} i++; if(i==n) i=0; } while(*p==0) p++; printf("\n\n最后留下的是原来的第%d 号的那位\n\n",*p); } 运行结果(请帖图): 97. 运行程序(选作): 运行结果(请帖图): 4、实验心得: 通过指针实验学会了不少东西: 基本掌握了指针的概念、指针变量的定义引用等; 掌握指针的运算方法; 了解和掌握指针与函数的关系; 了解指向指针变量的指针; 能够正确使用字符串指针和指向字符串的指针变量;