发布时间 : 星期三 文章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
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;