C语言ch031顺序设计及常量变量.ppt
文本预览下载声明
整型常数缺省被看作int类型,如果超出int的范围,就自动被看作long。可以在数字后面加上l或者L强制其为long。 浮点常数缺省为double,后缀f或F为float,后缀l或L为long double。 因为字母l和数字1容易混淆,所以当用l做后缀时,常使用大写形式。 在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)、以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了所谓的ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。 * * 未来的趋势是任何字符,无论英文、中文还是其它文字,都用两个字节来表示。这种编码叫做UNICODE #include stdio.h #define ADD3(x,y,z) x+y+z //#define ADD3(x,y,z) ((x)+(y)+(z)) int main(){ printf(%d\n, ADD3(1,2,3)*2); return 0; } * * 命名风格的选择主要依照习惯或者说约定俗成。比如在Unix/Linux下,variable_name的形式多见,而在Windows下,广泛采用的是基于VariableName形式的匈牙利命名法。Java语言里常用variableName形式。 * * 上一章我们学到了 常用的流程图符号 while * * 第三章 最简单的C程序设计 ----顺序程序设计 * * 内容 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出 * * 例3.1 有人用华氏温度计测量出当前温度(如 69°F),今要求把它转换为摄氏温度(如 20°C) 。 输入fahr的值 输出celsius的值 N-S图 * * #include stdio.h /* 将指定华氏温度转换为摄氏温度 */ int main(void) { float fahr; // 华氏温度 float celsius; // 摄氏温度 fahr = 64.0f; celsius = (5.0f / 9.0f) * (fahr – 32.0f); printf(fahr = %f\ncelsius = %f\n, fahr, celsius); return 0; } float:单精度浮点型,可以带有小数部分的数。 3_1.c Q:5.0改为5会怎样? 整数除法操作将舍弃小数部分 celsius = (5.0f / 9) * (fahr - 32); 如果5.0f去掉f,出现警告warning C4244: = : conversion from double to float , possible loss of data 原因:常量5.0默认为double类型。 另,整数和浮点数之间的转换开销比较大,应尽量避免。 * * * * 例3.2 计算存款利息。有1000元,想存一年。有三种方法可选: (1)活期,年利率为r1 (2)一年期定期,年利率为r2 (3)存两次半年定期,年利率为r3 请分别计算出一年后按三种方法所得到的本息和。 * * 解题思路:确定计算本息和的公式。 从数学知识可知:若存款额为p0,则: (1) 活期存款一年后本息和为: p1 = p0(1 + r1) (2) 一年期定期存款,一年后本息和为: p2 = p0(1 + r2) (3) 两次半年定期存款,一年后本息和为: * * 输入p0, r1, r2, r3的值 计算 p1 = p0(1 + r1) 计算 p2 = p0(1 + r2) 计算 输出p1, p2, p3 * * #include stdio.h // 计算一年存款本息 int main(void) { double principle = 1000.0; // 本金 double rateCurrent = 0.0035; // 活期利率 double rate12M = 0.0325; // 一年定期利率 double rate6M = 0.0305; // 六个月定期利率
显示全部