c语言程序设计实验报告模板.docx

上传人:w**** 文档编号:64295879 上传时间:2022-11-28 格式:DOCX 页数:20 大小:17.44KB
返回 下载 相关 举报
c语言程序设计实验报告模板.docx_第1页
第1页 / 共20页
c语言程序设计实验报告模板.docx_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《c语言程序设计实验报告模板.docx》由会员分享,可在线阅读,更多相关《c语言程序设计实验报告模板.docx(20页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、c语言程序设计实验报告模板 篇一:C语言程序设计试验报告 一、试验目的:1、驾驭C语言的数据类型和变量的声明。2、驾驭不同类型数据之间赋值的规律。3、驾驭C语言的运算符和表达式的运用。4、熟识C程序的编辑、编译、连接和运行的过程。二、试验内容:输人程序: #includevoid main int a, b; float d,e; char c1,c2; double f, g; long m, n; unsigned int p,q; a=61;b=62; c1='a'c2='b' d=3.56;e=-6.87; f=3157.890121;g=0.12345

2、6789; m=50000;n=-60000; p=32768;q=40000; printf("a=%d,b=%d c1=%c,c2=%c d=%6.2f,e=%6.2f ",a,b,c1,c2,d,e); printf("f=%15.6f,g=%15.6f m=%ld,n=%ld p=%u,q=%u ",f,g,m,n,p,q); 运行此程序并分析结果 (2)按习题4. 8要求编写程序 题目为: 设圆半径r=l. 5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。 用scanf输人数据,输出计算结果口输出时要有文字说明,取小数点后两

3、位数字。程序:三、试验步骤:输人程序:#includevoid main int a, b; float d,e; char c1,c2; double f, g; long m, n; unsigned int p,q; a=61;b=62; c1='a'c2='b' d=3.56;e=-6.87; f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000; printf("a=%d,b=%d c1=%c,c2=%c d=%6.2f,e=%6.2f ",a,b,c1,c2,

4、d,e); printf("f=%15.6f,g=%15.6f m=%ld,n=%ld p=%u,q=%u ",f,g,m,n,p,q); 运行此程序并分析结果。预料结果:a=61,b=62c1=a,c2=bd=3.56,e=-6.87f=3157.890121,g=0.123456m=50000,n=-60000p=32768,q=40000(代表空格)结果:g的输出看来是四舍五入了。在此基础上,将程序第914行改为:a=61;b=62;c1=a;c2=b;f=3157.890121;g=0.123456789;d=f;e=g;p=a=m=50000;q=b=n=-600

5、00;运行程序,分析结果。p=a=m=50000;q=b=n=-60000;这两条语句将p、a、m的值和q、b、n的值都重新赋了相应的新值。除m、n外都是整型、无符号整型或字符型,因此输出会按数据类型强制截取,因此得到的值会不尽相同,但可以从理论上做出推想,但由于编译系统的不同,真正得到的结果也可能不尽相同。改用scanf函数输人数据而不用赋值语句,scanf函数如下:scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d,&e,&f,&

6、g,&m,&n,%p,%q);输入的数据如下:分析运行结果。(说明:lf和ld格式符分别用于输人double型和long型数据)在的基础上将printf语句改为:printf("a=%d,b=%d c1=%c,c2=%c d=%15.6f,e=%15.6f ",a,b,c1,c2,d,e);printf("f=%f,g=%f m=%ld,n=%ld p=%u,q=%u ",f,g,m,n,p,q);运行程序:将p、q改用%o格式符输出。将scanf函数中的%1f和%ld改为%f和%d,运行程序并视察分析结果。出现错误,提示为:浮点错误:超

7、出范围。程序异样中止。 (2)按习题4. 8要求编写程序题目为:设圆半径r=l. 5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。 用scanf输人数据,输出计算结果口输出时要有文字说明,取小数点后两位数字。 程序:#includevoid mainfloat h,r,s,sq,vq,vz;float pi=3.1415926;printf("Please input the circinal r, and the cylindrical h:");scanf("%f,%f",&r,&h);l=2*pi*r;sq=4*

