文档详情

C语言开放实验(指针).doc

发布:2017-01-04约5.64千字共8页下载文档
文本预览下载声明
C语言开放实验 指针 实验一 指向变量的指针变量编程 一.实验目的与要求 1. 理解指针的概念。 2. 掌握指针变量的定义与使用。 3. 掌握指针变量作为函数参数的使用方法。 二.实验题目 1. 阅读以下程序,设输入是1 3 5↙,写出程序的运行结果,再上机验证。 #include stdio.h int fun(int *p) { int s=10; s=s+*p; return(s); } int main( ) { int i, a, b, *p; for(i=0; i3; i++) { p=a; scanf(%d, p); b=fun(p); printf(b=%d\n, b); } return 0; } 2. 用指针变量编程,求数组中的最大元素和最小元素。 3. 编写函数实现两个数的交换(用指针变量作函数参数),利用该函数交换数组a和b中对应元素的值。(注意:调用函数时实参应为什么值) 例如:已知数组a[5]={1, 2, 3, 4, 5}; b[5]={6, 7, 8, 9, 10}; a和b中对应元素交换后:a[5]={6, 7, 8, 9, 10}; b[5]={1, 2, 3, 4, 5}; 实验二 字符指针编程 一.实验目的与要求 1. 理解字符指针的概念。 2. 掌握字符指针的定义与使用。 二.实验题目 1. 阅读以下程序,先写出程序的运行结果,再上机验证。 #include stdio.h #include string.h int main( ) { char *p1, *p2, a[20]=language, b[20]=programme; int k, len; p1=a; p2=b; len=strlen(b); for(k=0; klen; k++) { if(*p1= =*p2) putchar(*p1); p1++; p2++; } return 0; } 2. 请改正程序中的错误,使程序能得出正确的结果。下列给定程序中,函数fun的功能是:分别字符串中大写字母和小写字母的个数。 例如字符串ABcdBC#2cdEFghab”,则应输出:upper=6lower=8 #include stdio.h void fun (char *s, int a, int b) { while(*s) { if (*s=A *s=Z) a++; if (*s=a *s=z) b++; s++; } } int main( ) { int upper=0, lower=0; char s[80]; gets(s); fun(s, upper, lower); printf(\n upper=%d, lower=%d\n, upper, lower); return 0; } 3. 用字符指针编程求出字符串中指定字符的个数。 例如:假设字符串为:“abcdaghckpamn”,指定字符为‘a’,则结果为3。 实验三 指向一维数组的指针变量编程 一.实验目的与要求 1. 理解指针与数组之间的关系。 2. 掌握用指针变量引用数组元素的方法。 3. 掌握用指向一维数组的指针变量编程。 二.实验题目 1. 阅读以下程序,先写出程序的运行结果,再上机验证。 #includestdio.h int main( ) { int a[10]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; int i, n, temp, *p; printf(输入n(n10):); scanf(%d, n); for(i=1; i=n; i++) { temp=*(a+9); for(p=a+9; pa; p--) *p=*(p-1); *a=temp; } for(i=0;i10;i++) printf(%3d, *(a+i)); printf(\n); return 0; } 2. 已知一个整型数组,编程将其数组元素的值改为当前元素与相邻的下一个元素的乘积,数组的最后一个元素改为它与第0个元素的乘积,要求用指针变量实现。 例如:已知a[5]={1, 2, 3, 4, 5}; 计算后a[5]={2, 6, 12, 20, 10}。 实验四 指向二维数组的指针
显示全部
相似文档