C程序设计的实验内容1.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计的实验内容1

C程序设计的实验内容 第四次实验:实验题目:逻辑结构程序设计 实验内容: 1.上机运行下面程序,并分析结果: (1)main( ) {int a=1,b=2,m=0,n=0,k; k=(n=ba)||(m=ab); printf(“%d,%d\n”,k,m);} 该程序的结果是:1,0。因为K的值为1,所以或运算后面的赋值表达式就不用执行了,m的值仍旧为0。 (2)main( ) {int m=5; if(m++5) printf(“%d”,m++); else printf(“%d”,m--);} 该程序的结果是:6。 (3)main( ) {int a=10,b=11,c=12,d; printf(“%d\n”,ac?a:c?d=ab:b);} 该程序的结果是0。本题主要考察了学生对条件表达式的进一步理解。因为第一个条件表达式的值是第二个条件表达式的值,对于第二个条件表达式,C的值为非0,所以它的值为赋值表达式d=ab的值,所以该程序的最终运行结果为0。 注:以上3道题主要提高学生对一些常见的但是又容易出现错误的表达式的正确理解。 2.要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。 《上机指导》书的实验4(250页)实验内容的第3道题可以不做。 追加一道题(共4道编程题):已知某天的年月日,编程计算该天是这一年的第几天。 程序如下: main( ) {unsigned int y,m,d,n; int f; printf(“Input y,m,d:”); scanf(“%d,%d,%d”,y,m,d); f=(y%4==0y%100!=0||y%400==0); n=d; switch(m-1) { case 11:n+=30; case 10:n+=31; case 9:n+=30; case 8:n+=31; case 7:n+=31; case 6:n+=30; case 5:n+=31; case 4:n+=30; case 3:n+=31; case 2:n+=28+f; case 1:n+=31; } printf(“n=%d\n”,n); } 第五次实验:实验名称:循环控制 实验内容:要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。 1.输入两个正整数m和n,求它们的最大公约数,要求用3种方法实现。 方法一: main( ) {int n,m,t,r; scanf(“%d,%d\n”,n,m); if(nm) {t=n;n=m;m=t;} while(m!=0) {r=n%m;n=m;m=r;} printf(“%d\n”,n); } 方法二: main( ) {int m,n,min,j,p; scanf(“%d%d\n”,m,n); min=mn?m:n; for(j=1;j=min;j++) if(m%j==0n%j==0) p=j; printf(“%d\n”,p); } 方法三: main( ) {int m,n,min,j; scanf(“%d%d\n”,m,n); min=mn?m:n; for(j=min;j=1;j--) if(m%j==0n%j==0) break; printf(“%d\n”,j); } 2.习题6.6,要求用两种方法实现。 方法一: main( ) {int I,j,k,n; for(n=100;n1000;n++) {I=n/100; j=n/10-I*10; k=n%10; if(n==I*I*I+j*j*j+k*k*k) printf(%4d”,n); } printf(“\n”); } 方法二: main( ) {int I,j,k,n; for(I=1;I=9;I++) for(j=0;j=9;j++) for(k=0;k=9;k++) {n=I*100+j*10+k; if(n==I*I*I+j*j*j+k*k*k) printf(%4d”,n); } printf(“\n”); } 注:以上两道题主要是开拓学生算法与编程的思路,同一个问题可以用不同的算法来实现,但是算法之间也是有优越性差别的,一般来说循环次数最少的算法是最好的算法。 3.习题6.10。注:该题主要锻炼学生递归与递推编程思路。 4.习题6.12。注:该题主要提高学生利用C语言这个有力工具,去解决基本的代数问题,让学生明白常用的代数算法在计算机中的实现方法。 5.习题6.14。 6.运行课本115页例6.5和课本118页例6.9。注:通过这两道例题的运行,主要让学生把continue与break语句的区别搞清楚。 第六次实验 数组 实验内容:要求事先编好解决下面问题的程

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档