C语言程序设计实验指导书-V1-1-1 联系客服

发布时间 : 星期三 文章C语言程序设计实验指导书-V1-1-1更新完毕开始阅读6485ca17a2161479171128c5

实验七:指针(4学时)

一、实验目的和要求:

(1)通过实验进一步掌握指针的概念,会定义和使用指针变量。 (2)能正确使用数组的指针和指向数组的指针变量。 (3)能正确使用字符串的指针和指向字符串的指针变量。 (4)能正确使用指向函数的指针变量。

(5)了解指向指针的指针的概念及其使用方法。

二、实验内容:

可选做以下题目,都要求用指针处理:

(1)输入两个整数,利用指针交换它们的值,拓展,利用引用交换值。(文件名:7_1.cpp) (2)利用函数和指针将给定字母字符串的第一个字母变成大写字母,其它字母变成小写字母。在main函数中接收字符串的输入,改变后的字符串的输出也在main函数中实现。(要求文件名:7_2.cpp)

(3)字符删除(文件名:7_3.cpp)

输入两个给定字符串str1,str2(长度不大于26每个字串中不出现相同的字符),根据要求处理输入的字符串,并将结果输出。 1)输出str1,str2的长度len1, len2

2)如果len1 > len2,将str2连接到str1的末尾,否则将str1连接到str2的末

尾,并将连接后的结果输出

3)删除str1, str2中的公共元素,并将操作后的结果输出

例子

输入:

Abcdefg bcdefxyz

输出: 7 8

bcdefxyzAbcdefg Ag xyz

指定输入:

Bcdefghjk Adfijklmno

答案:

9 10

AdfijklmnoBcdefghjk Bcegh Ailmno

三、实验步骤、过程:

(1)启动Visual C++6.0集成开发环境。(方法与实验1相同)

(2)完成或选做上面5个程序题。(编辑、编译连接、运行程序,步骤与实验1相同) (3)退出Visual C++6.0集成开发环境,关机。

四、源程序清单、测试数据、结果。

(1)输入两个整数,利用指针交换它们的值,拓展,利用引用交换值。 参考程序:(要求文件名:7_1.cpp) #include

void swap(int *pa, int *pb) { }

int main(int argc, char *argv[]) {

scanf(\int a, b; tmp = *pa; *pa = *pb; *pb = tmp; int tmp;

}

printf(\交换前 a=%d, b=%d\\n\

swap(&a, &b);

printf(\交换后 a=%d, b=%d\\n\

return 0;

#include

void swap(int &pa, int &pb) { }

int main(int argc, char *argv[]) { }

(2)利用函数和指针将给定字母字符串的第一个字母变成大写字母,其它字母变成小写字母。在main函数中接收字符串的输入,改变后的字符串的输出也在main函数中实现。(要

return 0;

printf(\交换前 a=%d, b=%d\\n\

swap(a, b);

printf(\交换后 a=%d, b=%d\\n\scanf(\int a, b; tmp = pa; pa = pb; pb = tmp; int tmp;

求文件名:7_2.cpp)

#include #include

void change(char *s) { }

int main(int argc, char *argv[]) {

char a[100], *s; scanf(\s=a; int x, i;

x = strlen(s);

if(*s >= 'a' && *s <= 'z') { } s++;

for ( i = 0; i < x-1; i++, s++) { }

if (*s >= 'A' && *s <= 'Z') { }

*s += 32; *s -= 32;