8、pi*r*r;vq=4.0/3.0*pi*r*r*r;vz=pi*r*r*h;printf("circinal girth is: l=%6.2f ",l);printf("circinal area is: s=%6.2f ",s);printf("sphere surface area is: sq=%6.2f ",sq);printf("sphere cubage is: vq=%6.2f ",vq);printf("cylindrical cubage is: vz=%6.2f ",vz

9、);(3)编程序,用getchar函数读人两个字符给c1 ,c2,然后分别用putchar函数和printf输出这两个字符。 上机运行程序,比较用printf和putchar函数输出字符的特点。 程序如下: #includevoid main char c1,c2; printf("Please input tow letters: "); c1=get); c2=get); printf("Putchar is: "); putc1); putc2); printf(" "); printf("Printf is: &qu

10、ot;); printf("%c %c ",c1,c2);可见有putchar输出的结果是一个字符一个字符依次输出的。每个putchar函数只能输出一个字符,且只能输出字符,而printf可以输出多个数据,且为随意类四、试验心得(体会):通过本次C语言上机试验,我对依次结构程序设计有了肯定的了解。通过几个例题,我对依次结构中scanf和printf语句的基本好用状况有了肯定的理解。我信任这些都为后来的编程打下基础。对C语言学习,我会更加努力。 篇二:C语言程序设计试验报告 (一) 试验目的(1) 熟识和驾驭结构的说明和引用、结构的指针、结构数组,以及函数中运用结构的方法。(

11、2) 驾驭动态存储安排函数的用法,驾驭自引用结构和单向链表的创建、遍历、结点的增删、查找等操作。(3) 了解字段结构和联合的用法。(二) 试验内容及要求1.表达式求值的程序验证 设有说明:char u = "UVWXYZ" char v = "xyz" struct T int x; char c; char *t;a = 11, 'A', u, 100, 'B', v, *p = a;请先自己计算表2.1中表达式的值,然后编写程序并运行来加以验证。(各表达式相互无关)2.源程序修改、替换下面所给源程序的功能是:给定一批整

12、数,以0作为结束标记且不作为结点,将其建成一个先进先出的链表。先进先出链表的头指针始终指向最先创建的结点(链头),先建结点指向后建结点,后建结点始终是尾结点。请完成以下工作:(1) 源程序中存在什么样的错误(先视察执行结果)?对程序进行修改、调试。使之能够正确完成指定任务。(2) 修改替换creat_list函数,将其建成一个后进先出的链表。后进先出的链表的头指针始终指向最终创建的结点(链头),后建结点指向先建结点,先建结点始终是尾结点。源程序#include#includestruct s_list int data;struct s_list *next; ;void creat_list

13、(struct s_list *headp, int *p); int main(void) struct s_list *head = NULL, *p; int s = 1, 2, 3, 4, 5, 6, 7, 8, 0; creat_list(head, s); p = head; while(p) printf("%d ", p -> data);p = p -> next; printf(" "); return 0; void creat_list(struct s_list *headp, int *p) struct s_li

