C语言第2章基本数据类型和运算符

14
② 符号常量
符号常量是一种用标识符命名的常量。例如,用标识 符PI代替3.14159。为了确定这种替代关系,必须先对符号 常量进行定义。有两种对符号常量进行定义的方法,
一种是宏定义:
#define PI 3.14159
另一种是const常量: const float pi=3.14159;
类型 字符型 有符号字符型 无符号字符型 基本整型 有符号基本整型 短整型 有符号短整型 长整型 有符号长整型 无符号整型 无符号短整型 无符号长整型 单精度实型 单精度实型 双精度实型 双精度长实型
类型名关键字 char signed char unsigned char int signed int short int signed short int long int signed long int unsigned int unsigned short int unsigned long int float float double 程l序on设g 计do基u础bl(e C语言)wh
{
return(2.0*PI*r);
}
2019/12/4
程序设计基础(C语言)wh
定义符号常量 的一种方法是使 用#define命令, 它是一种“预编 译命令”,在编 译整个程序之前 系统会先对程序 中的预编译命令 进行处理。上面 #define命令的 作用是在预编译 时将程序中凡出 现PI的地方全部 以3.1415926代 替,凡出现R的地 方一律以2.0代 替.
2019/12/4
程序设计基础(C语言)wh
19
4.数据输出的概念
printf( )函数:按照指定的格式把需要输出的数据在标准输 出设备(通常是终端显示器)上输出。
一般格式:printf(输出格式控制,输出数据表列);
其中:
①“输出格式控制”是用双引号括起来的字符串,也称“转换 控制字符串”。它包括两种形式的信息:一种是用于说明的 信息;另一种是带有前置百分号(%)的格式转换说明,由 %和格式字符组成,如%d、%c等,它的作用是将输出的数 据转换为指定的格式输出。
注意:定义const常量要以分号结束。这种方法有点类似于 变量声明,但是前面加有const关键字,并且在声明时必须 初始化。
2019/12/4
程序设计基础(C语言)wh
15
2.2.1 常量和变量
2.变量
变量:在程序执行的过程中其值可以改变的量。 变量都有三个特征: ⑴它有一个变量名,变量名选用标识符。例如,可以用
定义:在声明变量的同时给它赋一个初始值。
例如: int a=9,b=9; float c=1.25; int d='a'+'b';
说明: ①对于几个变量赋同一初值,不可写成:int a=b=9; ②初值必须是常量或操作数是常量的算术表达式; ③初始化不是在编译阶段完成的,是在程序运行时执行本 函数时赋以初值的。
2019/12/4
程序设计基础(C语言)wh
23
⑵.八进制整型常量
①八进制数字串以数字0开头 ②其中数字为0-7。
例如: 0111 011 0123 07777
(十进制73) (十进制9) (十进制83) (十进制4095)
2019/12/4
程序设计基础(C语言)wh
24
⑶.十六进制整型常量
①十六进制数字串以0x或0X开头(即以0x或0X 作为十六进制数的前缀)
2019/12/4
程序设计基础(C语言)wh
9
5.注释
在c语言程序中,括在定界符“/*”~“*/”之间的内容 是注释。注释不是程序代码,只是一种对程序解释 说明的标注,编译程序把注释作为空白符跳过而不 予处理。注释不允许嵌套。
例如:/*学生成绩管理程序*/、/*My c program*/
2019/12/4
程序运行的结果:i=5,j=2
2019/12/4
程序设计基础(C语言)wh
21
2.2.2 常量
1.整型常量
十进制整型常量 八进制整型常量 十六进制整型常量
2019/12/4
程序设计基础(C语言)wh
22
⑴.十进制整型常量
①常量只能出现0-9的数字 ②可带正、负号 ③多个数字的常量前不能以0开头。 例如: 0 1 321 –12
2019/12/4
程序设计基础(C语言)wh
12
编写求圆面积和周长的程序1 :
#include<stdio.h> void main( )
若定义一个符号代表半径可提高程序的可读性
{
double area(double r),circumference(double r);
printf(“area=%f\n”,area(2.0));
if sizeof static struct switch
unsigned
void volatile
continue float for typedef while
default register short union
在新的C99标准中,又增加了5个关键字: _Bool _Complex _imaginary inline
2019/12/4
程序设计基础(C语言)wh
restrict
6
2. 标识符
定义:在C语言中用于标识名字的有效字符序列。
C (1) 标识符的第一个字符必须是英文字母或下划线
(2) 如果第一个字符后面还有字符序列,则它应是 英文字母、下划线符或数字组成的序列。
(3)标识符中的英文字母大小写是有区别的。如标 识符abc与标识符ABC不相同。
2.关键字
定义:具有特定含义的、专门用来说明C语言的特定成分的一类 单词。C语言的关键字都用小写字母书写,不能用大写字母 书写。
在C89标准中共有32个关键字:
auto break case char const
do double else enum extern
goto signed int long return
图2-1 C语言数据类型
2019/12/4
程序设计基础(C语言)wh
3
*本章授课内容*
2.1 C语言的词汇 2.2 数据基本类型 2.3 运算符和表达式 2.4 数据类型的转换
2019/12/4
程序设计基础(C语言)wh
4
2.1 C语言的词汇
1.C语言字符集
定义:组成C语言源程序代码的基本字符,它是构 成C语言的基本元素。
另:C程序中的所有变量在使用之前,必须先对它进行声明。 声明变量包括为变量取名和指定变量类型。
例如
float i,j;
注意:不允许在程序的同一处将同一变量声明为不同类型。
2019/12/4
程序设计基础(C语言)wh
17
表2-1 基本数据类型和类型名关键字对应表
类别 字符型
整型
实型
2019/12/4
printf(“area=%f\n”,area(R));
printf(“circumference=%f\n”, circumference(R));
}
double area(double r) {
return(PI*r*r); }
/*计算圆面积*/
double circumference (double r) /*计算周长*/
{
int i=5,j;
j=2;
printf("i=%d,j=%d",i,j);
}
程序分析:程序以void main( )开始,后面跟有一对花括号, 花括号中包含数据声明部分和语句部分。凡是语句中使用 的变量,都必须在数据声明部分进行声明。本程序中声明 了i和j两个整型变量并对变量i进行初始化,接着对j赋值 为2,最后输出i和j的值。
②“输出数据表列”表示需要输出的一些数据,各数据之间须 用逗号隔开。输出数据的个数应与输出格式控制中的格式转 换说明的个数相等,而且在顺序上要一一对应。
2019/12/4
程序设计基础(C语言)wh
20
【例2-2】 一个程序举例。
/*c2_2.c*/
#include <stdio.h>
void main( )
简写形式
char
signed char
unsigned char
int
signed int
short
signed short
long
signed long
unsigned
unsigned short
unsigned long
float
long float
double
long double
18
3.变量初始化
程序设计基础(C语言)wh
2
短整型(short int) 整型 整型(int)
长整型(long int)
基本类型 实型 单精度型(float) (简单类型) (浮点型) 双精度型(double)
字符型(char)
数据类型
枚举型(enum)
数组型
构造类型 结构型
联合型
其他类型 指针型
空类型
不同的运算 符可产生不 同的表达式
C语言使用的基本字符:
⑴ 大小写英文字符:A~Z,a~z
⑵数字字符:0~9
⑶特殊字符:+ = - _(下划线) ( ) * & ^ % # ! , . ; : ?’ ” ~ \ | / < >{ } [ ]
⑷不可打印的字符:空格、换行符、制表符、响铃 符
2019/12/4
程序设计基础(C语言)wh
5
常量:在程序执行的整个过程中其值不能改变的量。例如1, 3.5都是常量。
合集下载

