C语言实验报告_第1页
C语言实验报告_第2页
C语言实验报告_第3页
C语言实验报告_第4页
C语言实验报告_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

《C语言程序设计》试验(上机)汇报班级·学号姓名试验日期任课教师试验名称试验一C语言程序开发环境、数据类型及表示式验证型一、试验目标及要求1.掌握编辑C源程序方法,熟悉开发、运行C程序全过程。2.在VC编译环境下练习对C源文件进行编译和简单查错。3.掌握C语言中各种常量表示形式及变量定义。4.掌握C语言中各种运算符作用、优先级和结合性,能熟练利用各种表示式。5.掌握不一样类型数据运算时数据类型转换规则,了解表示式语句,尤其是赋值语句。二、上机内容:1.编写程序实现在屏幕上显示以下结果:ThedressislongTheshoesarebigThetrousersareblack2.改错题(将正确程序写在指定位置)改过以下程序中错误,在屏幕上显示商品价格表(源程序附后面)。输入输出示例商品名称价格TCL电视机¥7600美空调¥SunRose键盘¥50.5源程序(有错误程序)#include<stdio.h>mian(){printf("商品名称价格\n);printf("TCL电视机¥7600")printf("美空调¥)printf("SunRose键盘¥50.5)}正确程序为:3.编写程序:已知a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)程序。输入输出示例a/b商=7a/c商=3a%b余数=10a%c余数=154.编写程序:设变量a值为0,b值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提醒:用条件运算符)三、试验平台Windows98或或XP以上版本VC6.0以上版本四、程序清单(写出上机内容1、3、4源程序)五、调试和测试结果(调试中出现经典问题及处理方法,测试结果是否正确或详细值等)六、教师批语与成绩评定:评语:成绩:优良中及格不及格评阅教师:评阅日期:年月日

《C语言程序设计》试验(上机)汇报班级·学号姓名试验日期任课教师试验名称试验二次序结构程序设计验证型一、试验目标及要求1.熟悉C语言表示式语句、空语句和复合语句。2.熟悉函数调用语句,尤其是输入输出函数调用语句。3.熟悉次序结构程序中语句执行过程。4.能设计简单次序结构程序。二、上机内容1.键盘输入与屏幕输出练习问题1要使下面程序输出语句在屏幕上显示1,2,34,则从键盘输入数据格式应为以下备选答案中。#include<stdio.h>main(){ chara,b;intc; scanf("%c%c%d",&a,&b,&c); printf("%c,%c,%d\n",a,b,c);}A)1234 B)1,2,34C)’1’,’2’,34 D)1234问题2在与上面程序键盘输入相同情况下,要使上面程序输出语句在屏幕上显示1234,则应修改程序中哪条语句?怎样修改?问题3要使上面程序键盘输入数据格式为1,2,34,输出语句在屏幕上显示结果也为1,2,34,则应修改程序中哪条语句?怎样修改?问题4要使上面程序键盘输入数据格式为1,2,34,而输出语句在屏幕上显示结果为'1','2',34,则应修改程序中哪条语句?怎样修改?[提醒:利用转义字符输出字符单引号字符。]2.编写程序:(1)从键盘输入两个八进制数,计算两数之和并分别用十进制和十六进制数形式输出。输入输出示例Enteraandb:2030d:40x:28(2)编写程序:从键盘输入两个实数a和x,按公式计算并输出y值:输入输出示例Entera,x:1.0,0.0y=2.0000003.改错题改过以下程序中错误。从键盘输入3个整数a、b、c,计算这3个整数和s,并以“s=a+b+c”和“a+b+c=s”形式输出a、b、c和s值。请不要删除源程序中注释。(源程序附后面)正确程序为:输入输出示例正确程序为:34512=3+4+53+4+5=12源程序(有错误程序)#include<stdio.h>main(){ inta,b,c,s; scanf("%d%d%d",&a,&b,c); s=a+b+c; printf("%d=%d+%d+%d\n",a,b,c);/*输出s=a+b+c*/ printf("%d+%d+%d=%d\n",s);/*输出a+b+c=s*/}三、试验平台Windows98或或XP以上版本VC6.0以上版本四、程序清单(写出上机内容2源程序)五、调试和测试结果(调试中出现经典问题及处理方法,测试结果是否正确或详细值等)六、教师批语与成绩评定:评语:成绩:优良中及格不及格评阅教师:评阅日期:年月日

