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

下载本文档

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

文档简介

《C试验报告学 期:班 级:学 号:姓 名:10班级学号实验室专业姓名成绩评定班级学号实验室专业姓名成绩评定所用软件计算机号教师签名试验目的了解在开发环境中如何编辑、编译、连接和运行一个C语言程序。通过运行简洁的C语言程序,初步了解C语言程序的构造特点。把握CC试验预习生疏VisualC++的启动和退出及VisualC++中的编辑、编译、连接和运行命令。2.了解以下命令及函数:include<stdio.h>、main、printf、scanf。生疏VisualC++环境下每个菜单项的功能及相关命令对应的操作。各种数据类型变量的定义形式及取值范围;生疏以下标识符的含义。int、short(int)、long(int)、unsigned(int)、float、double、char、void各类运算符的优先级和结合规章。常量与变量的区分和联系。运行环境:双击桌面VisualC++快捷方式进入VisualC++,或通过执行“开头——>程序——>MicrosoftVisualStudio6.0—MicrosoftVisualC++6.0”或执行文件“C:\ProgramFiles\MicrosoftVisualStudio\COMMON\MSDev98\Bin\MSDEV.EXE“。单击“文件”菜单的“建”命令。在翻开的“建”对话框中选择“文件”标签。选择C++SourceFile,在名目输入栏选择文件保存位置,然后在文件输入栏中输入文件名,扩展名为.c(例如first.c),单击确定按钮。如以下图:在源窗口中输入源程序,如以下图。应工具进展编译编译应工具进展编译编译连接运行假设程序有错则找到出错行修改程序。连接:假设程序没有语法错误,则可按功能键F7或执行“编译”菜单中的“构件”命令或通过工具栏中的相关工具〔编译工具右边工具,进展连接生成可执行文件。Ctrl+F”工具运行程序。试验任务输入下面的程序,留意区分大小写。#include<stdio.h>main{printf(“Iamastudent!”);}推想结果并上机验证人工分析结果 试验运行结果#include<stdio.h>main{printf(“************\n”);printf(“Iamastudent!\n”);printf(“************\n”);}}推想结果并上机验证#include<stdio.h>#include<math.h>main{inta,b,sum;scanf(“%d,%d”,&a,&b);sum=a+abs(b);printf(“aaddbis%d”,sum);

人工分析结果 试验运行结果}推想结果并上机验证main{inta,b;a=b=3;printf(“a=%d,b=%d”,a,b);}假设将以上程序进展改写,编辑如下:main{inta,b;a=3;b=3.1;printf(“a=%d,b=%d”,a,b);}题号题号人工分析结果试验运行结果〔1〕〔2〕由此知,假设赋值号左右数据类型不全都时,c语言将现有程序如下,分析填空:1main2 {

人工分析结果 试验运行结果3345inta=1,b=2;printf(“%d”,(a=a+b,b=b+a));}4printf(“%d”,a=a+b,b=b+a);人工分析结果人工分析结果试验运行结果比照以上两程序,结果不同的缘由在于假设有以下程序段,分析c2的值:人工分析结果试验运行结果intc1=2,c2;人工分析结果试验运行结果假设将程序段改为:c2=1/c1*c1;人工分析结果人工分析结果试验运行结果c27.现有程序如下:main{inta=7,b=10;a=a+b;b=a-b;a=a-b;printf(“%d,%d\n”,a,b);}程序运行的功能是:注:可修改a、b两数的值认真观看。现有程序如下,分析填空:main{inta=0;a+=(a=8);printf(“%d\n“,a);

人工分析结果 试验运行结果}现有程序如下,分析填空:人工分析结果人工分析结果试验运行结果mainmain{inta=2,b=5;intm=3,n;doublec=2.1,d=4.5;n=a/m+b*c-d/m;printf(“%d”,n);}现有程序如下,分析填空:main{intx=1,y=2;printf(“%d%d\n”,++x,y++);

人工分析结果 试验运行结果}现有程序如下,分析填空:main{intx,y,z=0;x=y=1;z+=x+=y;x=z++;y=++x;z=x+++y;printf(“x=%d,y=%d,z=%d”,x,y,z);}

