大学计算机程序设计基础(C语言)-第2章C语言基础_第1页
大学计算机程序设计基础(C语言)-第2章C语言基础_第2页
大学计算机程序设计基础(C语言)-第2章C语言基础_第3页
大学计算机程序设计基础(C语言)-第2章C语言基础_第4页
大学计算机程序设计基础(C语言)-第2章C语言基础_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章 C语言基础本章内容赋值表达式4C语言的数据类型1标识符、常量与变量2算术表达式3自加、自减运算符5逗号运算符和sizeof运算符62.1 数据类型数据类型基本类型(简单) 指针类型 构造类型空类型整型实型字符型单精度型双精度型枚举类型数组类型结构体类型共用体类型标准类型用户自定义类型标识符 Contents Contents非法标识符3d,no 1,xk#1合法标识符 num,a8,no_1标识符:以字母或下划线开头,由字母、数字、下划线组成的字符序列。长度可以无穷大。关键字不能作为用户标识符。如do , int, if 等。3大小写区分。如book Book 是两个不同的标识符。1标

2、识符尽量 “见名知意”。如average,sum等。2常量常量:其值不会发生改变的量,称为常量。它们可以和数据类型接合起来分类。比如:整形常量,浮点型常量,字符常量等等。在内存中分配一片空间存储常量值。常量分类:常量又分为直接常量和符号常量。直接常量:又叫字面常量。如12,0,4.6,a,”abcd”符号常量:用标识符表示一个常量,通常用大写字母表示。 符号常量必须在程序开头先定义后使用。 定义形式: # define 符号常量名 常量表达式。 如:# define PI 3.1415926 整型常量C语言允许使用十进制、八进制、十六进制 表示整型常量。C语言规定:以0开头的常量为八进制常量

3、以0X开头的常量为十六进制常量 如: 123,-24 为十进制整数 0234,054 为八进制整数 0X234,0X54为十六进制整数整型常量基本整数:最高位为符号位。长整型数:最高位为符号位。表示方法为:135L 无符号整数: 所有二进制位都为数值位,即无符号位。表示方法为: 246U, 066u 实型常量实型数只有十进制表示形式。细分为小数形式和指数形式。小数形式:由数字和小数点组成(必须有小数点,但小数点前后的0可以省略)例如:0.246 .246 5.0 5. 等。指数形式:由尾数、字母E或e及指数部分组成。其格式为: 整数部分.小数部分E指数部分 例如:135e3 124e-2 12

4、.12e-5 .123e4 0e0 错误的表示:e2 3.5e1.5 .e 变量变量:在程序执行过程中其值发生变化的量。int i;格式: 存储类型 数据类型关键词 变量列表int i,j;每个变量都有自己唯一的内存空间变量某片内存空间的地址即该区域最左侧起点位置的编号。数据类型决定分配多少个连续的存储空间。向存储空间写入值时,将值转换为二进制形式,二进制数值位的数量与存储空间的位数量相同,即写入值会充满整个存储空间。变量将会存储值。每新创建一个变量就要给它分配一片独有的内存存储空间。问题1:变量的作用?问题2:如何存储值?问题3:如何决定分配的空间大小?问题4:如何找到分配的空间?问题5:存

5、储空间的地址是什么?根据空间的地址直接找到或者通过变量名先转换为对应的地址然后找到。问题6:如何将值存储到该内存空间?问题7:如何写入新值?重复问题6的步骤。结果导致变量的空间中保留新值,原来的值被覆盖。问题8:变量的值何时会发生改变?向变量的存储空间写入值时,即只有执行“赋值”操作的时候。问题9:如何读取变量的值?通过存储空间的地址或变量名找到该空间,得到该空间中值的拷贝版。问题10:读取后变量值是否改变?读取不会改变变量的值。变量问题1:变量的作用?答:变量将会存储值。问题2:如何存储值?答:每新创建一个变量就会给它分配一片独有的内存存储空间。问题3:如何决定分配的空间大小?答:数据类型决

6、定分配多少个连续的存储空间。变量问题4:如何找到分配的空间?答:根据空间的地址直接找到或者通过变量名先转换为对应的地址然后找到。问题5:存储空间的地址是什么?答:某片内存空间的地址即该区域最左侧起点位置(首字节)的编号。问题6:如何将值存储到该内存空间?答:存储空间写入值时,将值转换为二进制形式,二进制数值位的数量与存储空间的位数量相同,即写入值会充满整个存储空间。变量问题7:如何写入新值?答:重复问题6的步骤。结果导致变量的空间中保留新值,原来的值被覆盖。问题8:变量的值何时会发生改变?答:向变量的存储空间写入值时,即只有执行“赋值”操作的时候。问题9:如何读取变量的值?答:通过存储空间的地

7、址或变量名找到该空间,得到该空间中值的拷贝版。变量问题10:读取后变量值是否改变?答:读取不会改变变量的值。补充:1、变量名即为标识符的一种,变量名起名规则与标识符规则相同;潜规则:组成变量名的若干个英语单词中,第一个单词首字母小写,其余单词首字母大写,非首字母都为小写(匈牙利命名法)2、在执行变量定义语句时将会给变量分配空间。整型变量整型变量分类:数据类型类型关键词基本型int短整型short 长整型long无符号基本型unsigned int无符号短整型unsigned short无符号长整型unsigned long例如:int i; short s; unsigned long k,q

