程序设计基础C实验报告 下载本文

内容发布更新时间 : 2024/11/6 7:24:17星期一 下面是文章的全部内容请认真阅读。

程序设计基础C实验报告

str[i]=str[j-1]; str[j-1]=t; } }

①运行以上程序,输入1234567*?,程序运行结果是: 。 ②将inverse函数中的for语句改为

for (i=0,j=strlen(str); i

再运行以上程序,输入1234567*?,程序运行结果是: 。

题目6:在一个数组A中存放100个数据,用子函数判断该数组中那些是素数,并统计该素数的个数,在主函数中输出该素数的个数。(文件名:i6.cpp) 程序代码:

#include void main() {

}

题目7:在主函数中定义二维数组A[3][4]、B[4],用子函数对数组A[3][4]每一行求和,其值放在数组B[4]中,在主函数中输出该值。(文件名:i7.cpp) 程序代码:

#include void main() {

}

三、实验结果(用截图说明)

四、调试心得(选作)

15

程序设计基础C实验报告

实验11 指针实验

教学班级:_______ 学号:__________ 姓名:___________ 实验日期:___________ 实验地点:_________(机房) 实验成绩:___________ 一、 实验目的

1.掌握指针的概念,指针变量的定义和使用。 2.熟悉和了解C语言指针一般设计方法。 3.学会使用C语言指针进行程序设计。

4.学会使用数组的指针和指向数组的指针变量。

5.进行简单C语言指针语句的设计、调试、编译和运行。

二、 实验任务

1.基本内容

题目1:阅读以下程序。(文件名:k1.cpp

#include void main()

{ int x=1,y=2, *p, *q;

p=x;q=y; /* error */ printf(“x=%d,y=%d\\n”,x,y);

printf(“&x=%d,&y=%d\\n”,&x,&y); printf(“p=%d,q=%d\\n”,p,q); printf(“p=%d,q=%d\\n”,*p,*q); }

请改正程序中的错误。预测程序结果,并上机调试运行程序。

题目2:预测程序结果,并上机运行程序验证结果。(文件名:k2.cpp)

#include void main()

{ int a[]={1,3,5,7,9,11,13}; int *p=a ;

printf(\

16

程序设计基础C实验报告

printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ p=&a[2];

printf(\

printf(\ p++;

printf(\ }

程序运行结果:

题目3:提示:静态变量的使用(文件名:k3.cpp)

#include void main()

{ static int a[6]={1,2,3,4}; /* 静态变量 */ int *p,i,s=1; p=a;

for(i=0;i<6;i++) s*=*(p+i);

printf(“%d\\n”,s); }

程序运行结果:

题目4:预测程序结果,并上机运行程序验证结果。(文件名:k4.cpp)#include void main()

{ char a[]=“abcdef”; char *b=“ABCDEF”; int *p,i;

for(i=0;i<3;i++)

printf(“%c,%s\\n”,*a,b+i);

printf(“-------------------------------\\n”);

17

程序设计基础C实验报告

for(i=3;a[i];i++)

{ putchar(*(b+i)); printf(“%c\\n”,*(a+i)); } }

程序运行结果:

题目5:预测程序结果,并上机运行程序验证结果。(文件名:k5.cpp)

#include void main() { int n1,n2,n3;

int *pointer_1,*pointer_2,*pointer_3; void swap(int *p1,int *p2);

printf(“请输入三个整数 n1,n2,n3:”); scanf(“%d,%d,%d”,&n1,&n2,&n3); pointer_1=&n1; pointer_2=&n2; pointer_3=&n3;

if (n1>n2) swap(pointer_1, pointer_2); if (n1>n3) swap(pointer_1, pointer_3); if (n2>n3) swap(pointer_2, pointer_3);

printf(“三个整数为:%d,%d,%d\\n”,n1,n2,n3); }

void swap(int *p1,int *p2) { int p;

p=*p1;*p1=*p2;*p2=p; }

① 程序的功能:

② 如果输入4,2,6,程序运行结果:

题目6:预测程序结果,并上机运行程序验证结果。(文件名:k6.cpp) #include #include #include void main()

{ char str1[20], str2[20], str3[20]; void swap(char *p1,char *p2);

18

程序设计基础C实验报告

printf(\请按行输入三个字符串:\\n\ scanf(\ scanf(\ scanf(\

if (strcmp(str1,str2)>0) swap(str1,str2); if (strcmp(str1,str3)>0) swap(str1,str3); if (strcmp(str2,str3)>0) swap(str2,str3); printf(\三个字符串为:\\n\

printf(\}

void swap(char *p1,char *p2) { char *p;

p=(char *)malloc(sizeof(char)); //malloc函数:动态分配内存 strcpy(p,p1); strcpy(p1,p2); strcpy(p2,p); }

①程序的功能:

②输入”mcb”,”bcd”,”Kbefr”,程序运行结果:

2.选择内容

题目7:输入一行字符,找出其中大写字母、小写字母、空格、数字及其字符各有多少?

(文件名:k7.cpp) #include void main()

{ int cle=0,sle=0,di=0,wsp=0,ot=0,i; char *p,s[100]={0};

printf(“请输入一行字符:”); i=0;

while ((s[i]=getchar())!=?\\n?) i++; p=&s[0];

while (*p!=?\\0?)

{ if ((?A?<=*p)&&(*p<=?Z?)) ++cle;

else if ((?a?<=*p)&&(*p<=?z?))

19