数据类型运算符和表达式(完整)
合集下载
C语言第3章数据类型、运算符与表达式ppt课件
14
变量名与变量值的关系
例如:max=10
变量名
max
10
存储单元
变量值
15
变量定义
数据类型 变量名[, 变量名2……];
int a1,a2; float x1,x2; double y1,y2; char c1,c2;
习惯上,变量名用小写字母。 常量名用大写字母。
16
变量赋初值(初始化)
出现在函数体
(5)标识符的有效长度随系统而异,如果超 长,则超长部分被舍弃。VC++6.0中规 定最大长度为247个字符。
23
请选出下列正确的标识符 M.D.John , 12%gf ,1add ,_ce36 ,age& 5thclass, lotus-1-2-3 , cd*ef , float,
file_2, yes?
#include <stdio.h>
void main() {
int student,age; int if=adrress=1; float score=90;
stadent=2; Age=20; printf("%d %d %d %f",if,student,age,score); }
本程序中有 几处错误?
第三章
数据类型、运算符与表达式
1
主要内容
变量名与变量值的关系
例如:max=10
变量名
max
10
存储单元
变量值
15
变量定义
数据类型 变量名[, 变量名2……];
int a1,a2; float x1,x2; double y1,y2; char c1,c2;
习惯上,变量名用小写字母。 常量名用大写字母。
16
变量赋初值(初始化)
出现在函数体
(5)标识符的有效长度随系统而异,如果超 长,则超长部分被舍弃。VC++6.0中规 定最大长度为247个字符。
23
请选出下列正确的标识符 M.D.John , 12%gf ,1add ,_ce36 ,age& 5thclass, lotus-1-2-3 , cd*ef , float,
file_2, yes?
#include <stdio.h>
void main() {
int student,age; int if=adrress=1; float score=90;
stadent=2; Age=20; printf("%d %d %d %f",if,student,age,score); }
本程序中有 几处错误?
第三章
数据类型、运算符与表达式
1
主要内容
3 数据类型、运算符和表达式
三、整型数据
3.1.整型常量 整型常量即整常数按不同的进制区分, 整型常量即整常数按不同的进制区分 , 整型常数 有三种表示方法: 有三种表示方法:
十进制数: 以非0 220, 560, 十进制数: 以非0开始的数 如:220, -560, 45900 八进制数: 06; 0106, 八进制数: 以0开始的数 如:06; 0106, 十六进制数: 十六进制数: 以0X或0x开始的数 如:0X0D, 0XFF, 0x4e
C语言程序设计
2004
第三章 数据类型、运算符和表达式
一、C语言的数据类型
二、C语言的变量和常量
2.1 常量和符号常量 1、常量: 在程序运行过程中,其值不能被改 常量: 在程序运行过程中, 变的量。 变的量。 每种数据类型都有常量, 也都有变量。 每种数据类型都有常量 , 也都有变量 。 如整型 常量、浮点型常量.例如: 常量、浮点型常量.例如: 12、 'd‘ 12、4 、-67 或 3.14 5.6 或 'a' 、'd 从上可以看出常量可以是不同类型的. 从上可以看出常量可以是不同类型的. 2、常量分为两种直接常量和符号常量。 常量分为两种直接常量和符号常量。 直接常量直将数值直接使用,如:a=b*10; 直接常量直将数值直接使用, a=b*10; 10 当用一个标志符代表一个常量时,称为符号常量. 当用一个标志符代表一个常量时,称为符号常量.
C语言数据类型、运算符与表达式
补空格。
9
1.2 常量与变量
符号常量 C语言中,常常用一个标识符来代表一个常量,
称为符号常量。符号常量在使用之前要先定义,定义 格式如下:
#define <符号常量名> 常量值
<符号常量名>:用标识符,习惯上用大写字母; <常量>:可以是数字常量,也可以是字符常量。 例:
#define PI 3. 14159265
17
程序实例 scanf的使用
#define PI 3.14159265 #include <stdio.h> main() {
int r ; float l, s ; scanf(“%d”,&r); l=2*r*PI; s=r*r*PI; printf("圆的半径:%d\n", r ) ; printf("圆的周长:%f\n", l) ; printf("圆的面积:%f\n", s) ; }
main()
{
int a,b,c,d;
/*指定a、b、c、d为整型变量*/
unsigned intu; /*指定u为无符号整型变量*/
a=12;b=-24;u=10;
c=a+u;d=b+u;
printf(“a+u=%d,b+u=%d\n”,c,d);
数据类型、运算符与表达式
上一页 返回
2.4 实型数据
2.4.1 实型常量
1.表示形式 实型变量即实数,在C语言中又称浮点数,其值有两种表达形式: (1)十进制形式。由数字和小数点组成,例如3.14159,9.8,-12.567
等。 (2)指数形式:一般格式为:尾数E(e)整型指数。例如3.05E+5,-
1.2342e-12等。 2.关于类型
用户在编程时,要给一些变量、函数、数组、文件等命名, 将这类由用户根据需要自己定义的标识符称为用户自定义标识符。 如下列程序段中的i1和i2、max、score均为用户自定义标识符。
上一页 下一页 返回
2.2 标识符、常量和变量
2.2.2 常量
1.常量的概念 在程序运行过程中,其值不能被改变的量称为常量。如:5,
2.5 字符型数据
2.5.1 字符常量
1.字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。例如,'
A','6','+'等。 2.转义字符
C语言还允许使用一种特殊形式的字符常量,就是以反斜杠 “\”开头的转义字符,该形式将反斜杠后面的字符转变成另外的 意义,因而称为转义字符。
下一页 返回
形式输出。
上一页 下一页 返回
2.5 字符型数据
(2) 允许对字符数据进行算术运算,此时就是对它们的ASCII码值进行 算术运算。
2.5.3 字符串常量
2.4 实型数据
2.4.1 实型常量
1.表示形式 实型变量即实数,在C语言中又称浮点数,其值有两种表达形式: (1)十进制形式。由数字和小数点组成,例如3.14159,9.8,-12.567
等。 (2)指数形式:一般格式为:尾数E(e)整型指数。例如3.05E+5,-
1.2342e-12等。 2.关于类型
用户在编程时,要给一些变量、函数、数组、文件等命名, 将这类由用户根据需要自己定义的标识符称为用户自定义标识符。 如下列程序段中的i1和i2、max、score均为用户自定义标识符。
上一页 下一页 返回
2.2 标识符、常量和变量
2.2.2 常量
1.常量的概念 在程序运行过程中,其值不能被改变的量称为常量。如:5,
2.5 字符型数据
2.5.1 字符常量
1.字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。例如,'
A','6','+'等。 2.转义字符
C语言还允许使用一种特殊形式的字符常量,就是以反斜杠 “\”开头的转义字符,该形式将反斜杠后面的字符转变成另外的 意义,因而称为转义字符。
下一页 返回
形式输出。
上一页 下一页 返回
2.5 字符型数据
(2) 允许对字符数据进行算术运算,此时就是对它们的ASCII码值进行 算术运算。
2.5.3 字符串常量
数据类型 运算符和表达式
char ch1='a',ch2=66,ch3='\142'; 表示定义变量并对变量存储单元赋值。 错误的初始化:
int a=3+b,b=5; float m=n=23.16;
2022/9/25
三、 标准库函数
26
由C编译系统定义的一种函数,存放在系 统函数库中,用户可以根据需要随时调用
常用函数
• 实型常量的类型:默认为double型,后面加F (或f),则强调表示该数是float类型 例如:3.5f、1e2F
2022/9/25
3. 字符型常量
19
可视字符常量 – 单引号括起来的单个可视字符 例如:'a'、'A' 、'+' 、'3'、' ' 等
转义字符常量 – 单引号括起来的 \ 与可视字符组合,例如:
例如: #define LEN 2.5
定义符号常量
main( )
{ float a,b;
a= 2*3.14 *LEN;
使用符号常量
b=3.14*LEN*LEN;
printf("a=%f,b=%f\n",a,b);
}
编译前系统进行替换
2022/9/25
5. 符号常量
22
main( )
int a=3+b,b=5; float m=n=23.16;
2022/9/25
三、 标准库函数
26
由C编译系统定义的一种函数,存放在系 统函数库中,用户可以根据需要随时调用
常用函数
• 实型常量的类型:默认为double型,后面加F (或f),则强调表示该数是float类型 例如:3.5f、1e2F
2022/9/25
3. 字符型常量
19
可视字符常量 – 单引号括起来的单个可视字符 例如:'a'、'A' 、'+' 、'3'、' ' 等
转义字符常量 – 单引号括起来的 \ 与可视字符组合,例如:
例如: #define LEN 2.5
定义符号常量
main( )
{ float a,b;
a= 2*3.14 *LEN;
使用符号常量
b=3.14*LEN*LEN;
printf("a=%f,b=%f\n",a,b);
}
编译前系统进行替换
2022/9/25
5. 符号常量
22
main( )
第3章数据类型与表达式
2
标识符:用来标识变量名、符号常量名、 数组名、类型名、函数名等的有效字符序 列。
C语言对标识符的规定:
(1)只能由字母、数字、下划线组成,且第一 个字母必须是字母或下划线 (2)标识符不能与C语言的保留字、系统标准库函 数同名。
3
标识符中应注意的问题:
•标识符命名时应有意义,尽量做到见名知义。 如length用来表示长度,time用来表示时间,PI 用来表示圆周率。
//结果i=2;
•赋值语句可以连续进行。 例:a=b=c=0,根据右结合性,该表达式等价于: a=(b=(c=0))
36
2、复合赋值运算
•算术运算符“+ — * / %”和赋值运算符“=”结 合起来,形成复合赋值运算符。
+= :加赋值运算符; 如a+=3,等价于 a=a+3 -= :减赋值运算符; 如a-= b+ 3,等价于 a=a- (b+3) *=、/=、%= 与此类似
double double 该表达式值的类型是double类型 33
double
double d;
计算表达式:
c+f+i+d
强制类型转换运算符:(类型名)
•格式:(目标类型名)(表达式)
例:int x=2, y=3;
float z=1.1f; (float)(x+y); (将x+y的值转换为float类型) (int)z + x;(先将z转换为整型,再与x相加)
C语言第02章 数据类型、运算符与表达式
2、复合的赋值运算符 a*=3 等价于 a=a*3 a*=b+5 等价于 a=a*(b+5) a-=1 等价于 a=a-1
提问: a+=a-=a*a
回到 首页
2.9赋值运算符和赋值表达式
回到 首页
2、复合的赋值运算符 赋值运算符的意义 功能:对“变量名”和“表达式”进行复合赋值运算符所规定的运 算,并将运算结果赋值给复合赋值运算符左边的“变量名”。 赋值运算符的符号 在赋值符“=”之前加上某些运算符,可以构成复合赋值运算符,C语 言中许多双目运算符可以与赋值运算符一起构成复合运算符,即 +=,-=,*=,/=,%= 赋值运算符的结合性 复合赋值运算符均为双目运算符,右结合性。 复合赋值运算符构成赋值表达式的一般格式 变量名 复合赋值运算符 表达式 a *= 3
回到 首页
(1) 字符常量只能用单引号括起来,不能用双引号或 其他括号。 (2) 字符常量只能是单个字符,不能是字符串。
2.5字符型数据
1、字符常量 (3)转义字符
转义字符以反斜杠开头的字符序列,具有特定的含义, 不同于字符原有的意义,故称“转义”字符。
回到 首页
2.5字符型数据
回到 首页
2、字符变量 字符型变量用于存放字符常量,即一个字 符型变量可存放一个字符。 char s1, s2; /*说明s1,s2为字符型变 量*/ s1='A'; /*为s1赋字符常量'A'*/ s2='a'; /*为s2赋字符常量'a'*/
提问: a+=a-=a*a
回到 首页
2.9赋值运算符和赋值表达式
回到 首页
2、复合的赋值运算符 赋值运算符的意义 功能:对“变量名”和“表达式”进行复合赋值运算符所规定的运 算,并将运算结果赋值给复合赋值运算符左边的“变量名”。 赋值运算符的符号 在赋值符“=”之前加上某些运算符,可以构成复合赋值运算符,C语 言中许多双目运算符可以与赋值运算符一起构成复合运算符,即 +=,-=,*=,/=,%= 赋值运算符的结合性 复合赋值运算符均为双目运算符,右结合性。 复合赋值运算符构成赋值表达式的一般格式 变量名 复合赋值运算符 表达式 a *= 3
回到 首页
(1) 字符常量只能用单引号括起来,不能用双引号或 其他括号。 (2) 字符常量只能是单个字符,不能是字符串。
2.5字符型数据
1、字符常量 (3)转义字符
转义字符以反斜杠开头的字符序列,具有特定的含义, 不同于字符原有的意义,故称“转义”字符。
回到 首页
2.5字符型数据
回到 首页
2、字符变量 字符型变量用于存放字符常量,即一个字 符型变量可存放一个字符。 char s1, s2; /*说明s1,s2为字符型变 量*/ s1='A'; /*为s1赋字符常量'A'*/ s2='a'; /*为s2赋字符常量'a'*/
2 C语言 第二章数据类型、表达式
§2.3 整型数据 2.3.1 整型常量(教材p11)
字面整型常量 整型常数 C语言提供了三种形式的整型常数: 十进制整数 如: 256, 308, -120等
八进制整数 -以 数字 0 开头表示的整型数 例:0235, 0146, +012 等. 0235=2×82+3×8+5=15710 0146=1×82+4×8+6=10210 -012=-(1×8+2)=-1010 十六进制整数- 十六进制整数-以 "0x" 开头的整型数 如: 0x16, 0x28, +0x56 等.
字符常量 \n \t \v \b \r \f \\ \' \'' \? \ddd \xhh 含义 回车换行 横向跳格(即跳到下一个输出区 即跳到下一个输出区) 横向跳格 即跳到下一个输出区 竖向跳格 退格 回车 走纸换页 反斜杠字符" " 反斜杠字符" \" 单引号(撇号 字符 单引号 撇号)字符 ' 撇号 双引号字符' 双引号字符''' 问号
2.2.2 变量
在程序执行过程中其值可以改变的量称为 变量.变量包括变量名和变量值. 变量 变量名 用标识符命名,对应一定数量的内存存 贮单元,其单元数视变量类型而定. 标识符 由字母或下划线开头的字母,数字, 下划线串. (教材p10)
C语言程序设计第2章-1数据类型、运算符和表达式
nhltype修饰符修饰符功能功能mm输出数据域宽数据长度输出数据域宽数据长度mm左补空格否则按实际输出左补空格否则按实际输出对实数制定小数点后位数多则舍入对实数制定小数点后位数多则舍入对字符串指定实际输出位数对字符串指定实际输出位数输出数据在域内左对齐缺省为右对齐输出数据在域内左对齐缺省为右对齐指定在有符号数的正数前显示正号指定在有符号数的正数前显示正号00输出数值时指定左面不使用的空位置自动添输出数值时指定左面不使用的空位置自动添00在八进制和十六进制数前显示前导在八进制和十六进制数前显示前导00或者或者0x0xxuu前指定输出精度为前指定输出精度为longlong型型在在eeffgg前指定输出精度为前指定输出精度为doubledouble型型hh输出短整型数据的值输出短整型数据的值includestdiohmaininta1234
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)采用除以二取余直到商
14
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)采用除以二取余直到商
14
C语言教程第3章 数据类型、运算符与表达式
者不同。
假设 c 被指定为字符变量:
char c; c='a'; 是正确的。而 c="a"; 是错误的。 c=“CHINA" 也是错误的。
字符串结束标志
C规定以字符‘\0‟作为字符串结束标
志。‘\0‟是一个ASCII码为0的字符,从
ASCII代码表中可以看到ASCII码为0的字符
是“空操作字符”,即它不引起任何控制 动作,也不是一个可显示的字符。
int型,它可以赋值给 int型 和 long
int 型变量。
注意以下几点:
(2) 一个整数,如果其值超过了上述范围,
而在-2147483648~+2147483647范围 内,则认为它是长整型,可以将它赋值
给一个long int型变量。
注意以下几点:
(3) 如果某一计算机系统的c版本(例 如turbo c)确定short int与int型数据 在内存中占据的长度相同,则它的 表数范围与int型相同。因此,一个 int型的常量也同时是一个short int型 常量,可以赋给int型或short int型变 量。
3.5.4 字符串常量
字符串常量是一对双引号括起来的若
干字符序列。如: “how do you do.”, “CHINA”, “a”, “123.45”, “” 可以输出一个字符串,如:
假设 c 被指定为字符变量:
char c; c='a'; 是正确的。而 c="a"; 是错误的。 c=“CHINA" 也是错误的。
字符串结束标志
C规定以字符‘\0‟作为字符串结束标
志。‘\0‟是一个ASCII码为0的字符,从
ASCII代码表中可以看到ASCII码为0的字符
是“空操作字符”,即它不引起任何控制 动作,也不是一个可显示的字符。
int型,它可以赋值给 int型 和 long
int 型变量。
注意以下几点:
(2) 一个整数,如果其值超过了上述范围,
而在-2147483648~+2147483647范围 内,则认为它是长整型,可以将它赋值
给一个long int型变量。
注意以下几点:
(3) 如果某一计算机系统的c版本(例 如turbo c)确定short int与int型数据 在内存中占据的长度相同,则它的 表数范围与int型相同。因此,一个 int型的常量也同时是一个short int型 常量,可以赋给int型或short int型变 量。
3.5.4 字符串常量
字符串常量是一对双引号括起来的若
干字符序列。如: “how do you do.”, “CHINA”, “a”, “123.45”, “” 可以输出一个字符串,如:
数据类型运算符和表达式
空格、回车/换行、逗号等
其它符号
大花括号“{”和“}”通常用于标识函数体或者一个语句块 “/*”和“*/”是程序注释所需的定界符
数据(Data)
变量(Variable) 常量(Constant)—不允许使用关键字作为标识符的名字
No.8
高级语言程序设计 第2章 数据类型、运算赋与表达式
常量与变量
No.7
高级语言程序设计 第2章 数据类型、运算赋与表达式
关键字(Keyword)
2.2 C程序常见符号
又称为保留字,C语言中预先规定的具有固定含义的一些单词 (附录B)
标识符(Identifier)
系统预定义标识符 用户自定义标识符
运算符(Operator)
34种,详见书本附录P326
分隔符(Separator)
常量
也称为常数,在程序运行过程中其值不能变化的量 。
举例:
12 44.5 „a‟ “Hello World”等。
变量
在程序运行过程中,其值可以变化(即赋值)的量。
举例:
int x = 3;
x = 4;
变量名
No.9
高级语言程序设计 第2章 数据类型、运算赋与表达式
2.3 数据类型(Data Type)
其它符号
大花括号“{”和“}”通常用于标识函数体或者一个语句块 “/*”和“*/”是程序注释所需的定界符
数据(Data)
变量(Variable) 常量(Constant)—不允许使用关键字作为标识符的名字
No.8
高级语言程序设计 第2章 数据类型、运算赋与表达式
常量与变量
No.7
高级语言程序设计 第2章 数据类型、运算赋与表达式
关键字(Keyword)
2.2 C程序常见符号
又称为保留字,C语言中预先规定的具有固定含义的一些单词 (附录B)
标识符(Identifier)
系统预定义标识符 用户自定义标识符
运算符(Operator)
34种,详见书本附录P326
分隔符(Separator)
常量
也称为常数,在程序运行过程中其值不能变化的量 。
举例:
12 44.5 „a‟ “Hello World”等。
变量
在程序运行过程中,其值可以变化(即赋值)的量。
举例:
int x = 3;
x = 4;
变量名
No.9
高级语言程序设计 第2章 数据类型、运算赋与表达式
2.3 数据类型(Data Type)
运算符和表达式
逻辑表达式
• 利用逻辑运算符将操作数连接的式子称为逻辑表达式。逻辑表达式参
与运算的操作数都是布尔类型的,结果也是布
尔类型。例如:(x>3) && (y<10)
运算符和表达式
运 算 符 和 表 达 式
1、算术运算符 2、关系运算符 3、逻辑运算符 4、移位运算符和位运算符
5、赋值运算符和条件运算符
boolean c=(a==b); 则c的值为true;
关系表达式
• 利用关系运算符连接的式子称为关系表达式,运算结果是一个布尔型
数值:true(为真)或者false(为假)。 例如:x*3>y+4
运算符和表达式
运 算 符 和 表 达 式
1、算术运算符 2、关系运算符 3、逻辑运算符 4、移位运算符和位运算符
a==b
a!=b a>b a>=b a<b a<=b
flase
true false false true true
关系运算符要点
• 关系运算符都是双目运算符。
• 若操作数为布尔型,则只能进行“==”和“!=”两种关系运算。 • 关系运算符的结果是一个boolean型数据。 • 当关系运算符的操作数为数值型数据时,只要操作数的数值相等,比较 结果就为true,和具体类型无关。例如:int a=5; float b=5.of;
C语言第3章数据类型、运算符、表达式
用双引号括起来的字符串。
➢“Good Morning! “
字符串存放时,在最后加上“\ 0” –– 空字符。
Good Morning ! \0
6.字符型数据
字符串常量与字符常量的区别
形式
➢字符常量是用单引号括起的单个字符
➢字符串常量是用双引号括起的一串字符
存储方式
➢字符常量在内存中占一个字节
➢字符串常量除了每个字符各占一个字节外,其字符 串结束符‘\0’也要占一个字节
如: 0x16, 0x28
4.整型数据
整型变量
分类:
➢基本型 用“ int ”定义; ➢短整型 用“ short int ”或 “ short ”定义; ➢长整型 用“ long ”或 “ long int ”定义; ➢无符号型 用“ unsigned ”定义,不存放符号;
整型变量定义方式
➢基本整型:int a, b, c; ➢短整型 : short int 或 short a, b, c; ➢长整型: long int 或 long a, b, c; ➢无符号型:unsigned a, b; unsigned short a, b
图中“ ” : 表示低, 高型数据运算时,均先转换为高型。
8.各种数值型数据间的混合运算 转换方法(强制转换)
强制类型转换的一般形式: (类型名)(表达式) 例如:
➢“Good Morning! “
字符串存放时,在最后加上“\ 0” –– 空字符。
Good Morning ! \0
6.字符型数据
字符串常量与字符常量的区别
形式
➢字符常量是用单引号括起的单个字符
➢字符串常量是用双引号括起的一串字符
存储方式
➢字符常量在内存中占一个字节
➢字符串常量除了每个字符各占一个字节外,其字符 串结束符‘\0’也要占一个字节
如: 0x16, 0x28
4.整型数据
整型变量
分类:
➢基本型 用“ int ”定义; ➢短整型 用“ short int ”或 “ short ”定义; ➢长整型 用“ long ”或 “ long int ”定义; ➢无符号型 用“ unsigned ”定义,不存放符号;
整型变量定义方式
➢基本整型:int a, b, c; ➢短整型 : short int 或 short a, b, c; ➢长整型: long int 或 long a, b, c; ➢无符号型:unsigned a, b; unsigned short a, b
图中“ ” : 表示低, 高型数据运算时,均先转换为高型。
8.各种数值型数据间的混合运算 转换方法(强制转换)
强制类型转换的一般形式: (类型名)(表达式) 例如:
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. 各种进制的整数表⽰⽅法
C语言 第3章 数据类型、运算符与表达式
C语言 程序设计
第3章 数据类型、运算符与表达式
3.4
库函数
格式化输入输出函数
printf (‖格式控制串”,输出表列): 输出格式附加符:
– 最小宽度m
– 截取的小数位数/字符个数.n – 左对齐输出 –
Page 27
C语言 程序设计
第3章 数据类型、运算符与表达式
3.4
123→123
Page 23
C语言 程序设计
第3章 数据类型、运算符与表达式
3.4
库函数
wk.baidu.com
例3-5:
#include <stdio.h> /* 包含头文件stdio.h */ main( ) { char c1,c2; c1=getchar( ); c2=c1+2; putchar(c1); putchar(c2); putchar(’\n’); } 输入: A ↙ 输出: AC (换行)
Page 24
C语言 程序设计
第3章 数据类型、运算符与表达式
3.4
库函数
格式化输入输出函数
printf (‖格式控制串”,输出表列): 格式控制串组成
– “%‖起头的输出项格式符(按指定格式输出, 与输出项一一对应) 整型——%d – 普通字符(原样输出) 长整型——%ld – 转义字符(输出所表示的字符或实现其功能) 浮点型——%f(%e指数形式)
C语言数据类型、运算符与表达式
8
实型数据
• 实型常量的表示方法
1、十进制小数形式:.123 23.1 、十进制小数形式: 2、 指数形式:123e3 1.234e34(e前必须有数字,e后指数 前必须有数字, 后指数 、 指数形式: ( 前必须有数字 必须为整数) 必须为整数)
• 实型变量的分类 单精度(float): 4B 10-38~1038 6~7 单精度 -308~10308 双精度(double):8B 10 15~16 双精度 -4931~104932 长双精度: 16B 10 18~19 长双精度 • 实型数据在内存中的存放形式 一个实型数据一般在内存中占四个字节, 一个实型数据一般在内存中占四个字节,系统把一个实型数分成 小数部分和指数部分,分别存放采用规范化的指数方式示,如 小数部分和指数部分,分别存放采用规范化的指数方式示 如:
11
• 字符常量 C语言的字符常量是用单引号括起来的一个字符 , 语言的字符常量是用单引号括起来的一个字符 语言还有一些特殊字符的常量, 如’a’,’X’,’A’。C语言还有一些特殊字符的常量,如下表 , , 。 语言还有一些特殊字符的常量 字符形式 功能 \n \t \v \b \r \f \\ \’ \ddd \xhh 换行 横向跳格(即跳到下一个输出区 横向跳格 即跳到下一个输出区) 即跳到下一个输出区 竖向跳格 退格 回车 走纸换页 反斜杠字符 单引号 1到3位八进制数所代表的字符 到 位八进制数所代表的字符 1到2位十六进制数所代表的字符 到 位十六进制数所代表的字符
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Valid Example: int x; x = 12;
2整02理1/p3p/6t
Invalid Example: int y; y = 5.75;
14/98
变量赋值(Variable Assignment)
Example:
Calculate and display the price of a number of apples if the quantity in kg and price per kg are given.
– 如:for语句所采用的循环变量习惯用i, j, k
2整02理1/p3p/6t
7/98
何谓变量(Variable )?
A name associated with a memory cell whose value can change
2整02理1/p3p/6t
8/98
如何衡量变量所占空间大小?
•Input: •Output: •Process:
quantity and pricePerkg price price = quantity * pricePerkg
变量声明(Variable Declaration)
Needs to be declared: 变量类型 变量名;
Example: int sum; int x,y,sum=0;
2整02理1/p3p/6t
11/98
变量声明(Variable Declaration)
使用变量的基本原则 – 变量必须先定义,后使用 – 所有变量必须在第一条可执行语句前
– 最好使用英文单词或其组合 – 切忌使用汉语拼音 下划线和大小写通常用来增强可读性
UNIX 风格
– variablename – variable_name – variableName
Windows 风格
不允许使用关键字作为标识符的名字
– int, float, for, while, if等 某些功能的变量采用习惯命名
} 2整02理1/p3p/6t
4/98
C程序常见符号分类
关键字(Keyword) – 又称保留字( C Reserved Word )
A word that has special meaning in C
标识符(Identifier) – C Standard Identifier(系统预定义标
识符)
A word having special meaning but may be redefined (but is not recommended!!)
– 用户自定义标识符
变量,函数名,…
2整02理1/p3p/6t
5/98
C程序常见符号分类
运算符(Operator) – 34种,详见附录C
#include <stdio.h>
编译预处理命令
/*函数功能:计算两个整数相加之和 入口参数:整型数据a和b 返回值: 整型数a和b之和
*/ int Add(int a, int b) {
return (a + b); }
/*主函数*/ main() {
int x, y, sum Leabharlann Baidu 0;
程序注释
bit,中文叫法:位
Byte,中文叫法:字节
Kilobyte(KB),中文叫法: K
Megabyte(MB),中文叫法:兆
Gigabyte(GB),中文叫法:G
Terabyte(TB),中文叫法:T
1 TB == 1,024 GB
1 GB == 1,024 MB
1 MB == 1,024 KB
1 KB == 1,024 B
第2章 数据类型、运算符与表达式
南京审计学院 信息科学与技术学院
孙玉星
本章学习内容
标识符命名; 变量和常量; 数据类型;(整型、浮点型、字符型) 常用运算符和表达式;3.3\4.2 运算符的优先级与结合性
2整02理1/p3p/6t
2/98
C Program Structure
Preprocessor Instruction
Still remember this diagram?
GPleonbgailsyDteihclaarraantigolnobl
main () {
PLeoncgaislyDtiehcalarraantisoentempat
Statement }
2整02理1/p3p/6t
3/98
例2.1:一个简单的C程序例子
分隔符(Separator) – 空格、回车/换行、逗号等
其它符号 – “{”和“}”标识函数体或语句块 – “/*”和“*/”程序注释的定界符
常量(Constant)
2整02理1/p3p/6t
6/98
标识符命名
变量名,函数名
由英文字母、数字和下划线组成,大小写敏感
不可以是数字开头
直观,见名知意,便于记忆和阅读
并列的两个函数 其中一个是 程序的入口
printf("Input two integers:");
scanf("%d%d", &x, &y);
/*输入两个整型数x和y*/
sum = Add(x, y);
/*调用函数Add计算x和y相加之和*/
printf("sum = %d\n", sum);
/*输出x和y相加之和*/
2整02理1/p3p/6t
number1 2?53 number2 2?3
13/98
变量赋值(Variable Assignment)
Algorithm 变量 表达式
Syntax 变量 = 表达式 ;
Rules:类型一致 Expression’s type must be the same as variable’s type
2整02理1/p3p/6t
1 B == 89/9b8
如何衡量变量所占空间大小?
一个位有多大?
– 只能是“0”或者“1”,二进
制
一个字节有多大?
– 可以表示数字0~255之间的
整数
– 保存一个字符(英文字母、
数字、符号)
ASCII(美国标准信息交换 码)编码(附录A)
2整02理1/p3p/6t
10/98
定义
声明的顺序无关紧要 一条声明语句可声明若干个同类型 的变量 声明变量是初始化变量的最好时机
– 不被初始化的变量,其值为随机数
2整02理1/p3p/6t
结果会是什么?
12/98
变量赋值(Variable Assignment)
Example:
int number1, number2;
number1 = 25; number2 = 23; number1 = number2; … …