c程序上机试验报告.docx
《c程序上机试验报告.docx》由会员分享,可在线阅读,更多相关《c程序上机试验报告.docx(14页珍藏版)》请在冰豆网上搜索。
c程序上机试验报告
安徽建筑工业学院
信息网络中心
实 验 报 告
课程名称:
程序设计基础—C程序实验
指导教师:
专 业:
班 级:
姓 名:
学 号:
201 至201 学年第 学期
实验1C程序运行环境、数据类型、运算符和表达式
一、实验目的
1.掌握TurboC集成环境的进入与退出、TurboC集成环境各种窗口的切换,了解TurboC集成环境的设置。
2.掌握C语言源程序的建立、编辑、修改、保存及编译和运行等操作。
3.学会使用C语言的基本运算符(主要是算术运算符、赋值运算符)及其表达式。
4.掌握C语言源程序的结构特点与书写规范。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.上机调试程序。
按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
3.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.开机;进入TurboC集成工作环境,了解TurboC集成工作环境及其菜单的使用,输入如下C语言源程序,并以ex1.C存盘。
/*ex1.c*/
#include
main()
{
printf("Hello!
\n");
printf("ThisisCprogram!
\n");
}
试编译、连接、运行该程序,并按Alt+F5查看运行结果。
运行结果是:
2.输入并调试运行以下程序,查看运行结果(由此结果可以了解到在实验用的微型机上,几种数据类型所占的字节数)。
main()
{
printf("char\t%dbytes\n",sizeof(char));
printf("short\t%dbytes\n",sizeof(short));
printf("int\t%dbytes\n",sizeof(int));
printf("long\t%dbytes\n",sizeof(long));
printf("float\t%dbytes\n",sizeof(float));
printf("double\t%dbytes\n",sizeof(double));
}
运行结果是:
3.输入并调试运行以下程序。
main()
{inti,j,m,n;
i=8;j=10;
m=++i;n=j++;
printf("%d,%d,%d,%d",i,j,m,n);}运行结果是:
将上面程序作以下改动后再运行,观察并比较运行结果:
①将第4行改为:
m=i++;n=++j;运行结果是:
②若将程序改为:
main()
{inti,j;
i=8;j=10;
printf("%d,%d",i++,j++);
}运行结果是:
4.试分析下面程序的运行结果:
#include
main()
{inti=3,k;
printf("%d,%d\n",(i++)+(i++)+(i++),i);
i=3;
printf("%d,%d\n",i,++i+(++i)+(++i));
i=3;
k=(i++)+(i++)+(i++);
printf("%d,%d\n",k,i);
}
运行结果是:
实验程序
、结
果
、
分析
5.编程,求365÷7的商和余数的程序。
教
师
评
阅
成绩:
教师签名:
年月日
实验2最简单的C程序设计
一、实验目的
1.掌握C语言中赋值表达式和赋值语句的使用。
2.正确理解、选择输入格式字符所控制的数据对象、数据输入(输出)形式和方法。
3.掌握输出函数printf()和putchar()的用法,能正确使用各种输出格式。
4.掌握输入函数scanf()和getchar()的用法,能正确使用各种输入格式。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.3、4两题按照题目的要求编写出程序。
3.上机调试程序。
按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.输入并运行以下程序。
#include
main()
{inta;
floatb,c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("\na=%d,b=%f,c=%f\n",a,b,c);
}
若运行时从键盘上输入0↙
则程序运行结果是:
2.输入并运行以下程序。
#include
main()
{intc;
chard;
c=67;d='C';
putchar(c);putchar(d);
putchar('B');putchar(66);
}
程序运行结果是:
实验程序
、结
果
、
分析
3.编程,要求从键盘输入数据,使整型变量a=10,b=8;字符型变量c1='A',c2='a';实型变量x=3.1,y=64.54。
教
师
评
阅
成绩:
教师签名:
年月日
实验3选择结构程序设计
一、实验目的
1.掌握C语言表示逻辑量的方法(以0代表“假”,非0代表“真”)。
2.学会正确使用关系运算符、逻辑运算符及关系表达式、逻辑表达式。
3.熟练掌握各种if语句和switch语句的语法结构和语句功能。
4.结合程序,掌握选择结构程序设计的一般方法,能够用多种方法编写同一程序。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.对每个程序认真进行语法检查与逻辑检查。
3.上机调试程序。
将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.输入并调试以下程序:
#include
main()
{inta,b;
printf("Enteraninteger:
");
scanf("%d",&a);
b=1;
if(++a<0)b=-1;
elseif(a==0)b=0;
printf("a=%d,b=%d\n",a,b);
}
运行时,若从键盘上输入-1↙
则程序运行结果是:
实验程序
、结
果
、
分析
(x>0)
(x<0)
(x=0)
2.编程,计算下列分段函数值:
教
师
评
阅
成绩:
教师签名:
年月日
实验4循环结构程序设计
一、实验目的
1.理解循环的概念,熟悉和掌握while语句,do-while语句和for语句实现循环的方法。
2.掌握穷举算法、迭代算法、递推算法等一些常用算法的程序设计方法。
3.理解并掌握break语句和continue语句的语句功能。
4.能正确使用这些语句进行简单程序设计。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,注意总结各题的编程思路,并记录结果。
2.上机调试程序。
将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
3.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.输入并调试以下程序:
(1)#include
main()
{inti=0;
while(i++<3)printf("%d\n",i);
}运行结果是:
(2)#include
main()
{inti;
for(i=1;i<5;i++)
{if(i%2)printf("*");elsecontinue;
printf("%");
}
printf("@");
}运行结果是:
实验程序
、结
果
、
分析
2.编程,用公式π/4≈1-
+
-
+…求π的近似值,当某项绝对值小于
时计算结束。
教
师
评
阅
成绩:
教师签名:
年月日
实验5数组
一、实验目的
1.理解数组的概念,掌握一维数组和二维数组的定义、存储结构、赋值和输入输出的方法。
2.理解字符串的概念,掌握字符数组和字符串函数的使用。
3.掌握常用的与数组有关的算法,如排序、查找、求极值等。
4.能够用数组的方法,编写一些简单程序。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.按照题目的要求编写出程序,注意总结各题的编程思路。
3.上机调试程序。
将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.输入并调试以下程序:
(1)#include
main()
{inta[3],i,j;
for(i=0;i<=2;i++)a[i]=0;
for(i=0;i<=2;i++)
for(j=0;j<2;j++)
a[j]=a[i]+1;
printf("%d,%d,%d\n",a[0],a[1],a[2]);
}运行结果是:
(2)#include
main()
{inti,j,h,l,m;
staticintx[3][3]={{3,7,1},{5,7,2},{4,9,1}};
m=x[0][0];h=0;l=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(x[i][j]printf(″%d,%d,%d\n″,m,h,l);
}运行结果是:
实验程序
、结
果
、
分析
2.从键盘输入10个整数,编程将这些数按从大到小排序并输出。
教
师
评
阅
成绩:
教师签名:
年月日
实验6函数
一、实验目的
1.理解函数的概念,掌握C语言定义函数的方法。
2.掌握函数实参与形参的对应关系,以及数据的“传递”方式。
3.掌握函数的嵌套调用和递归调用的方法。
4.掌握全局变量和局部变量、动态变量和静态变量的概念及使用方法,能够用函数方法编写一些简单程序。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.按照题目的要求编写出程序,注意总结各题的编程思路。
3.上机调试程序。
将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.输入并调试以下程序:
(1)#include
func(inta,intb)
{intc;
c=a+b;returnc;
}
main()
{intx=3,y=6,z;
z=func((--x,y++,x+y),y);
printf("x=%d,y=%d,z=%d\n",x,y,z);
}运行结果是:
(2)#include
main()
{inta[]={2,4,6,8},x=0,i;
for(i=0;i<4;i++)
printf("%d\n",sub(a,x));
}
sub(p,x)
int*p,x;
{staticintt=3;
x=p[t];t--;return(x);
}运行结果是:
实验程序
、结
果
、
分析
2.编写一个判断素数的函数ifp。
在主函数中调用该函数,求整型数组a[10]中有多少个素数。
教
师
评
阅
成绩:
教师签名:
年月日
实验7指针、结构体、联合与枚举
一、实验目的
1.通过实验,进一步理解指针的概念,会定义和使用指针变量、指针数组。
2.学会使用数组的指针和指向数组的指针变量。
3.学会使用字符串的指针和指向字符串的指针变量。
4.掌握结构体类型变量的定义和使用。
5.掌握结构体类型数组的概念和应用。
6.理解链表的概念,学会对链表进行简单操作。
7.掌握联合的概念与使用。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.按照题目的要求编写出程序,注意总结各题的编程思路。
3.上机调试程序。
将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.输入并调试以下程序:
(1)#include
main()
{charstr[]="abc",*p;
p=&str[5];
puts(p);
}运行结果是:
(2)#include
main()
{structdate
{intyear,month,day;
}today;
printf("%d,%d\n",sizeof(structdate),sizeof(today));
}运行结果是:
(3)main()
{enumteam{my,your=3,his,her=his+5};
printf("%3d%3d%3d%d\n",my,your,his,her);
}运行结果是:
实验程序
、结
果
、
分析
2.有5个学生,包括学生学号(字符型)、姓名(字符型)和3门课成绩(整型),编程完成下面的要求:
(1)计算每个学生的总成绩、平均分,并输出。
(2)将学生成绩按总分从高到低排序并输出,输出项有学生学号、姓名、3门课成绩及总分。
教
师
评
阅
成绩:
教师签名:
年月日
实验8编译预处理、位运算与文件
一、实验目的
1.掌握宏定义的方法及宏替换的实质,注意区分宏定义与函数的不同之处。
2.掌握文件包含处理方法、条件编译的方法。
3.掌握按位运算的概念和方法,学会使用位运算符,能够通过位运算实现对某些位的操作。
二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.按照题目的要求编写出程序,注意总结各题的编程思路。
3.上机调试程序。
将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容
1.输入并调试以下程序:
(1)#include
#defineMIN(x,y)(x)<(y)?
(x):
(y)
main()
{inti,j,k;
i=1;j=5;k=2*MIN(i+3,j-2);
printf("%d\n",k);}运行结果是:
(2)#definePR(x)printf("%3d",x)
main()
{intj,a[]={1,3,4,6,8,9,10},i=5;
for(j=6;j>2;j--)
{switch(j)
{case3:
case4:
PR(a[i++]);break;
case5:
PR(a[--i]);
default:
i--;}
}
}运行结果是:
(3)#include
main()
{unsigneda=0123,b,c,d;
b=a>>2;printf("b=%o\n",b);
c=(a<<3);printf("c=%o\n",c);
d=b&c;printf("d=%o\n",d);}运行结果是:
实验程序
、结
果
、
分析
2.定义一个带参数的宏,使两个参数的值互换。
在主函数中输入两个数作为使用宏的实参,输出已交换后的两个值。
说明:
在程序主函数中使用宏时只能用两个实参,如SWAP(a,b),不能用三个实参。
教
师
评
阅
成绩:
教师签名:
年月日