人工分析结果 试验运行结果思考题:改错题(以下程序有多处错误,上机调试。将正确的程序记录在下方。要求不能删减已有内容。)#include<math.h> 正确的程序应改为:#defineSTA30main{inta,b=3;A=3*PI*SIN(b);STA=3*STA;printf(“%d\n”,2a);printf(“%d”,b);}试验心得试验2 挨次构造程序设计与调试班班级学号实验室专业姓名成绩评定所用软件计算机号教师签名试验目的生疏C生疏函数调用语句,尤其是各输入输出函数的调用语句。生疏挨次构造程序中语句的执行过程。生疏程序的跟踪调试和变量值的监视。能设计简洁的挨次构造程序。试验预习生疏以下函数:putchar、getchar、printf、scanf2.了解挨次构造程序的执行过程。了解程序的跟踪调试和变量值的监视并能够娴熟操作。单步跟踪调试〔逐条语句跟踪调试:可按功能键F7进展,要监视某变量的值时,就按Ctrl+F7键,然后输入相应的变量名,就可以在监视消息窗口中查看到该变量的值。也可逐段运行程序,即每次运行假设干条语句。首先利用Ctrl+F8键在各行光标处设置假设干断点,然后按Ctrl+F9键从程序的第一条语句运行到设置的第一个断点,再按Ctrl+F9了解挨次构造程序的一般构成。试验任务假设有程序main{inti,j;scanf(“i=%d,j=%d“,&i,&j);printf(“i=%d,j=%d\n“,i,j);}要求给i5,给j10,则应当从键盘输入华氏温度,要求输出摄氏温度,公式为:C=5(f 32)。要求输出结果保存到小数9错误缘由是正确语句是错误缘由是正确语句是#include<stdio.h>main{floatf,c; clrscr;/**********found〔1〕**********/scanf(“%d“,f);/**********found〔2〕**********/c=5/9(f-32);/**********found〔3〕**********/printf(“f=%f,c=%f\n“,c,f);}程序功能是通过用户输入三角形三边,求取三角形面积。填空,将程序补充完整。人工填空上机填空#include人工填空上机填空#include<stdio.h>〔1〕/*需要添加头文件*/main{floata,b,c,s,area;clrscr;scanf(“%f,%f,%f“,&a,&b,&c);〔2〕;area=sqrt〔3〕;/*库函数sqrt的含义是开平方*/printf(“area=%f\n“,area);}的整数。单步跟踪程序时填写下表,同时分析程序的功能。#include”stdio.h”voidmain{intn,x1,x2,x3,y;printf(“pleaseinputnumbern”);scanf(“%3d”,&n);x1=n/100;x2=n/10%10;x3=n%10;nX1X2X3yy=x3*100+x2*10+x1;printf(nX1X2X3y程序的功能是:#include<stdio.h>voidmain(){charch;ch=getchar;putchar(ch);}运行时假设从键盘输入数据98,你推想的输出结果是实际的输出结果为缘由在于#include<stdio.h>voidmain(){inta,b,c;scanf(“%d,%o”,&a,&b);c=a*b;printf(“%d,%o\n”,c,c);}运行时假设输入数据:12,12你推想的结果是 ,实际的输出结果是 。#include<stdio.h>voidmain(){intx,n1,n2,n3,y;scanf(“%3d“,&x);n1=x/100;n2=x/10%10;n3=x%10;y=n3*100+n2*10+n1;printf(“%d\n”,y);}上述程序在运行时假设从键盘输入数据8265,则x的值为 输出的结果为 ,在变量n1、n2、n3中, 是x的百位数, 是x的十位数, 是x的个位数。#include<stdio.h>voidmain(){inta=123,b=-45;floatx=2.54729;printf(“a=%d,%2d,%5d,%-5d,%+5d\n”,a,a,a,a,a);printf(“b=%d,%2d,%5d,%-5d,%+5d\n”,b,b,b,b,b);printf(“x=%f,%9f,%9.2f\n”,x,x,x);printf(“x=%-7.3f,%2.2f,%.0f\n”,x,x,x);}在下面写出程序的运行结果,每个空格用一个_来表示||编辑程序,输入学生语、数、英三门课程成绩〔其总分和平均分。试验心得人工分析结果人工分析结果试验运行结果#include<stdio.h>main( ){intx=0;if(x==0) printf(“x=%d\n“,x);else printf(“x=%d\n,x+1);}#include<stdio.h>main( ){intx=0; clrscr;if(x=0) printf(“x=%d\n“,x);else printf(“x=%d\n,x+1);}试验3 选择构造程序设计与调试班班级学号实验室专业姓名成绩评定所用软件计算机号教师签名试验目的理解C语言表示规律量的方法〔以00。学会正确使用规律运算符和规律表达式、关系运算符和关系表达式。学会运用规律表达式或关系表达式等表达条件。4.娴熟把握ifswitch学习跟踪调试程序,针对具体程序组织输入测试数据,观看程序运行能否得到预期的输出结果。生疏选择构造程序段中语句的执行过程。试验预习1.生疏规律运算符和规律表达式、关系运算符和关系表达式。2.生疏以下语句:if、if-else、switch、break。试验任务阅读程序,上机调试并记录程序结果。以上两题告知了你什么:阅读程序,上机调试并记录程序结果。人工分析结果人工分析结果试验运行结果试验告知我们main{inta=4,b=3,c=5,t=0;if(a<b)t=a;a=b;b=t;if(a<c)t=a;a=c;c=t;printf(“%d%d%d\n“,a,b,c);}阅读程序,上机调试并记录程序结果。人工分析结果人工分析结果试验运行结果试验告知我们main{inta=5,b=4,c=3,d;d=(a>b>c);printf(“%d\n“,d);}假设从键盘输入58,推断以下程序输出的结果。人工分析结果 试验运行结果main{ inta;scanf(“%d“,&a);if(a>50)printf(“%d“,a);if(a>40)printf(“%d“,a);if(a>30)printf(“%d“,a);}阅读程序,上机调试并记录程序结果。人工分析结果 试验运行结果main〔〕{intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}}printf(“a=%d,b=%d\n”,a,b);}阅读程序,上机调试并记录程序结果。main{inta=13,b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;

