c程序上机试验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

安徽建筑工业学院
信息网络中心
实验报告
课程名称:程序设计基础—C程序实验
指导教师:
专业:
班级:
姓名:
学号:
201 至201 学年第学期
实验1 C程序运行环境、数据类型、运算符和表达式
一、实验目的
1.掌握Turbo C集成环境的进入与退出、Turbo C集成环境各种窗口的切换,了解Turbo C集成环境的设置。

2.掌握C语言源程序的建立、编辑、修改、保存及编译和运行等操作。

3.学会使用C语言的基本运算符(主要是算术运算符、赋值运算符)及其表达式。

4.掌握C语言源程序的结构特点与书写规范。

二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。

2.上机调试程序。

按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。

3.详细记录数据的输入、输出信息,按要求写出实验报告。

三、实验内容
1.开机;进入Turbo C集成工作环境,了解Turbo C集成工作环境及其菜单的使用,输入如下C语言源程序,并以ex1.C存盘。

/*ex1.c*/
#include <stdio.h>
main()

printf("Hello!\n");
printf("This is C program!\n");

试编译、连接、运行该程序,并按Alt+F5查看运行结果。

运行结果是:
2.输入并调试运行以下程序,查看运行结果(由此结果可以了解到在实验用的微型机上,几种数据类型所占的字节数)。

main()
{
printf("char\t%d bytes\n",sizeof(char));
printf("short\t%d bytes\n",sizeof(short));
printf("int\t%d bytes\n",sizeof(int));
printf("long\t%d bytes\n",sizeof(long));
printf("float\t%d bytes\n",sizeof(float));
printf("double\t%d bytes\n",sizeof(double));
}
运行结果是:
3.输入并调试运行以下程序。

main()
{int i,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()
{int i,j;
i=8;j=10;
printf("%d,%d",i++,j++);
} 运行结果是:
4.试分析下面程序的运行结果:
#include<stdio.h>
main()
{int i=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);
}
运行结果是:
实验2 最简单的C程序设计
一、实验目的
1.掌握C语言中赋值表达式和赋值语句的使用。

2.正确理解、选择输入格式字符所控制的数据对象、数据输入(输出)形式和方法。

3.掌握输出函数printf()和putchar()的用法,能正确使用各种输出格式。

4.掌握输入函数scanf()和getchar()的用法,能正确使用各种输入格式。

二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。

2.3、4两题按照题目的要求编写出程序。

3.上机调试程序。

按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。

4.详细记录数据的输入、输出信息,按要求写出实验报告。

三、实验内容
1.输入并运行以下程序。

#include<stdio.h>
main()
{int a;
float b,c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("\na=%d,b=%f,c=%f\n",a,b,c);
}
若运行时从键盘上输入↙
则程序运行结果是:
2.输入并运行以下程序。

