C程序设计基础上机实验指导书 下载本文

图9

图10

实验二 顺序结构程序设计

一、实验目的

1.掌握scanf和printf的主要用法。 2.掌握常用转换控制符的用法。 3.掌握赋值语句的用法。

4.掌握算术运算符的运算规律。 二、实验内容

1.编辑如下程序并运行,记录程序的输出结果,体会格式输出的使用。 #include \void main( ) {

printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\

10

printf(\ printf(\ printf(\

printf(\ printf(\ printf(\ printf(\}

2.编辑如下的程序,并上机运行3次,在每次运行提供输入数据时分别采用数据之间插入空格、每输入一个数据就按回车键、数据之间用TAB键分割,看结果有什么不同? #include \void main( ) {

int x,y,t;

printf(\ scanf(\

printf(\ y=%d\\n\ t=x; x=y; y=t;

printf(\ y=%d\\n\}

3.改错题。下列程序多处有错,请通过上机改正。使之符合下面的要求。 #include \void main( ) {

double a,b,c,s,v; printf(Input a,b,c:\\n); scanf(\ s=a*b; v=a*b*c;

printf(\ b=%d c=%d\\n\ printf(\}

当本程序运行时,要求按如下方式显示和输入:

Input a,b,c:2.0 2.0 3.0 (此处的2.0 2.0 3.0为用户输入的) a=2.000000 b=2.000000 c=3.000000 s=4.000000 v=12.000000

4. 编辑如下程序:

/* 字符类型定义及使用 */

11

#include \void main() {

char c1, c2; c1 = 'a'; c2 = ‘b’;

printf (?%c %c\\n?, c1, c2); }

(1运行此程序,记录运行结果。

(2在最后增加一个语句:printf(?%d%d\\n?,c1,c2);再运行,并记录分析结果。 (3再将第5行char c1,c2;改为:int c1,c2;再使之运行,并观察记录结果。 (4再将第 6、7行改为: c1 = a; /* 不用单引号 */ c2 = b;

再运行,记录分析其运行结果。 (5再将第 6、7行改为: c1 = ?a?; /* 用双引号 */ c2 = ?b?;

再运行,记录分析其运行结果。 (6再将第 6、7行改为:

c1 = 300; /* 用大于255的整数 */ c2 = 400;

再运行,记录分析其运行结果。

5. 编辑如下程序:

/* 自增自减运算符 */ #include \void main() {

int i,j,m,n; i = 8; j = 10; m = ++i; n = j++;

printf(“%d,%d,%d,%d”, i, j, m, n); }

(1)运行程序,记录i、j、m、n 各变量的值,分别作以下改动并运行。 (2)将第7、8行改为下面所示,再运行。 m = i++; n = ++j;

记录i、j、m、n 各变量的值

(3)在(1)的基础上,将printf 语句改为: printf(“%d,%d”, ++i, ++j);

运行程序,记录i、j、m、n 各变量的值。

12

(4)再将printf 语句改为:

printf(“%d,%d,%d,%d”, i, j, i++, j++); 运行程序,记录i、j、m、n 各变量的值。

(5)再修改程序如下,运行程序记录i、j、m、n 各变量的值。 #include \void main() {

int i, j, m=0, n=0; i = 8; j = 10;

m+= i++; n-= --j;

printf(“i=%d,j=%d,m=%d,n=%d”, i, j, m, n); }

6. 编程题。编写程序,完成对于任意输入的两个整数,求出它们的商和余数并进行输出。

三、对上述实验内容进行总结,写出实验报告。

实验三 表达式的计算

一、实验目的

1.掌握算术表达式、逗号表达式、赋值表达式的计算。 2.特别注意运算符%、/(整数的相除)、++和--运算的规律。 二、实验内容

1.已知三角形的三边a,b,c,求三角形面积的公式为:

area=sqrt(s(s-a)(s-b)(s-c))

其中:s=(a+b+c)/2,sqrt(x)表示x的平方根。要求编一程序,对任意输入的a,b,c值,计算并输出三角形的面积范围。

提示:sqrt是C的标准库函数,使用该函数应将库文件?math.h?包含到源文件中。另外注意三角形三边的基本关系。

2.对以下程序进行分析,看程序的输出结果应是什么,然后上机运行该程序看实际结果与你分析的有无不同,找出原因。 #include \void main( ) {

int x=1,y=2,t; float m; t=x/y; m=x/y;

printf(\ t=x/(float)y;m= x/(float)y; printf(\ t=(float)x/y;m=(float)x/y; printf(\ }

13

3.编辑以下程序:对程序进行分析,看程序的输出结果在下列各种情况下应是什么,然后上机运行该程序看实际结果(写在实验报告里)与你分析的有无不同,找出原因。 #include \void main( ) {

int x,y,t; double a; float b; int c;

scanf(“%d%d”,&x,&y); c=b=a=20/3; t=(x%y,x/y);

printf(\ %d\\n\ printf(\

printf(\ printf(\ %f %f\\n\ }

⑴程序运行时,在键盘上输入20 3 ⑵程序运行时,在键盘上输入15 5 三、对上述实验进行总结,写出实验报告,把你通过本实验掌握的内容整理出来。

实验四 选择结构程序设计(一)

一、实验目的

1. 掌握关系表达式和逻辑表达式的使用。 2. 熟悉选择结构程序设计。

3. 熟练使用if语句进行程序设计。

4. 使用switch语句实现多分支选择结构。 二、实验内容

1.运行以下程序,说明表达式值

1和表达式值2的不同。

#include \

void main() {

int a=3,b=2,c=1,d=0;

printf(\表达式1=%d\\n\ printf(\表达式2=%d\\n\

14