《C语言程序设计》试验(上机)汇报班级·学号姓名试验日期任课教师试验名称试验三选择结构程序设计验证型一、试验目标及要求1.了解C语言表示逻辑量方法(0代表“假”,非0代表“真”)。2.学会正确使用逻辑运算符和逻辑表示式、关系运算符和关系表示式。3.学会利用逻辑表示式和关系表示式等表示条件。4.熟练掌握IF语句和SWITCH语句。5.掌握简单单步调试方法。二、上机内容1.先手工计算,然后编写程序验证计算结果:(1)求逻辑表示式5>3&&2||8<4-!5值。(2)a为12,b为18,c为12,计算并输出a&&b、a||b、!a&&c值。(3)a为0,b为1,c为3,计算并输出执行语句“y=(++a)&&(--b)&&(c=b+3);”后a、b、c、y值。假如将语句改为“y=(++a)||(--b)||(c=b+3);”,结果又是多少?2.编程:(1)输入整数x和a,计算并输出以下分段函数f(x)值(保留2位小数),请调用log函数求自然对数,调用fabs函数求绝对值。输入输出示例第一次运行Enteraandx:56a=5,f(6)=0.24第二次运行Enteraandx:55a=5,f(5)=0.00(2)输入a、b、c三个整数,输出最大数。输入输出示例第一次运行Entera,b,c:1,5,9themaxnumberis:9第二次运行Entera,b,c:9,5,1themaxnumberis:9第三次运行Entera,b,c:1,9,5themaxnumberis:93.改错题改过以下程序中错误,输入一个数n(不一定是整数),判定n是小于0,等于0,还是大于0。(源程序附后面)输入输出示例第一次运行Entern:1010isgreaterthan0第二次运行Entern:-5-5islessthan0第三次运行Entern:00isequalto0源程序(有错误程序)#include<stdio.h>main(){ doublen; printf("Entern:"); scanf("%f",&n); if(n<0) printf("nislessthan0\n"); elseif(n=0) printf("nisequalto0\n"); else printf("nisgreater0\n");}单步调试程序,观察变量值改变。正确程序为:三、试验平台Windows98或或XP以上版本VC6.0以上版本四、设计流程(算法描述)(请写出上机内容2(2)题算法描述)五、程序清单(请写出上机内容2(1)源程序)六、调试和测试结果(写出上机内容1结果)七、教师批语与成绩评定:评语:成绩:优良中及格不及格评阅教师:评阅日期:年月日

《C语言程序设计》试验(上机)汇报班级·学号姓名试验日期任课教师试验名称试验四循环结构程序设计验证型一、试验目标及要求1.熟悉掌握C语言while语句、do-while语句和for语句。2.掌握在程序设计中使用循环方法实现各种算法。3.了解循环结构程序中语句执行过程。4.掌握运行到光标位置调试方法。二、上机内容1.编写程序:求1+2+3+…+100和12+22+32+…+1002。输入输出示例sum1=5050sum2=3383502.一个数假如恰好等于它因子之和,这个数就称为“完数”,编写程序找出2~5000中全部完数。输入输出示例628 4963.改错题改过以下程序中错误。(源程序附后面)韩信点兵。韩信有一队兵,他想知道有多少人,便让土兵排队报数。按从1至5报数,最末一个土兵报数为1;按从1至6报数,最末一个土兵报数为5;按从1至7报数,最末一个土兵报数为4;最终按从1至11报数,最末一个土兵报数为10;你知道韩信有多少土兵吗?输入输出示例n=2111源程序(有错误程序)#include<stdio.h>main(){intfind=0;while(!find){ if(n%5==1&&n%6==5&&n%7==4&&n%11==10) { printf("n=%d\n",n); find=1; }}}正确程序为:三、试验平台Windows98或或XP以上版本VC6.0以上版本四、设计流程(算法描述)(请写出上机内容2算法描述)五、程序清单(请写出上机内容1源程序)六、调试和测试结果(调试中出现经典问题及处理方法,测试结果是否正确或详细值等)七、教师批语与成绩评定:评语:成绩:优良中及格不及格评阅教师:评阅日期:年月日