第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案

第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语言的基本数据类型 掌握标识符、关键字、常量和变量的使用 掌握运算符、表达式以及数据类型之间的转换 等 掌握简单数据的输入输出

C语言教程课件第二章 数据类型、运算符和表达式

C语言教程课件第二章 数据类型、运算符和表达式

例 整型变量的定义与使用
#include <stdio.h> void main() { int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf("a+u=%d,b+u=%d\n",c,d); }
例 向字符变量赋以整数。 • 运行结果: #include <stdio.h> a b void main() 97 98 { char c1,c2; c1=97; c2=98; printf("%c %c\n",c1,c2); printf("%d %d\n",c1,c2); }
• 说明:在第4和第5行中,将整数97和98分别赋给c1和c2,它 的作用相当于以下两个赋值语句: c1='a';c2='b'; 因为'a'和'b'的ASCII码为97和98
• 字符型变量用来存放字符常量,注意只能放一个字符。 • 字符变量的定义形式如下:char c1,c2; • 在本函数中可以用下面语句对c1,c2赋值: c1='a';c2='b'; • 一个字符变量在内存中占一个字节; • 将一个字符常量放到一个字符变量中,是将该字符的 相应的ASCII代码放到存储单元中,这样使字符型数据 和整型数据之间可以通用。一个字符数据既可以以字 符形式输出,也可以以整数形式输出。
运行结果: total=300 例2.1 符号常量的使用 #define PRICE 30 #include <stdio.h> void main ( ) 说明:如再用赋值语句给PRICE赋值是错的 { PRICE=40;/*错误,不能给符号常量赋值*/ int num, total; num=10; total=num * PRICE; printf(″total=%d\n ″,total); } 说明: 程序中用#define命令行定义PRICE代表常量30,此后凡在 本文件中出现的PRICE都代表30,可以和常量一样进行运算

C语言程序设计 第2章 数据类型

