c实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分绪论
本指导书是根据《高级语言程序设计A / B》课程实验教学大纲编写的,适用于计算机科学与技术、信息管理与信息系统、数学与应用数学、信息与计算科学、电子科学与技术、电子信息工程、物理学、教育技术学、电子商务等本科专业。
一、本课程实验的作用与任务
《高级语言程序设计A / B》是计算机科学与技术、信息管理与信息系统、数学与应用数学、信息与计算科学、电子科学与技术、电子信息工程、物理学、教育技术学、电子商务等本科专业的专业必修/选修课程,要求学生掌握程序设计的基本思想、C语言的基本语法及编程方法,培养学生编写程序及调试程序的能力,在一定层面上培养学生的创新精神和创新设计的能力。上机实验是该课程教学的一个重要环节,要求学生进行一定数量的上机实验。本指导书可增强学生上机的针对性。
二、本课程实验的基础知识
本课程实验的基础知识有:C程序的运行环境及调试、运行C程序;C语言的基础知识;三种程序设计结构;数组;函数;指针;结构体;文件和链表。
三、本课程实验教学项目及其教学要求
第二部分基本实验指导
实验一C语言环境
一、实验目的
掌握如何编辑、编译、连接和运行一个C程序,通过运行简单的C程序,初步了解C源程序的特点,掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法,掌握不同的类型数据之间赋值的规律,学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++) 和自减(--) 运算符的使用。
二、实验原理
了解C程序的运行环境和运行C程序,掌握C语言的一些基本知识(数据类型、运算符和表达式等)。
三、主要仪器及耗材
计算机与Windows 2000/XP系统;Turbo C/Win-TC等软件。
四、实验内容与步骤
内容:
1. 进入所用的C语言集成环境;
2. 熟悉集成环境的界面和有关菜单的使用方法;
3. 输入并运行一些C程序。
步骤:
1. 输入下面的程序:
#include
void main( )
{printf(“This is a C program.\n”);}
a. 对源程序进行编译,观察屏幕上显示的编译信息。如果出现
“错误信息”,则应找出原因并改正之,再进行编译,如果无
错,则进行连接;
b. 如果编译连接无错误,使程序运行,观察分析运行结果。
2. 输入以下程序(故意漏打或打错几个字符)。
#include
void main( )
{int a, b, sum;
a=123; b=456;
sum=a+b;
printf(“sum is %d\n”, sum);}
a. 进行编译,仔细分析编译信息窗口,可能显示有多个错误,
逐个修改,直到不出现错误;
b. 使程序运行,分析运行结果。
3. 输入下面的程序:
#include
void main( )
{int max(int x, int y);
int a, b, c;
printf(“input a and b: ”);
scanf(“%d,%d”, &a, &b);
c=max(a, b);
printf(“max=%d\n”, c);}
int max(int x, int y)
{int z;
if(x>y) z=x;
else z=y;
return(z);}
a. 编译并运行,在运行时从键盘输入整数2和5,然后按回车
键,观察运行结果;
b. 将程序中的第3行改为int a; b; c;,再进行编译,观察运行结
果。
c. 将max函数中的第3, 4两行合并写为一行,即if(x>y) z=x;
else z=y;,进行编译和运行,分析结果。
4. 输入并运行下面的程序:
#include
void main( )
{char c1, c2;
c1=‟a‟;
c2=‟b‟;
printf(“%c %c\n”, c1, c2);}
a. 在printf语句下再增加一个printf语句:printf(“%d %d\n”,c1,
c2);,再运行,并分析结果;
b. 将第3行改为int c1, c2;,再使之运行,并观察结果;
c. 再将第4, 5行改为c1=a; c2=b;,再使之运行,分析其运行结
果;
d. 再将第4, 5行改为c1=”a”; c2=”b”;,再使之运行,分析其运
行结果;
e. 再将第4, 5行改为c1=300; c2=400;,再使之运行,分析其运
行结果。
5. 输入并运行以下程序。在上机前先用人工分析程序,写出应得
结果,上机后将二者对照。
#include
void main( )
{char c1=‟a‟,c2=‟b‟,c3=‟c‟,c4=‟\101‟,c5=‟\116‟;
printf(“a%cb%c\tc%c\tabc\n”, c1, c2, c3);
printf(“\t\b%c%c\n”, c4, c5);}
6. 输入并运行下面的程序:
#include
void main( )
{int a, b;
unsigned c, d;
long e, f;
a=100;
b=-100;
e=50000;
f=32767;
c=a;
d=b;
printf(“%d, %d\n”, a, b);
printf(“%u, %u\n”, a, b);
printf(“%u, %u\n”, c, d);
c=a=e;
d=b=f;
printf(“%d, %d\n”, a, b);
pri ntf(“%u, %u\n”, c, d);}
对照程序和运行结果分析:
a. 将一个负数赋给一个无符号的变量,会得到什么结果;
b. 将一个大于32767的长整数赋给整型变量(假定所用的C系
统分配给整型变量2个字节),会得到什么结果;
c. 将一个长整数赋给无符号变量,会得到什么结果(分别考虑
该长整数的值大于或等于65535和小于65535的情况)。7. 输入以下程序:
#include