C程序设计实验报告

更新时间:2023-10-06 08:26:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

安徽建筑工业学院

信息网络中心

实 验 报 告

课程名称: C 程 序 设 计 指导教师: 专 业: 班 级: 姓 名: 学 号:

200 至200 学年第 学期

实验1 C程序运行环境、数据类型、运算符和表达式

实验地点:第 机房 实验时间: 年 月 日 1.掌握Turbo C集成环境的进入与退出、Turbo C集成环境各种窗口的切换,了解Turbo C集成环境的设置。 2.掌握C语言源程序的建立、编辑、修改、保存及编译和运行等操作。 3.掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型变量,掌握对这些变量赋值等使用的方法,知道输出时格式字符的使用。 4.学会使用C语言的基本运算符(主要是算术运算符、赋值运算符)及其表达式,特别是自加运算符(++)和自减运算符(--)的使用。 5.掌握C语言源程序的结构特点与书写规范。 1.根据题目要求,进行各种程序测试与验证,并记录结果。 2.第5题按照题目的要求编写出程序。 3.对每个程序认真进行语法检查与逻辑检查。 4.上机调试程序。按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。 5.详细记录数据的输入、输出信息,按要求写出实验报告。 实验目的 实验要求 1

实验内容与过 程 、结 果 、 分析 实验内容与过 程 、 1.开机;进入Turbo C集成工作环境,了解Turbo C集成工作环境及其菜单的使用,输入如下C语言源程序,并以ex1.C存盘。 #include main() { printf(\printf(\} 编译、连接、运行该程序,并按Alt+F5查看运行结果。 运行结果是: 2.输入并调试以下程序,查看运行结果(由此结果可以了解到在实验用的微型机上,几种数据类型所占的字节数)。 main() { printf(\printf(\ 运行结果是: printf(\printf(\printf(\printf(\} 3.输入并调试以下程序: main() {int i,j,m,n; i=8;j=10; m=++i;n=j++; printf(\ 运行结果是: } 作以下改动后再运行,观察并比较运行结果: ① 将第4行改为: m=i++;n=++j; 运行结果是: ② 若将程序改为: main() {int i,j; i=8;j=10; printf(\ 运行结果是: 2 结 果 、 分析 实验内容与过 程

} ③ 在②的基础上,将printf语句改为: printf(\ 运行结果是: 4.试分析下面程序的运行结果: #include main() {int i=3,k; printf(\ i=3; printf(\i=3; k=(i++)+(i++)+(i++); printf(\} 运行结果是: 5.编程,求365÷7的商和余数的程序。 3

、结 果 、 分析 实验内容与过 程 、结 果

4

、 分析 教 师 评 阅 成绩: 教师签名: 年 月 日 实验2 最简单的C程序设计

5

实验地点:第 机房 实验时间: 年 月 日 实验目的 实验要求 实 验内容与过 程 、结 果 、 分析

1.掌握C语言中赋值表达式和赋值语句的使用。 2.正确理解、选择输入格式字符所控制的数据对象、数据输入(输出)形式和方法。 3.掌握输出函数printf()和putchar()的用法,能正确使用各种输出格式。 4.掌握输入函数scanf()和getchar()的用法,能正确使用各种输入格式。 1.根据题目要求,进行各种程序测试与验证,并记录结果。 2.4、5两题按照题目的要求编写出程序。 3.对每个程序认真进行语法检查与逻辑检查。 4.上机调试程序。按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。 5.详细记录数据的输入、输出信息,按要求写出实验报告。 1.输入并运行以下程序: #include main() {int a; float b,c; scanf(\printf(\,b,c); } 运行时从键盘上输入1234567890↙ 则程序运行结果是: 2.输入并运行以下程序: #include main() {int c; char d; c=67;d='C'; putchar(c);putchar(d); putchar('B');putchar(66); } 程序运行结果是: 3.输入并运行以下程序: 6

实验内容与过 程 、结 果 、 分析

#include void main() {int a=-1;long b=-1;float f=123.456;char c='a'; printf(\printf(\printf(\printf(\printf(\} 程序运行结果是: 4.编程,要求从键盘输入数据,使整型变量a=10,b=8;字符型变量c1='A',c2='a';实型变量x=3.1,y=64.54。并按规定格式输出变量的值。要求输出格式如下: a=10,b=8 c1=A,c2=a x=3.1,y=64.54 5.编程,求方程2x?3x?3?0的根。 27

实验内容与过 程 、结 果 、 分析 实

8

验内容与过 程 、结 果 、 分析 教 师 评 阅 成绩: 教师签名: 年 月 日 实验3 选择结构程序设计

9

实验地点:第 机房 实验时间: 年 月 日 实验目的 实验要求 验内容与过 程 、结 果 、 分析

1.掌握C语言表示逻辑量的方法(以0代表“假”,非0代表“真”)。 2.学会正确使用关系运算符、逻辑运算符及关系表达式、逻辑表达式。 3.熟练掌握各种if语句和switch语句的语法结构和语句功能。 4.结合程序,掌握选择结构程序设计的一般方法,能够用多种方法编写同一程序。 1.根据题目要求,进行各种程序测试与验证,并记录结果。 2.3~5题按照题目的要求编写出程序。 3.对每个程序认真进行语法检查与逻辑检查。 4.上机调试程序。将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。 5.详细记录数据的输入、输出信息,按要求写出实验报告。 1.输入并调试以下程序: (1)#include main() {int a,b; printf(\scanf(\b=1; if(++a<0) b=-1; else if (a==0) b=0; printf(\} 运行时,若从键盘上输入-1↙,则程序运行结果是: (2)#include main() {int a1=10,a2=20,a3=30; char ch; ch=getchar(); switch(ch) {case 'A': a1++;a2++;break; default: a3++; case 'B': a2++;a3++; } printf(\} 若从键盘上输入:BAC↙,则程序运行结果是: 2.程序填空(完善程序)。 以下程序的功能是:从键盘输入三个整型数据,对这三个数据进行从小到大排序,并输出排10

实验内容与过 序后的数据。请在下划线处填上适当的内容,以完成该程序的功能。 #include main() {int x,y,z,i; scanf(\if( ){i=x;x=y;y=i;} if( ){i=y;y=z;z=i;} if( ){i=x;x=y;y=i;} printf(\} 3.给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。要求:用键盘输入百分制成绩,并判断输入数据的合理性,对于不合理的数据给出错误信息。用switch语句编写该程序。 4.编程,计算下列分段函数值: (x>0) (x<0) (x=0) 2?2x?e程 ?2 y??3x?2 ?5、?结 果 、 分析

5.给出一个小于1000正整数,编程求该数是几位数,并按逆序打印出各位上的数字。例如原数为321,则输出123。 11

实验内容与过 程 、结 果 、 分析

12

实验内容与过 程 、结 果 、 分析 教 师 评 阅 成绩: 教师签名: 年 月 日 实验4 循环结构程序设计

13

实验地点:第 机房 实验时间: 年 月 日 实验目的 实验要求 1.理解循环的概念,熟悉和掌握while语句,do-while语句和for语句实现循环的方法。 2.掌握穷举算法、迭代算法、递推算法等一些常用算法的程序设计方法。 3.理解并掌握break语句和continue语句的语句功能。 4.能正确使用这些语句进行简单程序设计。 1.根据题目要求,进行各种程序测试与验证,并记录结果。 2.3~6题按照题目的要求编写出程序,注意总结各题的编程思路。 3.上机调试程序。将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。 4.详细记录数据的输入、输出信息,按要求写出实验报告。 14

实验内容与过 程 、结 果 、 分析

# include main() { int a[10]={1,3,5,7,9,12,0}; int b[10]={2,4,7,8,10,14,18,0}; int i,j,k,c[20]; i=j=k=0; while((a[i]!=0)&&(b[j]!=0)) { if (a[i] main() { int b[16],x,k,r,i; scanf(\ printf(\ k=-1; do { r=x%2; b[ _______________ ]=r; x/=______________; }while( __________________); for(i=k; ___________________________________ ) printf(\ printf(\} 3.从键盘输入10个整数,编程将这些数按从大到小排序并输出。 4.从键盘上输入20个字符,编程统计并输出其中英文字母(不区分大小写)、数字字符(0~9)和空格的个数及所占的百分比。 5.编程,将两个字符串连接起来(不用strcat函数)。 20

实验内容与过 程 、结 果 、 分析

21

实验内容与过 程 、结 果 、 分析 22

教 师 评 阅 成绩: 教师签名: 年 月 日 实验6 函 数

实验地点:第 机房 实验时间: 年 月 日 1.理解函数的概念,掌握C语言定义函数的方法。 2.掌握函数实参与形参的对应关系,以及数据的“传递”方式。 3.掌握函数的嵌套调用和递归调用的方法。 4.掌握全局变量和局部变量、动态变量和静态变量的概念及使用方法,能够用函数的方法编写一些简单程序。 1.根据题目要求,进行各种程序测试与验证,并记录结果。 2.2~4题按照题目的要求编写出程序,注意总结各题的编程思路。 3.上机调试程序。将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。 4.详细记录数据的输入、输出信息,按要求写出实验报告。 实验目的 实验要求 23

实 验内容与过 程 、结 果 、 分析 实验内

1.输入并调试以下程序: (1)#include func(int a,int b) { int c; c=a+b;return c; } main() { int x=3,y=6,z; z=func((--x,y++,x+y),y); printf(\} 运行结果是: (2)#include main() { int a[]={2,4,6,8},i; int x=0; for (i=0;i<4;i++) printf(\} sub(p,x) int *p,x; {static int t=3; x=p[t];t--;return(x); } 运行结果是: 2.编写一个判断素数的函数ifp。在主函数中调用该函数,求整型数组a[10] 中有多少个素数。 3.编程求两个整数的最大公约数和最小公倍数。要求:用一个函数(func1)求最大公约数,用另一函数(func2)根据求出的最大公约数求最小公倍数。两个整数在主函数中输入,并传送给函数func1,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数func2,求出最小公倍数,再返回到主函数输出最大公约数和最小公倍数。 4.编写一递归函数fac用来求阶乘t!。主函数调用该函数,求20!。 24

容与过 程 、结 果 、 分析 实验内

25

容与过 程 、结 果 、 分析 实验内容与过 程

26

、结 果 、 分析 教 师 评 阅 成绩: 教师签名: 年 月 日 实验7 指针、结构体、联合与枚举

实验地点:第 机房 实验时间: 年 月 日

27

实验目的 实验要求 实 验内容与过 程 、结 果 、 分析

1.通过实验,进一步理解指针的概念,会定义和使用指针变量、指针数组。 2.学会使用数组的指针和指向数组的指针变量。 3.学会使用字符串的指针和指向字符串的指针变量。 4.掌握结构体类型变量的定义和使用。 5.掌握结构体类型数组的概念和应用。 6.理解链表的概念,学会对链表进行简单操作。 7.掌握联合的概念与使用。 1.根据题目要求,进行各种程序测试与验证,并记录结果。 2.4~5题按照题目的要求编写出程序,注意总结各题的编程思路。 3.上机调试程序。将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。 4.详细记录数据的输入、输出信息,按要求写出实验报告。 1.输入并调试以下程序: (1)#include main() {char str[]=\p=&str[5]; puts(p); } 运行结果是: (2)#include main() { int **p,*j,i=10; j=&i;p=&j; printf(\} 运行结果是: 2.输入并调试以下程序: (1)typedef union{long x[2]; int y[4]; char z[8];} MYTYPE; MYTYPE them; main() { printf(\ 运行结果是: (2)#include main() { struct date { int year,month,day;}today; printf(\} 运行结果是: (3) main() { enum team{my,your=3,his, her=his+5}; printf(\28

实验内容与过 程 、结 果 、 分析

} 运行结果是: 3.程序填空(完善程序)。 下面程序功能是用选择法对10个整数排序并输出。请在下划线处填上适当的内容,以完成该程序的功能。 main() { int *p,i,a[10]; ; for(i=0;i<10;i++) scanf(\ ; sort(p,10); for(p=a,i=0;i<10;i++) { printf(\} sort(int x[ ],int n) { int i,j,k,t; for(i=0;ix[k]) k=j; if(k!=i) { t=x[i]; ; x[k]=t; } } } 4.有5个学生,包括学生学号(字符型)、姓名(字符型)和3门课成绩(整型),编程完成下面的要求: (1)计算每个学生的总成绩、平均分,并输出。 (2)将学生成绩按总分从高到低排序并输出,输出项有学生学号、姓名、3门课成绩及总分。 5.用指针的方法编写程序,完成如下函数的功能: int strcmp(char*str1,char*str2)——比较两个字符串str1、str2。若str1>str2,返回正数1;str1=str2,返回0;str1

实验内容与过 程 、结 果 、分析

30

实验内容与过 程 、结 果 、分析 教 师 评 阅 成绩: 教师签名: 年 月 日 31 实验8 编译预处理、位运算与文件

实验地点:第 机房 实验时间: 年 月 日 实验目的 实验要求 实 验内容与过 程 、结 果 、 分析

1.掌握宏定义的方法及宏替换的实质,注意区分宏定义与函数的不同之处。 2.掌握文件包含处理方法、条件编译的方法。 3.掌握按位运算的概念和方法,学会使用位运算符,能够通过位运算实现对某些位的操作。 4.理解文件、文件指针的概念,学会使用文件打开、关闭、读、写等操作函数。 1.根据题目要求,进行各种程序测试与验证,并记录结果。 2.3~5题按照题目的要求编写出程序,注意总结各题的编程思路。 3.上机调试程序。将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。 4.详细记录数据的输入、输出信息,按要求写出实验报告。 1.输入并调试以下程序: (1)#include #define MIN(x,y) (x)<(y)?(x):(y) main() { int i,j,k; i=1; j=5; k=2*MIN(i+3,j-2); printf(\} 运行结果是: (2)#define PR(x) printf (\main() { int j,a[ ]={1,3,4,6,8,9,10},i=5; for(j=6;j>2;j--) { switch(j) { case 3: case 4: PR(a[i++]);break; case 5: PR(a[--i]); default:i--; } } } 运行结果是: 32

实验内容与过 程 、结 果 、 分析

2.输入并调试以下程序: (1)#include main() { int n1,n2; n1=0642;n2=0534; printf(\~n1,n1&n2,n1|n2,n1^n2); printf(\~n1,n1&n2,n1|n2,n1^n2); } 运行结果是: (2)#include main() { char x=053; printf(\} 运行结果是: (3)#include main() { unsigned a=0123,b,c,d; b=a>>2;printf(\c=(a<<3);printf(\d=b&c;printf(\} 运行结果是: 3.定义一个带参数的宏,使两个参数的值互换。在主函数中输入两个数作为使用宏的实参,输出已交换后的两个值。 说明:在程序主函数中使用宏时只能用两个实参,如SWAP(a,b),不能用三个实参。 4.编程,通过使用带参数的宏定义从3个数中找出最大数。主函数完成数据输入、宏调用及数据输出。 5.键盘输入两个无符号基本整型数a、b,并由a,b两数生成一个新数c,要求:将a中的低字节作为c的高字节,将b的高字节作为c的低字节。用八进制、十进制和十六进制三种格式输出a,b,c的值。 33

实验内容与过 程 、结 果 、 分析

34

本文来源:https://www.bwwdw.com/article/rhgd.html

Top