实验2 数据类型、运算符和表达式

更新时间:2023-10-04 14:16:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验2 数据类型、运算符和表达式

一 、实验目的:

1.了解C语言的数据类型的种类。

2.熟悉C语言的变量与常量的定义域使用。 3.实践并掌握数据类型的定义域使用。 4.实践并掌握算数运算符及相应表达式。

5.实践并掌握不懂数据类型间的相互转换方法,理解类型间转换的内在规则与含义。

二、实验设备:

1. 硬件 PC机

2. 软件 VMware Workstation、Red Hat Linux

三、实验内容:

1.知识点实例验证 2. 上机实验练习

四、实验步骤

1.知识点实例验证 (1)简单的变量输出 #include Int main() { int a=200,b; unsigned int u; long l; char ch; float f; b=-1;u=b;l=u; ch=’A’;f=32.17; printf(“a=%d\\t”,a); printf(“b=%d\\n”,b);

printf(“u=%u\\t”,u); printf(“l=%ld\\t”,l); printf(“f=%f\\t”,f);

printf(“ch is %c and value is %d\\n ”,ch,ch); return 0; }

(2)向字符变量赋以整数 #include Int main() { char a,b; a=120;b=121; printf(“a=%c,b=%c\\na=%d,b=%d\\n”,a,b,a,b);

return 0; }

(3)大小写字母的转换(编程实现) (4)不同类型数据的混合运算 #include Int main() { int b,i; float f; double d=20,s; char c=’a’; printf(“输入两个整数b,i:\\n”); scanf(“%d,%d”,&b,&i); printf(“输入一个实数f:\\n”); scanf(“%f”,&f); s=b+c+i*f-d printf(“s=%.2f\\n”,s); return 0;

}

(5) 自增表达式运算 #include Int main() { int i=3; int j=4; i++; ++j; printf(“i=%d,j=%d\\n”,i,j); return 0;

}

(6) 逻辑表达式运算 #include Int main() { int x,y; printf(“输入两个整数x,y:\\n”); scanf(“%d,%d”,&x,&y); if (x>20 || x<-10) {

if (y<100 && y>x) printf(”good\\n”);

} else

printf(”bad\\n”);

return 0;

}

(7) 循环移位,要求将a 进行右循环移位。即将a中原来(16-n)位右移n为,原理右端n位移到最左面n位 #include Int main() { unsigned short a,b,c; int n; scnaf(”a=%x,n=%d”,&a,&n); b=a<<(16-n); c=a>>n; c=c|b; printf(“a=%x,c=%x\\n”,a,c); return 0;

}

2. 上机实验练习

(1)从键盘输入两个小写的英文字母,编程交换他们的值,然后输出其对应的ASCII码,如:输入c1=’a’,c2=’b’,输出a=98,b=97. (2)若有以下程序段: int c1=2,c2=4,c3; c3=1.0/c2*c1; 则执行后,c3中的值为: 若程序段改为: int c1=1,c2=2,c3; c3=1/c2*c1; 则执行后,c3中的值为: (3)#include Int main() { int a=7,b=10; a=a+b; b=a-b; a=a-b; printf(“a=%d,b=%d\\n”,a,b); return 0;

}

程序运行的功能是 (4)输入并运行以下程序:

#include int main( )

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

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

运行,观察结果。

分别作以下改动并运行: ①程序改为: main( )

{int i=8,j=10;

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

②在①的基础上,将printf语句改为: printf(“%d,%d\\n”,++i,++j); ③再将printf语句改为:

printf(“%d,%d,%d,%d\\n”,i,j, i++,j++); ④程序改为: int main( )

{int i=8,j=10,m=0,n=0;; m+=i++;n-=--j;

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

(5) 分析下列程序,指出程序运行结果 int main() {int a,b,c,x; a=5;b=7;c=9; x=a<=b&&b<=c; printf(“x=%d\\n”,x); return 0;}

(6) 执行如下程序: int main() {

char c1,c2,c3; unsigned char c4;

c1=’a’;c2=’b’;c3=99;c4=256;

printf(“c1=%c,c2=%c,c3=%c,c4=%c\\n”,c1,c2,c3,c4); return 0; }

① 输出的结果是什么?

② 若在printf后加一语句;printf(c1=%d,c2=%d,c3=%d,c4=%d\\n”,c1,c2,c3,c4); 输出的结果

是什么?

③ 将变量c4改为字符变量(char),将c1,c2,c3改为整型变量观察输出结果的变化。

本文来源:https://www.bwwdw.com/article/12ad.html

Top