




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
闽南理工学院实践教学中心计算机教研室,C语言程序设计,实 验 目 录实验一 一个简单C程序编写及运行过程实验二 利用函数的输入、输出格式编写程序实验三 利用运算符与表达式知识编写程序实验四 利用条件分支语句编写程序实验五 利用循环结构编写程序实验六 利用数组编写程序实验七 编写一个用户自定义函数程序实验八 编译预处理实验九 指针实验十 结构体和共用体实验十一 位运算实验十二 文件,实验一 一个简单C程序编写及运行过程,一、实验目的 1. 熟悉C语言的系统环境,学习编辑、编译、连接和运行C语言程序的基本方法。 2. 认识C语言程序的结构特点,学习程序的基本编写方法。 3. 进一步认识程序的两种错误类型对程序结果的影响,加深对程序测试重要性的认识。二、实验内容 1. Turbo C 2.0集成环境的使用。使用Turbo C 2.0集成环境编辑运行教材例1.1、例1.2。 2. 运行一个自己编写的程序。教材习题1.5、习题1.6。 3. 标识符和程序的逻辑错误。 将例1.2中的表达式“a+b”改为“A+b”,然后运行程序,观察运行结果。 将例1.2中的表达式“a+b”改为“a-b”,然后运行程序,观察运行结果。,三、实验重点与难点 重点:熟悉C语言的编译环境,了解在该系统上如何编辑、编译、连接和运行一个C程序。 难点:熟悉C语言的编译环境。四、思考题 1.分析以下程序的运行结果,然后上机调试验。 main()printf(“This ia a C program!n”); 运行结果:_ float ave(float x1,float x2,float x3) float a1;a1=(x1+x2+x3)/3;return(a1);main() float x,y,z,a;scanf(“%f,%f,%f”, 运行结果:_,实验二 利用函数的输入、输出格式编写程序,一、实验目的 1.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。 2.熟练掌握顺序结构的程序设计。二、实验重点与难点 重点:掌握各种格式转换符的正确使用方法。 难点:掌握各种格式转换符的正确使用方法。 三、实验内容 1.基本输入输出函数的用法。编辑运行教材例3.1-3.9,分析运行结果。 2.顺序结构程序设计。编辑运行教材例3.10-3.12,分析运行结果。,四、实验指导 1.基本输入输出函数的用法。 对照运行结果,分析printf()、scanf()、putchar()、getchar()函数的作用,以及各种格式字符的用法。 2.顺序结构程序设计。 程序调试时要注意如下几点: 输入数据格式要与程序中要求的格式一致。 根据程序运行情况,调整输入、输出数据的格式,使数据的输入输出格式更符合使用习惯。五、思考题 1.比较用printf和putchar函数输出字符、putchar函数和scanf函数输入字符,二者有何区别? 2.考虑教材例3.10,如何修改程序,使得输入负数时不进行计算,并且显示相应的提示信息?,实验三 利用运算符与表达式知识编写程序,一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加和自减运算符的使用。 3.掌握不同的类型数据之间赋值的规律。 4.进一步熟悉C程序的结构特点,学习简单程序的编写方法。二、实验重点与难点 重点:输入有代表性的程序比较整型数据、字符型数据以及字符串型数据的区别与联系;程序体会C编译系统自动的数据类型转换。 难点:输入程序体会C编译系统自动的数据类型转换。,三、实验内容 1.整型变量及算术运算。下面的程序使用了加法、减法、乘法、除法、求余等五种运算,请编辑、运行该程序,分析运行结果。 /*整型变量及算术运算实验程序*/ #include main() int m , a , b , c , d , e ;printf(“ m = ”);scanf(“ %d”, ,2.实型变量及算术运算。下面是一个计算矩形面积的程序,矩形的两个边长分别用m、n表示。请编辑运行该程序,分析程序的运行结果。 /*实型变量及算术运算实验程序*/ #include main() float m , n , s ;printf(“ m = ”);scanf(“ %f”, ,3.字符型变量及算术运算。下面程序能输出26个大写字母的 ASCII码,请编辑运行该程序,并对照结果试着分析程序中各语句的作用。 /*字符型变量及运算实验程序*/ #include main() char letter; letter= A;while(letter = Z)printf(“%c : %d t”,letter,letter);letter + +; 4.自增、自减运算。编辑运行教材习题2.10,分析运行结果。,四、思考题 分析以下程序的运行结果,然后上机调试验。 main()int a,b,c,d,timsum;a=8,b=7,c=5,d=6;timsum=a*b+c*d;printf(“%d*%d+%d*%d=%dt%dn”,a,b,c,d,timsum,10*5); 运行结果:_ main() int a=2,b=5,c=6,d=10;int z;float x,y; x=12;y=365.2114; z=(float)a+b a+=b;b-=c;c*=d;d/=a;a%=c; printf(“%fn”,z); printf(“%d %d %d %d %dn”,a,b,c,d,a); 运行结果:_,实验四 利用条件分支语句编写程序,一、实验目的 1.学会使用逻辑表达式表示条件的方法。 2.掌握if语句的三种形式的用法。 3.掌握switch语句的用法。 4.学会设计有实际价值的选择结构程序。二、实验重点与难点 重点:掌握if语句和switch语句的用法。 难点:掌握逻辑表达式的用法。,三、实验内容 1.简单if语句的用法。编辑运行教材例4.1,分析运行结果。 2.if-else语句的用法。修改教材例4.1,输出a和b的较大值。 3.if-else if语句的用法。编辑运行教材例4.3,分析运行结果。 4. 选择结构综合程序设计。编写调试学生成绩分等程序,给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,8189分为B,7079分为C,6069分为D,60分以下为E。四、思考题 1.数学不等式-10x10的逻辑表达式如何表示。 2.在输入数值数据时,有时错误地输入了字符,导致程序运行后出现不正常的结果。请考虑,如何改进程序,使得发生这种错误输入时能检查出来。 3.能否对实验内容2程序进行改写,用条件表达式代替if-else语句。,实验五 利用循环结构编写程序,一、实验目的 1.通过本实验,加深对循环控制结构有关概念的理解。 2.熟练掌握while、do-while和for三种循环控制语句的特点,掌握循环结构程序设计和调试方法。 3实际体验死循环给程序设计带来结果,学会分析产生死循环的原因以及纠正方法。 4掌握break、continue语句的作用和使用方法。 5.掌握嵌套循环结构程序的设计方法。 6.学会设计有实际价值的选择结构程序。二、实验重点与难点 重点:理解循环结构的执行机制。 难点:理解循环结构的执行机制。,三、实验内容 1.简单while语句的用法。编辑运行教材例5.2,分析运行结果。 2. 用while、do-while、for循环实现整数累加问题。编辑运行教材习5.3,分析运行结果。 3. 用while、do-while、for循环实现分式累加问题。编辑运行教材习题5.7,分析运行结果。 4. 用while、do-while、for循环求解猴子吃桃问题。编辑运行教材习题5.9,分析运行结果。 四、思考题 1.修改猴子吃桃程序,使任意指定一天时,能够求出这一天吃桃前后的桃子数。 2.打印输出九九乘法表。,实验六 利用数组编写程序,一、实验目的 1. 掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2. 掌握字符数组和字符串函数的使用; 3. 掌握与数组有关的算法(特别是排序算法)。二、实验重点与难点 重点: 1.掌握一维数组和二维数组的定义、赋值和输入输出的方法。 2.数组和字符串函数的使用。 难点:掌握与数组有关的算法,特别是排序算法。,三、实验内容 1. 用选择法对10个整数排序。10个数用scanf函数输入。 2. 有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。以15个数用赋初值的方法在程序中给出。要找的数用scanf函数输入。 3. 将两个字符串连接起来,不要用strcat函数。四、思考题 1. 编写一程序,从键盘输入10个学生的成绩,统计最高分、最低分和平均分。 2 编写程序,测试下列数组的定义方式是否正确。 int n; scanf(“%d”, int const n=5; int an; #define N 5 int aN; #define N 2 int a2*N+1; int a=1,2,3,4,5; double bsizeof(a);3 阅读分析下列程序,上机验证结果。#include void main() int a=2,3,-3,-5,6,-1,9,8,7,-7,-6,11; const int SIZE=sizeof(a)/sizeof(a0); int i=-1,j=SIZE; while(+i0) i+; while(is2,则输出正值;如s1s2则输出负值。 4. 两个字符串s1、s2由main函数输入,strcmp函数的返回值也在main函数输出。 5. 用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n和各整数在主函数中输入。最后在主函数中输出。,实验十 结构体和共用体,一、实验目的 1. 掌握结构体类型变量的定义和使用。 2. 掌握结构体类型数组的概念和使用。 3. 掌握链表的概念,初步学会对链表进行操作。 4. 掌握共用体的概念与使用。二、实验重点难点 重点: 1. 掌握结构体类型变量的定义和使用。 2. 掌握结构体类型数组的概念和使用。 难点:掌握链表的概念,初步学会对链表进行操作。,三、实验内容 编程序并上机调试运行:1. 由10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据。2. 13个人围成一圈,从第1个人开始顺序报号1、2、3。凡报到3者退出圈子,找出最后留在圈子中的人原来的序号。3. 建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。4. 练习一个使用共用体的程序。,四、思考题 编程序并上机调试运行1. 有5个学生,每个学生的数据包括学号、姓名、三门课的成绩,从键盘输入5个学生数据,要求打印出三门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、三门课的成绩、平均分数)。要求用一个input函数输入5个学生数据;用一个average函数求总平均分;用max函数找出最高分学生数据;总平均分和最高分的学生的数据都在主函数中输出。2. 13个人围成一圈,从第1个人开始顺序报号1、2、3。凡报到“3”者退出圈子,找出最后留在圈子中的人原来的序号。3. 建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。,实验十一 位运算,一、实验目的 1. 掌握按位运算的概念和方法,学会使用位运算符。 2. 学会通过位运算实现对某些位的操作。二、实验重点和难点 重点: 1. 掌握按位运算的概念和方法,学会使用位运算符。 2. 学会通过位运算实现对某些位的操作。 难点:学会通过位运算实现对某些位的操作。,三、实验内容 编写程序并上机运行:1. 编写一程序,检查所用的计算机系统的C编译在执行右移时是按照逻辑右移的原则,还是按照算术右移的原则进行操作。2. 编一个函数getbits,从一个16位的单元中取出某几位,用八进制数打印出来。3. 设计一个函数,使给出一个数的原码,能得到该数的补码。,实验十二 文件,一、实验目的 1. 掌握文件以及缓冲文件系统、文件指针的概念。 2. 学会使用文件打开、关闭、读、写文件操作函数。 3. 学会用缓冲文件系统对文件进行简单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车款合同终止协议书模板
- 退店协议在哪里签订合同
- 汽车配件公司员工保密合同
- 酒店旅行团接待协议合同
- 集成墙板合同解除协议书
- 2025年安全生产监督面试题及参考答案
- 2025年学生铁路安全常识测试题
- 影视配音面试题目及答案
- 2025年村级碳汇管理员面试模拟题集
- 2025年建筑抹灰安全培训题库解析
- 纯净水生产项目可行性分析报告
- 监理内业资料整理要点
- GB/T 21652-2017铜及铜合金线材
- GB/T 12234-2019石油、天然气工业用螺柱连接阀盖的钢制闸阀
- 全套教学课件《公共艺术(音乐)》
- 高中数学《基于问题链的数学教学探索》课件
- (卓越绩效)质量奖申报材料
- 同创伟业投资分析报告(附358家被投企业介绍)
- 数学-四年级(上册)-人教版-《亿以上数的认识及读法》教学课件
- 政治经济学ppt课件汇总(完整版)
- 互联网保险概述课件
评论
0/150
提交评论