第2章 C语言程序设计入门
上机实验
实验题目:C语言基本数据类型、常量与变量、运算符与表达式、常用标准库函数的使用
实验目的:
1、了解C程序的内存存储与访问机制。
2、掌握C语言基本数据类型、常量与变量、常用运算符与表达式的使用。
3、初步认识C语言的语句、函数分类,以及函数的内部语句结构。
4、掌握C语言最常用标准库函数的使用。
5、了解C语言提供的多种预处理功能。
6、了解复杂C语言程序结构及其编写机制。
实验内容:
【上机实验ch2S-1】: 熟悉C语言基本数据类型及常量、变量的定义和使用方法
思路提示:常量、变量的“先定义,后使用”原则以及格式化输出函数语句的格式控制。
操作步骤:
1、输入并运行下列程序,分析结果。
#include<stdio.h>
#define Price 35
void main()
{
int n,t;
n=10;
t=n* Price;
printf(“Total=%d\n”,t);
printf(“%s\n”,”This is n* Price. “);
}
运行结果:
Total=350
This is n*Price.
实验结果分析:
(1)程序功能是运用符号常量与整型变量实现计算。
(2)先定义符号常量Price和整型变量n、t,然后再使用、赋值,并实现计算。
(3)使用格式化输出函数语句控制结果输出格式(包括字符串的输出)。
2、输入并运行下列程序,分析结果。
#include<stdio.h>
main()
{
int a=10,b= -10;
unsigned long int c,d;
long int e=50000,f=32767;
c=a;
d=b;
printf(“a=%d,b=%d\n”,a,b);
printf(“a=%u,b=%u\n”,a,b);
printf(“c=%u,d=%u\n”,c,d);
c=a=e;
d=b=f;
printf(“a=%d,b=%d\n”,a,b);
printf(“c=%u,d=%u\n”,c,d);
}
运行结果:
a=10,b=-10
a=10,b=4294967286
c=10,d=4294967286
a=50000,b=32767
c=50000,d=32767
实验结果分析:
先定义不同类型的变量a、b、c、d、e、f,然后再使用这些变量(包括赋值),实现简单运算,并使用格式化输出函数语句控制各变量值的输出格式。
【上机实验ch2S-2】:熟练使用常用运算符和表达式
思路提示:变量的“先定义,后使用”原则;常用运算符和表达式的使用以及格式化输出函数语句的格式控制。
操作步骤:
1、输入并运行下列程序,分析结果。
#include<stdio.h>
void main()
{
int a,b,c,x;
a=5;
c=a+(b=2);
c+=c-=c*c;
printf(“a+b=%d\n”,a+b);
printf(“a-b=%d\n”,a-b);
printf(“a*b=%d\n”,a*b);
printf(“a/b=%d\n”,a/b);
printf(“a%%b=%d\n”,a%b);
printf(“a++=%d,b–=%d\n”,a++,b–);
printf(“++a=%d,–b=%d\n”,++a,–b);
printf(“c=%d\n”,c);
printf(“x=%d\n”,x=(2/2,b*2,a+4,c-a));
}
运行结果:
a*b=10
a/b=2
a%b=1
a++=5,b–=2
++a=7,–b=0
c=-84
x=-91
实验结果分析:
(1)变量的定义、使用(包括赋值);
(2)综合实现算术运算、赋值运算、自增、自减以及逗号运算;
(3)在printf(“a%%b=%d\n”,a%b); 语句中,加两个%%表示a%b。
2、输入并运行下列程序,分析结果。
#include<stdio.h>
void main()
{
int a,b,T;
printf(“Enter a,b:\n”);
scanf(“%d,%d”,&a,&b);
T=a+b;
printf(“a+b=%d\n”,T);
}
运行结果:
Enter a,b:
67,92(↙回车)
a+b=159
实验结果分析:
(1)变量的定义,并通过格式化输入函数语句为变量赋值。
(2)实现求和后,通过格式化输出函数语句输出结果。
【上机实验ch2S-3】:常用的标准库函数使用以及自定义函数初步体验
思路提示:标准库函数的使用要先声明,使用#include <头文件>来实现;标准库函数中的括号不能省略,还要注意函数参数的形式以及条件限制等;调用自定义函数时,也要遵循“先定义,后使用”的原则,同时还要注意定义函数时使用形参,调用函数时使用实参。
操作步骤:
1、输入并运行下列程序,分析结果。
#include <stdio.h>
#include <math.h>
main()
{
double x,y,z,m,k;
x=25;
m=log(x);
y=pow(x,1/3.0);
z=sin(x*3.14/180);
k=sqrt(x);
printf(“log()=%f,pow()=%f,sin()=%f,sqrt(%f)=%f\n”,m,y,z,k);
}
运行结果:
log()=3.218876,pow()=2.924018,sin()=0.422418,sqrt()=5.000000
实验结果分析:
(1)变量的定义与使用原则。
(2)使用数学函数(标准库函数)之前要先声明,即使用预处理命令将math.h文件包含到用户源程序中。
如:#include <math.h>
(3)综合实现了多个数学函数的使用,但是需要注意函数中的括号不能省略,函数参数有形式与条件等限制。
(4)函数参数会出现数值常量、数值变量、数值函数或表达式等。
2、输入并运行下列程序,分析结果。
#include<stdio.h>
float add(float x,float y)
{
return(x+y);
}
void main()
{
float a,b,T;
printf(“Enter a,b:”);
scanf(“%f,%f”,&a,&b);
T=add(a,b);
printf(“a+b=%f\n”,T);
}运行结果:
Enter a,b:56.34,25.87
a+b=82.210001
实验结果分析:
(1)函数也要遵循“先定义,后使用”的原则。程序中自定义求和函数,它是有参函数,其参数列表可以是各种类型的变量,要指明数据类型和变量名称;各个参数之间用逗号(,)分隔。
(2)初步体验到自定义函数调用功能,注意区分调用函数时使用实参,定义函数时使用形参。
【上机实验ch2S-4】:数据的混合运算
思路提示:三种数据类型的转换方式分析,包括:自动类型转换、赋值类型转换和强制类型转换。
操作步骤:
1、输入并运行以下程序代码,分析结果。
#include<stdio.h>
main()
{
float pi=3.14159;
int s,r=4;
s=r*r*pi;
printf(“s=%d\n”,s);
}
运行结果:
s=50
实验结果分析:
(1)程序功能是计算圆面积。
(2)pi为float浮点型,s、r为int整型,在执行s=r*r*pi语句时,r和pi均转换为double浮点型参与计算,结果也是double浮点型。
(3)由于s为int整型,所以,赋值后结果仍为int整型,舍去了小数部分。
2、输入并运行以下程序代码,分析结果。
#include<stdio.h>
main()
{
int a=13;
float b=368.5006,c;
c=(float)a+b;
printf(“c=%f\n”,c);
}
运行结果:
c=381.500610
实验结果分析:
整型变量a被临时性强制转换为float型,仅在运算中起作用,a本身的类型并不改变。
评论0