程序设计基础C实验报告版_第1页
程序设计基础C实验报告版_第2页
程序设计基础C实验报告版_第3页
程序设计基础C实验报告版_第4页
程序设计基础C实验报告版_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 程序设计基础C 实 验 报 告 教学班级:113100501 学号:11310050142 姓名:江式鑫 课程教师:张建勋 实验辅导教师:张建勋 重庆理工大学计算机学院 月2年2014程序设计基础C实验报告 实验5 循环程序设计 教学班级:_ 学号:_ 姓名:_ 实验日期:_ 实验地点:_(机房) 实验成绩:_ 一、实验目的 (1) 了解C语言循环结构的使用范围。 (2) 学会正确使用逻辑运算符和逻辑表达式。 (3) 熟练掌握C语言的三种循环结构:whilc语句、dowhilc语句、for语句的特点和使用方法。 能够编写一些有实际应用意义的循环结构程序。(4) 二、实验内容 1基本内容 题目

2、1:计算135799+101的值。(提示:注意符号的变化) #include void main() int i,t=1,s=0; /* t标识正负符号 */ for (i=1;i101; i+=2) /*error*/ s+=i*t; t= -t; printf(s=%dn,s); 请改错,并运行程序。 分别用 dowhile语句改写以上程序。语句和while 2题目表示回车换行24579(:分析程序,运行时输入:注:。)#include 1 程序设计基础C实验报告 void main() int c; while(c=getchar()!=n) switch(c-2) case 0: ca

3、se 1: putchar(c+4); case 2: putchar(c+4);break; case 3: putchar(c+3); case 4: putchar(c+2);break; default:putchar(c); printf(); 选择合适331003题目:下面程序的功能是打印以内个位数为且能被整除的所有数, 的语句填入该空格中。#include void main() int i,j; for(i=0;_ ;i+) j=i*10+3; if(_) continue; printf(M,j); 个044题目:编程输出:用任意组成无重复数字的三位数?都是多少?每行输出10

4、 数。#include 2 程序设计基础C实验报告 void main() int i,j,k,count=0; printf(); for(i=1;i5;i+)/*以下为三重循环*/ for(j=0;j5;j+) for (k=0;k5;k+) if (_) /*确保i 、j 、k三位互不相同*/ printf(m,i*100+j*10+k); count+; if(_) printf(); printf(); 111?e1?.-6。 e的近似值,精度要求为10 题目5:根据公式 求 1!2!3!题目6:输入一行字符,将小写字母转换为大写字母显示,其它字符原样输出。 2选择内容 题目7:打印

5、出如下图案 * * * * * * * * * * * * * * * * * * * * * * * * * #include 3 程序设计基础C实验报告 void main() int i,j; for(i=1;i=4;i+) for(j=1;j=8-i;j+) /理解数字8的作用 printf( ); for(j=1;j=1;i-) for(j=1;j=8-i;j+) printf( ); for(j=1;j=2*i-1;j+) printf(* ); printf(); 运行以上程序,验证实验结果。 模仿上面程序,打印出如下图案 1 2 2 2 3 3 3 3 3 三、实验结果(用截图

6、说明) 5.1 4 程序设计基础C实验报告 5 程序设计基础C实验报告 5.2 6 程序设计基础C实验报告 5.3 5.47 程序设计基础C实验报告 5.58 程序设计基础C实验报告 5.6 9 程序设计基础C实验报告 5.7.1 5.7.2 10 程序设计基础C实验报告 5.8 11 程序设计基础C实验报告 5.9 5.10 四、调试心得(选作) 12 程序设计基础C实验报告 实验6 数组实验 教学班级:_ 学号:_ 姓名:_ 实验日期:_ 实验地点:_(机房) 实验成绩:_ 一、 实验目的 (1) 理解数组的特点及其与普通变量的区别及特点; (2) 掌握一维数组的定义、赋值和输入输出的方法

7、; (3) 掌握二维数组的定义、赋值和输入输出的方法; (4) 掌握字符数组和字符串函数的使用; (5) 掌握与一维数组和字符数组有关的程序与算法; 理解与二维数组有关的程序与算法。(6) 二、 实验任务 1基本内容 【题目1】读程序,写结果。 #include void main() int i,s=0,a10=1,2,3,4,5,6,7,8,9,10; for(i=4;i7;i+) s=s+ai; printf(s=%dn,s); 【题目2】下面程序给数组a输入数据,以每行4个数据形式输出,请填空。 #include #define N 8 void main() int i, a N;

8、13 程序设计基础C实验报告 for(i=0; iN; i+) scanf(%d,_); for(i=0; iN; i+) if(_) printf(); printf(d,_); printf(); 3】用简单选择法对10个整数排序,将程序补充完整。 【题目#define N 10 #include void main() int i,j,min,temp,aN=1,5,4,3,7,0,9,8,2,6; for (i=0;iaj) min=j; if(min!=i) _ n); 排序结果为: printf( for (i=0;iN;i+) printf(,ai); printf(); ,将程