8、;实型变量实型变量分类:数据类型类型关键词双精度double单精度float例如:float i; double s; 变量的初始化变量的初始化:在定义变量的同时给变量赋初值。如: int a=10,b=3; float c=123.7,d=4.5; double x=1.234567;注意:1、 int a=b=10;2、 int i; i=10; float f;字符型数据字符常量表现形式实例由单引号括起来的单个字符A a 3由单引号括起来的转义字符n t注意:字符常量在内存中实际存储的是其ASCII码的值 如: A65 ,a 97 ,351C语言规定: 字符型常量在内存中占8位(一个字节

9、)。字符型数据字符串常量用一对双引号括起来的一个字符串;如“hello”C规定:在一个字符串的末尾系统自动加一个字符串结束标志“0” 在内存中占的字节数=字符个数+1“hello”在内存中的存储形式是该字符对应的ASCII码值:1041011081081110hello0“B”B字符变量字符变量(char): 用来存放一个字符,占一个字节。char c=A;A97注意:字符变量存储的是字符的ASCII码,即数字。 如: char c1,c2; int i; c1=a; = c1=97; c2=c1-32 ; = c2=A; = c2=65; = c2=a-32; i=97; = i=a;运算符

10、和表达式C运算符:算术运算符、关系运算符、逻辑运算符、赋值运算符等 C表达式:由运算对象(常量、变量、函数)、运算符和括号组成的式子。 如:算术表达式、赋值表达式、关系表达式、逻辑表达式、 条件表达式、逗号表达式等。表达式的求值规则: 先按运符的“优先级”由高到低进行,若运算对象两边运算符级别相同,则按运算符的“结合性”处理。算术运算符和算术表达式运算符结合性双目:+ - * / % 自左向右单目: + -自右向左两整数相除,结果为整数。8/3=2整除实除两实数或与一实数相除,结果为双精度型。如: 8/3.0=2.6666666除运算(/)模运算(%)算数表达式注意事项算术表达式: 用算术运算

11、符将运算对象连接起来的符合C语法规则的式子就称为算术表达式表达式中的乘号不能省略。 例如:3*a b*c表达式中的所有内容必须书写在同一行上,不允许有分子分母、上下标等形式,必要时要利用圆括号保证运算的顺序。表达式不允许使用方括号和花括号,只能使用圆括号帮助限定运算顺序。可以使用多层圆括号,但左右括号必须配对,运算时从内层圆括号开始,由内向外依次计算表达式的值。数据类型转换自动类型转换C语言允许不同类型数据之间的各种运算。但应先转换,后运算。 C允许任何标准类型数据之间的隐式转换。char shortlongunsignedfloatdoubleint假设:float类型变量最大表示数值为10

12、float f1=8,f2=9;f1+f2 ?int i =10 , a=65; float f=12.0 , e=10.0; double d=12.0; 10+a+i*f -d/e数据类型转换强制类型转换格式: ( 数据类型关键字) (表达式)如: (double) a (int) (x+y)注意:通过强制类型转换,只是得到了一个所需类型的中间结果,而原来变量或表达式的值和类型并没有变化。强制类型转换后a值是否变化?赋值表达式基本赋值运算符:=复合赋值运算符:+= - = *= /= %=等结合性: 自右向左格式: 变量=表达式 变量+=表达式a=5 a=(b=5) a=5+(b=5)a=

13、(b=5)+(c=3) a=b*(c=2.5/b) a+=5 a*=y+8若i=2,j=12,k=10 则 k+=j+=i+8的值是?若a=10 则 a+=a-=a*=10的值是?赋值表达式赋值过程:求出表达式的值,将表达式值的类型与变量的类型比较 当二者类型相同时:直接赋值 当二者类型不同时:先转换再赋值。赋值运算的类型转换整形=实型变量:数值不变 ,但以浮点数形式存储到变量中,例如 5 5.0实型=整型变量:需要强制转换,舍弃小数部分。例如 (int)12.234 12较短的整数=较长的整型变量:进行高位字节扩展;当被转换为无符号类型时:进行0扩展111000010000000011100

14、0011当被转换为符号类型时:进行符号位扩展最高位:0 前八位补0 最高位:1 前八位补1(以保持原值不变)000000001110000111100001赋值运算的类型转换较长型整数= 较短型整型变量: 去掉高字节位,截取低字节位。双精度=单精度变量:只保留单精度的有效位数无符号的整数=长整型变量 将高位补0无符号的整数=同长整型变量,若数据超出范围,则出错带符号的整数=同长无符号整型变量(符号作为数据传入)自加、自减运算符单目: + - 结合性:自右向左i+ +ii+ = i=i+1+在前,i先做自增运算,运算后的结果再参与表达式运算+在后,i先参与表达式运算,等待所参与的表达式运算完毕再做自增运算x=+i;i=i+1;x=i;x=i+;x=i;i=i+1;例: x=(i+)+(i+) x=(+i)+(+i)逗号运算符和逗号表达式逗号运算符: “,” 优先级: 最低 结合性:从左到右格式:表达式1,表达式2, ,表达

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论