《C语言程序设计》试验(上机)汇报班级·学号姓名试验日期任课教师试验名称试验五函数和预处理命令验证型一、试验目标及要求1.掌握函数定义和调用。2.掌握使用函数编写程序。3.掌握函数实参、形参和返回值概念及使用。4.掌握单步调试进入函数和跳出函数方法。5.掌握全局变量、局部变量、动态变量、静态变量概念和使用方法。二、上机内容1.编写自定义函数longpower(intm,intn),计算值。利用此函数编程序实现:从键盘输入两个整数m和n,计算出值。2.写出两个函数,分别求两个整数最大条约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。输入输出示例输入:n1=24n2=16输出:zdgys=8zxgbs=483.改错题改过以下程序中错误。依照下式求π值,直到某一项小于10-6(源程序附后面)输入输出示例PI=3.14159(改过后程序运行结果)源程序(有错误程序)#include<stdio.h>intfact(intn);intmulti(intn);main(){inti;doublesum,item,eps;eps=1E-6;sum=1;item=1;for(i=1;item>=eps;i++) {item=fact(i)/multi(2*i+1);sum=sum+item;}printf(“PI=%0.5lf\n”,sum*2);return0;}intfact(intn){inti;intres=1;for(i=0;i<=n;i++)res=res*i;returnres;}intmulti(intn){inti;intres=1;for(i=3;i<=n;i=i+2)res=res*i;returnres;}正确程序为:三、试验平台Windows98或或XP以上版本VC6.0以上版本四、设计流程(算法描述)(请写出上机内容1算法描述)五、程序清单(请写出上机内容2源程序)六、调试和测试结果(调试中出现经典问题及处理方法,测试结果是否正确或详细值等)七、教师批语与成绩评定:评语:成绩:优良中及格不及格评阅教师:评阅日期:年月日

《C语言程序设计》试验(上机)汇报班级·学号姓名试验日期任课教师试验名称试验六数组验证型一、试验目标及要求1.掌握一维数组定义、赋值和输入输出方法。2.掌握字符数组使用。3.掌握与数组关于算法(比如排序算法)。4.学会使用断点调试方法。二、上机内容1.编写程序:从键盘输入一串整数保留到数组中,调用函数antitone()将数组反序输出。自定义函数voidantitone(inta[],intn)实现将数组中n个数据按逆序存放。2.已知某数列前两项为2和3,其后每一项为其前两项之积。编程实现:从键盘输入一个整数x,判断并输出x最靠近数列第几项?3.输入一串字符,计算其中字符、数字和空格个数。输入/输出示例:输入:sd234kj64jkmjk输出:字符:9 数字:5 空格:1三、试验平台Windows98或或XP以上版本VC6.0以上版本四、设计流程(算法描述)(请写出上机内容1算法描述)五、程序清单(请写出上机内容1、2、3源程序)六、调试和测试结果(调试中出现经典问题及处理方法,测试结果是否正确或详细值等)七、教师批语与成绩评定:评语:成绩:优良中及格不及格评阅教师:评阅日期:年月日