14、st *loc_head = NULL, *tail; if(p0 = 0); else loc_head = (struct s_list *)malloc(sizeof(struct s_list);loc_head -> data = *p+;tail = loc_head;while(*p)tail -> next = (struct s_list *)malloc(sizeof(struct s_list); tail = tail -> next; tail -> data = *p+;tail -> next = NULL; headp = loc_

15、head; 3.程序设计编写并上机调试运行能实现以下功能的程序或函数:(1)编写一个程序,实现以下功能:定义一个字段结构struct bits,它将一个8位无符号字节从最低位向最高位声明为8个字段,各字段依次为bit0, bit1, bit7,且bit0的优先级最高。同时设计8个函数,第i个函数以biti(i = 0, 1,7)为参数,并且在函数体内输出biti的值。将8个函数的名字存入一个函数指针数组p_fun。假如bit0为1,调用p_fun0指向的函数。假如struct bits中有多位为1,则依据优先级从高到低依次调用函数指针数组p_fun中相应元素指向的函数。8个函数中的第0个函数可

16、以设计为 Void f0(struct bits b) Printf(“the function %d is called! ”, b); (3) 设计用单词链表建立一张班级成果单,包括每个学生的学号、姓名、英语、高等数学、一般物理、C语言程序设计四门课程的成果,试用函数编程实现下列功能: 输入每个学生的各项信息。 输出每个学生的各项信息。 修改指定学生的指定数据项的内容。 统计每个同学的平均成果(保留两位小数)。 输出各位同学的学号、姓名、四门课程的总成果和平均成果。 4.选做题(1)对上述程序设计题中第(2)题的程序,增加根据平均成果进行升序排序的函数,试写出用交换结点数据域的方法升序排序

17、的函数,排序可用选择法或冒泡法。(2)对选做题第(1)题,进一步写出用交换结点指针域的方法升序排序的函数。 (3)采纳双向链表重做编程设计题中的第(2)题。(三) 试验步骤及结果1.表达式求值的程序验证的试验步骤及结果表2.1 表达式值的计算结果正确!2.源程序修改、替换的试验步骤及结果(1)改错:headp类型应为双重指针,即:void creat_list(struct s_list *headp, int *p); 同时第40行应当改为*headp = loc_head; 第12行改为creat_list(&head, s); 修改后的程序如下: #include#include

18、struct s_list int data;struct s_list *next; ;void creat_list(struct s_list *headp, int *p); int main(void)struct s_list *head = NULL, *p; int s = 1, 2, 3, 4, 5, 6, 7, 8, 0; creat_list(&head, s); p = head; while(p) printf("%d ", p -> data);p = p -> next; printf(" "); ret

19、urn 0; void creat_list(struct s_list *headp, int *p) struct s_list *loc_head = NULL, *tail; if(p0 = 0); else loc_head = (struct s_list *)malloc(sizeof(struct s_list);loc_head -> data = *p+;tail = loc_head;while(*p)tail -> next = (struct s_list *)malloc(sizeof(struct s_list); tail = tail ->

20、next; tail -> data = *p+;tail -> next = NULL; *headp = loc_head; 程序运行结果如图所示:结果正确!(2)建立一个后进先出的链表如下:修改后程序如下: #include#includestruct s_list int data;struct s_list *next; ;void creat_list(struct s_list *headp, int *p); int main(void) struct s_list *head = NULL, *p; int s = 1, 2, 3, 4, 5, 6, 7, 8,

21、0; creat_list(&head, s); p = head; while(p) printf("%d ", p -> data);p = p -> next; printf(" "); return 0; void creat_list(struct s_list *headp, int *p) struct s_list * loc_head=NULL,*tail; struct s_list * temp; if(p0=0) ; 篇三:C语言程序设计上机试验报告 一、试验目的:1.熟识Win TC或者VC+ 6.0的软件环

22、境,驾驭运用其进行编辑、编译、连接和运行的方法。 2.通过运行简洁的C程序,驾驭C源程序的特点。二、试验内容:(由学生选择WinTC或者VC之一完成相关试验) 1.运行WinTC程序,进入C程序设计环境。 2.建立工程文件 3.编辑源文件 4.编译、连接(1)单文件源程序的编译、连接源程序先经过编译,生成目标文件(.obj文件),然后将目标文件进行连接,生成可执行文件(.exe)。 假如编译、连接中发生错误,在Message窗口中显示出错信息,修改错误后,可重新编译、连接。 (2)多文件源程序的编译、连接可以用长的源程序分割成几个文件,分别编译然后生成可执行文件。此时运用Project菜单。步

23、骤: 第一步:有三个文件f1.c、f2.c、f3.c组成一个完整的C程序,分别建立三个文件,将f1.c、f2.c、f3.c三个文件保存到同一个文件夹中(如d: cproject)。 f1.c:#include "stdio.h" extern a,b;extern max(int x,int y); main int e=1,f=2;printf("%d ",max(a,b); printf("%d ",max(e,f); f2.c: int a=3,b=4; f3.c:int max(int x,int y ) return x>yx:y;其次步:构造Project文件,在编辑状态下,编辑一个扩展名为.prj的文件,文件的内容为:f1 f2 f3第三步:构造EXE文件,按F9键即将三个文件编译、连接成一个EXE文件,文件名为wang.exe。 假如编译、连接出现错误,则必需进行修正,然后再编译。 5.运行程序假如编译、连接完全正确,则可以用运行程序。三、试验过程(依据上面示例,简要描述你运用WinTC或者其它编译器的过程)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com