人工分析结果 试验运行结果}}printf(“m=%d\n”,m);}阅读程序,上机调试并记录程序结果。人工分析结果人工分析结果试验运行结果试验告知我们main{inti=1,j=1,k=2;if((j++||k++)&&i++);printf(“%d,%d,%d\n“,i,j,k);}阅读程序,并答复以下问题main(){inta,b,max,min;scanf(“%d%d“,&a,&b);if(a>b)max=a;elsemax=b;printf(“max=%d\n“,max);}问题:a、此程序的功能是b、请用条件表达式语句(?:)修改程序使之完成一样的功能,其语句是有一函数x-1 (x<1)y= 2(x-1)(1<=x<10)3x-10(x>=10)编程求当分别输入x0.3,3.9,11y编辑程序,输入一个不多于3位的正整数,要求:a〕求出它是几位数;分别打印出每一位数字;b〕321123。随机输入3个整型数据作为学生的课程成绩,编程实现由小到大排序输出〔比照第三章编程题,比较他们的优缺点。思考请思考如何通过转变分支条件将多if网搜寻答案,体会程序优化的思路方式。无具体答案。试验心得试验4 循环构造程序设计班班级学号实验室专业姓名成绩评定所用软件计算机号教师签名试验目的把握用while语句、do-while语句和for语句实现循环的方法。2.理解循环构造程序段中语句的执行过程,进一步练习程序的跟踪调试技术。把握在程序设计中用循环的方法实现各种算法〔如穷举法、迭代等。理解break语句和continue试验预习生疏语句:while、do-while、for、break、continue。生疏三种循环语句之间的关系和区分。试验任务(一)while假设输入的值是5,推想结果并上机验证main{inti,n;scanf(“%d“,&n);i=1;while(i<=n)i++;printf(“i=%.d\n“,i);}

人工分析结果 试验运行结果假设输入的值是5,推想结果并上机验证循环执行次数是 ,考虑假设x定义为整型,程序结果是否一样 ,为什么 人工分析结果 试验运行结果main{inti,n;doublex,s=0;scanf(“%d“,&n);i=1;x=1;while(i<=n){i++;x=x+1;s+=1/x;}printf(“s=%.2f\n“,s);}main{intn,s;n= 1 ; s= 2 ;while( 3 ){s+= 4 ;n++;}printf(“1+2+„+%d=%d\n”,100, 5 );}填空位置填空位置人工填空语句试验填空语句〔1〕〔2〕〔3〕〔4〕〔5〕推想结果并上机验证main{intk,num,sum;sum=num=0;k=3;while(k<=10){if(k%2==1){sum+=k;num++;}k++;}printf(“sum=%d,num=%d\n“,sum,num);}(二)do„while推想结果并上机验证