《C语言程序设计》试验(上机)汇报班级·学号姓名试验日期任课教师试验名称试验七指针验证型一、试验目标及要求1.了解指针、地址和数组间关系。2.掌握经过指针操作数组元素方法。3.掌握指针作为函数参数时,实参和形参结合方式。(2)#include<stdio.h>(2)#include<stdio.h>intf(int*a,int*b){ints;s=*a+*b;returns;}voidmain(){intx=2,y=4,s;s=f(&x,&y); printf("%d\n",s);}1.运行程序,查看程序运行结果。(1)#include<stdio.h>voidmain(){inta=7,b=8,*p,*q,*r;p=&a;q=&b; r=p;p=q;q=r; printf("%d,%d,%d,%d\n",*p,*q,a,b);}(4)以下程序用指针实现一维数组数据输入与输出,请填空并运行。#include<stdio.h>(4)以下程序用指针实现一维数组数据输入与输出,请填空并运行。#include<stdio.h>voidmain(){inta[6],i;【1】;for(i=0;i<6;i++)scanf(“%d”,【2】);p=a;for(i=0;i<6;i++)printf(“%3d”,【3】);printf(“\n”);}思索:将语句“p=a;”删去,程序运行结果会怎样?(3)#include<stdio.h>voidswap(int*a,int*b){intt;t=*a;*a=*b;*b=t;}voidmain(){intx=10,y=20;printf("(1)x=%dy=%d\n",x,y); swap(&x,&y); printf("(2)x=%dy=%d\n",x,y);}2.完成函数内容,函数功效是:将a、b中两个两位正整数合并形成一个新整数放在c中。合并方式是:将a中十位和个位数依次放在变量c千位和十位上,b中十位和个位数依次放在变量c个位和百位上。比如,当a=45,b=12。调用函数后,c=4251。完成编程后运行程序,输入上面所举数据例子,看看程序是否能得出正确结果。#include<stdio.h>voidfun(inta,intb,long*c){}voidmain(){inta,b;longc;printf("Inputa,b:"); scanf("%d%d",&a,&b); fun(a,b,&c); printf("Theresultis:%ld\n",c);}三、试验平台Windows98或或XP以上版本VC6.0以上版本四、程序清单(请写出上机内容2中函数)五、调试和测试结果(请写出上机内容1输出结果)六、教师批语与成绩评定:评语:成绩:优良中及格不及格评阅教师:评阅日期:年月日

《C语言程序设计》试验(上机)汇报班级·学号姓名试验日期任课教师试验名称试验八结构体验证型一、试验目标及要求1.了解结构体类型概念,掌握结构体类型定义形式。2.掌握结构体类型变量定义和变量组员引用形式。3.了解内存动态分配、链表概念及操作。二、上机内容1.建立一个学生信息结构体数组,包含学号num,姓名name[10],年纪age,性别sex。要求经过函数input输入4个数据统计,而且在main函数中输出这5个学生信息。用另一函数stat统计输入统计中男生、女生人数,以及年纪小于18岁学生人数。输出: num name age sex 01 aa 18 M输出: num name age sex 01 aa 18 M 02 bb 19 F 03 cc 19 M 04 dd 17 Fboy girl age<182 2 1输入: 01 aa 18 M 02 bb 19 F 03 cc 19 M 04 dd 17 F2.编程:完成以下程序中函数。某学生统计由学号、8门课程成绩和平均分组成,学号和8门课程成绩已在主函数中给出。请编写函数fun,它功效是:求出该学生平均分放在统计ave组员中。比如,学生成绩是:85.5,76,69.5,85,91,72,64.5,87.5,他平均分应该是:78.875。注意:请勿改动主函数main和其它函数中任何内容,仅在函数fun部位中填入你编写若干语句。#include<stdio.h>#defineN8structSTREC{charnum[10];doubles[N];doubleave;};voidfun(structSTREC*a){}main(){structSTRECs={"GA005",85.5,76,69.5,85,91,72,64.5,87.5};inti;fun(&s);printf("The%s'sstudentdata:\n",s.num);for(i=0;i<N;i++)printf("%4.1f\n",s.s[i]);printf("\nave=%7.3f\n",s.ave);}3.改错题定义一个结构体数组stu而且初始化,main函数中输出数组元素各组员值。(源程序附后面)输入输出示例No.Namesexage10101LiLinM1810102ZhangFunM1910104wangMinF20源程序(有错误程序)#include<string.h>structstudent{intnum;charname[20];charsex;intage;};structstudentstu[3]={{10101,"LiLin",'M',18},{10102,"ZhangFun",'M',19},{10104,"WangMin",'F',20}};main(){structstudent*p;printf("No.Namesexage\n");for(p=stu;p<3;p++)printf("%5d%-20s%2c%4d\n",*p.num,*,p.sex,p.age);}三、试验平台Windows98或或XP以上版本VC6.0以上版本四、程序清单(请写出上机内容1源程序和上机内容2中函数)五、教师批语与成绩评定:评语:成绩:优良中及格不及格评阅教师:评阅日期:年月日

《C语言程序设计》试验(上机)汇报班级·学号姓名试验日期任课教师

温馨提示

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

评论

0/150

提交评论