




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计实验报告 C语言程序设计实验报告 学生: 张蒙蒙 学号:0214110122 班级:一班 专业: 数字媒体 重庆邮电大学移通学院 目 录 第一章 基础掌握. 3 1.1 实验目的 . 错误!未定义书签。 1.2 实验要求 . 3 1.3 实验基本内容. 3 第二章 数据类型. 4 2.1 实验目的 . 4 2.2 实验要求 . 4 2.3 实验基本内容. 4 第三章 选择结构程序设计 . 5 3.1实验目的 . 5 3.2 实验要求 . 5 3.3 实验基本内容. 5 第四章 循环程序设计 . 7 4.1 实验目的 . 7 4.2 实验要求 . 7 4.3 实验基本内容. 5 第
2、五章 程序设计. 7 5.1 实验目的 . 7 5.2 实验要求 . 7 5.3实验基础内容. 8 第一章 基础掌握 1.1 实验目的 掌握C程序设计编程环境Visual C+,掌握运行一个C程序的基本步骤,包括、编译、链接和运行。 1.2 实验要求 在报告中记录建立、保存C程序实习过程。 1.3 实验基本内容 编写程序,在屏幕上显示一个短句“Hello World” (1) 程序: 1) 编译如下程序: #include Void main() printf (“Hello World!n”); 2)链接。执行Build-命令。 3)运行。执行Build Execute 命令。显示结果。 4
3、)关闭程序工作区。 (2) 运行结果: 输出结果:Hello World! 总结: 掌握C语言程序设计的基本框架,能够编写简单的程序。 第二章 数据类型 2.1 实验目的 (1) 掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。 (2)通过编程进一步理解和掌握运算符的确切含义和功能。 2.2 实验要求 (1) 在报告中记录建立、保存C程序实习过程。 (2) 完成典型题目,分析遇到的困难和实验中的收获。 2.3 实验基本内容 输入程序,观察输出结果 1./*test2.1c*/ 1)编译如下程序: #include void main() char
4、ch; int k; ch=a,k=b; printf(%d,%x,%c,ch,ch,ch,ch,k);printf(k=%dn,k) 2)链接。执行Build-命令。 3)运行。执行Build Execute 命令。显示结果。 4)关闭程序工作区。 2./*test2.2c*/ 1)编译如下程序: #include void main() float a1,a2; double b1,b2; a1=1234.12; a2=0.000001; b1=1234.12; b2=0.000001; printf(%f,%l fn,a1+a2,b1+b2); 2)链接。执行Build-命令。 3)运行
5、。执行Build Execute 命令。显示结果。 4)关闭程序工作区。 实验结果: 97.61,141,ak=xd 实验结果: 1234.1xx9,1234.120001 总结: 学会C语言的运算符和表达式的正确使用 第三章 选择结构程序设计 3.1 实验目的 学会改正程序中的错误 3.2 实验要求 (1) 在报告中记录建立、保存C程序实习过程。 (2) 完成典型题目,分析遇到的困难和实验中的收获。 3.3 实验基本内容 输入实验程序,程序有错,改正程序中的错误 1)输入如下程序: #include #include void main() double a,b,c,d; printf(输入
6、一元二次方程a=,b=,c=n); scanf(a=%l f,b=%l f,&a,&b,&c); if(a=0) if(b=0) else Print f(x=%0.2fn,-c/b); if(c=0) Print f(0=0参数对方程无意义!”); else Print f(c!=0方程不成立); else if(d=0) printf(x1=%0.2fn,(-b+sq rt(d)/(2*a); printf(x1=%0.2fn,(-b-sq rt(d)/(2*a); else 实验二 数据类型、运算符和表达式 实验时间:2机时 一、实验目的 1. 掌握C语言数据类型,熟悉各种类型变量的定义
7、和含义。 2. 掌握C语言标准输入、输出函数的使用方法 3. 进一步熟悉C程序的上机过程,积累调试经验。 二、实验意义 通过上机实验,巩固本章所学基本知识C语言的数据类型、变量的定义和使用、结合数据类型更深入地理解标准输入函数scanf()和标准输出函数printf()的格式控制符的意义和使用。通过简单程序设计的练习加深对运算符优先级和结合方向的理解,并正确求解表达式的值,这些必要的基础知识是后面深入学习C语言所必须的知识储备。 三、实验重点 1. 数据类型、变量的定义和使用; 2. 运算符、表达式的求解 3. 简单顺序结构的C程序设计 四、实验难点 数据类型的转换、自增自减运算 五、实验方式
8、 提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。 六、实验内容 (一)完善程序题 1用scanf函数输入数据,使得x=1.23,y=67.1234。 #include #include int main() double x,y,z; scanf (%lf%lf,&x,&y); z=2*x+y/sin(3.1415/4); printf(z=%6.2f,z); return 0; 输入1.23 67.1234 输出z= 97.39 2. #include int main() int str; str=g
9、etchar(); putchar(str); return 0; 输入a 输出a 3.根据下面的输出结果,完善程序 s1=C,ASCII is 67 x=655.35,y=765.43 #include int main() double x=655.3524,y=765.4271; char s1=C; printf(s1=%c,ASCII is %dnx=%6.2f,y=%6.2f,s1,s1,x,y); return 0; 输出 s1=C,ASCII is 67 x=655.35,y=765.43 4.用scanf函数输入数据,使得程序运行结果为a=2,b=x,c=z。 #includ
10、e int main() int a,b; scanf(%d%c,&a,&b); printf(a=%d,b=%c,c=%c,a,b,b+2); return 0; 输入2x 输出a=2,b=x,c=z (二)、阅读程序题 1. #include int main() int i=19,j=12; float x=3.1415,y=153.125; printf(1)ti=%dtj=%dn,i,j); printf(2)tx=%.2f%ty=%.2en,x,y); printf(3)t%ct%ct%cn,ch,ch,ch); printf(4)t%st%.3st%.2sn,Hello,Hell
11、o,Hello); return 0; 输出: (1) i=19 j=12 (2) x=3.14 y=1.53e+002 (3) * * (4) HelloHel H 2. #include int main() char str=65; printf(str=%c.ASCII=%d,str,str); printf(nstr=%c,ASCII=%dn,str+1,str+1); return 0; 输出 str=A,ASCII=66 str=B,ASCII=66 (三)、程序改错题 1. #include int main() float x,y,z; scanf(%5.2f,%5.2f,&
12、x,&y); z=x+y; printf(z=%5.2f,&z); return 0; 错误1:scanf语句输入数据时不能规定精度; 错误2:printf语句输出时不能使用& 正确程序: #include int main() float x,y,z; scanf(%f,%f,&x,&y); z=x+y; printf(z=%5.2f,z); return 0; 输入5.1 6.8 输出11.90 2. #include int main() short int x=7654123; x*=10; printf(x=%d,x); return 0; 错误1:应将int前的short去掉; 错
13、误2:输出函数少了一半分号; 正确程序: #include int main() int x=7654123; x*=10; printf(x=%d,x); return 0; 输出x=76541230 3. #include int main() float c1=67; char c2; c2=c1+5; printf(c1=%c,c2=%cn,c1,c2); printf(c1=%d,c2=%d,&c1,&c2); return 0; 错误1:c1为整型数据,不能使用float 错误2:printf语句不能使用& 正确程序: #include int main() int c1=67;
14、char c2; c2=c1+5; printf(c1=%c,c2=%cn,c1,c2); printf(c1=%d,c2=%d,c1,c2); return 0; 输出 c1=C,c2=H c1=67,c2=72 C语言程序设计实验报告(九) 专业 计算机科学与技术 班级 卓越工程师班 日期 xx年12月23日 实验组别 第一组 成绩第九次实验 结构与联合实验 指导教师 李开学生姓名学号 实验名称 结构与联合实验 (一) 实验目的 (1) 熟悉和掌握结构的说明和引用、结构的指针、结构数组,以及函数中使用结构的方 法。 (2) 掌握动态存储分配函数的用法,掌握自引用结构和单向链表的创建、遍历、
15、结点的 增删、查找等操作。 (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.源程序修改、替换 下面所给源程序的功能是:给定一批整数,以0作为结束标志且 _结点,将其建成一个先进先出的链表。先进先出链表的头指针始终指向最先创建的结点(链头),先建结点指向后建结点,后建
16、结点始终是尾结点。请完成以下工作: (1) 源程序中存在什么样的错误(先观察执行结果)?对程序进行修改、调试。使之能 够正确完成指定任务。 (2) 修改替换creat_list函数,将其建成一个后进先出的链表。后进先出的链表的头指针 始终指向最后创建的结点(链头),后建结点指向先建结点,先建结点始终是尾结点。 源程序 #include #include struct s_list int data; struct s_list *next; ; void creat_list(struct s_list *headp, int *p); int main(void) struct s_list
17、 *head = NULL, *p; int s = 1, 2, 3, 4, 5, 6, 7, 8, 0; creat_list(head, s); p = head; while(p) printf(%dt, p - data);p = p - next; printf(n); return 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(struc
18、t 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_head; 3.程序设计 编写并上机调试运行能实现以下功能的程序或函数: (1)编写一个程序,实现以下功能:定义一个字段结构struct bits,它将一个8位无符号字节从最低位向最高位声明为8个字段,各字段依次为bit
19、0, 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个函数可以设计为 Void f0(struct bits b) Printf(“the function %d is called!n”, b); (3) 设计用单词链表建立一张班级成绩单,包括每个学生的学号、姓名、英语、
20、高等数 学、普通物理、C语言程序设计四门课程的成绩,试用函数编程实现下列功能: 输入每个学生的各项信息。 输出每个学生的各项信息。 修改指定学生的指定数据项的内容。 统计每个同学的平均成绩(保留两位小数)。 输出各位同学的学号、姓名、四门课程的总成绩和平均成绩。 4.选做题 (1)对上述程序设计题中第(2)题的程序,增加按照平均成绩进行升序排序的函数,试写出用交换结点数据域的方法升序排序的函数,排序可用选择法或冒泡法。 (2)对选做题第(1)题,进一步写出用交换结点指针域的方法升序排序的函数。 (3)采用双向链表重做编程设计题中的第(2)题。 (三) 实验步骤及结果 1.表达式求值的程序验证的
21、实验步骤及结果 表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 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(%dt, p - data);p = p - next; printf(n); return 0; void creat_list(struct s_list *headp, int *p) struct s_list *loc_head = NULL,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医疗行业跨境电商市场分析与机遇研究报告
- 2025年物业客服专员考试题及答案详解
- 工业机器人智能控制技术在工艺品制造领域的应用成果鉴定报告
- 2025-2026学年河南省灵宝实验高级中学生物高三第一学期期末调研试题
- 2025年制造业数字化转型数据治理策略与环保监测的融合报告
- 第十课 我与爸爸妈妈说课稿-2025-2026学年小学心理健康川教版五年级上册-川教版
- 第24课 李さんは もう すぐ 来ると 思います教学设计-2025-2026学年新版标准日本语初级上册-新版标准日本语
- 山西省达标名校2025年生物高三第一学期期末学业水平测试试题
- 2025年工程安全员法规操作题库
- 2025年新疆机场集团有限责任公司校园招聘考试试题及答案解析
- 2025中国心肌病综合管理指南要点解读课件
- 2026届新高考物理热点复习高考物理答题技巧及提分策略
- 2025-2030中国采盐行业市场全景调研及投资价值评估咨询报告
- 2025广西中考:政治必背知识点
- 粉尘涉爆安全培训
- 新常态下的中国消费-麦肯锡
- 水淹车培训课件
- 液压与气压传动技术 第四版 习题参考答案 徐钢涛 -00绪论-08气压传动
- 2024-2030全球内部人才市场行业调研及趋势分析报告
- 酒店楼层分租协议书
- 单位对个人教育教学情况定性综合分析
评论
0/150
提交评论