程序设计指导书_第1页
程序设计指导书_第2页
程序设计指导书_第3页
程序设计指导书_第4页
程序设计指导书_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

程序设计根底试验指导书〔适用于2023级计算机专业生〕姚庆安孙旸李欣20239月前言本试验指导书适用于计算机专业和非计算机专业。对计算机专业和网络专,其他专业的学生,可对指导书中最终四个试验予以删减。i目 录VISUALC++6.0集成开发环境 1\l“_TOC_250009“试验报告要求 8试验一生疏C语言运行环境 错误!未定义书签。试验二挨次构造程序设计 错误!未定义书签。\l“_TOC_250008“试验三分支构造程序设计 9\l“_TOC_250007“试验四循环构造程序设计 13\l“_TOC_250006“试验五多重循环的实现 15\l“_TOC_250005“试验六函数的使用 17\l“_TOC_250004“试验七一维数组的使用 20\l“_TOC_250003“试验八二维数组的使用 23\l“_TOC_250002“试验九指针〔一〕 25\l“_TOC_250001“试验十指针(二) 28\l“_TOC_250000“试验十一构造体与共同体 32试验十二位运算和文件 错误!未定义书签。I1VisualC++6.0一.试验目的了解和使用VC集成开发环境生疏VC环境的根本命令和功能键生疏常用的功能菜单命令VC++环境的帮助C++程序开发过程C++程序构造VisualC++6.0WindowsMFC应用程序的过程二.试验内容C++程序:1.#include“stdio.h”voidmain{printf(“GuangdongJidian.\n“);}2.#include“stdio.h”intmax(int,int); //声明自定义函数voidmain //主函数{inta,b,c;printf(“inputtwonumber:\n“);scanf(“%d %d”,&a,&b);c=max(a,b); //max函数,将得到的值赋给Cprintf(“max=%d)“,c);}intmax(intx,inty) //max函数,函数值为整型,形式参数x,y为整型{intz; //max函数中的声明局部,定义本函数中用到的变量z为整型if(x>y) elsez=y;return(z); //zmax带回调用处}三.试验步骤VisualC++6.0/程序/Microsoft面,如图1-1所示。1-1VisualC++6.0用户界面2.创立工程(1)单击菜单“文件/建”,显示“1-2所示。在此对话框的列表栏中,选择“Win32ConsoleApplication”〔Win32掌握“工程栏中输入一个工程名,H:\C++试验\试验一。单击“确定”按钮。“建”对话框”窗口41of1”对话框中选择Anproject单项选择项。然后单击“Finish”1-3所示。”对话框中单击“确认”按钮,完成工程创立过程。C++源程序文件编辑C++C++源程序时,选择“文件”菜单项,消灭一个1-4所示,再选择该菜单中的建选项〔Ctrl+翻开“建”窗口,在“建”窗口。34选择“文件”,在它的下拉列表框中选择“C++SourceFile”1-4所示,再按击“确定”,消灭编辑屏幕,如图1-5所示。1-5 “C++”源程序编辑在“C++源程序编辑”C++源程序。在编辑窗口键入C++源1-6所示,键入如下源程序:C++源程序编译连接和运行源程序“编译eg1-1.cpp”菜单项,这时系统开头对当前的源程序进展编译,在编译过程中,将所觉察的错误显示在屏幕下方的“编译”窗口中。所显示的错误信息中指出该错误所在行号和该错误的性质。用户可依据这些错误信息进展修改。上编译”1-7所示。”窗口〔.exe编译选项。“编译”1-8所示的信息说〔eg1-1.ex。1-8编译连接信息执行可执行文件的方法是选择“编译”菜单项中“执行eg1-1.exe”选项。这时,运行该可执行文件,并将结果显示在另外一个显示执行文件输出结果1-9所示。图1-9 C++程序结果关闭翻开工作区、翻开工作区单击菜单“文件/关闭工作区”,关闭工作区。单击菜单“文件/翻开工作区”,在强出的对话框中选定“H:\C++试验\试验一\试验一.dsw”,单击“翻开”按钮,则可翻开工作区,对已建立的工程文件进行修改。1-52。习题:三个简洁的求值计算,分别输入圆柱体的半径和高,求体积;输入球半径,求外表积;输入长方体的长、宽、高,求其体积。试验报告要求程序,应书写整齐。上机输入和调试程序,调试通过后,打印出程序清单并把运行结果记录下来〔在条件允许下。上机完毕后,依据上机指导书的具体要求,整理出上机报告〔字迹工整次上机交给指导教师。上机报告应包括以下内容:上机题目;算法说明〔简单的可用流程图表示;程序清单〔有条件用打印机打印出来;运行结果;应分析错误缘由。试验三分支构造程序设计试验目的生疏关系表达式和规律表达式的使用。把握break和continue语句的使用,以及它们之间的区分。main{inta,b,c;printf(“inputa,b,c:”);if(a<b)if(b<c)elseelseif(a<c)elseprintf(“max=%d\n”,a);}ifelse的方法实现,就是利用条件表达式。main{inta,b,c,max,t;printf(“inputa,b,c:”);t=(a>b)?a:b;max=(t>c)?t:c;}学生可利用此程序,考虑怎样修改求出三个数中的最小值。先读下面程序,分析出程序的执行结果,然后再上机运行,结果是否全都。main{intx,y=1,z;if(y!=0)x=5;if(y==0)x=3;elsex=5;printf(“x=%d\t\n”,x);x=1;if(z<0)if(y>0)x=3;elsex=5;printf(“x=%d\t\n”,x);if(z=y<0)x=3elseif(y==0)x=5;elsex=7;printf(“x=%d\t”,x);printf(“z=%d\t\n”,z);if(x=z=y)x=3;printf(“x=%d\t”,x);printf(“z=%d\t\n”,z);}有一函数:x (x<0)y= 3x-2 (10≤x<50)4x+1 (50≤x<100)5x (x≥100)程序如下:main{intx,y,t;printf(“inputx=:”);scanf(%d”,&x);if(x<10)t=0;if(x>=100)t=10;elset=x/10;switch(t){case0: y=x;break;case1:case2:case3:case4: y=3*x–2;break;case5:case6:case7:case8:case9: y=4*x+1;break;case10: y=5*x;}printf(“y=%d”,y);}运行程序,写出执行结果。此题还可以单独用if序可读性好,学生自己编程,上机运行。从数字1开头到200之间,求能被3整除的数,然后求这些数的累加和,直参考程序如下:main{inti,sum=0;for(i=1;i<=200;i++){if(i%3!=0)continue;sum=sum+i;printf(i=%6d”,i);}printf(“sum=%6d”,sum);}理解break和continue语句之间的区分,以免混淆。Continue体中下面尚未招待的语句,接着进展下一次执行循环的判定。求解一元二次方程的根应书写整齐。上机输入和调试程序,调试通过后,打印(或手写)出程序清单并把运行结果记录下来。上机完毕后,依据上机指导书的具体要求,整理出上机报告〔字迹工整次上机交给指导教师。试验四循环构造程序设计上机目的娴熟把握三种循环语句的应用。1〔whiledo-whilefor1~100的累加和。编程上机调试。2给出求∑n!(1!+2!+3!+„+25!)的程序如下:main{floatn,s=0,t=1;for(n=1;n<=25;n++){t=t*n;s=s+t;}printf(“1!+2!+3!+„+25!=%e\n”,s);}上机运行,并记录下结果。然后用另外两种循环语句实现上述功能。3quit?”时,它们的执行结果是什么?(1)#include<stdio.h>main{charc;c=getchar;while(c!=‟?‟){putchar(c);c=getchar;}}(2)#include<stdio.h>main{charc;while((c=getchar)!=?)putchar(++c);}(3)#include<stdio.h>main{while(putchar(getchar)!=?);}分析输出的三种不同结果,在试验报告中写出为什么。4求全部满足条件的四位数ABCD113上第2位数等于第4位数〔即+。5〔输入负分完毕应书写整齐。上机输入和调试程序,调试通过后,打印(或手写)出程序清单并把运行结果记录下来。上机完毕后,依据上机指导书的具体要求,整理出上机报告〔字迹工整次上机交给指导教师。试验五多重循环的实现上机目的生疏把握循环嵌套编程的使用方法。上机调试以下程序,改正错误。sum=1001/ni1main{intn,sum;n=1;while(n<100) printf(“sum=%f\n”,sum);}打印以以下图案:** * ** * * * ** * * * * * ** * * * ** * **abc=a3+b3+c3。编程实现求2--1000之间的全部素数〔每行显示10个数。百钱买百鸡问题。351100元100只鸡,可能有多少种买法?应书写整齐。上机输入和调试程序,调试通过后,打印(或手写)出程序清单并把运行结果记录下来。上机完毕后,依据上机指导书的具体要求,整理出上机报告〔字迹工整次上机交给指导教师。试验六函数的使用上机目的把握函数的定义和调用方法。把握函数实参与形参的对应关系,以及“值传递”的方式。把握函数的嵌套调用和递归函数编写的规律。学会使用宏替换编写程序,弄清“文件包含”的作用。,生疏函数的调用方法。main{intx,y,z;x=4;y=12;z=6;fun(x,y,z);printf(“%x=%dy=%dz=%d\n”,x,y,z)}fun(inti,intj,intk){intt;t=(i+j+k)/2;printf(“t=%d\n”,t)}运行下面程序,写出执行结果。main{inti,j,x,y,n,g;i=4;j=5;g=x=6;y=9;n=7;f(n,6);printf(“g=%di=%dj=%d\n”,g,I,j)printf(“x=%dy=%d\n”,x,y)f(n,8);}f(inti,intj){intx,y,g;g=8;x=7;y=2;printf(“g=%d;i=%d;j=%d\n”,g,i,j);printf(“x=%d;y=%d\n”,x,y);}3编写一个推断素数的函数,在主函数输入一个整数,输出是否是素数的信息。参考程序如下:#include”match.h”main{intm;printf(“Pleaseinputadatam=:”);scanf(“%d”,m);prime(m);}prime(intn){inti,k;k=n/2;for(i=2;i<=k;i++)if(n%i==0)break;if(i>=k+1)printf(“Thisisaprimenumber”);else printf(“Thisisn‟taprimenumber”);}4。用定义子函数的方法求解三角形的面积AckermannAck(m,n)m≥0,n≥0,Ack(m,n)定义为:Ack(0,n)=n+1Ack(m,0)=Ack(m-1,1)Ack(m,n)=Ack((m-1),Ack(m,n-1))编程并上机调试。#include<stdio.h>longintack(intm,intn)longintvalue;if(m<0||n<0){ printf(“Thecondictionofcaculatingisontexist,EXIT!\n”);exit;}if(m==0){value=n+1;}elseif(n==0){value=ack(m-1,1);}else{printf(“ack(%d,%d)=ack(%d,ack(%d,%d))\n”,m,n,m-1,m,n-1);value=ack((m-1),ack(m,n-1));}return(value);}longintack(intm,intn);main{intmm,nn;longinta;printf(“Pleaseenterm,n:”);scanf(“%d%d”,&mm,&&nn);a=ack(mm,nn);getchar;}试验七一维数组的使用上机目的把握一维数组的概念和使用方法。把握一维数组初始化的方法。学会一维字符数组和字符串的应用。组中最前面的元素对换位置。编写程序,上机运行,并记录下结果。scanf通过键盘输入进去,找出数组中最小的元素可通过循环语句和条件语句来实现。minarray[k]为一个暂存单元。实现最前面的元素与最小元素对换可通过下面语句实现:array[k]=array[0];array[0]=min;参考程序如下:main{i,array[10],min,k=0;printf(“Pleaseinput10data\n”);for(i=0;i<10;i++)scanf(“%d”,&array[i]);printf(“Beforeexchang:\n”);for(i=0;i<10;i++)min=array[0];for(i=1;i<10;i++)if(min>array[i]){min=array[i];k=i;}array[k]=array[0];array[0]=min;printf(“Afterexchange:\n”);for(i=0;i<10;i++)printf(“%5d”,array[i]);printf(“k=%d\tmin=%d\n”,k,min)}〔由小到大〕再插入一个数,要求仍旧有序。编程并上机运行。〔比原有全部的数大;比原有全部的数小;在最大数和最小数之间。参考程序如下:#include<stdio.h>main{inti,n;folata,x[20],y[21];printf(“Pleaseinputnvalue\n”);scanf(“%d”,&n);printf(“Pleaseinputvalue(fromsmalltobig)\n”);for(i=0;i<n;i++)scanf(“%f”,&x[i]);printf(“Insertvalue=?”);i=0;while(a>x[i]&&i<n){y[i]=x[i];i++;}y[i]=a;for(i=i+1;i<n+1;i++)y[i]=x[i-1];printf(“\n”);for(i=0;i<n+1;i++){printf(“%8.2f”,y[i]);if((i+1)%5==0) puts(“\n”);}}从键盘中输入某年某月某日,推断这一天是这一年的第几天。的人数。应书写整齐。上机输入和调试程序,调试通过后,打印(或手写)出程序清单并把运行结果记录下来。上机完毕后,依据上机指导书的具体要求,整理出上机报告〔字迹工整次上机交给指导教师。试验八二维数组的使用上机目的把握二维数组的概念和使用方法。把握二维数组初始化的方法。学会二维字符数组和字符串的应用。〔按汉语拼音的字母挨次从小到大,并按序输出。参考和程序如下:#include“stdio.h”voidstrup(charstr[])main{charstr[20];charname[20][20];inti,j,t,n;printf(“Pleaseinputnamenumberofsorting\n”);scanf(“%d”,&n);printf(“Pleaseinputname\n”);for(i=0;i<n;i++){gets(name[i]);strup(name[i]);}for(i=0;i<n;i++){for(j=i+1;j<n;j++){for(k=0;;k++)if(name[i][k]<name[j][k])break;elseif(name[i][k]>name[j][k]){strcpy(str,name[j]);srycpy(name[j],name[i]);strcpy(name[i],str);break;;}}}for(i=0;i<n;i++)}voidstrup(charstr[]){inti;for(i=0;str[i]!=‟\o‟;i++)if(str[i]>=‟a‟&&str[i]<=‟z‟)str[i]=str[i]+‟A‟-„a‟;}应书写整齐。上机输入和调试程序,调试通过后,打印(或手写)出程序清单并把运行结果记录下来。上机完毕后,依据上机指导书的具体要求,整理出上机报告〔字迹工整次上机交给指导教师。试验九指针〔一〕上机目的把握指针变量的定义,会使用指针变量。把握指针与变量、指针与数组、指针与字符串的关系。1x,y,zp1,p2,p3,分别指向x,y,z。然后通过指x,y,zxyyzz的值给x。x,y,z的原值和值。程序如下:main{intx,y,z,t;int*p1,*p2,*p3;printf(“Pleaseinput3numbers:”);scanf(“%d,%d,%d”,&x,&y,&z);p1=&x;p2=&y;p3=&z;printf(“oldvaluesare:\n”);printf(“%d%d%d\n”,x,y,z);t=*p3;*p3=*p2;*p2=*p1;*p1=t;printf(“newvaliesare:\n”);printf(“%d%d%d\n”,x,y,z);}排好序的数。参考程序如下:main{int*p,a[20],i;printf(“Pleaseinput10numbers\n”);for(i=0;i<10;i++)scanf(“%d”,&a[i]);printf(“Theoriginalarrayis:”);for(p=data;p<data+20;p++){if((p-&data[0])%5==0) printf(“\n”);printf(“%4d”,*p);sort(data,20);printf(“thepresentarrayis:”);for(p=data;p<data+20;p++){if((p-&data[0]%5==0)printf(“\n”);printf(“%4d”,*p);}}void sort(intarray[],intn){int *p1,*p2,t;for(p1=array;p1<array+(n-1);p1++)for(p2=p1+1;p2<array+n;p2++)if(*p1>*p2){t=*p1;*p1=*p2;*p2=t;}}有一个3*4的矩阵,矩阵元素为:2468357910111213阵转置的程序段同学们可做参考。move(p1)int*p1;{inti,j,t;for(i=0;i<3;i++)for(j=i;j<4;j++){t=*(p1+3*i+j);*(p1+3*i+j)=*(p1+3*j+i);(p1+3*j+i)=t;}}〔指针〕应书写整齐。(或手写)出程序清单并把运行结果记录下来。上机完毕后,依据上机指导书的具体要求,整理出上机报告〔字迹工整次上机交给指导教师。试验十指针(二)学会使用字符串的指针和指向字符串的指针变量。学会使用函数的指针和指向函数的指针变量。二上机内容1有四个字符串“Changhua”,“Liping”,“Chenmei”,“Gaofeng”,代表四〔由小到大〕输出这四个字符串。编写此程序,用数组处理,上机调试并运行,记录下输出结果。参考程序如下:main{voidsort(char*a[],intn)staticchar*name[]={“Changhua”,“Liping”,“Chenmei”,“Gaofeng”};intn=4,i;sort(name,n);for(i=0;i<5;i++)printf(%s\n”,name[i]);}voidsort(char*a[],intn){char*temp;inti,j;for(i=0;i<n-1;i++)for(j=0;j<n-i-1,j++)if(strcmp(a[j],a[j+1])>0){temp=name[j];name[j]=name[j+1];name[j+1]=temp;}}processa,b,ca,b,ca,b,c怎样传递函数的地址的。参考程序如下:main{intadd,max,min;inta,b,c;printf(“Pleaseinput3data:”);scanf(“%d,%d,%d”,&a,&b,&c);printf(“add=”);process(a,b,c,add);printf(“max=”);process(a,b,c,max);printf(“min=”);process(a,b,c,min);}add(intx,inty,intz){intk;k=x+y+z;return(k);}max(intx,inty,intz){intk,t;t=(x>y)?x:y;k=(t>z)?t:z;return(k);}min(intx,inty,intz){intk,t;t=(x<y)?x:y;k=(t<z)?t:

温馨提示

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

评论

0/150

提交评论