实验2数据类型运算符和表达式Word文档格式.docx
《实验2数据类型运算符和表达式Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验2数据类型运算符和表达式Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
实验时间
一、实验目的及要求
1.掌握C基本数据类型的基本概念、基本属性。
2.学会如何书写一个整型、字符型、实型常量。
3.掌握C算术运算符的基本概念、基本属性、运算规则。
二、实验设备(环境)及要求
使用TurboC或VisualC++6.0;
windows系列操作系统的环境。
二、实验内容与步骤
1.测试数据类型范围:
程序:
#include<
stdio.h>
voidmain(){
inta;
a=111111111111111111111;
printf(“%d”,a);
}
输入课本例2-3代码,运行结果:
输入课本例2-6代码,运行结果:
1.输入下列源程序,进行修改、编译、连接和运行。
运行结果是:
两行结果的不同是由什么引起的:
因为%后面的字母不同引起的
2.输入下列源程序,进行修改、编译、连接和运行。
分析++运算符。
分析前++和后++的不同:
m=++i;
m=i;
i=i+1
n=j++,n=j;
j=j+1;
3.输入下列源程序,进行修改、编译、连接和运行。
分析++和--运算符。
分析运行结果:
++,--放在后面时是在下一个语句是执行加一或者减一,放在前面是就是直接执行加一或者减一
4.输入并运行下面的程序:
观察以下不同输入时的输出,分析不同输出的原因。
(↙表示回车)
(1)123↙
(2)12↙
(3)1↙
2↙
运行结果是:
当输入123时是三个字符,所以直接输出123,当输入12加上回车键,计算机将回车作为一个字符所以输出的是12,当输入1时,计算机还在等待输入下一个字符,当输入回车就是第二个字符,再输入2再打回车,所以最终输出的就是12
5.把以上程序改写如下,用于上面相同的输入运行,分析不同输出的原因。
当输入123时,计算机只能识别一个字符,所以只输出了最后的3,前面的12无法识别
,当只输入一个数字1时,会输出1,
6.输入并运行下面的程序,分析格式控制对输出的影响。
C1(c1);
Putchar(c2);
vi
运行结果截图
:
因为1存在于十进制,八进制,十六进制,所以第一次输出的全部为1,
第二次输出%5d时,因为98位数不够,所以在前面补足了为数,-5是在后面补足,c是输出了字符,
第三次就是线输出的浮点数,接着输出的是指数形式的实数,最后一次输出.2是保留小数点后两位,
15跟-15是位数要求,并且保留时为四舍五入
7.输入并运行下面的程序:
观察以下不同输入时的输出,分析间隔符号对输入的影响。
(1)1,2↙
1,2↙
(2)12↙
12↙
1↙
2↙
运行结果截图:
输入12↙时,并没有把2放入b中,
8.转义字符的使用。
9.大小写转换
10.参考例题完成题目:
设圆半径r=1.5圆柱高h=3求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积,输出结果要有文字说明,如Theareais7.06.(其中π=3.1415926,采用第二章例题2-2的#define来定义;
圆周长2πr、圆面积πr2、圆球表面积4πr2、圆球体积4/3πr3、圆柱体积πr2h)
测试结果:
r
h
circle
area
surface
globe
column
1.5
3
3.45
2.56
【思考问题】
1、思考问题:
数据类型、运算符、表达式等在C语句中充当什么成分?
什么是标识符?
整型、实型、字符型常量的书写法是怎样的?
整型、实型、字符型变量怎样创建?
字符串怎样表示?
如何求表达式的值?
混合表达式的求值规则是怎样的?
四、分析与讨论
对上机实践结果进行分析,上机的心得体会。
五、教师评语
签名:
日期:
成绩
附源程序清单:
10.
分析:
Ch是定义一个字符型变量,最后输出的%c是字符形式,%d是整数格式
#include<
main()
{
charch='
b'
;
ch='
-32;
printf("
%c,%d\n"
ch,ch);
首先定义了一个字符型变量并且给他赋值’b’,然后ch=’b’-32是用’b’代表的十进制98来减去32,最终输出的分别是字符形式跟整数形式,将Ch后面的’b’换位其他的字符,也可以进行整数运算
floata=123456.789e4;
doubleb=123456.789e4;
%f\n%f\n"
a,b);
double变量输出时确切值,float输出的是近似值
In里面赋给a的值不能再外面使用,外面的a是一开始a的值,里面跟外面的a不是一个值
{floatvar;
printf("
pleaseenteranumberandthenpressEnter:
"
);
scanf("
%f"
&
var);
thenumberyouenteredwas%f\n"
var);
}