c语言常量为什么不会出现kb,C语言程序设计PPT2

第2章C数据类型,哈尔滨工业大学计算机科学与技术学院苏小红sxh@,本章学习内容,常量和变量,整型和实型标识符命名,变量的定义和赋值计算数据类型占用内存空间的大小,2.1常量与变量,C语言程序处理的数据形式常量(Constant)在程序中不能改变其值的量变量(Variable)其值在程序执行过程中是可以改变的,,一个简单的C程序例子,#include/*函数功能:计算两个整数相加之和入口参数:整型数据a和b返回值:整型数a和b之和*/intAdd(inta,intb){return(a+b);}/*主函数*/main(){intx,y,sum=0;printf("Inputtwointegers:");scanf("%d%d",/*输出x和y相加之和*/},并列的两个函数其中主函数是程序的入口,,程序注释,,,,编译预处理命令,,,C程序常见符号分类,关键字(Keyword)又称保留字(CReservedWord)AwordthathasspecialmeaninginC标识符(Identifier)系统预定义标识符(CStandardIdentifier)Awordhavingspecialmeaningbutmayberedefined(butisnotrecommended!!)用户自定义标识符变量,函数名,……,,,,,,,,C程序常见符号分类,运算符(Operator)详见附录C分隔符(Separator)空格、回车/换行、逗号等其他符号{和}标识函数体或语句块/*和*/是程序注释的定界符常量(Constant),,,在程序中不能改变其值的量包括:整型(如0,67,-2,123L,123u,022,0 x12)默认为int实型(如2.3,1.2e-5,2.73F,2.73L)默认为double字符型(如z,3,$,\n)用\开头的字符为转义字符,代表1个字符字符串(如"UKM","1","5a")枚举型,2.1.1常量(Constant),长整型,无符号整型,八进制,十六进制,单精度实型,长双精度实型,十进制小数,指数形式,十进制,2.1.2变量(Variable),变量的值在程序执行过程中是可以改变的变量的属性Name变量名Type变量类型Value变量的值Address变量的存储单元——地址,变量的声明类型关键字变量名;,变量声明(VariableDeclaration),使用变量的基本原则变量必须先声明,后使用所有变量必须在第一条可执行语句前声明声明的顺序无关紧要一条声明语句可声明若干个同类型的变量,,,变量声明(VariableDeclaration),声明变量是初始化变量的最好时机不被初始化的变量,其值为随机数,结果会是什么?,运算规则:变量表达式语法:变量=表达式;规则:左值和右值类型一致,ValidExample:InvalidExample:intx;inty;x=12;y=5.75;,变量赋值(VariableAssignment),,,,2.3数据类型(DataType),为什么要区分类型?变量的类型决定了数据的存储形式合法的取值范围占用内存空间的大小可参与的运算种类,数据类型(DataType),长双精度实型,基本数据类型,int整数,在目前绝大多数机器上占4个字节TC2.0,2个字节float单精度浮点数,4个字节double双精度浮点数,8个字节char字符,1个字节表示256个ASCII字符,或0~255的整数,数据类型修饰符,shortshortint,简写为short,短整数,2个字节longlongint,简写为long,长整数,4个字节longdouble,长双精度(高精度)浮点数,10个字节unsigned用来修饰char、int、short和long无符号整数(正整数和0),不同类型取值范围不同,C语言直接提供的任何类型都有取值范围,不同类型取值范围不同,Mostsignificantbit(MSB)issign(最高位为符号位),2.4如何计算变量或数据类型所占内存空间的大小,1TB=1024GB,1GB=1024MB,1MB=1024KB,1KB=1024B,1B=8b,一个位有多大?只能是0或者1,二进制一个字节有多大?可以表示0~255之间的整数,2.4如何计算变量或数据类型所占内存空间的大小,不同类型占用的内存字节数不同,同种类型在不同的平台其占字节数不尽相同如int在16位、32位和64位系统上分别占2、4和8个字节不要对变量所占的内存空间字节数想当然用sizeof获得变量或者数据类型的长度现象与危害在平台间移植时会出现问题,导致数据丢失或者溢出,注意!,sizeof到底是什么?,C语言的关键字,并非函数计算类型占用的字节数两种语法形式sizeof(类型)结果为类型占用的字节数sizeof(表达式)结果为表达式值所属类型占用的字节数一般都使用sizeof(变量名),现场演示例2.2在TC和VC、CB下的运行结果,#includemain(){printf("DatatypeNumberofbytes\n");printf("---------------------------------\n");printf("char%d\n",sizeof(char));printf("int%d\n",sizeof(int));printf("shortint%d\n",sizeof(short));printf("longint%d\n",sizeof(long));printf("float%d\n",sizeof(float));printf("double%d\n",sizeof(double));},2.5变量的赋值和赋值运算符,简单赋值(SimpleAssignment)语法:变量=表达式;,Everyassignmentexpressionhasavalue,语法:变量1=变量2=表达式;,多重赋值MultipleAssignment,右结合:从右向左赋值,变量1=(变量2=表达式);,Example:inta,b;floatx,y;...a=b=0;x=y=100.0;,,,,,多重赋值MultipleAssignment,,Questionsandanswers,,

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值