C语言程序设计 第2章 数据类型

2.2常量和变量 变量名与变量值的关系:
2.2常量和变量
变量的使用:先定义后使用
变量定义的一般形式:
数据类型 变量名1,变量名2,…,变量名n;
2.2常量和变量
➢ 凡未被事先定义的,系统不把它认作变量名,这就 能保证程序中变量名使用的正确
例:varname,在使用的时候误写成vaname
➢ 在定义变量时要指定变量的类型,在编译时就能为 变量分配相应的存储单元
5
2.2常量和变量
甘草 三七 干姜 葛根
枸杞 人参 陈皮 地黄
山药 当归 谷芽 黄连
贴上标签 加以区分
用标识符给变量起名字
2.2常量和变量 变量命名规则
➢ 只能由字母(a~z,A~Z)、数字(0~9)和下划线(_)构 成
➢ 第一个字符不能为数字 ➢ 不能与关键字同名
例:a9,_a, A_num √ 9a, a*num,int ×
控制语句:控制语句用于控制程序的流程。 C语言提供三类控制语句: ➢ 选择语句 ➢ 循环语句 ➢ 转移语句。 控制语句会在第三章和第四章详细介绍。
2.7 表达式与语句
复合语句: 复合语句由一对大括号括起来的一 条或多条语句组成。 例:{
turnOn(0,3); turnOn(0,4); turnOn(0,5); turnOn(1,4); }
2.7 表达式与语句
表达式语句:表达式末尾加上“;”就构成一条 表达式语句。 例:
s = 3.14 * r * r; 就是一条赋值表达式语句。表达式语句最后的 分号是语句中必不可少的一部分。
2.7 表达式与语句
函数调用语句:函数调用语句由函数调用加分 号构成。 例:
turnOn(1,1);

C语言第02章 数据类型、运算符与表达式

C语言第02章 数据类型、运算符与表达式

回到 首页
运算符和结合性 P325,附录3
2.8 算术运算符和算术表达式
3、自增、自减运算符
自增运算符++和自减运算符--均是单目运算符, 功能是使变量的值增1或减1。其优先级高于所有 双目运算符,结合性为右结合性(自右至左)。
回到 首页
例如:++i或i++ 等价于i=i+1; --i或i-- 等价于i=i-1;
2.7数值型数据之间的混合运算
回到 首页
1、整型、实型、字符型数据之间可以混合运 算
整型(包括int,short,long)和实型(包括float,double)数据可 以混合运算,另外字符型数据和整型数据可以通用,因此,整 型、实型、字符型数据之间可以混合运算。 例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
2.9赋值运算符和赋值表达式
1、赋值运算符和赋值表达式
赋值运算符:“=”为双目运算符,右结合性。 赋值表达式:由赋值运算符组成的表达式称为赋值表达 式。 赋值表达式一般形式: 变量 赋值符 表达式 如 a=5 类型转换:将高精度的数据类型赋值给低精度的数据类 型,可能出错。
回到 首页
2.9赋值运算符和赋值表达式
2.8 算术运算符和算术表达式
3、自增、自减运算符
回到 首页
y=++x;等价于先计算x=x+1(结果x=6),再执行y=x,结果y=6。 y=x++;等价于先执行y=x,再计算x=x+1,结果y=5,x=6。 y=x++*x++;结果y=25,x=7。x++为后缀形式,先取x的值进行“*” 运算,再进行两次x++。 y=++x*++x;结果y=49,x=7。

第2章 C语言,数据类型、运算符和表达式

第2章  C语言,数据类型、运算符和表达式
运算符功能 对运算量(操作数)要求 运算符优先级别 结合方向 运算结果的取值 操作数个数 操作数类型 操作数形式(常量 or 变量) ( )
(C语言运算符总表见教材P26或P325附录C) return 31
C语言程序设计
算术运算符
+ - * / % 功能: 操作数要求: 结合性: 优先级: 注意事项: 算术运算 两个操作数 (当-用作负号时除外) 自左至右(当-用作负号时除外) -(负号) —— * / % —— + - (由高→低) ① 两个整数相除,结果为整数! 例: 3/2=1 ② %要求两个操作数均为整型数据! 且余数与被除数同号!
说明: ① 字符变量中存放的是字符ASCII码值! ② char与int数据间可进行算术运算!
char choice = 'A';
return24
C语言程序设计
字符串常量
字符常量是用双引号括起来的字符序列. 例如: "hello!" , "0" (1) 字符串常量在内存中的存储 (2) 字符串常量.vs.字符常量
整型
浮点型 字符型 说明:
① 数据类型所占字节数随机器硬件不同而不同! ② 可用sizeof(数据类型说明)来计算某一数据类型占内存的字节数! return
C语言程序设计 next part
2. 常量与变量
标识符命名 常量 变量
go go go
6
C语言程序设计
标识符命名
例: 判断下列标识符号合法性
next
ห้องสมุดไป่ตู้
20
C语言程序设计
字符常量
转义字符是用反斜杠\后面跟一个字符或一个八进制或十 六进制数表示的ASCⅡ码值。例如: '\n', '\101' (1) C语言中常用的转义字符 (2) 转义字符使用实例