人工分析结果 试验运行结果人工分析结果人工分析结果试验运行结果main{intx=0,y=5,z=3;doy=y-1;while(z-->0&&++x<5);printf(“%d,%d,%d\n”,x,y,z);}输入一串字符串,以字符“#”表示输入完毕。统计其中大写字母与小写字母各消灭了多少次。(三)for推想结果并上机验证main{chara,b;for(a=’0’,b=’4’;a<b;a++,b--)printf(“%c,%c\n”,a,b); }推想结果并上机验证main{inti=1,num=0;for(;i<=5;i++){if(i%2==0)i++;num++;}printf(“num=%d”,num); }(四)breakcontinue推想结果并上机验证#include<stdio.h>main{intx=14;while(x>10&&x<50){x++;if(x/3){x++;break;}elsecontinue;}printf(“%d\n”,x);}推想结果并上机验证#include<stdio.h>main{inti=0,a=0;while(i<20){for(;;){if((i%10)==0)break;elsei--; }i+=11;a+=i;}printf(“%d\n“,a);}

人工分析结果 试验运行结果人工分析结果 试验运行结果人工分析结果 试验运行结果人工分析结果 试验运行结果填空位置人工填空语句试验填空语句〔1〕〔2〕阅读程序,完成下表,程序实现:填空位置人工填空语句试验填空语句〔1〕〔2〕{intx=1;for(;;){if(x>10)_1_;x++;if(x%2)_2_;printf(“%d”,x);}}(五)循环嵌套推想结果并上机验证人工分析结果人工分析结果试验运行结果main{inti,j,m=0;for(i=2;i<=10;i+=4)for(j=3;j<=15;j+=4)m++;printf(“%d\n”,m)}推想结果并上机验证人工分析结果人工分析结果试验运行结果main{inti,j;for(i=1;i<4;i++){for(j=i;j<4;j++)printf(“%d*%d=%d”,i,j,i*j);printf(“\n”);}}(六)常见题型1.两段程序均完成求和运算:s=1-1/3+1/5-1/7+...+1/99,阅读程序,完成填空main{intflag;floati,s;for(i=1,s=0,flag=1;i<=99;i+=2){s=s+ 1 ;flag=-flag;}printf(“%f“,s);}main{floatn,s;for(s=0,n=1;n<=50;n++){s=s+ 2 ;}printf(“%f“,s);}20填空位置填空位置人工填空语句试验填空语句〔1〕〔2〕1 1 1 1完成计算。数列表达式s=1+234n,当n=10时,求s有两处错误,由注释语句/**********found**********/提示下一条语句有错误,请修改程序中的错误并记录程序运行结果。#include<stdio.h>main( ){floats=0;intn;/**********found**********/for(n=1,n<=10,n++)/**********found**********/s=s+1/n;printf(“s=%f\n“,s);}错误位置正确语句形式错误位置正确语句形式试验运行结果(1)〔2〕3~150#include<stdio.h>#include<math.h>main{ints=0,i,n,flag;for(i=3;i<=150;i++){flag=0; /〔1*/for(n=2;〔2〕;〔3〕)/*表达式功能:推断某个数是否是素数,给出推断区间*/if(i%n==0){flag=1; break;}if(flag==0)s=s+i;}printf(“s=%d\n“,s);}填空位置填空位置人工填空语句试验填空语句试验运行结果12310036的全部整数,请填空补充完整。main{inti,j;for(i=0; ;i++){j=i*10+6;if( )continue;printf(“%d”,j);}}填空位置填空位置人工填空语句试验填空语句试验运行结果12编程实现九九乘法表。试验心得试验5 函数定义、调用与编译预处理班班级学号实验室专业姓名成绩评定所用软件计算机号教师签名试验目的把握定义函数的方法。把握函数实参与形参的对应关系,以及“值传递”的方式。了解函数的嵌套调用。把握全局变量和局部变量,动态变量和静态变量的概念和使用方法。理解宏的概念,把握宏定义。了解文件包含的概念。试验预习函数的概念、定义格式、声明格式、调用规章及调用过程中数据传递方法过程,函数的嵌套调用和递归调用。宏定义和文件包含等编译预处理指令。试验任务推想结果并上机验证#include<stdio.h>fun(intx,inty,intz){z=x*x+y*y;}main{inta=31;fun(5,2,a);printf(“%d”,a);}推想结果并上机验证#include<stdio.h>inta,b;voidfun{a=100;b=200;}main(){inta=5,b=7;fun;printf(“%d%d\n”,a,b);

