当前位置:首页 > 实验2 C语言基本数据类型
实验2 C语言基本数据类型 一、实验目的:
1.掌握C语言的基本数据类型(整型、字符型和实型)。 2.掌握C语言变量的定义和赋值方法。
3.进一步熟悉C程序的编辑、编译、连接和运行的过程。 二、实验内容:
1.验证性实验
(1) 分析下面程序结果,并上机验证(整型、字符型数据表示和输出)。 #include
int x=010,y=10,z=0x10; /*前导中的'0'是数字0而不是字母o*/ char c1='M',c2='\\x4d',c3='\\115',c4=77,c; /*字符型数据表示*/ /* 整型数据的输出 */
printf(\,z);
/* 数据以原进制输出,注意是否有前导0或0x */ printf(\,z);
/* 数据以10进制输出,换算到10进制,结果对吗? */
/* 字符型数据的输出 */
printf(\ /* 数据以原进制输出,注意是否有前导0或0x */ printf(\
/*结果都是什么字符?,也就是说字符可以自由的表示成几种形式?*/ printf(\
/*看看这些字符的10进制ASCII码,哦,ASCII码一样,同一种字符 */ /* 字符型数据参与算术运算 */
c=c1+32; /* 字符怎么参加了数学运算,哦,是字符对应的ASCII码-整
数
/*参与数学运算;结果还是一个整数-另外一个字符的ASCII码 */ printf(\
/*看看这个字符是什么?'M'+32就变为'm'了字母的大小写转换原来如此!*/ }
(2)分析下面程序结果,并上机验证(整型、实型数据的表示、输入和输出)。 #include
inti,j; floatm,n; longx,y;
unsignedintu,v; char c1,c2;
scanf(\
scanf(\scanf(\scanf(\scanf(\printf(\
printf(\printf(\printf(\printf(\printf(\}
(3) 分析下面程序结果,并上机验证(常见预定义的转义字符对输出的控制作用)。
#include
int a,b,c; a=5,b=6,c=7;
printf(\ /* 打印一个标尺以便检查输出结果 */
printf(\打印1个字符串 */ printf(\ /* 打印一个文件名 */ printf(\}
2. 填空性实验
以下程序的程序功能是:从键盘输入圆柱体的底面半径r和高h,计算其底面积s和体积v并输出。
#include
float pi=3.14; float r,h,s,v;
printf(\scanf(\①\②); s=③ ; v=④;
printf(\⑤); }
3.程序改错(标有★的程序行有错,下同) (1)下列程序的功能是对a+b的值进行四舍五入取整后输出。 #include
void main( ) {floata,b; int x; a=3.1; b=4.5; x=a+b;
printf(\★ }
(2)下列程序的功能是输出任意一个整数的个位数字。 #include
x=12345; a=x/10; ★ printf(\ }
4.设计性实验
(1)从键盘输入变量x, y的值,交换它们的值并输出。 提示:
①用scanf( )函数输入x,y的值; ②用第三个变量辅助交换x,y的值; ③用printf( )函数将交换后的x,y输出。 (2)写出一个演示字符型数据溢出的程序。
提示:整型(int型)数据的表达范围是-32768~32767,如果最大允许值32767+1,最小允许值-32768-1,以下程序将会出现什么情况?
#include
inta,b;
a=32767; b=a+1;
printf(\ a=-32768; b=a-1;
printf(\getch();
/*获得键盘击键,起到暂停程序运行作用,目的是保留用户屏幕,便于查看结果。*/
}
答案:1.验证性实验 (1) 程序运行结果 x=10,y=10,z=10 x=8,y=10,z=16
c1=M,c2=4d,c3=115,c4=77 c1=M,c2=M,c3=M,c4=M c1=77,c2=77,c3=77,c4=77 c=m,c=109 (2)程序运行结果 输入: 1,2 3,4 5,6 7,6 a,b 输出:
a= 1,b= 2
c= 3.00,d= 4.00
e= 5,f= 6 u=7,v=6 c1= ,c2=2 输入: 1,2 2,3 3,4 4,5a,b 输出:
a= 1,b= 2
c= 2.00,d= 3.00
e= 3,f= 4 u=4,v=5 c1=a,c2=b (3)程序运行结果
12345678123456781234567812345678 5
共分享92篇相关文档