图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