9、序补充完整。104】下面的程序用冒泡法对个数排序(从小到大)【题目14 程序设计基础C实验报告 #define N 10 #include void main() int i,j,min,temp,aN=1,5,4,3,7,0,9,8,2,6; for(i=0;iN;i+) for(j=0;_;j+) if( _ ) temp=aj; aj=aj+1; aj+1=temp; printf( 排序结果为: n); for(i=0;i10;i+) printf(M,ai); printf(); 个数的平均值。个数到一维数组【题目5】任意输入20a中,求这20 【题目6个数,判断该哪些是素数,并输出

10、这些素数。】编程:任意输入10,请填空7】以下程序是求二维数组中的最小数及其下标(设最小数是唯一的)【题目 完成程序,并上机验证。#include void main() int i,j,row,col,min; ,-2,0,5; min=a00; _ for(j=0;j4;j+) if(_) 15 程序设计基础C实验报告 min=aij; row=i; col=j; printf(min=%d,row=%d,col=%dn,min,row,col); 8】以下程序是实现输出杨辉三角(最多十行),请将程序补充补充完整。 【题目1 1 1 1 2 1 1 3 1 3 1 6 4 1 4 1 10

11、 5 1 5 10 #define N 11 #include void main() int i,j,aNN; for (i=1;iN;i+) ai1=1; _; for (i=3;iN;i+) for (j=2;_;j+) aij= ai-1j-1+ ai-1j; for (i=1;iN;i+) for (j=1;j=i;j+) 16 程序设计基础C实验报告 printf(m, aij); _; printf(); 【题目9】从键盘上任意键入n阶方阵,求它的两条对角线元素之和。 【题目10】分析以下读程序,写的运行结果,并上机验证。 #include void main() char c,

12、s=BABCDCBA; int k; for(k=1;(c=sk)!=0;k+) switch(c) case A:putchar(?);continue; case B:+k;break; default:putchar(*); case C:putchar(&);continue; putchar(#); putchar(n); 【题目11】输入一串字符,计算其中字母的个数。 #include #include #define N 81 void main() 17 程序设计基础C实验报告 char chN; int i,count=0; 異獴尨请输入一串字符:); _ /* 提示:使用字

13、符串输入函数*/ for(i=0;istrlen(ch);i+) if(_) count+; 牰湩晴尨字母个数为:%d n, count); 【题目12】编程:输入一串字符,要求逆序输出。 2选择内容 【题目13】将两个字符串连接起来,不使用strcat字符函数 #include #define N 80 void main() char s12*N,s2N; int i=0,j=0; printf( 请输入两个字符串,以空格或回车键作字符串结束标志:n); scanf(%s,_); scanf(%s,_); while (s1i!=0) i+; while (_) s1i+=s2j+; s1

14、i=0; printf( 连接后的两个字符串为:n%sn,s1); ,字符串中不包含字符若首次出现的位置,chstr在字符串】【题目14中查找字符strch 则输出0。18 程序设计基础C实验报告 【题目15】有4位学生,考4门功课。求出每位学生的总分和平均分,及所有学生每门功课平均分和所有功课的平均分。 【题目16】找出一个二维数组的”鞍点”,即该位置上的元素在该行上最大,在该列上最小,如无”鞍点”,则给出提示。 三、 实验结果(用截图说明) 6.1 6.2 19 程序设计基础C实验报告 6.3 6.420 程序设计基础C实验报告 6.521 程序设计基础C实验报告 6.622 程序设计基础

15、C实验报告 6.723 程序设计基础C实验报告 6.824 程序设计基础C实验报告 6.9 25 程序设计基础C实验报告 6.1026 程序设计基础C实验报告 6.1127 程序设计基础C实验报告 6.1228 程序设计基础C实验报告 6.1329 程序设计基础C实验报告 6.14 30 程序设计基础C实验报告 6.15 四、调试心得(选作) 31 程序设计基础C实验报告 实验7 函数实验 教学班级:_ 学号:_ 姓名:_ 实验日期:_ 实验地点:_(机房) 实验成绩:_ 一、 实验目的 (1) 理解函数定义的方法。 (2) 掌握函数实参与形参的对应关系,以及函数”参数传递”的方式。 (3)

16、掌握函数的嵌套调用和递归调用的方法; 掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法。(4) 实验任务二、 1基本内容 个数中的最大值,请完善程序并上机验证。1】以下程序是求3【题目#include void main() int a,b,c,m; */ /* 函数声明 int max(int x,int y); printf(input a,b,c=); scanf(%d,%d,%d,&a,&b,&c); _ %dn,m); 最大值是: 牰湩晴尨 */ 函数定义/* int max(int x,int y) int z; z=(xy)?x:y; return z; 32 程序设计