#include <stdio.h>
main()
{int c;
char d;
c=67;d='C';
putchar(c);putchar(d);
putchar('B');putchar(66);

程序运行结果是:
实验3 选择结构程序设计
一、实验目的
1.掌握C语言表示逻辑量的方法(以0代表“假”,非0代表“真”)。

2.学会正确使用关系运算符、逻辑运算符及关系表达式、逻辑表达式。

3.熟练掌握各种if语句和switch语句的语法结构和语句功能。

4.结合程序,掌握选择结构程序设计的一般方法,能够用多种方法编写同一程序。

二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。

2.对每个程序认真进行语法检查与逻辑检查。

3.上机调试程序。

将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。

4.详细记录数据的输入、输出信息,按要求写出实验报告。

三、实验内容
1.输入并调试以下程序:
#include<stdio.h>
main()
{int a,b;
printf("Enter an integer:");
scanf("%d",&a);
b=1;
if(++a<0) b=-1;
else if (a==0) b=0;
printf("a=%d,b=%d\n",a,b);
}
运行时,若从键盘上输入-1↙
则程序运行结果是:
实验4 循环结构程序设计
一、实验目的
1.理解循环的概念,熟悉和掌握while语句,do-while语句和for语句实现循环的方法。

2.掌握穷举算法、迭代算法、递推算法等一些常用算法的程序设计方法。

3.理解并掌握break语句和continue语句的语句功能。

4.能正确使用这些语句进行简单程序设计。

二、实验要求
1.根据题目要求,进行各种程序测试与验证,注意总结各题的编程思路,并记录结果。

2.上机调试程序。

将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。

3.详细记录数据的输入、输出信息,按要求写出实验报告。

三、实验内容
1. 输入并调试以下程序:
(1)#include<stdio.h>
main()
{ int i=0;
while(i++<3) printf("%d\n",i);
} 运行结果是:
(2)#include <stdio.h>
main()
{ int i;
for(i=1;i<5;i++)
{ if(i%2) printf("*");else continue;
printf("%");
}
printf("@");
} 运行结果是:
实验5 数组
一、实验目的
1.理解数组的概念,掌握一维数组和二维数组的定义、存储结构、赋值和输入输出的方法。

2.理解字符串的概念,掌握字符数组和字符串函数的使用。

3.掌握常用的与数组有关的算法,如排序、查找、求极值等。

4.能够用数组的方法,编写一些简单程序。

二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。

2.按照题目的要求编写出程序,注意总结各题的编程思路。

3.上机调试程序。

将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。

4.详细记录数据的输入、输出信息,按要求写出实验报告。

三、实验内容
1.输入并调试以下程序:
(1)#include<stdio.h>
main()
{ int a[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 <stdio.h>
main()
{ int i,j,h,l,m;
static int x[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]<m) { m=x[i][j];h=i;l=j; }
printf(″%d,%d,%d\n″,m,h,l);
} 运行结果是:
实验6 函数
一、实验目的
1.理解函数的概念,掌握C语言定义函数的方法。

2.掌握函数实参与形参的对应关系,以及数据的“传递”方式。

3.掌握函数的嵌套调用和递归调用的方法。

4.掌握全局变量和局部变量、动态变量和静态变量的概念及使用方法,能够用函数方法编写一些简单程序。

二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。

2.按照题目的要求编写出程序,注意总结各题的编程思路。

3.上机调试程序。

将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。

4.详细记录数据的输入、输出信息,按要求写出实验报告。

三、实验内容
1.输入并调试以下程序:
(1)#include<stdio.h>
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("x=%d,y=%d,z=%d\n",x,y,z);
} 运行结果是:
(2)#include <stdio.h>
main()
{ int a[]={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;
{static int t=3;
x=p[t];t--;return(x);
} 运行结果是:
实验7 指针、结构体、联合与枚举
一、实验目的
1.通过实验,进一步理解指针的概念,会定义和使用指针变量、指针数组。

2.学会使用数组的指针和指向数组的指针变量。

3.学会使用字符串的指针和指向字符串的指针变量。

4.掌握结构体类型变量的定义和使用。

5.掌握结构体类型数组的概念和应用。

6.理解链表的概念,学会对链表进行简单操作。

7.掌握联合的概念与使用。

二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。

2.按照题目的要求编写出程序,注意总结各题的编程思路。

3.上机调试程序。

将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。

4.详细记录数据的输入、输出信息,按要求写出实验报告。

三、实验内容
1.输入并调试以下程序:
(1)#include <stdio.h>
main()
{char str[]="abc",*p;
p=&str[5];
puts(p);
} 运行结果是:
(2)#include<stdio.h>
main()
{ struct date
{ int year,month,day;
}today;
printf("%d,%d\n",sizeof(struct date), sizeof(today));
} 运行结果是:
(3)main()
{ enum team{my,your=3,his, her=his+5};
printf("%3d%3d%3d%d\n",my,your,his,her);
} 运行结果是:
实验8 编译预处理、位运算与文件
一、实验目的
1.掌握宏定义的方法及宏替换的实质,注意区分宏定义与函数的不同之处。

2.掌握文件包含处理方法、条件编译的方法。

3.掌握按位运算的概念和方法,学会使用位运算符,能够通过位运算实现对某些位的操作。

二、实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。

2.按照题目的要求编写出程序,注意总结各题的编程思路。

3.上机调试程序。

将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。

4.详细记录数据的输入、输出信息,按要求写出实验报告。

三、实验内容
1.输入并调试以下程序:
(1)#include<stdio.h>
#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("%d\n",k); } 运行结果是:
(2)#define PR(x) printf ("%3d",x)
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--; }
}
} 运行结果是:
(3)#include <stdio.h>
main()
{ unsigned a=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); } 运行结果是:。

相关文档
最新文档