实验2 C语言基本数据类型

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验2 C语言基本数据类型

一、实验目的:

1.掌握C语言的基本数据类型(整型、字符型和实型)。

2.掌握C语言变量的定义和赋值方法。

3.进一步熟悉C程序的编辑、编译、连接和运行的过程。

二、实验内容:

1.验证性实验

(1) 分析下面程序结果,并上机验证(整型、字符型数据表示和输出)。

#include

void main()

{

int x=010,y=10,z=0x10; /*前导中的'0'是数字0而不是字母o*/

char c1='M',c2='\x4d',c3='\115',c4=77,c; /*字符型数据表示*/

/* 整型数据的输出*/

printf("x=%o,y=%d,z=%x\n",x,y,z);

/* 数据以原进制输出,注意是否有前导0或0x */

printf("x=%d,y=%d,z=%d\n",x,y,z);

/* 数据以10进制输出,换算到10进制,结果对吗?*/

/* 字符型数据的输出*/

printf("c1=%c,c2=%x,c3=%o,c4=%d\n",c1,c2,c3,c4);

/* 数据以原进制输出,注意是否有前导0或0x */

printf("c1=%c,c2=%c,c3=%c,c4=%c\n",c1,c2,c3,c4);

/*结果都是什么字符?,也就是说字符可以自由的表示成几种形式?*/

printf("c1=%d,c2=%d,c3=%d,c4=%d\n",c1,c2,c3,c4);

/*看看这些字符的10进制ASCII码,哦,ASCII码一样,同一种字符*/ /* 字符型数据参与算术运算*/

c=c1+32; /* 字符怎么参加了数学运算,哦,是字符对应的ASCII码-整数

/*参与数学运算;结果还是一个整数-另外一个字符的ASCII码*/

printf("c=%c,c=%d\n",c,c);

/*看看这个字符是什么?'M'+32就变为'm'了字母的大小写转换原来如此!*/ }

(2)分析下面程序结果,并上机验证(整型、实型数据的表示、输入和输出)。

#include

void main()

{

inti,j;

floatm,n;

longx,y;

unsignedintu,v;

char c1,c2;

scanf("%d,%d",&i,&j);

scanf("%f,%f", &m,&n);

scanf("%ld,%ld",&x,&y);

scanf("%o,%o",&u,&v);

scanf("%c,%c", &c1,&c2);

printf("\n");

printf("a=%4d,b=%4d\n",i,j);

printf("c=%8.2f,d=%8.2f\n",m,n);

printf("e=%16ld,f=%16ld\n",x,y);

printf("u=%u,v=%u\n",u,v);

printf("c1=%c,c2=%c\n",c1,c2);

}

(3) 分析下面程序结果,并上机验证(常见预定义的转义字符对输出的控制作用)。

#include

void main()

{

int a,b,c;

a=5,b=6,c=7;

printf("12345678123456781234567812345678\n");

/* 打印一个标尺以便检查输出结果*/

printf("%d\n\t%d %d\n %d %d\t\b%d\n",a,b,c,a,b,c);/*打印1个字符串*/

printf("c:\\a.txt"); /* 打印一个文件名*/

printf("\n");

}

2.填空性实验

以下程序的程序功能是:从键盘输入圆柱体的底面半径r和高h,计算其底面积s和体积v并输出。

#include

void main()

{

float pi=3.14;

float r,h,s,v;

printf("Please input r,h:\n");

scanf("%f,①",&r,②);

s=③;

v=④;

printf("area=%f,volume=%f\n",s,⑤);

}

3.程序改错(标有★的程序行有错,下同)

(1)下列程序的功能是对a+b的值进行四舍五入取整后输出。

#include

void main( )

{floata,b;

int x;

a=3.1;

b=4.5;

x=a+b;

printf("%f",x);★

}

(2)下列程序的功能是输出任意一个整数的个位数字。

#include

void main( )

{float x; ★

int a;

x=12345;

a=x/10; ★

printf("%d",a);

}

4.设计性实验

(1)从键盘输入变量x, y的值,交换它们的值并输出。

提示:

①用scanf( )函数输入x,y的值;

②用第三个变量辅助交换x,y的值;

③用printf( )函数将交换后的x,y输出。

(2)写出一个演示字符型数据溢出的程序。

提示:整型(int型)数据的表达范围是-32768~32767,如果最大允许值32767+1,最小允许值-32768-1,以下程序将会出现什么情况?

#include

void main()

{

inta,b;

a=32767;

b=a+1;

printf("a=%d,a+1=%d\n",a,b);

a=-32768;

b=a-1;

printf("a=%d,a-1=%d\n",a,b);

getch();

/*获得键盘击键,起到暂停程序运行作用,目的是保留用户屏幕,便于查看结果。*/

}

相关文档
最新文档