17、基础C实验报告 【题目2】程序填空:子函数中判断一个大于1的整数是否是素数,数据由主函数中输入,并在主函数中显示结果。 #include void main() int number; 牰湩晴尨请输入一个正整数:n); scanf(%d,&number); if ( _ ) printf( %d是素数:,number); else printf( %d不是素数:,number); int prime(int number) /*请注意区别main函数和prime函数中的number变量*/ int flag=1,n; for (n=2; flag=1 & n=number/2;n+) if (

18、 _ ) flag=0; return (flag); 【题目3】读程序,验证结果。 #include void main() int i=2,p; p=f(i,i+=1); printf(%dn,p); int f(int a, int b) 33 程序设计基础C实验报告 int c; if(ab) c=1; else if(a=b) c=0; else c=-1; return(c); 将程序中第4行语句:p=f(i,i+=1); 改为以下语句,比较程序结果: p=f(i+=1,i); 实践说明,函数的参数求值顺序是:_ 【题目4】编程在主函数中输入和输出字符串,在子函数中实现一个字符串按

19、反序存放。 【题目5】用子函数计算4名学生的平均分。标注“error”处有错误,请改正。 #include #define N 4 float average(float array) /* 注意数据类型的一致 */ int i; float aver,sum=0; for (i=0;iN;i+) sum+=arrayi; aver=sum/N; return (aver); void main() float scoreN,aver; int i; printf( input %d scores:n,N); for (i=0;iN;i+) scanf(%f,&scorei); 34 程序设计

20、基础C实验报告 aver=average(scoreN); /* error */ printf( average score is %5.2fn,aver); 【题目6】改正标注“error”语句行的错误,理解本程序的功能。 #include void main() int a3=0,2,4,6,8,10,12,14,16,sum; int func(); /*函数声明*/ sum=func(a3); /*error*/ printf( sum=%dn,sum); /*error*/ int func(int a ) int i,j,sum=0; for(i=0;i3;i+) for(j=0

21、;j3;j+) if(i=j) sum+=aij; return sum; 每一行求和,其值【题目7,用子函数对数组、】在主函数中定义数组A34B4A BB放在数组中,在主函数中输出数组的值。 8【题目】输入两个正整数,求其中最大公约数和最小公倍数。将程序补充完整。#include int fun1(x,y) int temp; if (xy) temp=x; 35 程序设计基础C实验报告 x=y; y=temp; while (y!=0) temp=x%y; x=y; y=temp; return x; int fun2(x,y) return x*y/fun1(x,y); /*函数的嵌套调

22、用*/ void main() int a,b; 牰湩晴尨请输入两个正整数:n); scanf(%d,%d,&a,&b); 牰湩晴尨它们的最大公约数为:%dn,_); 牰湩晴尨它们的最小公倍数为:%dn,_); 9】阅读以下程序,若输入为ABCDE#时,写出程序的执行结果。 【题目stdio.h #include void reverse( ) ch; char ch=getchar( ); if ( ch=#) printf ( %c,ch); 36 程序设计基础C实验报告 else reverse( ); printf (%c,ch); void main( ) reverse( ); p

23、rintf(); 】编程计算猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还【题目10以后每天不过瘾又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。天早上想再吃时,只剩下一个桃子了,早上都吃了前一天剩下的一半零一个。到第10 求第一天共摘了多少桃子?,_函数的局部变量是:【题目11】阅读以下程序,该程序中,main,理解它们的_max函数的局部变量是:_,全局变量是: 使用方式。#include int a=4,b=6; int max(int a,int b) int c; c=ab?a:b; return c; void main() int a=9; printf(

24、%dn,max(a,b); 37 程序设计基础C实验报告 【题目12】以下是一个求1-10累加和的错误程序,请改正。 #include void main() int i,s; for(i=1;i=10;i+) s=sum(i); printf(s=%dt,s); sum(int j) int x=0; /* error */ x+=j; return(x); 选择内容2是回文数,个位与34543】编写一个函数,判断一个整数是不是回文数。如:【题目13 万位相同,十位与千位相同。个数据,用子函数判断该数组中那些是素数,并【题目14】在一个数组中存放100A 统计该素数的个数,在主函数中输出该素

25、数的个数。应输出字符串1234输入,”1234例如,】【题目15用递归法将一个整数转换成字符串。 的位数不确定,可以是任意的整数。请在注释行中添加注释,使程序易于理解。n#include void convert(int n) int i; if (i=n/10)!=0) /*_*/ convert(i); /*_*/ putchar(n_x0010_+0); void main() 38 程序设计基础C实验报告 int number; printf(输入整数:); scanf(%d,&number); printf( 输出字符是:); if (number0) /*_*/ putchar(-

