第13章 实验与指导
为了结合实际,强化操作,加强实践环节,激励创新意识,增强实验的针对性,提高程序设计的编程能力和调试能力,本章给出了与各章对应的实验题目,并给以必要的指导。
读者也可以举一反三,根据自己的学习兴趣,将自己专业领域或生活中的某些问题,作为实验题目,创造性地解决自己面临的实际问题,提高成就感和自豪感。
实验1 C程序的运行环境和运行C程序的方法
一、目的要求
1.认识在计算机系统上编辑、编译、连接和运行C程序的步骤。
2.在调试程序中观察系统提示,改正编译错误或连接错误。
3.了解C语言源程序的结构及书写格式,了解表达C语言程序的各个组成成分的术语。
二、实验内容
思考问题:什么是源程序?C语言源程序的结构是怎样的?C语言源程序的书写格式怎样?指出第1章例题的程序中哪些是注释、预处理命令、声明部分、可执行语句、函数定义、函数调用、关键字、main函数等。
1.练习进入C语言编程界面。输入下列源程序,进行修改、编译、连接和运行。应了解是用什么命令进行编译、连接和运行的。运行的结果是什么?
程序如下:
#include "stdio.h"
main ( )
{
printf("Programming is Fun.\n");
}
运行结果为:
2.输入下列源程序,进行修改、编译、连接和运行。运行的结果是什么?
程序如下:
#include "stdio.h"
main ( )
{ printf("Programming \n");
printf("is Fun.\n");
}
运行结果为:
运行结果比上题多一行,可知\n的作用是:
3.输入下列源程序,进行修改、编译、连接和运行。运行的结果是什么?
程序如下:
#include "stdio.h"
#include
main ( )
{
float x;
x=sin(3.141593/4);
printf("%f\n",x);
}
运行结果为:
语句float x; 的作用是:
实验2 数据类型、运算符与表达式
一、目的要求
1.掌握C语言的基本数据类型。
2.学会如何书写整型、实型常量,如何定义整型、实型变量。
3.掌握C语言的算术运算符、赋值运算符、逗号运算符及运算规则。
4.掌握表达式的求值规则。
二、实验内容
思考问题:数据类型、运算符、表达式在C语句中充当什么成分?什么是标识符?如何书写整型、实型、字符型常量?如何定义整型、实型、字符型变量?怎样表示字符串?如何求表达式的值?混合表达式的求值规则是怎样的?
1.输入下列源程序,进行修改、编译、连接和运行。分析++运算符。
程序如下:
#include "stdio.h"
main ( )
{
int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d\n",i,j,m,n);
}
运行结果为:
前++的含义是:
后++的含义是:
2.输入下列源程序,进行修改、编译、连接和运行。分析++和--运算符。
程序如下:
#include "stdio.h"
main ( )
{
int i,j;
i=8;
j=10;
printf("%d,%d\n",i,j);
printf("%d,%d\n",i++,j--);
printf("%d,%d\n",i,j);
printf("%d,%d\n",++i,--j);
}
运行结果为:
分析如何得出此运行结果:
3. 输入下列源程序,进行修改、编译、连接和运行。分析表达式的值。
#include
main ( )
{
int a=7,b=3;
float x=2.5,y=4.7,z1,z2;
printf("z1=%f\n",x+a%3*(int)(x+y)%2/4);
printf("z2=%f\n",(float)(a+b)/2+(int)x%(int)y);
}
运行结果为:
表达式x+a%3*(int)(x+y)%2/4得到这样的结果是因为:
表达式(float)(a+b)/2+(int)x%(int)y得到这样的结果是因为:
4. 输入下列源程序,进行修改、编译、连接和运行。分析表达式的值。
#include "stdio.h"
main( )
{
int x, z;
float y, w;
x=(1+2, 5/2, -2*4, 17%4);
y=(1.+2. , 5./2. , -2.*4.);
z=(1+2, 5/2 , -2*4 , -17%4);
w=(1+2, -2