C语言程序设计 - 赋值运算符与赋值表达式
c语言运算符和表达式
}
28
§3.3 逻辑表达式
3.3.1 关系运算符及关系表达式 1.关系运算符
关系运算符是用来比较两个运算对象大 小的,运算结果是成立或不成立。 如果成立,则结果为逻辑值“真”,用整 数 “1”来表示;如:5>=5 如果不成立,则结果为逻辑值假”,用整 数“0”来表示。如:5<5
29
§3.3 逻辑表达式
3,再赋给a。
例如: a+=3 等价于 a=a+3 x*=y+8 等价于 x=x*(y+8) x%=3 等价于 x=x%3
26
是个整体
复合赋值运算表达式: 变量 双目运算符=表达式
注意:如果=右边是包含若干项的表达式,则相 当于它有括号。 步骤: 1)左边变量的当前值与右边整个表达 如: ① x %= y+3 式进行相应运算。 ② x %= (y+3) 2)把1)的结果赋给左边的变量。 3)赋值表达式的值是左边变量的值。 |__↑ ③ x = x %(y+3)(不要错写成x=x%y+3) 27
6
③ 运算符在整个运算符系统中的优先级。优 先级是指在运算对象的左右都有运算符时 运算的先后次序。运算对象先做优先级高 的运算。如:*/比+-优先级高。
④ 运算符操作的数据的结合性。运算符的结 合性规定了在表达式求解过程中,若运算 对象其左右运算符优先级相同时的运算方 向。结合性有两种:左结合(从左到右计 算)和右结合(从右到左计算)。
表达式书写的一般规则: 表达式必须写在同一行上,只能使用圆括号, 且左右括号个数要相同,有多层括号时内层 括号中的运算优先。 如:
1 ax ax 2 4x
写作:
1.0/2*(a*x+(a+x)/4/x)
C语言程序设计教案第3讲 数据类型、运算符与表达式
<
>
2,实型变量的分类
说明: C并没有具体规定每种类型的长度 并没有具体规定每种类型的长度, 说明:ANSI C并没有具体规定每种类型的长度,精度和数值 范围.下面是常用的C 范围.下面是常用的C编译系统的情况 类 型 字节数 有效数字 最小取值范围 float 4 6~7 -3.4*10-38~ 3.4*1038 double 8 15~16 -1.7*10-308~ 1.7*10308 long double 16 18~19 -1.2*10-4932~1.2*104932
8
取反
<
>
2.
整型变量分类
基本类型: 基本类型:int 根据数值的范围分为: , 根据数值的范围分为:int,short,long , 根据有无符号(singed/unsigned)及范围可分: 及范围可分: 根据有无符号 及范围可分
类 型 举例: 举例: [signed] int unsigned [int] [signed] short [int] unsigned short [int] [signed] long [int] unsinged long [int]
C 数 据 类 型
构造类型 指针类型 空类型 void
定义类型 typedef
<
>
2
2.2 常量与变量
一,标识符
定义:用来标识变量名,符号常量名, 定义:用来标识变量名,符号常量名,函数 数组名,类型名, 名,数组名,类型名,文件名的有效字符序 列称为标识符.(即一个名字) .(即一个名字 列称为标识符.(即一个名字) 使用规则
32767,32767,-32768,8
<
第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案
2.2 标识符、常量与变量
符号常量
【例2-1】输入圆的半径,计算周长和面积。 #define PI 3.14159 void main() { float r,c,s; scanf("%f",&r); c=2*PI*r; s=PI*r*r; printf("r=%f,c=%f,s=%f\n",r,c,s); }
以下是合法的整型常量:
2.2 标识符、常量与变量
实型常量
实型常量只能用十进制形式表示 表示形式:
小数形式。由数字序列和小数点组成,如 3.1415926、-0.15、.15、2.等都是合法的实型 常量。 指数形式。由十进制数加上阶码标志“e”或 “E”及阶码组成,如3.14e-4或3.14E-4表示 3.14×10-4。
2.2 标识符、常量与变量
2.2.3 变量
在程序运行过程中,其存储的值可以被改变的量称 为变量 变量必须通过标识符进行说明,称为变量名。 变量名和内存单元地址存在映射关系,程序可以通 过变量名寻址,从而访问其存储的数据。
2.2 标识符、常量与变量
变量的定义和说明
数据类型 变量名1[,变量名2,…,变量名n];
long型转换成float型时由原来可达10位整数变成只有7位有效数字精度丢失但由于数的范围扩大了数据类型从较低级提升到较高级随着竞争日益激烈酒店嘴中的肥肉被大肆抢夺各大酒店在这场竞争中几乎溃不成军
21世纪高等学校精品规划教材
第2章 数据类型、运算符 和表达式
掌握C语言的基本数据类型 掌握标识符、关键字、常量和变量的使用 掌握运算符、表达式以及数据类型之间的转换 等 掌握简单数据的输入输出
运算符
注意:运算符优 先级、数值所起 作用—是逻辑值
123 变量值
33
回目录页
C语言程序设计 运算符及表达式
逻辑表达式举例2: 判断某一年year 是否为闰年。闰年应满足下面 两个条件之一: (1)能被4整除,但不能被100整除; 123 变量值 (2)能被400整除。 如何用逻辑表达式表示?
13
回目录页
C语言程序设计 运算符及表达式
4、自增、自减运算符 p31
单目运算符,使变量的值增1或减1。 i=i+1 如: ++i,i++, - -i, i- i=i-1
123 变量值
运算规则:
1)++i , - -i (前置运算):先自增、减,再参与运算;
2) i++, i- - (后置运算):先参与运算,再自增、减。 例如:i=3时,分析 j=++i; j=i++; 的区别。
① a>b
② b+c>a ③ c= = a > b > c
123
29
回目录页
C语言程序设计 运算符及表达式
七、逻辑运算符和逻辑表达式 &&相当于日常生活中:“而且、并且”, 只在两条件同时成立时为“真” ¦ (1)逻辑运算符:&&(与)、¦(或)、!(非) ||相当于日常生活中:“或”, 只要一个条件成立即为“真” (2)运算规则: a&&b 当且仅当a,b 都为真时,为真。 123 ¦ a¦b 当且仅当a,b 都为假时,为假。 !a 当a为真(非0),!a 为假(0); 当a为假(0)时,!a 为真(1)。
( x 2 x1 ) 2 ( y 2 y1 ) 2
c语言运算符及其表达式
c语言运算符及其表达式(总14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--C语言的数据类型运算符表达式1.基本数据类型基本数据类型最主要的特点是,其值不可以再分解为其它类型。
也就是说,基本数据类型是自我说明的。
2.构造数据类型构造数据类型是根据已定义的一个或多个数据类型用构造的方法来定义的。
也就是说,一个构造类型的值可以分解成若干个“成员”或“元素”。
每个“成员”都是一个基本数据类型或又是一个构造类型。
在C语言中,构造类型有以下几种:·数组类型·结构类型·联合类型3.指针类型指针是一种特殊的,同时又是具有重要作用的数据类型。
其值用来表示某个量在内存储器中的地址。
虽然指针变量的取值类似于整型量,但这是两个类型完全不同的量,因此不能混为一谈。
4.空类型在调用函数值时,通常应向调用者返回一个函数值。
这个返回的函数值是具有一定的数据类型的,应在函数定义及函数说明中给以说明,例如在例题中给出的max函数定义中,函数头为: int max(int a,int b);其中“int ”类型说明符即表示该函数的返回值为整型量。
又如在例题中,使用了库函数 sin,由于系统规定其函数返回值为双精度浮点型,因此在赋值语句s=sin (x);中,s 也必须是双精度浮点型,以便与sin函数的返回值一致。
所以在说明部分,把s说明为双精度浮点型。
但是,也有一类函数,调用后并不需要向调用者返回函数值,这种函数可以定义为“空类型”。
其类型说明符为void。
在第五章函数中还要详细介绍。
在本章中,我们先介绍基本数据类型中的整型、浮点型和字符型。
其余类型在以后各章中陆续介绍。
对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。
在程序执行过程中,其值不发生改变的量称为常量,取值可变的量称为变量。
它们可与数据类型结合起来分类。
例如,可分为整型常量、整型变量、浮点常量、浮点变量、字符常量、字符变量、枚举常量、枚举变量。
C语言第2章 数据类型及运算符
C/C++程序设计第2 章数据类型及表达式计算机学院C/C++程序设计课程组C/C++程序设计第2章主要内容本章主要介绍:基本数据类型和存储类型的说明方法,以及基本运算符的运算规则和表达式的构成方法,为后续章节的学习奠定一个基础。
C/C++程序设计2.1 C 语言的数据类型使用高级语言编写程序,主要工作有两项:一是描述数据,二是描述数据加工的方法。
数据类型图 2.1C 语言的数据类型基本类型整型实型字符型带符号长整型(简称长整型)带符号整型无符号整型无符号整型无符号短整型无符号长整型单精度型双精度型空类型构造类型指针类型枚举类型数组类型结构体类型共用体类型C/C++程序设计2.2 常量常量是程序运行过程中其值不发生变化的数据。
2.2.1 整型常量表2.1 整型数据的表示方式2.2.2 实型常量3.14、.9999、-3.14159、834.、–0.666 、6.89E-52.2.3 字符常量’x’,’a’,’A’,’b’,’$’,’#’ ,printf("\tab\rcd\n\’ef\\g");2.2.4 符号常量#define 符号常量字符串#define PI 3.14159C/C++程序设计【例2.1】求一个圆柱体体积,用符号常量代替π。
#include <stdio.h>#define PI 3.14159 /*定义PI为符号常量*/void main(){float r,h,v;scanf("%f,%f",&r,&h);v=PI*r*r*h; /* PI相当于3.14159,参与运算*/printf("Volume=%f",v);}运行时输入:3,2↙运行结果为: Volume=56.548618C/C++程序设计2.2.5 字符串常量"\tab\rcd\n\’ef\\g“"I am a student" 、"x"、""注意:’\0’和’0’不同,’\0’是编码为0的字符,而’0’则是数字0,其编码为48。
C语言程序设计第2章-1数据类型、运算符和表达式
2、 C 语言的运算符的优先级与结合性
3、表达式:由操作数和运算符组成的序列。
5
精品文档
⒉ 真值: 带符号位的机器数对应的数值称为机器数的真值。 (10100011)2= -35
⒊ 无符号数:当计算机字长的所有二进位都用来表示(biǎoshì)数值时,称 为无符号数。
2.2.2 原码、反码和补码
⒈ 原码
整数 X 的原码指:其数符位 0 表示正,1 表示负,其数值部分
就是 X 的绝对值的二进制表示。
2.1 常用 的进位制 (chánɡ yònɡ)
2.1.1 二进制、八进制和十六进制(shíliùjìn zhì)数
3
精品文档
2.1.2十、二进制、八进制和十六进制数之间的换算
⒈ 二、八、十六进制数 → 十进制数的换算采用按权展开法。
(2AB.F)16 = 2χ162+10χ161+11χ160+15χ16-1 = 683.93 ⒉ 十进制数 → 二进制数的换算整数部分(bù fen)采用除以二取余直到商
19
精品文档
2.5.1 算术运算符与算术表达式
⒈ 基本的算术运算符:
14
精品文档
3.字符常量
字符常量是用单撇号括起来的单个字符或转义字符,
如: ‘a’, ‘9’, ‘&’, ‘\n’, ‘\’’, ‘\101’。
字符常量的值为该字符的ASCII码值,如 ‘a’值为97, ‘\n’
C语言教程第3章 数据类型、运算符与表达式
注意以下几点:
(4) 一个整常量后面加一个字母u,认为 是unsigned int型,如12345u,在内存 中按unsigned int规定的方式存放(存储 单元中最高位不作为符号位,而用来存 储数据,见图2.4(b)。如果写成-12345u, 则先将-12345转换成其补码53191,然 后按无符号数存储。
int a; unsigned int b;
一个整数(以13为例)在存储单元中 的存储情况
3. 整型变量的定义
int a,b; (指定变量a、b为整型) unsigned short c,d; (指定变量c、d为无符号短整型) long e,f; (指定变量e、f为长整型)
例3.2整型变量的定义与使用。
字符型变量用来存放字符常量,请注 意只能放一个字符,不要以为在一个字符 变量中可以放一个字符串(包括若干字符)。 字符变量的定义形式如下: char c1,c2;
c1='a';c2='b';
3.5.3 字符数据在内存中的存储 形式及其使用方法
字符的相应的ASCII代码放到存储单元中
例3.6向字符变量赋予整数。
单精度 ( float 型 占4B) 双精度 ( double 型 占8B )
C语言运算符与表达式
C语⾔运算符与表达式1 概论计算机内存中的数据可以通过变量,常量来表⽰和存储,那么这些数据如何运算?C语⾔中提供了⼤量(34种)的运算符可以⽤来完成数据的算术,赋值,逻辑,关系,条件判断以及⾃增⾃减运算和基于⼆进制的位运算,同时提供了跨平台的⽤于数据格式化输⼊输出的函数printf()和scanf(),⽽实际上计算机需要去完成的任务正是读取输⼊的数据,根据业务逻辑进⾏计算之后将结果输出。
在学习为了完成数据的复杂计算⽽⽣的那些运算符之前,需要先明⽩⼏个概念:操作数:参与计算的数据,可以是之前学过的整数,浮点数和字符以及以后学的。
运算符:也就是执⾏某项计算的符号,例如+ - * / % >等等表达式:操作数和运算符的组合,例如 x+y;⽽运算符通常是有优先级和结合性的特性:优先级:以算术运算符为例⼦,通常是先乘除后加减,可以使⽤()提⾼优先级结合性:继续以算术运算符为例⼦,当优先级相同时(表达式中只有同级别的运算符),通常是从左到右开始执⾏的。
但是实际⽣产和⽣活中通常都是各种运算和后⾯学习的流程控制语句联合嵌套使⽤的,是现实⽣活中的业务复杂度决定的。
2 算术运算符算术运算符主要是⽤来完成数学运算的,C语⾔⽀持数学上的加减乘除四则混合运算,同时还有取模运算(%),也就是求被除数/除数=商数…余数,需要指出的是只有整数才能求模。
下⾯程序案例演⽰了算术运算符使⽤过程中需要注意的事项:1 整数和整数运算,结果是整数,尤其是在使⽤除法时需要注意会舍去⼩数部分2 当有多种数据类型(int double char)参与运算时,运算结果的数据类型是参与运算的最⼤的数据类型,这样保持数据运算的准确性。
#include <stdio.h>/*算术运算符 + - * -@author Tony 186********@@since 20160526 10:13*/void alg_operator() {printf("%d\n", 1 + 3);printf("%d\n", -3); //加减运算符有时候会被当做正负数printf("%d\n", 5 / 2.0);//运算的结果是2.5 但是printf在打印输出时不会做强制类型转换,因此这⾥解析错误,结果为0printf("%d\n", (int)(3.5 * 2));// 当参与运算的类型不⼀致时,如果想要指定类型的结果,可以通过强制类型转换来实现printf("3/2=%d", 3 / 2); //两个整数相除⼩数部分被舍去}求模运算的结果与被除数相同,如果被除数是正数,那么取余的结果也是正数,反之也成⽴。
c语言-数据类型、运算符与表达式
c语⾔-数据类型、运算符与表达式⼀、数据类型1、概念(1)标识符1.定义:⽤来标记常量、变量、函数及⽂件名字的字符序列。
2.构成规则:只能由数字、字母、下划线三部分组成,且不能以数字开头,并且严格区别⼤⼩写,不能定义为系统中存在的关键字。
(2)关键字c语⾔中具有特定含义、专门⽤作语⾔特定成分的⼀类标识符注:在C语⾔中,所有的关键字都有固定的意义,不能⽤作其它,且所有的关键字都必须⼩写(3)c的数据类型数据是操作的对象,数据类型是指数据的内在表现形式(代码、存储、运算)(4)常量和变量1. 常量【1】常量:在程序运⾏过程中,其值不能被改变的量 常量区分为不同类型(表⽰形式),如:12、1.0、‘a’【2】符号常量:⽤⼀个标识符代表的⼀个常量定义⽅法:#define 标识符常量#define PRICE 30#include <stdio.h>void main(){int num,total;num = 10;total = num * PRICE;printf("total = %d",total);}2. 变量【1】变量:其值是可以改变的量,它⽤标识符(变量名)来表⽰,在内存中占据⼀定的存储单元变量的定义⽅法:类型符标识符注意事项:<1>见名知意 <2>先定义后使⽤ <3>习惯上,符号常量名⽤⼤写,变量名⽤⼩写,以⽰区别【2】变量赋初值变量先定义,后使⽤,⼀般放在函数开头变量初始化:可以在定义时赋初值2、整型数据(1)整型常量1. 各种进制的整数表⽰⽅法⼗进制整数:由数字0~9和正负号表⽰. 如 123,-456,0⼋进制整数:由数字0开头,后跟数字0~7表⽰. 如 0123,011⼗六进制整数:由0x开头,后跟0~9,a~f,A~F表⽰. 如 0x123,0xff2. 整型常量的类型【1】整型常量的值在-32768~+32767范围内,编译器认为是int类型【2】整型常量的值超过上述范围,⽽在-2147483648 ~ +2147483647范围内,编译器认为是long类型【3】当系统定义short int与int占内存长度相同,则两种类型常量均可以赋给 int和short int型变量【4】在整型常量后⾯加⼤写L或⼩写l,则告诉编译器,把该整型常量作为long类型处理。
C语言 运算符
无论是加减乘除还是大于小于,都需要用到运算符,在C语言中的运算符和我们平时用的基本上都差不多。
运算符包括赋值运算符、算术运算符、逻辑运算符、位逻辑运算符、位移运算符、关系运算符、自增自减运算符。
大多数运算符都是二目运算符,即运算符位于两个表达式之间。
单目运算符的意思是运算符作用于单个表达式。
(具体什么是表达式下一节再说)一、赋值运算符赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。
符号为‘=’。
这里并不是等于的意思,只是赋值,等于用‘==’表示。
注意:赋值语句左边的变量在程序的其他地方必须要声明。
得已赋值的变量我们称为左值,因为它们出现在赋值语句的左边;产生值的表达式我们称为右值,因为她它们出现在赋值语句的右边。
常数只能作为右值。
例如:count=5;total1=total2=0;第一个赋值语句大家都能理解。
第二个赋值语句的意思是把0同时赋值给两个变量。
这是因为赋值语句是从右向左运算的,也就是说从右端开始计算。
这样它先total2=0;然后total1=total2;那么我们这样行不行呢?(total1=total2)=0;这样是不可以的,因为先要算括号里面的,这时total1=total2是一个表达式,而赋值语句的左边是不允许表达式存在的。
二、算术运算符在C语言中有两个单目和五个双目运算符。
符号功能+ 单目正- 单目负* 乘法/ 除法% 取模+ 加法- 减法下面是一些赋值语句的例子,在赋值运算符右侧的表达式中就使用了上面的算术运算符:Area=Height*Width;num=num1+num2/num3-num4;运算符也有个运算顺序问题,先算乘除再算加减。
单目正和单目负最先运算。
取模运算符(%)用于计算两个整数相除所得的余数。
例如:a=7%4;最终a的结果是3,因为7%4的余数是3。
那么有人要问了,我要想求它们的商怎么办呢?b=7/4;这样b就是它们的商了,应该是1。
也许有人就不明白了,7/4应该是1.75,怎么会是1呢?这里需要说明的是,当两个整数相除时,所得到的结果仍然是整数,没有小数部分。
C语言程序设计:第3章 运算符与表达式
提问:以下程序是输出变量的值还是表达式的值?
int main(void)
{
char a = 0,b = 0; a = 10;
总结:永远输出表达式的值!!!
b = 15;
printf("%d",a);
printБайду номын сангаас("%d\n",a+b);
sizeof(表达式) 结果为表达式的数据类型占据的字节数
课堂练习: 写出以下表达式的值。 int a = 10; sizeof(int) sizeof(unsigned int) sizeof(a) sizeof(165) sizeof(a + 10) sizeof(float) sizeof(double) sizeof(long double)
c = 7/2;
printf("%f\n", c);
c = a*2;
printf("%f\n", c);
return 0;
}
8
算术运算符与表达式: + - * / %
注意:%求余运算符的两个运算对象必须都是整数! 而且表达式结果的正负由被除数决定。
课堂练习: 2.写出以下表达式的结果。
int a = 10,b = 3,c = -7; a/b a%b b%a c%a a%c 20 % 6.5 20%-5 -20%5 -20%-5
《C语言程序设计》 第三章 运算符与表达式
1
课程回顾
❖变量的定义、初始化 ❖变量的使用 ❖三大基本数据类型
2
本次课议题
❖运算符与表达式 ❖优先级与结合性 ❖算术运算符与表达式 ❖关系运算符与表达式 ❖逻辑运算符与表达式 ❖赋值运算符与表达式
04.C语言-运算符和表达式
类型 ,
含义 逗号
示例 a>b,c!=0,x
优先级 15
结合方向 从左到右
计算如下逗号表达式的值。 a=3*5,a*4 //a=15,表达式值60 a=3*5,a*4,a+5 //a=15,表达式值20 x=(a=3,6*3) //赋值表达式,表达式值18,x=18 x=a=3,6*a //逗号表达式,表达式值18,x=3
11
从左到右
||
逻辑或
y/4 || (x+3)==5
12
从左到右
逻辑运算符
• 逻辑运算的值为“真”和“假”两种,用“1”和“0”来表示。
a
b
!a
!b
a && b
a || b
真
真
假
假
真
真
真
假
假
真
假
真
假
真
真
假
假
真
假
假
真
真
假
假
判断某个年份是否是闰年? 闰年的规则:能被四整除不能被100整除 或者是能被400整除
C) (x>=y>=z)
D) (x>=y) & (y>=z)
3:以下程序的输出结果是________。 main( ) { int n;
( n=6*4, n+6), n*2; printf("n=%d\n",n); } A) 30 B) 24 C) 60 D) 48
4:表达式y=(13>12?15:6>7?8:9)的值为____ 。 A) 9 B) 8 C) 15 D) 1
C语言程序设计(算术运算和赋值运算)
2.1算术运算和赋值运算2.1.1算术运算符与算术表达式运算符是表示某种操作的符号,操作的对象叫操作数,用运算符把操作数连接起来形成一个有意义的式子叫表达式。
C/C++语言为了加强对数据的表达,处理和操作能力,提供了大量的运算符和丰富的表达式类型,其中最常用的是算术运算符,多数程序都要进行算术运算。
1.C/C++语言提供了如下算术运算符:+(加法运算符)-(减法运算符)*(乘法运算符)/(除法运算符)%(求余运算符)两个整数相除结果还是整数,如8/3结果为2。
如果参加运算的两个数中有一个是实型,则结果为double型。
求余运算符要求%两侧都是整型数据,表达式x%y的结果为两数相除后的余数,如果x 能被y整除,则结果为零。
求余运算符不能应用到float或double型。
2.算术表达式的计算用算术运算符把常量、变量、函数等运算对象连接起来,称为算术表达式,如a+b*c-2+’a’是一个合法的算术表达式,表达式的结果为一个算术值。
运算符都有优先级和结合性,因此在求表达式的值时,要按照优先级的高低依次计算,如果一个运算量两侧运算符优先级相同,则按规定的结合方向进行。
算术运算符的优先级与代数中相同,即先乘除,后加减。
结合性是从左到右,如当表达式中有多个加法或减法,则按从左到右的顺序求值。
算术运算符的优先级见表2-3。
表2-3算术运算符的优先级运算符求值顺序*,/或%先求值,如果有多个,则从左到右求值+或-其次求值,如果有多个,则从左到右求值编写程序时,应能将代数表达式用正确的算术表达式表示出来。
例如:(1)求三个数的算术平均值代数表达式:ave=3cba++算术表达式:ave=(a+b+c)/3这里必须使用括号改变运算的次序,如果不使用括号,根据运算符的优先级a+b+c/3的计算结果为a+b+3c(2)根据三角形三边计算三角形面积代数表达式:))()((c s b s a s s ---算术表达式:sqrt(s*(s-a)*(s-b)*(s-c))表达式中使用开平方根函数sqrt(),使用函数时后面必须使用一对括号,把所有参数括进去,括号可以嵌套,但要保证配对正确。
C语言程序设计第二章
2.2常量和变量
变量的类型
2.3 整型数据
2.3.1整型常量 整型常量即整常数。在C语言中,整型常量可以用十进制、八 进制、十六进制3种形式表示。 1.十进制整数 由0~9共10个数码组成。如5234,-78,0等。注意:5234不能 写成5,234。 2.八进制整数 八进制整数必须以数字o开头,组成八进制的数码为0~7。如 o123,o101,o645,o763等。 3.十六进制整数 十六进制整数以0x或0X开头(0为数字),组成十六进制的数码为 0~9,A~F(a~f)。如0x99A,0X97C,0x59ff等。
基本类型 实型 字符类型 (char) 枚举类型 (enum) 数组类型([]) 结构体类型 (struct) 共用体类型 (union) 文件类型 (FILE)
单精度型 (float) 双单精度型 (double)
符号长整型 (unsigned long)
构造类型
C语言提供的数据类型如右所 示:
2.3 整型数据
3.整型变量的定义 整型变量的定义的格式如下: 类型标识 变量名1,变量名2,变量名3…… 类型标识符可以是int、short、long、unsigned,或是它们的组合,例 如: int x,y; //指定变量x、y为整型变量 long c,d; //指定变量c、d为长整型变量 unsigned age,hight; //指定变量age,hight为无符号整型变量 变量的定义,一般放在一个函数开头的声明部分。 4.整型变量的赋值 可以将一个整型常量或整型变量赋值给整型变量,例如: int x=456;
2.4 实型数据
2.4.1实型常量 在C语言中,实型表示实数的集合,实型常量又称为实数。实 型常量只能用十进制形式表示,不能用八进制或十六进制形式表示。 实型常量有两种表示形式 1.十进制小数形式 十进制小数形式由数码0~ 9和小数点组成。如0.123,.123, 0.0,0.1,-267.8230,0.,.0等。 2.十进制指数形式 由十进制数码,“e”或“E”(代表×10)组成。如1e5, 139.5E2,-1.99e-3(代表1×105,139.5×102,-1.99×10-3)等。 格式如下: 小数或整数e(或E)+(或-)整数
第4讲 简单的C语言程序设计(3)
例:由自增自减组成的表达式
#include<stdio.h>
void main() { int a; float x;
a=16; x=12.6;
printf("a1=%d,a2=%d,a3=%d\n",a++,a++,a++); printf("a=%d\n",a);
printf("x1=%f,x2=%f,x3=%f\n",--x,--x,--x);
复合位运算符: 由于 C 语言中表达式可以作为语句使用,因此
复合赋值表达式与赋值表达式一样,也可以单独 作为符合赋值语句使用。
若有定义语句:int a=3,b=2,c=1;,以下选项中 错误的赋值表达式是( )。 A. a=(b=4)=3; B. a=b=c+1; C. a=(b=4)+c; D. a=1+(b=c=4);
如果表达式值的类型与被赋值变量的类型不一致,但都 是数值型或字符型时,系统将自动把表达式值的类型转 换成被赋值变量的类型后,再赋值给变量。 赋值运算结合方向:右→左 例: x = y = 65 等价于 x = ( y = 65 ) ① 先将 65 赋值给变量 y,变量 y 的值是 65 因而表 达式 y = 65 的值是 65 ② 再将表达式 y = 65的值65赋值给变量x,变量 x 的 值是 65,表达式 x = y = 65 的值是 65
例: 用转义字符输出字符和不可打印字符。 main() { printf(“ABC\tabc\txyz \n”); printf(“abc\bxyz\n”); }
字符变量
字符类型(char)变量占用1字节内存单元。 将一个字符常量存储到一个字符变量中,实际 上是将该字符的 ASCII 码值(无符号整数)存 储到内存单元中。 字符数据在内存中存储的是字符的 ASCII 码 (一个无符号整数),其形式与整数的存储形
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计
第2章数据类型、运算符与表达式
——算术运算符与算术表达式
王小银
C语言程序设计
C 运算符算术运算符:+, -, *, /, %, ++, -- 关系运算符:<, <=, ==, >, >=, != 逻辑运算符:!, &&, ||
位运算符:<<, >>, ~, |,^,&
赋值运算符:= 及其扩展
条件运算符:? :
逗号运算符:,
指针运算符:*,&
求字节数:sizeof( )
强制类型转换:(类型)
分量运算符:. ,->
下标运算符:[ ]
C语言中的运算符
学习运算符应掌握内容
C语言程序设计
☐运算符功能
☐与运算量关系
要求运算量个数:单目、双目、三目
要求运算量类型
☐运算符优先级别:同一个表达式中不同运算符进行运算时的先后次序
☐结合方向:左结合性与右结合性。
当一个运算对象两侧的运算符的优先级别相同,则按规定的结合方向处理。
☐结果的类型
运算符说明举例+ 加法运算符或正值运算符3+5,-5 - 减法运算符或负值运算符8-6,-3.6 * 乘法运算符3*5
/ 除法运算符5/3
% 取模运算符(或称求余运算符)7%4
++ 自增运算符i++
-- 自减运算符--j
#include <stdio.h> main() {
float a,b;
a=1/5; b=1.0/5
printf (“a=%f, b=%f \n”, a, b ); }
输出: a=0.000000, b=0.200000 注意:两整数相除,结果为整数
例: 18%5 = -7%3 = 7%-3 = 5%1 = 5.5%4 =
3 -1 1 0 ( )
%要求两侧均为整型数据
自增和自减运算符
C语言程序设计⏹作用:使变量值加1或减1,常用于循环语句中
⏹种类:
前置,形式如++i, --i,
先执行i+1或 i-1,再使用i值。
后置,形式如i++,i--,
先使用i值,再执行i+1或i-1。
⏹注意:只能用于变量,不能用于常量和表达式
C 语言程序设计 #include <stdio.h> void main() {
int i=3, j=10, m, n, p, q; m=++i; n=i++; p=--j; q=j--;
printf (” i=%d, m=%d, n=%d\n”, i, m, n ); printf (” j=%d, p=%d, q=%d\n”, j, p, q ); }
运行结果为:
i=5, m=4, n=4 j=8, p=9, q=9
自增和自减运算符举例
自增和自减运算符使用注意
C语言程序设计•自增、自减运算符只能用于变量,而不能用于常量或表达式,如5++或(a+b)++都是不合法的。
•++和—的结合方向是“自右向左”。
例如:j=-i++。
•自增、自减运算符常用于循环语句中,使循环变量自动加1或减1;也用于指针变量,使指针变量指向下一个内存地址。
C语言程序设计谢谢大家!。