C语言数据类型ppt课件

C语言数据类型ppt课件
21
2.2 常量与变量
(3)整型数据在内存中的存放形式
int x; x=10; 则变量x的值10在内存中的存放形式:
int x;
x=-10; 则变量x的值10在内存中的存放形式:
22
2.2 常量与变量
(4)整型数据的溢出
例2-2 整型数据的溢出问题
#include <stdio.h>
int main()
\r
<
\a
\‘
回车 响铃 单引号
\ddd 3位8进制数代表的字符
转义字符 \t \b \f \\ \“ \xhh
含义 水平制表 退格 换页 反斜线 双引号 2位16进制数代表的字符
12
2.2 常量与变量
如 ‘\101’ -----------‘A’ ‘\012’ -----------’\n’ ‘\376’ -----------’’ ‘\x61’ -----------’a’ ‘\060’ -----------’0’
unsigned short。 ⅲ. 无符号长整型:类型说明符为
unsigned long。
20
2.2 常量与变量
(2)整型变量的定义与使用
例2-1 整型变量的使用
#include <stdio.h> int main() {
int x,y,z; x=10;y=20; z=x+y; printf(“x+y=%d\n”,z); return 0; } 输出结果:x+y=30
说明:数据类型所占字节数随机器硬件不同而不同, 上表以IBM PC机为例。
4
2.2 常量与变量
• 数据是程序的处理对象 • C语言将数据分为常量与变量

第二章 C语言的基本数据类型及运算

行绝对值相减
解决的方法是: 使用反码或补码的表示方法(按前述
表示的编码称为原码),即能将减法一律 转换为加法。
2020/12/11
原码、反码和补码
11
正数:原码、反码、补码相同
– 符号位为0,数值为对应的二进制数。 +109
[01101101]原 = [01101101]反 = [01101101]补
• 指数只能是整数,而尾数则可以是整数也可以是 小数 ,无论指数或尾数均不能省略 例如:1e、E.5、E-3 非法
• 实型常量的类型:默认为double型,后面加F (或f),则强调表示该数是float类型 例如:3.5f、1e2F
2020/12/11
3. 字符型常量
22
可视字符常量 – 单引号括起来的单个可视字符 例如:'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);
}
编译前系统进行替换
2020/12/11
5. 符号常量
25
main( )
{ float a,b;
负数:
– 原码符号位为1,数值为绝对值的二进制
数。
-109 [11101101]原
– 反码符号位为1,数值为绝对值的二进制
数各位变反。 -109 [10010010]反
– 补码符号位为1,数值为绝对值的二进制

C语言 数据类型、运算符与表达式


C语言A
整型数据的溢出
#include <stdio.h> void main() { int a,b; a=32767; b=a+1; printf(“%d,%d\n”,a,b); } 运行结果:32767,-32768
说明:数值是以补码表 示的。一个整型变量 只能容纳-32768~ 32767范围内的数, 无法表示大于32767 或小于-32768的数。 遇此情况就发生‚溢 出‛。
运行结果:total=300
量赋值。 */
C语言A
a
变量名 变量值 存储单元
二、变量
3
变量代表内存中具有特定属性的一个存储单
元,它用来存放数据,这就是变量的值,在 程序运行期间,这些值是可以改变的。 变量名实际上是一个以一个名字对应代表一 个地址,在对程序编译连接时由编译系统给 每一个变量名分配对应的内存地址。从变量 中取值,实际上是通过变量名找到相应的内 存地址,从该存储单元中读取数据。
C语言A
标识符:用来标识变量名、符号常量名、函
数名、数组名、类型名、文件名的有效字符 序列。
符号常量:在C语言中,可以用一个标识符
来表示一个常量,称之为符号常量。
符号常量在使用之前必须先定义,其一
般形式为:
#define 标识符 常量
C语言A
习惯上符号常量的标识符用大写字母,
变量标识符用小写字母,以示区别。 符号常量与变量不同,它的值在其作用 域内不能改变,也不能再被赋值。 使用符号常量的好处是:

例如:求-10的补码。 15
10的原码: 取反:
0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0

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数据类型、运算符和表达式

1、按运算符的功能分成:算术运算符、关系运算符、逻辑运算 符、赋值运算符、位运算符、条件(tiáojiàn)运算符、自增和自减 运算符、逗号运算符、指针运算符、强制类型转换运算符、 分量运算符、下标运算符、求字节数运算符、函数调用运算 符等等。
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’
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档