《《C语言程序设计》第2章2常量和变量.ppt》由会员分享,可在线阅读,更多相关《《C语言程序设计》第2章2常量和变量.ppt(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章第二章 C C程序设计的初步知识程序设计的初步知识常量与变量数据类型1整型浮2点型字3符型重点:标识符常量和变量难点:进制转换易混淆点:变量类型所占字节数2.1 常量与变量和标识符常量与变量和标识符标识符标识符定义:用来标识变量、常量、函数等的字符序列定义:用来标识变量、常量、函数等的字符序列组成:组成:只能由只能由字母字母、数字数字、下划线下划线组成,且第一个组成,且第一个字符必须是字母或下划线字符必须是字母或下划线区分大小写区分大小写一、关键字一、关键字二、预定义标识符二、预定义标识符三、用户标识符三、用户标识符用户标识符用户标识符v命名原则:命名原则:l见名知意见名知意l不宜混不宜
2、混 如如1与与l,o与与0l不能使用关键字不能使用关键字例例:判断下列用户标识符合法性判断下列用户标识符合法性sum Sum M.D.John day Date 3days If _intstudent_name#33 lotus_1_2_3 char ab _above$123尽量做到尽量做到必须做到必须做到 符号常量符号常量 用一个标识符来代表一个常量,程序运行期间其值不可改变定义格式:#define符号常量常量#definePRICE20main()inta=2,b;b=a*PRICE;printf(“%d”,b);注意:1.习惯用大写2.后面没分号,不是一条语句3.定义多个符号常量时要
3、分行写例 12 为int型 12L 为longint型12u为unsignedint型12LU为unsignedlong型根据其值所在范围确定其数据类型,默认为 signedint型在整常量后加字母l或L,认为它是longint 型常量无符号型整数在数字末尾应加上后缀u或U,长整型加lu或LUunsigned无符号型无法表示负数常用的整型类型为int(基本整型)例 在c语言中,合法的长整型常数是 A)0LB)4962710C)0.054838743D)2.1869e10&整型整型 (课本课本1212页页)l位(位(bite)-bite)-内存中的最小存储单位内存中的最小存储单位l字节(字节(b
4、yte)-byte)-8 8个二进制位组成一个字节个二进制位组成一个字节l通常把一个字节中的通常把一个字节中的最右边最右边一位为一位为最低位最低位,最左边最左边一一位为位为最高位最高位.l对于一个有符号整数对于一个有符号整数,其中最高位其中最高位(最左边一位最左边一位)用来用来存放整数的符号存放整数的符号,称为符号位称为符号位.l正整数正整数最高位为最高位为0 0,负整数负整数为为1 1.内存中的单位例:short型的+7和-77的二进制形式为:111short型在内存中占2个字节,16位.正数直接按其二进制形式,高位补0存放,符号位为0(原码原码形式)形式)符号位数值位+7原=0000000
5、000000111负数按正数的原码形式,进行取反加一存放.(补码补码形式)形式)符号位数值位+7原=0000000000000111(原码)取反=1111111111111000(反码)加一=1111111111111001-7补=1111111111111001(补码)整数的存储形式存储形式(课本12页)&实型实型 (课本课本1313页页)类型默认double(双精度)型,占8个字节在其后加字母f或F,认为是float(单精度)型,占4个字节2.3 默认是双精度2.3f (单精度)表示形式:n小数形式:(必须有小数点必须有小数点)如0.123,.123,123.0,0.0,123.1n指数形
6、式:12.34=1.23410=123.410在c语言中可表示为1.234e1或123.4e-1(e或E)e前前e后必须有数字,且后必须有数字,且e后后(指数指数)必须为整数必须为整数如12.3e3,123E2,1.23e4,e-5,1.2E-3.5()&字符型字符型-*/%*/%-+-+-(正、负号正、负号)(加、减号)(加、减号)(14)(14)(13)(12)(13)(12)说明:说明:“+,+,-”(正负号)可为(正负号)可为单目单目运算符时运算符时,右结合性右结合性两整数相除,结果为整数两整数相除,结果为整数 有一方是实数形式,结果保留小数有一方是实数形式,结果保留小数%要求两侧均为
7、整型数据要求两侧均为整型数据 数值取余,符号与被除数一致数值取余,符号与被除数一致例5/2=-5/2.0=例5%2=-5%2=1%10=5%1=5.5%2例5/2=2-5/2.0=-2.5例5%2=1-5%2=-11%-10=15%1=05.5%2()2.5 运算符和表达式运算符和表达式上机作业1输入一个小写字母,将其转换为大写字母。输入一个小写字母,将其转换为大写字母。#includemain()charm,n;m=c;/*scanf(%c,&m);*/n=m-a+A;/*或者n=m-32*/printf(小写字母%c转换为大写后为:%cn,m,n);上机作业2输入一字母,输出其输入一字母,
8、输出其ASCII码。码。#includemain()charm;m=c;/*scanf(%c,&a);*/printf(字母%c的ASCII码为:%dn,a,a);上机作业3、求一个四位数各个位上的数字之和。、求一个四位数各个位上的数字之和。例:四位数为例:四位数为 1234 各个位上数字之和为各个位上数字之和为 10#includemain()intm=1234,a,b,c,d,sum;a=m%10;b=m/10%10;c=m/100%10;d=m/1000;sum=a+b+c+d;printf(sum=%dn,sum);上机作业4、两个两位数,现重新组合成一个新的四位数,第一个数的十位放、
9、两个两位数,现重新组合成一个新的四位数,第一个数的十位放在新四位数的个位,第二个数的个位放在新四位数的十位,第一个数在新四位数的个位,第二个数的个位放在新四位数的十位,第一个数的个位放在新四位数的百位,第二个数的十位放在新四位数的千位。的个位放在新四位数的百位,第二个数的十位放在新四位数的千位。例:例:80和和20 重新组合后为重新组合后为 2008 86和和57 重新组合后为重新组合后为 5678#includemain()intm=86,n=57,a,b,c,d,sum;a=m/10;b=n%10;c=m%10;d=n/10;sum=a+b*10+c*100+d*1000;printf(sum=%dn,sum);上机作业5输入一个数字字符,将其转换为与其面值相等输入一个数字字符,将其转换为与其面值相等的数字。的数字。#includemain()charm,n;m=1;/*scanf(%c,&m);*/n=m-0;/*或者n=m-48*/printf(%dn,n);