版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《C语言程序设计》试验报告第二学期班级学号姓名指引教师试验一VisualC++6.0编程环境与C语言程序的调试过程一、试验学时2学时。二、试验目标1.了解在VisualC++6.0环境下怎样编辑、编译、连接和运行一个C程序;2.通过运行简单的C程序,初步了解C源程序的特点。三、预习内容教材《C语言程序设计》第1章。四、试验内容1.请调试、运行下面的程序一。#include<stdio.h>intmain(){printf("Hello,World!\n");return0;}给出以上程序的运行成果(或其截图):2.请调试、运行下面的程序二。#include<stdio.h>intmain(){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%1d*%1d=%2d",j,i,j*i);printf("\n");}return0;}给出以上程序运行成果的截图:3.请更正下面程序三中的语法错误,然后调试、运行该程序,观测分析运行成果。#include<stdio.h>intmain(){inta,b,sum;a=3b=4;sun=a+b;printf("%d+%d=%d\n",a,b,sum);return0;}更正后的程序#include<stdio.h>intmain(){inta,b,sum;a=3;b=4;sum=a+b;printf("%d+%d=%d\n",a,b,sum);return0;}以上程序的运行成果(或其截图):五、思考题1.调试C语言程序的步骤有哪些?答:1. 编辑2. 编译3. 连接4. 运行2.程序的基本结构有哪三种?答:次序结构,选择结构,循环结构指引教师成绩年月日试验二数据类型、运算符和体现式一、试验学时2学时。二、试验目标1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用措施;3.掌握基本算术运算符及其体现式的使用措施;4.掌握++、--运算符、赋值运算符及其体现式的使用措施。三、预习内容教材《C语言程序设计》第2章。四、试验内容1.下面的程序一有语法错误,请调试、运行该程序。#include<stdio.h>intmain(){int2cd=3;floatyzl=3.14;charfor='A';printf("%d\n%f\n%c\n",2cd,yzl,for);return0;}程序一为何犯错?答:1.yzl=3.14不能用float类型,改为double2.变量命名不能以数字为首位2cd=3;改为cd=3;3.for为循环结构不能作为变量名,改为f=’A’2.观测分析下面程序二的运行成果:#include<stdio.h>intmain(){inta=3,b=4,c=8;floatx,y=4.0,z;x=a+b/c;z=a+y/c;printf("x=%f\nz=%f\n",x,z);return0;}以上程序的运行成果(或其截图):3.观测分析下面程序三的运行成果:#include<stdio.h>intmain(){inta,b,c,d,i,j,m,n;a=b=c=d=3;i=a++;j=++b;m=c--;n=--d;printf("a=%d,b=%d,c=%d,d=%d\ni=%d,j=%d,m=%d,n=%d\n",a,b,c,d,i,j,m,n);return0;}以上程序的运行成果(或其截图):4.观测分析下面程序四的运行成果:#include<stdio.h>intmain(){inta=4;a+=a-=a*a+a;printf("a=%d\n",a);return0;}以上程序的运行成果(或其截图):五、思考题1.给变量命名应当注意哪些?答:1.变量名可由字母数字,下划线组成,但首位只能是字母,下划线不能为数字。2.变量名辨别大小写3.变量名不能与系统标识符同名4.变量名的长度是有限的,视编译而定5.变量命名时尽也许简单易记,见名之意2.程序二的运行成果中,x和z的值为何不一样?答:x为int类型,x的值为整型小数点部分都为0;即x=3.000000z为float类型,z的值为浮点型数据,即z=3.5000003.程序三的运行成果中,i和j的值为何不一样?m和n的值为何不一样?答:i为a直接赋予i=3j是先b+1=4再将4赋给jm为c直接赋予n是先d-1=3再将3赋给n4.请分析程序四中体现式a+=a-=a*a+a的运算次序。答:1.a*a=162.16+a=203.a-=16=-164.a+=(-16)=-32成绩指引教师年月日试验三次序结构程序设计一、试验学时2学时。二、试验目标1.掌握整型、实型与字符型数据输入函数scanf()的使用;2.掌握整型、实型与字符型数据输出函数printf()的使用;3.掌握次序程序的设计措施。三、预习内容教材《C语言程序设计》第3章。四、试验内容1.下面程序一的功效是:从键盘输入两个整数,输出它们的和。请在横线上填写一条适宜的语句,调试、运行该程序。#include<stdio.h>intmain(){inta,b,sum;scanf("%d%d",&a,&b);sum=a+b;printf("%d+%d=%d\n",a,b,sum);return0;}给出以上程序的运行成果(或其截图):2.观测分析下面程序二的运行成果。#include<stdio.h>intmain(){inta,b,sum;printf("请输入第一个整数:");scanf("%d",&a);printf("请输入第二个整数:");scanf("%d",&b);sum=a+b;printf("%d+%d=%d\n",a,b,sum);return0;}给出以上程序的运行成果(或其截图):3.下面程序三的功效是:输出三个变量a,b,c的值。请在横线上填写一条适宜的语句,使该程序的运行成果为:a=35,b=43.66,c='A'#include<stdio.h>intmain(){inta=35;doubleb=43.6578;charc='A';printf("a=%d,b=%6.2f,c=%c\n",a,b,c);return0;}给出以上程序的运行成果(或其截图):设圆柱底面圆半径r=1.5m,高h=3m,编写程序,求底面圆的周长和面积、圆柱的表面积和体积。要求用函数scanf()输入r和h,输出时有文字阐明,取小数点后两位。给出以上问题的求解算法(用N-S图描述)⑵给出问题的源代码#include<stdio.h>#definePI3.14159voidmain(){ doubler,h,c,s,S,V; scanf("%lf,%lf",&r,&h); c=2*PI*r; s=PI*r*r; S=2*PI*r*r+2*PI*r*h; V=PI*r*r*h; printf("底面圆的周长:c=%6.2f,圆的面积:s=%6.2f,圆柱的表面积:S=%6.2f,圆柱的体积:V=%6.2f\n",c,s,S,V);}⑶该程序的运行成果(或其截图)五、思考题程序一和程序二中输入数据的方式有什么区分?您以为哪种方式很好,为何?答:程序一中a,b同时定义;程序二中在输出时能够明确辨别a,b,并在编程过程中将其分别定义;我以为程序二愈加好;因为相较于程序一,程序二编程过程不易犯错,且便于输出。成绩指引教师年月日试验四选择结构程序设计一、试验学时2学时。二、试验目标1.正确使用关系运算符和关系体现式;2.正确使用逻辑运算符和逻辑体现式;3.纯熟使用if语句实现选择结构程序设计;4.纯熟使用switch语句实现多分支选择结构程序设计。三、预习内容教材《C语言程序设计教程》第4章。四、试验内容1.下面程序一的功效是:输入学生成绩,若90分≤成绩≤100分,输出“Excellent!”;若60分≤成绩≤89分,输出“Pass!”;若成绩<60分,输出“Fail!”;若成绩<0分或成绩>100分,输出“InputError!”。请在横线上填写适宜的语句,调试、运行该程序。#include<stdio.h>intmain(){intscore; printf("请输入分数(0--100):"); scanf("%d",&score); if(score>100||score<0) printf("InputError!\n"); elseif(score>=90&&score<=100)printf("Excellent!\n"); elseif(60<=score&&score<=89)printf("Pass!\n"); elseprintf("Fail!\n"); return0;}程序一运行成果(执行程序4次,分别输入4个不一样的成绩,对应4种不一样的情况):输入数据205627799运行成果Fail!InputError!Pass!Excellent!2.已知下面的分段函数:请编写程序二,求出并显示y的值,x的值在程序运行时输入。代码如下:#include<stdio.h>voidmain(){floatx,y;scanf("%f",&x);if(x<1) y=x;elseif(x<10) y=2*x-1;else y=3*x-11;printf("%7.2f\n",y);}程序二运行成果(执行程序3次,分别输入3个不一样的x值,对应3种不一样的y值):输入数据2010运行成果3.000.0011.003.设计一个简单的计算器程序三。程序运行时输入两个实数和一个四则运算符:+、-、*、/(例如,输入:45.6,2.4/),输出计算成果(保存两位小数)。代码如下:#include<stdio.h>voidmain(){ floata,b; charch; scanf("%f,%f%c",&a,&b,&ch); if(ch=='+') printf("%.2f+%.2f=%.2f\n",a,b,a+b); elseif(ch=='-') printf("%.2f-%.2f=%.2f\n",a,b,a-b); elseif(ch=='*') printf("%.2f*%.2f=%.2f\n",a,b,a*b); elseif(ch=='/') printf("%.2f/%.2f=%.2f\n",a,b,a/b);}程序三运行成果(执行程序4次,分别输入4组不一样的数据,对应+、-、*、/四种不一样的运算):输入数据1,2+3,1-2,2*3,1/运行成果3243成绩指引教师年月日试验五循环结构程序设计一、试验学时2学时。二、试验目标1.熟悉循环结构语句while、do…while及for的执行流程;2.纯熟掌握用while、do…while及for语句编写循环结构程序。三、预习内容教材《C语言程序设计》第5章。四、试验内容1.下面程序一的功效是:求和式12-22+32-42+…-142+152的值。请在横线上填写适宜的语句,调试、运行该程序。#include"stdio.h"voidmain(){intsum=0,n=1,sign=1;do{sum=sum+sign*n*n;n+=1;sign=sign*(-1);}while(n<=15);printf("1^2-2^2+3^2-4^2+…-14^2+15^2=%d\n",sum);}程序一运行成果(或其截图):2.编写程序二。输入一个5位正整数,输出该整数的倒序。例如:若输入是12345,则输出为54321。代码如下:#include<stdio.h>voidmain(){ intn; scanf("%d",&n); while(n) { printf("%d",n%10); n/=10; }}程序二运行成果(或其截图):编写程序三。求数列,,,…,的前20项和。代码如下:#include<stdio.h>intmain(){ floata=1,b=1,c=3,sum=0; inti; for(i=1;i<=20;i++) { sum+=a/(b*c); a+=1; b+=2; c+=2; } printf("%3f\n",sum); return0;}程序三运行成果(或其截图):成绩指引教师年月日试验六嵌套结构程序设计一、试验学时2学时。二、试验目标1.掌握一个结构里面嵌套一个结构的程序执行过程及设计措施;2.掌握break语句在多项选择一结构程序中的使用措施;3.掌握break及continue语句在循环结构程序中的使用措施。三、预习内容教材《C语言程序设计》第3-5章。四、试验内容1.编写程序一,在屏幕上显示九九乘法表:代码如下:#include<stdio.h>voidmain(){ inti,j; printf("九九乘法口诀表:\n"); for(i=1;i<=9;i++) { for(j=1;j<=i;j++) printf("%d*%d=%-4d",j,i,i*j); printf("\n"); }}2.编写程序二,在屏幕上显示图形:代码如下:#include<stdio.h>voidmain(){ inti,j,k; for(i=1;i<=4;i++) { for(j=1;j<=11-i;j++) printf(""); for(k=1;k<=2*i-1;k++) printf("*"); printf("\n"); } for(i=1;i<=4;i++) { for(j=1;j<=i+7;j++) printf(""); for(k=1;k<=7-2*i;k++) printf("*"); printf("\n"); }}3.编写程序三,输出100以内的所有素数。所谓素数,是指仅能被1和该数自身整除的不小于1的整数。代码如下:#include<stdio.h>voidmain(){ inti,j; for(i=2;i<=100;i++) { for(j=2;j<=(i/2);j++) {if(i%j==0) break; } if(i%j!=0) printf("%d\n",i); }}程序三运行成果(或其截图):成绩指引教师年月日试验七数组一、试验学时2学时。二、试验目标1.掌握一维数组的定义、赋值、输入输出及其应用;2.掌握二维数组的定义、赋值、输入输出及其应用;3.掌握字符数组的定义、赋值、输入输出及其应用。三、预习内容教材《C语言程序设计》第6章。四、试验内容1.编写程序一。在一个已按从小到大排好序的数列中插入一个数,要求插入该数后的数列仍按小到大排列。例如:原数列是1,3,5,7,9,11,13,15,17,插入数8后变成1,3,5,7,8,9,11,13,15,17。代码如下:#include<stdio.h>#defineN10voidmain(){ inti,data,a[N]={1,3,5,7,9,11,13,15,17}; printf("原数组a中的数据是:\n");for(i=0;i<N-1;i++) printf("%3d",a[i]);printf("\n请输入要插入的数(data):");scanf("%d",&data); for(i=N-2;a[i]>data&&i>=0;i--)a[i+1]=a[i];a[i+1]=data;printf("插入%d后,数组a中的数据是:\n",data);for(i=0;i<N;i++) printf("%3d",a[i]);printf("\n");}程序的运行成果(或其截图):2.编写程序二。输出3行4列矩阵中的最大元素值及其行标和列标。要求:矩阵中的每个元素值由键盘输入。代码如下:#include<stdio.h>voidmain(){ inti,j; introw,col,max,a[3][4]={{7,9,12,5},{39,54,21,6},{17,26,64,1}}; printf("原二维数组a:\n"); for(i=0;i<3;i++) { for(j=0;j<4;j++) printf("%4d",a[i][j]); printf("\n"); } row=col=0; max=a[0][0]; for(i=0;i<3;i++) { for(j=0;j<4;j++) if(a[i][j]>max) { max=a[i][j]; row=i; col=j; } } printf("二维数组中最大数值是:%d,位于第%d行,第%d列。\n",max,row+1,col+1);}程序的运行成果(或其截图):3.编写程序三。将一个字符串中的所有英文字母按从小到大排列,重新组成一个字符串。例如:原字符串是:"Howdoyoudo?",重新排列后的字符串为:"└┘└┘└┘?Hddoooouwy"。代码如下:#include<stdio.h>#include<string.h>intmain(){ chars[100],t; inti,j,sum; printf("Input:\n"); gets(s); sum=strlen(s); for(i=0;i<sum-1;i++) for(j=0;j<sum-1;j++) if(s[j+1]<=s[j]){t=s[j];s[j]=s[j+1];s[j+1]=t;} printf("Output:\n"); puts(s); return0;}程序的运行成果(或其截图):成绩指引教师年月日试验八函数一、试验学时2学时。二、试验目标1.熟悉函数的定义措施;2.掌握函数的调用方式及主调函数与被调函数间的数据传递措施;3.掌握递归算法,会用函数来实现递归算法。三、预习内容教材《C语言程序设计》第7章。四、试验内容1.下面程序一的功效是求三个整数中的最大值。请在横线上填写适宜的语句,调试、运行该程序。#include<stdio.h>intmax(inta,intb,intc){intm;m=a;if(b>m)m=b;if(c>m)m=c;return(m);}voidmain(){intx,y,z,maxi;scanf("%d,%d,%d",&x,&y,&z);maxi=max(x,y,z);printf("Maxof%d,%dand%dis%d.\n",x,y,z,maxi);}程序的运行成果(或其截图):2.编写程序二。在主函数中输入两个正整数,调用函数求它们的最小公倍数,成果在主函数中输出。代码如下:#include<stdio.h>intmin(intm,intn){ ints; s=m; while(s%n!=0) s+=m;return(s);}voidmain() { intm,n; printf("请输入两个正整数\n"); scanf("%d,%d",&m,&n); min(m,n);printf("这两个正整数的最小公倍数为:%d\n",min(m,n)); }程序的运行成果(或其截图):编写程序三。用递归措施求解猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了二分之一,还不过瘾,又多吃了一个。第2天又将剩余的桃子吃掉二分之一,又多吃了一个。以后天天早上都吃了前一天剩余的二分之一零一个。到第10天早上想再吃时,就只剩一个桃子了。求第1天共摘了多少个桃子。代码如下:#include"stdio.h"intf(inta){ inty; if(a==10) y=1; else y=f(a+1)*2+2; returny;}voidmain(){ intn,y; printf("请输入天数:"); scanf("%d",&n); y=f(n); printf("第一天小猴共摘了%d个桃子。",y);}程序的运行成果(或其截图):成绩指引教师年月日试验九变量的作用域与存储方式一、试验学时2学时。二、试验目标1.掌握数组名作函数参数时形参加实参的定义措施;2.会使用数组名作函数参数在主调函数与被调函数间传递多个数据;3.掌握变量的作用域(局部变量与全局变量);4.掌握变量的存储方式(动态存储与静态存储)。三、预习内容教材《C语言程序设计》第7章。四、试验内容1.运行下面的程序一,并分析成果。#include<stdio.h>intx=8,y=3;intmax(inta,intb){intc;if(a>b)c=a;elsec=b;returnc;}voidmain(){intx=4,maxi;maxi=max(x,y);printf("%d\n",maxi);}程序的运行成果(或其截图):2.运行下面的程序二,并分析成果。#include<stdio.h>intf(inta){staticintb=0;b=b+a;returnb;}voidmain(){inty1,y2;y1=f(1);y2=f(1);printf("y1=%d,y2=%d\n",y1,y2);}程序的运行成果(或其截图):编写程序三。在主函数中输入10个整数,调用函数sort将它们从小到大排序,排序成果在主函数中输出。代码如下:#include<stdio.h>#defineM10voidsort(inta[],intn){ inti,j,t; for(i=0;i<n-1;i++) { for(j=0;j<n-i-1;j++) if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } }}voidmain(){ intdata[M]; inti; for(i=0;i<M;i++) { scanf("%d",&data[i]); }sort(data,M); for(i=0;i<M;i++) printf("%d",data[i]); printf("\n");}程序的运行成果(或其截图):成绩指引教师年月日试验十编译预处理一、试验学时2学时。二、试验目标1.了解宏的概念,掌握宏的定义;2.掌握带参数的宏定义、条件编译的使用;3.了解文献包括的概念,掌握其应用措施。三、预习内容教材《C语言程序设计》第8章。四、试验内容1.编写程序一。由键盘输入三个整数,用带参数的宏找出三个整数中的最大者。代码如下:#include<stdio.h>#definemax(x,y,z)x>(y>z?y:z)?x:(y>z?y:z)voidmain(){ into,p,q; printf("请输入三个整数:\n"); scanf("%d,%d,%d",&o,&p,&q); printf("%d%d%d,这三个数中最大的是:%d",o,p,q,max(o,p,q)); printf("\n");}程序的运行成果(或其截图):2.编写程序二。定义一个带参数的宏,使得两个参数的值互换,在主函数main()中输入两个整数作为宏的参数,输出互换后的两个值。代码如下:#include<stdio.h>#defineswap(a,b){intt;t=a;a=b;b=t;}voidmain(){ inta,b; printf("请输入两个整数:\n"); scanf("%d%d",&a,&b); printf("互换前数字为:a=%d,b=%d\n",a,b); swap(a,b) printf("互换后数字为:a=%d,b=%d\n",a,b);}程序的运行成果(或其截图):3.编写程序三。由键盘输入三个实数,用带参数的宏设计输出这三个实数的格式:①第一行输出第一个实数;②第二行输出前两个实数;③第三行输出这三个实数。代码如下:#include"stdio.h"#defineN1printf("%f\n",a)#defineN2printf("%f%f\n",a,b)#defineN3printf("%f%f%f\n",a,b,c)voidmain(){ floata,b,c; printf("请输入三个实数:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小微企业财务制度
- 屋面防水专项施工方案
- 检验科心包穿刺术知情同意书
- 《日韩跨境电商跨境物流政策优化手册》
- 室内游乐园岗位交接班操作手册
- 小学运动会赛事器材安全检查指南
- 天然水调蓄设施建设与调度管理手册
- 餐饮业食品安全与卫生规范手册
- 技能提升职业培训补贴申请
- 公司年会流程效果评估总结手册
- 土壤污染调查服务合同
- 雨课堂学堂在线学堂云《舰载机结构与系统(中国人民解放军海军航空)》单元测试考核答案
- 2026年甘肃武威社区工作者考试题库及答案
- 急性脑梗死临床诊疗指南(2025版)
- 白油使用安全制度规范
- 外周T-细胞淋巴瘤护理措施
- GB/T 4982-2025真空技术夹紧型快卸连接器尺寸
- 合并慢性肾脏病的非瓣膜性房颤患者抗凝方案
- 2025年尾矿库综合治理工程项目可行性研究报告
- 脑脊液检验课件
- 2024年银行招聘全真模拟模拟题及完整答案详解(历年真题)
评论
0/150
提交评论