C语言实验指导书
实验二 C语言运算符和表达式
【目的与要求】
1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
2.学会使用C语言的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
3.进一步熟悉C程序的编辑、编译、连接和运行的过程。
【上机内容】
【示例】
【例1】输入并运行以下程序,写出运行结果。 main() {
char c1,c2; c1=97;c2=98;
printf(\ }
在此基础上
1)加一个下面printf语句,并运行之。 printf(\ 2)再将第3行改为: int c1,c2;
再使之运行。
3)再将第4行改为: c1=300; c2=400;
再使之运行,分析其运行结果。
在该程序中,说明了字符型数据在特定情况下可作为整型数据处理,整型数据有时也可以作为字符型数据处理。
【例2】分析下程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。
main() {
char c1='a',c2='b',c3='c',c4='\\101',c5='\\116'; printf(\ printf(“\\t\\b%c %c”,c4,c5); }
- 7 -
C语言实验指导书
在该程序中,主要考查对转义字符的掌握情况。
【例3】分析下面程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。
main() {
int i , j , m , n ; i=8; j=10;
m=++i; n=j++;
printf(“%d,%d,%d,%d\\n”,i,j,m,n); }
分别作以下改动之后,先分析再运行: 1)将第四行改为: m=i++; n= ++ j; 2)程序改为: main() { int i , j ; i=8; j=10;
printf(“%d,%d”, i++, j++); }
3)在2)的基础上,将printf语句改为: printf(“%d,%d”, ++ i, ++ j ); 4)再将printf语句改为: printf(“%d,%d,%d,%d”,i,j,i++,j++); 5)程序改为: 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); }
此程序主要考查自加、自减运算符以及复合运算符的用法。 【练习】
1.要将“China”译成密码,密码规律是:用原来的字母后面第5个字母代替原来的字母。例如,字母“A”后面第5个是“F”,用“F”代替“A”。因此,“China”应译为“Hmnsf”。请编一程序,用赋初值的方法使c1、c2、c3、c4、c5五个变量的值分别为’C’、’h’、’i’、’n’、’a’,经过运算,使其分别变为’H’、’m’、’n’、’s’、’f’,
- 8 -
C语言实验指导书
并输出。
2.求下面算术表达式的值。
(1)x+a%3*(x+y)%2/4 设x=2.5,a=7,y=4.7
(2)(float)(a+b)/2+(int)x%(int)y
设a=2,b=3,x=3.5,y=2.5
先自己分析,再试着用程序求解,看得到的结果是否一致。
3.写出下面表达式运算后a的值,设原来a=10。设a和n已定义成整型变量。 (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a 先自己分析,再试着用程序求解,看得到的结果是否一致。
- 9 -
C语言实验指导书
实验三 简单的C程序设计
【目的与要求】
1.理解C语言程序的顺序结构
2.掌握常用的C语言语句,熟练应用赋值、输入、输出语句。
【上机内容】
【示例】
【例1】按格式要求输入/输出数据。 #include \ main() { int a,b; float x,y;
char c1,c2;
scanf(“a=%d,b=%d”,&a,&b); scanf(“%f,%e”,&x,&y);
scanf(“%c%c”,&c1,&c2);
printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\\n”,a,b,x,y,c1,c2); }
运行该程序,必须按如下方式在键盘上输入数据 a=3,b=7 ↙ 8.5,71.82 ↙
aA ↙
请同学们写出输出结果
【例2】输入三角形三边长,求三角形面积。 #include “math.h” main()
{
float a,b,c,s,area;
scanf(“%f,%f,%f”,&a,&b,&c); s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“area=%f”,area);
}
【例3】已知圆半径,圆柱高,求圆周长,圆柱体积。 main()
- 10 -