26、); number=-number; convert(number); printf(); 三、实验结果(用截说)明图7.139 程序设计基础C实验报告 7.2 40 程序设计基础C实验报告 7.3 7.441 程序设计基础C实验报告 7.542 程序设计基础C实验报告 7.643 程序设计基础C实验报告 7.744 程序设计基础C实验报告 7.845 程序设计基础C实验报告 46 程序设计基础C实验报告 7.9 7.10 47 程序设计基础C实验报告 7.11 7.1248 程序设计基础C实验报告 7.13 7.1449 程序设计基础C实验报告 7.1550 程序设计基础C实验报告 四、调试

27、心得(选作)51 程序设计基础C实验报告 实验8 常用指针实验 教学班级:_ 学号:_ 姓名:_ 实验日期:_ 实验地点:_(机房) 实验成绩:_ 一、 实验目的 (1) 掌握指针的概念,指针变量的定义和使用。 (2) 熟练使用指针访问各种简单数据类型。 (3) 熟练掌握C语言指针的常见运算。 (4) 熟练使用指针访问一维数组。 (5) 理解和掌握指针作为函数参数的实质,学会使用指针作为函数参数。 实验任务二、 1基本内容 】请改正程序中错误的地方,预测程序的运行结果,并上机调试验证。1【题目#include void main() int x=1,y=2, *p, *q; /* error*

28、/ p=x; /* error*/ q=y; 牰湩晴尨?搥礬層湜? printf(&x=%d,&y=%dn,&x,&y); printf(p=%d,q=%dn,p,q); printf(p=%d,q=%dn,*p,*q); 】请预测程序的结果,并上机运行程序,验证结果。2【题目#include void main() 52 程序设计基础C实验报告 int a=1,3,5,7,9,11,13; int *p=a; printf(-%dn,*p); printf(-%dn,*(+p); printf(-%dn ,*+p); printf(-%dn ,*(p-); printf(_x0005_-%d

29、n ,*p-); printf(-%dn,*p+); printf(_x0007_-%dn,+(*p); printf(8-%dn,(*p)+); p=&a2; printf(9-%dn ,*p); printf(-%dn,*(+p); p+; printf(-%dn ,*p); 3】请预测程序的结果,并上机运行程序,验证结果。【题目 #include void main() int a6=1,2,3,4,5,6; int *p,i,s=1; p=a; for(i=0;i6;i+) s*=*(p+i); printf(%dn,s); 【题目4】请预测程序的结果,并上机运行程序,验证结果。#in

30、clude void main() 53 程序设计基础C实验报告 char a=abcdef; char *b=ABCDEF; int i; for(i=0;i3;i+) printf(%c,%sn,*a,b+i); printf(-n); for(i=3;ai;i+) putchar(*(b+i); printf(%cn,*(a+i); 【题目5】程序功能:输入一行字符(不超过100个),统计其中大写字母的个数? 要求:阅读以下程序,将空格处补充完整,并上机调试运行。#include void main() int cle=0; char *p,s101; ); 请输入一行字符: 牰湩晴尨g

31、ets(s); p=s; while(_) if(*p=A)&(*p=Z) +cle; _; =%dn,_); 牰湩晴尨 大写字母个数 54 程序设计基础C实验报告 【题目6】编写程序:输入两个整数,通过函数swap交换这两个整数的值。 要求:在main函数中输入两个整数,在main函数中输出交换后的结果。分析程序,将空白部分补充完整,并上机验证。 #include void swap(int *p1,int *p2) int i; i=_; _; _; void main() int n1,n2; 牰湩晴尨请输入两个整数:); scanf(%d%d,&n1,&n2); swap(_); pr

32、intf(%d,%dn,n1,n2); 【题目7】程序功能:求两个数中的最大值。 要求:阅读以下程序,将空格处补充完整,并上机调试运行。 #include int * max(int *x,int *y) if(*x*y) return _; else return _; void main() 55 程序设计基础C实验报告 int a,b; 牰湩晴尨请输入两个整数a,b:); scanf(%d,%d,&a,&b); 牰湩晴尨最大值是:%dn, _); 【题目8】将数组a中的10个整数按相反顺序存放,完善程序。 #include #define N 10 */ void inv(int *x, int n) /*理解掌握本函数的算法 int t,i; for(i=0;i=(n-1)/2;i+) t=*(x+i); *(x+i)=*(x+n-1-i); *(x+n-1-i)=t; void main() int i,aN; for(i=0;iN;i+) scanf(%d,a+i); :n); 原序为 牰湩晴尨for(i=0;iN;i+) prin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论