收藏 分销(赏)

C语言基础.pptx

上传人:快乐****生活 文档编号:4868383 上传时间:2024-10-16 格式:PPTX 页数:54 大小:540.33KB
下载 相关 举报
C语言基础.pptx_第1页
第1页 / 共54页
C语言基础.pptx_第2页
第2页 / 共54页
点击查看更多>>
资源描述
2.1 2.1 数据类型数据类型 存取数据必须先确定数据的存取数据必须先确定数据的编码方式编码方式、存储格式存储格式和和所占的所占的存储长度存储长度,C语言中把这三者结合起来,给出语言中把这三者结合起来,给出几种固定的形式,这些形式就是最基本的几种固定的形式,这些形式就是最基本的数据类型数据类型。为什么要设置数据类型?为什么要设置数据类型?在计算机中使用在计算机中使用一定长度一定长度的存储单元(通常是字节的倍的存储单元(通常是字节的倍数)来存储数据。长度决定了数据取值范围的大小。数)来存储数据。长度决定了数据取值范围的大小。存储的存储的编码方式编码方式有:原码、反码、补码、有:原码、反码、补码、ASCII码。码。存储的存储的存储格式存储格式有:定点型、浮点型。有:定点型、浮点型。数数据据类类型型基本类型基本类型 (简单)(简单)构造类型构造类型 指针类型指针类型空类型空类型 数组类型数组类型结构体类型结构体类型共用体类型共用体类型标准类型标准类型 用户自定义类型:用户自定义类型:整型整型实型实型字符型字符型 单精度型单精度型双精度型双精度型 枚举类型枚举类型 2.1 2.1 数据类型数据类型backback2.2 2.2 标识符、常量与变量标识符、常量与变量1 1、字符集、字符集 C语言字符集由以下几部分组成:语言字符集由以下几部分组成:字母:大、小写英文字母共字母:大、小写英文字母共52个。个。数字:数字:09共共10个个空白符:空格符、制表符、换行符等统称为空白符。空白符:空格符、制表符、换行符等统称为空白符。标点和特殊字符:标点和特殊字符:+-*/%_.=&|();?:”!#等等25个。个。标识符是指用来标识变量名、符号常量名、函数名、标识符是指用来标识变量名、符号常量名、函数名、文件名以及一些具有专门含义的有效字符序列。文件名以及一些具有专门含义的有效字符序列。以字母或下划线以字母或下划线(_)(_)开头,由字母、数字、下划线组成开头,由字母、数字、下划线组成的字符序列。的字符序列。如:如:num,a8,no_1 3d,no 1,xk#1 大写字母和小写字母大写字母和小写字母视为两个不同的字符。视为两个不同的字符。标识符的长度一般规定标识符的长度一般规定取前面取前面8 8个字符个字符,多余的不被识,多余的不被识别。例如别。例如student_name和和student_num被认为是相同的标被认为是相同的标识符识符student_。2、标识符标识符 关键字标识符:关键字标识符:预定义标识符:预定义标识符:用户标识符:用户标识符:代表固定含义,不能另作它用。代表固定含义,不能另作它用。代表特定含义(一般是库函数名和预编代表特定含义(一般是库函数名和预编译处理命令名),一般不另作它用。译处理命令名),一般不另作它用。标识符分标识符分类类定义用户标识符时注意:定义用户标识符时注意:大小写有区分。大小写有区分。如如book,BOOK,Book 。标识符做到标识符做到“见名知意见名知意”。如如average,sum,length等。等。关键字关键字不能作为标识符。如不能作为标识符。如do,int,if 等。等。3 3、常量、常量 在程序运行过程中,其值在程序运行过程中,其值不能被改变不能被改变的量称为常量。的量称为常量。符号常量:符号常量:#define符号常量名符号常量名常量常量如:如:#definesum10常量类型:常量类型:算术型运算常量:算术型运算常量:123,3.1415926字符型常量:字符型常量:a,“hello”使用标识符使用标识符#includestdio.hmain()floatradius;/*radius:圆的半径:圆的半径*/floatarea,length;/*area、length:面积和周长面积和周长*/scanf(%f,&radius);/*输入圆的半径输入圆的半径*/area=3.1415926*radius*radius;/*求圆的面积求圆的面积*/length=2*3.1415926*radius;/*计算圆的周长计算圆的周长*/printf(“area=%f,length=%f,area,length);#definePI3.1415926PI PI PI PI 【例例】计算圆的面积和周长。计算圆的面积和周长。(1)(1)变量名:变量名:既代表某存储空间,又代表该空间存储的数据。(3)(3)变量的数据类型:决定了存储空间的大小。变量的数据类型:决定了存储空间的大小。C C要求要求:变量必须先声明后使用先声明后使用,指明其数据类型 变量定义格式:变量定义格式:数据类型标识符数据类型标识符 变量名表变量名表 如:如:int a,b,c;float d;int a,b,c;float d;(4)(4)变量的地址:变量的地址:即变量所占内存空间首字节首字节的编号。4 4、变量、变量 radius radius 6 6(2)(2)变量的值:变量的值:存放在存储单元中的数据(存储单元内容)。程序执行过程中,其值可以被改变的量程序执行过程中,其值可以被改变的量#include stdio.h#include stdio.h main()main()float radius;float radius;float area float area,length;length;scanf(%f,&radius);scanf(%f,&radius);area=area=3.14159263.1415926*radius*radius;*radius*radius;length=2*length=2*3.14159263.1415926*radius;printf(*radius;printf(“area=%farea=%f,length=%f,area,length);length=%f,area,length);#define PI 3.1415926#define PI 3.1415926PI PI PI PI 【例例】计算圆的面积和周长。计算圆的面积和周长。说说明明部部分分执执行行部部分分backback1.1.整型数据类型标识符整型数据类型标识符整型数据有基本型、短整型、长整型和无符号型四种。整型数据有基本型、短整型、长整型和无符号型四种。基本整型基本整型(简称整型):(简称整型):intint短整型:短整型:short intshort int或或shortshort长整型:长整型:1ong int1ong int或或1ong1ong无符号型:表示不带符号的整数。又可分为以下三种:无符号型:表示不带符号的整数。又可分为以下三种:无符号整型:无符号整型:unsigned intunsigned int无符号短整型:无符号短整型:unsigned shortunsigned short无符号长整型无符号长整型:unsigned 1ong unsigned 1ong1 1整型数据整型数据 2.3 2.3 基本类型数据基本类型数据类型名称类型名称 占用占用的字的字节数节数 数值范围数值范围 int4 4-2147483648(-2147483648(-2 23131)2147483647(22147483647(23131-1)1)shortint2 2-32768(-2-32768(-21515)32767(232767(21515-1)-1)longint4 4-2147483648(-2147483648(-2 23131)2147483647(22147483647(23131-1)1)unsignedint4 4 04294967295(204294967295(23232-1)1)unsignedshort2 2 065535(2065535(21616-1)1)unsignedlong4 4 04294967295(204294967295(23232-1)1)表表2.1 2.1 各种整型数据所占内存字节数和取值范围各种整型数据所占内存字节数和取值范围原码原码=补码补码=反码反码原码原码原码除符号位其余位取反原码除符号位其余位取反+1+1补码补码正整数:正整数:负整数:负整数:反码反码+1+1如:求如:求-5-5的补码的补码如何求整数的补码?如何求整数的补码?整数在内存中的存储方式:整数在内存中的存储方式:补码补码例如:例如:intk;longp,q;unsignedshortn,m;任何一种数据都有常量和变量两种形式任何一种数据都有常量和变量两种形式2 2、整型变量的定义、整型变量的定义变量定义后,只是变量定义后,只是在内存中申请了相在内存中申请了相应的空间,此时存应的空间,此时存储空间中并没有有储空间中并没有有意义的数据,即变意义的数据,即变量没有确定的值。量没有确定的值。l C C语言中整型常量可以用语言中整型常量可以用3 3种形式表示:种形式表示:十进制数,如十进制数,如+123+123,-234-234,0 0,2323;八进制数,如八进制数,如 0 0234234,0 0777777;十六进制数,如十六进制数,如0 x0 x234234,0 x0 x9A9A。l 整型数又分为基本整型、短整型、长整型整型数又分为基本整型、短整型、长整型(后加后加l l或或L)L)和无符号整型数和无符号整型数(后加后加u u或或U)U)。l 前缀、后缀可同时使用以表示不同类型不同进制前缀、后缀可同时使用以表示不同类型不同进制的整型数。的整型数。如如0 034563456LULU表示八进制无符号长整型数。表示八进制无符号长整型数。3 3、整型常量、整型常量二二.实型数据实型数据1.1.类型标识符类型标识符 单精度型单精度型:类型标识符为:类型标识符为floatfloat双精度型:双精度型:类型标识符为类型标识符为doubledouble类型类型 占用字节数占用字节数 有效数字有效数字 数值范围数值范围 float46-710-37-1038double815-1610-307-103082.2.实型变量的定义实型变量的定义floatf,f1;doubled;3.实型常量实型常量(又称实数,只有十进制形式又称实数,只有十进制形式)小数形式小数形式指数形式指数形式由数字和小数点组成由数字和小数点组成(必有小数点,但其前后必有小数点,但其前后0 0可省可省)例如:例如:0.246 .246 5.0 5.0.246 .246 5.0 5.等。等。格式:格式:整数部分整数部分.小数部分小数部分e e指数部分指数部分 (e(e或或E E前必有数字,后必为整数前必有数字,后必为整数)例如:例如:135e3 12.12e-5135e3 12.12e-5 .123e4 0e0 .123e4 0e0 e2 3.5e1.5e2 3.5e1.5在程序中,实数可以用小数或指数形式表示,但在内在程序中,实数可以用小数或指数形式表示,但在内存中,实数都以规范化的指数形式存放。存中,实数都以规范化的指数形式存放。1.1.字符型数据类型标识符字符型数据类型标识符 (char)三三.字符型数据字符型数据 l 如:如:charx;l 一个字符变量一个字符变量占一个字节占一个字节,一个字符变量只能存放一个字符,一个字符变量只能存放一个字符 2 2字符型变量的定义字符型变量的定义3.3.字符型常量字符型常量l用单引号括起来的用单引号括起来的字符字符。代表。代表ASCIIASCII字符集中的一个字符字符集中的一个字符 l 两种表示形式:两种表示形式:由单引号括起来的由单引号括起来的普通字符常量普通字符常量;如;如A A,a a,3 3,由单引号括起来的由单引号括起来的转义字符转义字符;如;如nn,tt l 单引号单引号中的大小写字母代表不同的字符常量。如:中的大小写字母代表不同的字符常量。如:a a,A Al 是一个字符常量,有一空格,和是一个字符常量,有一空格,和的区别。的区别。l 单引号中只能包含一个字符单引号中只能包含一个字符l 只能用只能用表示字符常量,表示字符常量,“”表示的是字符串常量表示的是字符串常量 (1)(1)普通字符常量普通字符常量l 以一个以一个反斜线反斜线开头后跟一个特定的字符,代表某一开头后跟一个特定的字符,代表某一特定的特定的ASCIIASCII字符。字符。又称反斜线字符。如:又称反斜线字符。如:nn,l 后可跟后可跟8 8进制或进制或1616进制数,表示一个进制数,表示一个ASCIIASCII字符字符 如:如:A A也可用也可用101101 或或x41x41表示。表示。(2)(2)转义字符常量转义字符常量#include stdio.h#include stdio.h main()main()printf(nt101);printf(nt101);printf(ntbbbb);printf(ntbbbb);printf(*hello*);printf(*hello*);printf(ntx41);printf(ntx41);输出结果:输出结果:A A *hello*hello*A A【例例】使用转义字符控制输出。使用转义字符控制输出。4 4字符型数据在内存中的存储形式字符型数据在内存中的存储形式c2c10100000100001010图图2.5 2.5 字符型数据的存储字符型数据的存储char c1,c2;c1=A;c2=n 一个字符型数据既可以以字符形式,也可以以整数形式输出一个字符型数据既可以以字符形式,也可以以整数形式输出【例例2.32.3】字符型数据的输出。字符型数据的输出。#includestdio.hmain()main()charc1charc1;c1=65c1=65;printf(“%cprintf(“%c,%dn”%dn”,c1c1,c1)c1);字符型数据:字符型数据:0-2550-255的整数的整数输出结果:输出结果:A A,6565可对字符数据进行的运算可对字符数据进行的运算l算术运算算术运算B-A等价于等价于66-65等价于等价于1a+1等价于等价于971等价于等价于98等价于等价于bl大小写字母的相互转换:大小写字母的相互转换:A+32等价于等价于65+32等价于等价于97等价于等价于ab-32等价于等价于98-32等价于等价于66等价于等价于Bl数字字符与相应整数值的相互转换:数字字符与相应整数值的相互转换:9-0等价于等价于5748等价于等价于99+0等价于等价于948等价于等价于9【例例】#includestdio.hmain()charc1,c2;c1=A;c2=b;c1=c1+32;c2=c2-32;printf(c1=%c,c2=%c,c1,c2);四四.字符串常量字符串常量l 用一对用一对双引号双引号括起来的一串字符;如括起来的一串字符;如“hellohello”,“%d%d%d%d”l 字符串长度:为字符个数字符串长度:为字符个数l 字符串存储:在内存中占的字节数字符串存储:在内存中占的字节数=字符个数字符个数+1+1 C C规定:自动在一个字符串的末尾加一个串结束标志规定:自动在一个字符串的末尾加一个串结束标志00 如:如:“hellohello”在内存中的存储形式是在内存中的存储形式是(该字符对应该字符对应ASCIIASCII码值码值):1041041011011081081081081111110 0 为了能直观理解,以后直接用字符本身表示。上例表示成:为了能直观理解,以后直接用字符本身表示。上例表示成:hello0 1.1.空串空串“”和空格串和空格串“”的区别的区别 2.2.字符常量字符常量b b与字符串常量与字符串常量”b b”的区别的区别形式上:定界符不同:单引号形式上:定界符不同:单引号 ;双引号;双引号“”内存表示:都存储内存表示:都存储ASCIIASCII码码,但但b占占1 1个字节,个字节,”b b”占占2 2个字节个字节注意:注意:C C语言中没有字符串变量,字符串存放在字符数组中。语言中没有字符串变量,字符串存放在字符数组中。注意注意变量赋初值是指在定义变量的同时对变量进行赋值。变量赋初值是指在定义变量的同时对变量进行赋值。例如:例如:int a=5;int a=5;int a,b,c=10;int a,b,c=10;五五.变量赋初值变量赋初值 如果对几个变量赋以同一个初值,不能写成:如果对几个变量赋以同一个初值,不能写成:int a=b=c=8int a=b=c=8;而应写成:而应写成:int a=8int a=8,b=8b=8,c=8c=8;backback 运算符:算术运算符、关系运算符、赋值运算符、逗号运算符等运算符:算术运算符、关系运算符、赋值运算符、逗号运算符等 表达式:由运算对象(常量、变量、函数)、运算符和括号组成表达式:由运算对象(常量、变量、函数)、运算符和括号组成的、有意义的、符合的、有意义的、符合C C语言规定的式子。语言规定的式子。表达式的求值规则:先按运算符的表达式的求值规则:先按运算符的“优先级优先级”由由高到底高到底进行,进行,若级别相同,则按运算符的若级别相同,则按运算符的“结合性结合性”处理。处理。2.4 2.4 运算符和表达式运算符和表达式结合性结合性右结合性右结合性:自右至左的结合方向:自右至左的结合方向左结合性左结合性:自左至右的结合方向:自左至右的结合方向一、算术运算符和算术表达式一、算术运算符和算术表达式1.1.算术运算符及优先级和结合性算术运算符及优先级和结合性 双目双目:+(+(加法运算符加法运算符)-(-(减法运算符减法运算符)*(*(乘法运算符乘法运算符)/(/(除法运算符除法运算符)%(%(模运算符模运算符 或或 求余运算符求余运算符)说明:说明:1.1.除外,双目运算对象可以是整型、实型。运算除外,双目运算对象可以是整型、实型。运算对象只能是整型。对象只能是整型。2.2.操作数类型一致时运算结果与操作数类型一致。操作数类型一致时运算结果与操作数类型一致。3.3.不一致时不能直接运算,数据类型需要转换不一致时不能直接运算,数据类型需要转换整除整除:整:整/整整整整(舍去所有小数部分(舍去所有小数部分四舍五入)四舍五入)8/3=28/3=2实除:实除:两实数或与一实数相除双精度型。两实数或与一实数相除双精度型。如如:8/3.0=2.6666666:8/3.0=2.6666666整型整型%整型整型整型整型 如:如:8%3=2 8%3=2 -19%4=-3 -19%4=-3 (在(在VC6.0VC6.0中结果的符号与被除数相同)中结果的符号与被除数相同)/(/(除法运算符除法运算符)%(%(模运算符模运算符 或或 求余运算符求余运算符)单目:单目:+(+(正值运算符正值运算符)+3)+3 -(-(负值运算符负值运算符)-3 ,-2.0)-3 ,-2.0注:注:1.1.运算符必须出现在运算对象的左边。运算符必须出现在运算对象的左边。2.2.运算对象可以是整型、实型。运算对象可以是整型、实型。2.2.算术运算符和圆括号的优先级:算术运算符和圆括号的优先级:()+-*/%+-单目单目双目双目同级同级同级同级同级同级结合性:结合性:高高低低双目:从左到右双目:从左到右单目:从右到左单目:从右到左优先级优先级a-b+ca-b+c 3 3.算术表达式算术表达式:算术运算符算术运算符和和括号括号将将运算对象运算对象连接起来的、符合连接起来的、符合C C语法规则语法规则的式子的式子 常量、变量、函数等常量、变量、函数等 2+sqrt(c)*b2+sqrt(c)*b 求值规律:求值规律:1)1)括号可以嵌套多层,但左右括号必须配对。由内向外计算。括号可以嵌套多层,但左右括号必须配对。由内向外计算。2)2)不同级别的运算符,按不同级别的运算符,按优先级由高到低优先级由高到低运算运算 同一级别运算符,按同一级别运算符,按结合性结合性运算运算 3)3)若一个运算符两侧数据类型不同,则先进行类型转换,然后若一个运算符两侧数据类型不同,则先进行类型转换,然后计算。计算。如:如:2 2 *3%5/43%5/4a a*b/c-1.5 (a,b,c b/c-1.5 (a,b,c为变量为变量)inti=10;floatf=12.0,e=10.0;doubled=12.0;10+i*f-d/edouble floatlongunsignedint char,short高高 低低为必定的转换为必定的转换当运算符两侧的运算对象当运算符两侧的运算对象的数据类型不一致时的转换方向。的数据类型不一致时的转换方向。注:注:102.400103110.4004.4.基本类型数据间的混合运算基本类型数据间的混合运算5 +b -x/2 +y*m intm=2,floatx=1.2,doubley=4.00.600-+8.0001)1)自动类型转换自动类型转换功能:将功能:将表达式的值表达式的值转换为指定类型。转换为指定类型。如:如:(double)a (double)a (把把a a转换为转换为doubledouble类型类型)(int)(x+y)(int)(x+y)(把把x+yx+y的值的值转换为整型转换为整型,),)(float)(5%3)(float)(5%3)(把把5%35%3的值的值转换为转换为floatfloat型型)注:注:1.(int)x+y (1.(int)x+y (把把x x转换为整型,然后与转换为整型,然后与y y相加相加)2.2.表达式为变量时不加()。表达式为变量时不加()。3.3.强制类型转换或自动类型转换,只是得到了一个所需强制类型转换或自动类型转换,只是得到了一个所需类型的类型的中间变量,原变量或表达式的值和类型并不变。中间变量,原变量或表达式的值和类型并不变。4.4.强制类型转换的优先级高于自动类型转换。强制类型转换的优先级高于自动类型转换。强制类型转强制类型转换运算符换运算符2 2)强制类型转换强制类型转换 格式:格式:(类型名类型名)(表达式表达式)#includemain()inti=1,j=5,k1,k2,k3;floatx=5.7,y=2.8,z1,z2,z3;k1=(int)x;k2=(int)(x)/y;k3=(int)(x/y);z1=(float)i;z2=(float)i/j;z3=(float)(i/j);printf(k1=%dn,k1);printf(k2=%dn,k2);printf(k3=%dn,k3);printf(z1=%fn,z1);printf(z2=%fn,z2);printf(z3=%fn,z3);【例例2.62.6】强制类型转换示例强制类型转换示例1.1.基本赋值运算符:基本赋值运算符:=如:如:a=10a=10 复合赋值运算符:复合赋值运算符:+=+=,-=-=,*=,/=/=等等二、赋值运算符和赋值表达式二、赋值运算符和赋值表达式格式:格式:变量名变量名 赋值运算符赋值运算符 表达式表达式a=3a=3a=a+1a=a+1a+=5a+=5 a=b=c=1a=b=c=12.2.赋值表达式赋值表达式:由赋值运算符组成的表达式:由赋值运算符组成的表达式 a a 1010(1)1)赋值运算符的优先级只高于逗号运算符,右结合性。赋值运算符的优先级只高于逗号运算符,右结合性。(2 2)右侧右侧 也可以是一个赋值表达式。也可以是一个赋值表达式。例例1 1:下列程序段执行后,变量:下列程序段执行后,变量a a的值?的值?int a,b,cint a,b,c;a=5 a=5;a=(b=5)a=(b=5);a=(b=5)+(c=3)a=(b=5)+(c=3);(4)4)在程序中可给一个变量多次赋值,最后赋的值为其当前数据。在程序中可给一个变量多次赋值,最后赋的值为其当前数据。(3)赋值过程:赋值过程:求求出表达式的出表达式的值值,比较表达式值的类型与变量的类型,比较表达式值的类型与变量的类型,类型相同时:直接类型相同时:直接赋值赋值 类型不同时:先自动类型转换再赋值。类型不同时:先自动类型转换再赋值。赋值表达式的值与类型与左边变量的值与类型赋值表达式的值与类型与左边变量的值与类型相同相同如:如:doublef;f=23;则则f=23.00000000000000b、整型、整型实型实型:舍弃小数部分:舍弃小数部分如:如:inti;i=12.5则则i=12(5 5)赋值运算中的类型转换)赋值运算中的类型转换 原则:自动把右侧表达式值按左边变量类型转换原则:自动把右侧表达式值按左边变量类型转换 a a、实型、实型 整型:数值不变整型:数值不变 ,以浮点数形式存储到变量中,以浮点数形式存储到变量中3.3.复合赋值运算符复合赋值运算符任何双目运算符任何双目运算符问:问:若若i=2,j=12,k=10 i=2,j=12,k=10 则则 k+=j+=i+8k+=j+=i+8的值是?的值是?=k=k+(j=j+(i+8)k=k+(j=j+(i+8)值是值是 3232 在赋值符在赋值符“”之前加上之前加上其它运算符其它运算符,构成复合运算符。,构成复合运算符。注:其它运算符放在注:其它运算符放在“”之前之前 如:如:a+=3 a+=3 等价于等价于 a=a+3a=a+3 x*=y+8 x*=y+8 等价于等价于 x=x*(y+8)x=x*(y+8)x%=3 x%=3 等价于等价于 x=x%3x=x%3三、自增三、自增(+)(+)、自减、自减(-)(-)运算符运算符 如:如:int i=3,x int i=3,x;x=+i;x=+i;x=i+x=i+;和使运算对象的值增和使运算对象的值增1 1或减或减1 1。运算对象可为实型变量、整型变量。运算对象可为实型变量、整型变量。不能不能是常量或表达式是常量或表达式 如:如:3 3,(i+ji+j)-;等都不合法。等都不合法。是单目运算符。是单目运算符。+i,-i+i,-i,i+,i-i+,i-都是合法的表达式。都是合法的表达式。结合方向:结合方向:“自右向左自右向左”。如:如:-i+-i+相当于相当于-(i+)-(i+)+i,-i+i,-i:前置运算符:前置运算符(i(i值先增值先增/减减1 1,后使用,后使用i)i)i+,i-i+,i-:后置运算符:后置运算符(先使用先使用i i的值,后使的值,后使i i值增值增/减减1)1)相同点:相同点:变量都具有自增变量都具有自增1 1或自减或自减1 1的效果的效果 不同点不同点:表达式会有不同的值:表达式会有不同的值=i=i+1=i=i+14;x=i4;x=i4;4;=x=i=3;i=i+1=4;=x=i=3;i=i+1=4;【例例2.82.8】自增、自减运算符使用示例:自增、自减运算符使用示例:#includestdio.hmain()inti=5,j,k;j=+i;i=5;k=i+;printf(i=%d,j=%d,k=%dn,i,j,k);printf(“j=%d,k=%dn”,+j,k+);求下列算术表达式的值求下列算术表达式的值 2*3%5/42*3%5/4+a-c+b+(a=1,c=3,b=3)+a-c+b+(a=1,c=3,b=3)02a+-c+b+(a=3,b=-4,c=5)a+-c+b+(a=3,b=-4,c=5)+a-c+(+b)(a=3,b=-4,c=5)+a-c+(+b)(a=3,b=-4,c=5)-6-4l逗号运算符:逗号运算符:“,”优先级优先级:最低最低 结合性:从左到右结合性:从左到右l逗号表达式:用逗号将表达式连接起来的式子逗号表达式:用逗号将表达式连接起来的式子 格式:格式:表达式表达式1 1,表达式表达式2 2,表表达式达式N Nl逗号表达式的值:逗号表达式的值:从左到右,依次求出各表达式的值,从左到右,依次求出各表达式的值,表达式表达式N N 的值和类型为逗号表达式的值和类型。的值和类型为逗号表达式的值和类型。如:如:x=(a=3,b=5,c=b*4)x=(a=3,b=5,c=b*4)t=3,t+2 t=3,t+2 (a=2*3,a*5),a+6 (a=2*3,a*5),a+6四、逗号运算符和逗号表达式四、逗号运算符和逗号表达式五、五、sizeof运算符运算符 sizeof运算符是一个单目运算符运算符是一个单目运算符,它返回变量或数它返回变量或数据类型的字节长度。据类型的字节长度。一般形式为:一般形式为:sizeof(类型标识符类型标识符)或或 sizeof(变量名变量名)例如:例如:sizeof(double)sizeof(int)设有下列程序段设有下列程序段:floatf;inti;i=sizeof(f);则变量则变量i i的值为的值为4 4。backback巩固练习巩固练习(1)(1)若变量若变量a a是是intint类型,并执行了语句:类型,并执行了语句:a=a=A A+1.6+1.6;则正确叙述是则正确叙述是_。A)aA)a的值是字符的值是字符C C B)aB)a的值是浮点型的值是浮点型 C)C)不允许字符型和浮点型相加不允许字符型和浮点型相加 D)aD)a的值是字符的值是字符AA的的ASCIIASCII值加上值加上l l巩固练习巩固练习(2)(2)若以下选项中变量已正确定义,则正确的赋值语若以下选项中变量已正确定义,则正确的赋值语句是句是_。A)x1=26A)x1=268 83 3;B)1+2=x2B)1+2=x2;C)x3=0 x12C)x3=0 x12;D)x4=1+2=3D)x4=1+2=3;(3)(3)以下选项中不属于以下选项中不属于C C语言的类型的是语言的类型的是_。A)signed short intA)signed short intB)unsigned charB)unsigned char C)signed long C)signed long D)long shortD)long short巩固练习巩固练习(4)以下选项中合法的实型常数是以下选项中合法的实型常数是_。A)5E20B)E-3C).2E0D)1.3E(5)下列叙述中,正确的是下列叙述中,正确的是_。A)C语言中既有逻辑类型也有集合类型语言中既有逻辑类型也有集合类型 B)C语言中没有逻辑类型但有集合类型语言中没有逻辑类型但有集合类型 C)C语言中有逻辑类型但没有集合类型语言中有逻辑类型但没有集合类型 D)C语言中没有逻辑类型也没有集合类型语言中没有逻辑类型也没有集合类型巩固练习巩固练习(6)已已知知大大写写字字母母A的的ASCII码码是是65,小小写写字字母母a的的ASCII码码是是97,则则用用八八进进制制表表示示的的字字符符常常量量101是是_。A)字符字符A B)字符字符a C)字符字符e D)非法的常量非法的常量(7)设设a和和b均均为为double型型常常量量,且且a=5.5、b=2.5,则则表达式表达式(int)a+b/b的值是的值是_。A)6.500000 B)6 C)5.500000D)6.000000巩固练习巩固练习(8)以下可以定义为用户标识符的是以下可以定义为用户标识符的是_。A)printf B)net C)3com D)int(9)以下语句序列中错误的是以下语句序列中错误的是_。A)int x=l;B)int x=0;x+;(x+1)+;C)int x=23;D)int x=l,y=l;(x+)+1;(x+)+(y一一);巩固练习巩固练习(10)以以下下变变量量x、y、z均均为为double类类型型且且已已正正确确赋赋值值,不不能能正正确确表表示示数数学学式式子子x/(y*z)的的C语语言言表表达达式式是是_。A)xy*z B)x*(1(y*z)C)xy*1zD)xyz(11)若若a为为int类类型型,且且其其值值为为3,则则执执行行完完表表达达式式a+=a-=a*a后,后,a的值是的值是_。A)-3B)9C)-12D)6本章小结本章小结1C语言的数据类型包括:基本类型,构造类型,指针语言的数据类型包括:基本类型,构造类型,指针类型和空类型。类型和空类型。2.标识符由字母、数字、下划线组成,开头字符为字母标识符由字母、数字、下划线组成,开头字符为字母或下划线。或下划线。3.常量、常量、变量变量lC语言中的变量必须先定义再使用。语言中的变量必须先定义再使用。l在变量定义的同时可直接给变量赋初值。在变量定义的同时可直接给变量赋初值。4.变量的三要素为:变量名、变量的类型和变量的值。变量的三要素为:变量名、变量的类型和变量的值。5.运算符的优先级和结合性:运算符的优先级和结合性:6.表达式表达式l每个表达式都有一个确定的值和类型。每个表达式都有一个确定的值和类型。l表达式求值依照运算符功能以及运算符的优先级表达式求值依照运算符功能以及运算符的优先级和结合性规则进行。和结合性规则进行。本章小结本章小结习题习题22.12.2
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服