人工分析结果 试验运行结果人工分析结果 试验运行结果}推想结果并上机验证#include<stdio.h>intf(intn){if(n==1)return1;elsereturnf(n-1)+1;

人工分析结果 试验运行结果}main{inti,j=0;for(i=i;i<3;i++)j+=f(i);printf(“%d\n”,j);}推想结果并上机验证#include<stdio.h>intff(intn){staticintf=l;f=f*n;returnf;

人工分析结果 试验运行结果}main{inti;for(i=1;i<=5;i++)printf(“%d\n”,ff(i));}推想结果并上机验证#include<stdio.h>#defineN10#defines(x)x*x#definef(x)(x*x)main{inti1,i2;i1=1000/s(N);i2=1000/f(N);printf(“%d%d\n”,i1,i2);}

人工分析结果 试验运行结果程序填空定义两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。#include<stdio.h>intf1(intm,intn) /填空位置1,函数功能 。*/{intz;for(z=m;z<=m*n;z++){if((z%m==0)&&(z%n==0))returnz;}}main{intm,n,t,s,q; ; /*填空位置〔2〕*/scanf(“m=%d,n=%d“,&m,&n);if(m<n){t=m;m=n;n=t;}s=f1(m,n);printf(“min=%d\n“,s);q=f2(m,n);printf(“max=%d\n“,q);} f2(intm,intn) /*填空位置〔3〕*/{intz; ; /*填空位置4,求出m和n*/}填空位置填空位置人工填空语句试验填空语句试验运行结果1234编程实现:编辑函数求水仙花数。要求通过main函数把握数值范围〔即求出某范围内的水仙花数。编程实现:编辑函数求1++n〔由键盘输入范围。试验心得6数组定义与使用班班级学号实验室专业姓名成绩评定所用软件计算机号教师签名 试验目的1.把握一维数组和二维数组的定义、数组元素的引用形式和数组的输入输出方法。2.了解与数组有关的非数值计算方法,如排序法。3.了解与数组有关的数值计算方法,如矩阵运算、线性方程求解等。4.把握字符数组和字符串函数的使用。5.把握函数调用时,数组元素作为函数参数的传递。试验预习生疏循环语句与数组处理语句结合的方法。复习一维数组、二维数组、字符数组的定义、初始化和数组元素的引用。复习数组的应用:批量处理数据、排序和矩阵的处理。复习字符串的含义、存储和字符串函数的功能。试验任务推想结果并上机验证人工分析结果 试验运行结果#include<stdio.h>main{chars[]=“abcdef“;s[3]=‘\0”;printf(“%s\n“,s);}推想结果并上机验证#include<stdio.h>main{inta[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};inti,j,s=0;for(i=0;i<4;i++)

人工分析结果 试验运行结果{{for(j=0;j<4;j++){if(a[i][j]<0)continue;if(a[i][j]==0)break;s+=a[i][j];}}printf(“%d\n“,s);}推想结果并上机验证#include<stdio.h>main{charch[3][5]={“AAAA“,“BBB“,“CC“};chars[]=“\\141\141abc\t“;printf(“%s\n“,s);printf(“\“%s\“\n“,ch[1]);}推想结果并上机验证#include<stdio.h>main{chara[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’,‘\0’};inti,j;i=sizeof(a);j=strlen(a);printf(“%d,%d\b”i,j);}

人工分析结果 试验运行结果人工分析结果 试验运行结果程序填空在有序数据序列中插入一个数据,插入后照旧保证数据序列的有序性。原始数据序列为:{5,8,12,15,26,78,92,93,102},需要插入的数据值为25。1〕通过比较,确定需要插入的位置。〔2〕从插入位置开头,全部数据依次右移〔后移〕1到确定的位置上。#include<stdio.h>#defineN10inta[N]={5,8,12,15,26,78,92,93,102};main{inti,j,k,data=25;clrscr;for(i=0;i<N-1;i++)if(data<a[i]){k=i; break;}

温馨提示

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

评论

0/150

提交评论