您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 《C语言程序设计》第2章2 常量和变量
第二章C程序设计的初步知识●常量与变量●数据类型1整型浮2点型字3符型重点:标识符常量和变量难点:进制转换易混淆点:变量类型所占字节数•2.1常量与变量和标识符★标识符•定义:用来标识变量、常量、函数等的字符序列•组成:–只能由字母、数字、下划线组成,且第一个字符必须是字母或下划线–区分大小写一、关键字二、预定义标识符三、用户标识符用户标识符命名原则:见名知意不宜混如1与l,o与0不能使用关键字例:判断下列用户标识符合法性sumSumM.D.JohndayDate3daysIf_intstudent_name#33lotus_1_2_3charab_above$123尽量做到必须做到★符号常量用一个标识符来代表一个常量,程序运行期间其值不可改变定义格式:#define符号常量常量#definePRICE20main(){inta=2,b;b=a*PRICE;printf(“%d”,b);}注意:1.习惯用大写2.后面没分号,不是一条语句3.定义多个符号常量时要分行写例12为int型12L为longint型12u为unsignedint型12LU为unsignedlong型•根据其值所在范围确定其数据类型,默认为[signed]int型•在整常量后加字母l或L,认为它是longint型常量•无符号型整数在数字末尾应加上后缀u或U,长整型加lu或LU•unsigned无符号型无法表示负数常用的整型类型为int(基本整型)例在c语言中,合法的长整型常数是A)0LB)4962710C)0.054838743D)2.1869e10整型(课本12页)位(bite)------内存中的最小存储单位字节(byte)------8个二进制位组成一个字节通常把一个字节中的最右边一位为最低位,最左边一位为最高位.对于一个有符号整数,其中最高位(最左边一位)用来存放整数的符号,称为符号位.正整数最高位为0,负整数为1.•内存中的单位例:short型的+7和-77的二进制形式为:111short型在内存中占2个字节,16位.正数直接按其二进制形式,高位补0存放,符号位为0(原码形式)符号位数值位[+7]原=0000000000000111负数按正数的原码形式,进行取反加一存放.(补码形式)符号位数值位[+7]原=0000000000000111(原码)取反=1111111111111000(反码)加一=1111111111111001[-7]补=1111111111111001(补码)•整数的存储形式(课本12页)实型(课本13页)•类型–默认double(双精度)型,占8个字节–在其后加字母f或F,认为是float(单精度)型,占4个字节2.3默认是双精度2.3f(单精度)•表示形式:小数形式:(必须有小数点)如0.123,.123,123.0,0.0,123.11指数形式:12.34=1.234×10=123.4×10在c语言中可表示为1.234e1或123.4e-1(e或E)e前e后必须有数字,且e后(指数)必须为整数如12.3e3,123E2,1.23e4,e-5,1.2E-3.5(×)字符型•类型–只有一种类型char(字符型),占一个字节•注意–每一个字符型数据都对应一个ASCII码,字符在存储时就是把相对应的ASCII转换成二进制再存入内存–char与int数据间可进行算术运算例a=‘D’;/*a=68;*/x=‘A’+5;/*x=65+5;*/s=‘!’+‘G’/*s=33+71;*/–变量•变量定义的一般格式:数据类型变量1,变量2,…,变量n;•变量初始化:定义时赋初值例:inta=2,b,c=4;floatdata=3.67;charch=‘A’;intx=1,y=1;intx,y;x=y=1;intx=y=z=1;•变量的使用:先定义,后使用•变量定义位置:一般放在函数开头例1intstudent;stadent=19;//Undefinedsymbol‘statent’infunctionmain•main(){inta,b=2;a=1;floatdata;data=(a+b)*1.2;printf(“data=%f\n”,data);}main(){inta,b=2;floatdata;a=1;data=(a+b)*1.2;printf(“data=%f\n”,data);}变量定义可执行语句例:inta,b,c;floatdata;例/*ch2_003.c*/#definePRICE1.2main(){intnum=3;floattotal;charch1,ch2=‘D’;total=num*PRICE;ch1=ch2-‘A’+‘a’;printf(“total=%f,ch1=%c\n”,total,ch1);}宏定义变量定义输出结果运行结果:total=3.600000,ch1=d–算术运算符和表达式•基本算术运算符:+-*/%–结合方向:从左向右–优先级:+-----*/%-----+-(正、负号)(加、减号)(14)(13)(12)说明:•“+,-”(正负号)可为单目运算符时,右结合性•两整数相除,结果为整数有一方是实数形式,结果保留小数•%要求两侧均为整型数据数值取余,符号与被除数一致例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.输入一个小写字母,将其转换为大写字母。•#includestdio.h•main()•{charm,n;•m=’c’;/*scanf(%c,&m);*/•n=m-'a'+'A';/*或者n=m-32*/•printf(小写字母%c转换为大写后为:%c\n,m,n);•}上机作业•2.输入一字母,输出其ASCII码。•#includestdio.h•main()•{charm;•m=’c’;/*scanf(%c,&a);*/•printf(字母%c的ASCII码为:%d\n,a,a);•}上机作业•3、求一个四位数各个位上的数字之和。•例:四位数为1234各个位上数字之和为10•#includestdio.h•main()•{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=%d\n,sum);•}上机作业•4、两个两位数,现重新组合成一个新的四位数,第一个数的十位放在新四位数的个位,第二个数的个位放在新四位数的十位,第一个数的个位放在新四位数的百位,第二个数的十位放在新四位数的千位。•例:80和20重新组合后为2008•86和57重新组合后为5678•#includestdio.h•main()•{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=%d\n,sum);•}上机作业•5.输入一个数字字符,将其转换为与其面值相等的数字。•#includestdio.h•main()•{charm,n;•m=’1’;/*scanf(%c,&m);*/•n=m-‘0’;/*或者n=m-48*/•printf(%d\n,n);•}
本文标题:《C语言程序设计》第2章2 常量和变量
链接地址:https://www.777doc.com/doc-3804383 .html