C语言-第03章 数据类型、运算符与表达式
C++基础与提高 第3章 数据类型、运算符与表达式

”5433”, ” ”, ””, “\n”等。
例:字符串常量“china\b\n\101\t\\”由几个字符构成? ( 10 )
自行阅读例3.5
(2)字符变量
每一个字符变量只能存放一个字符,在内存中占1个字节,是将该字符对应的 ASCII码放到存储单元中并以二进制形式表示。如:c1=‘a’
一个字符型数据既可以用字符形式输出,也可以以整数输出。即字符型数据和 整型数据是通用的。
在程序中通过变量名引用变量的值。
a
变量名
3.说明:
3
变量值
(1)变量要“先定义,后使用”
存储单元
定义格式:类型说明符 标识符1,标识符2 ......标识符n
例:int x,y,z;
float a,b,c,d;
(2)可以定义变量同时给变量赋值——初始化
例:int x=10,y=20,z;
例:下列标识符中,合法的变量名有: M.D.John 12%gf 1add _ce36
C编译系统将实型常量按双精度处理,可在数后加F或f 使其按单精度处理
常量的后缀用f表示单精度实型,后缀用l表示长双精度型。
3. 字符型数据
(1)字符常量
• 字符常量:用单撇号括起来的一个字符。如:’a’,’!’,’X’
特殊形式字符常量(转义字符):以“\”开头的字符序列,见48页表3.3
• 字符串常量:用双引号括起来的零个或多个字符的序列。如:“This is astring” ,
可以对字符数据进行算术运算
c1
例:大小写字母转换。将小写字母a和b转换为大写字母A和B。 main() {char c1,c2; c1=‘a’;c2=‘b’; c1=c1-32;c2=c2-32; printf(“%c %c”,c1,c2); }
c语言第03章

活期存款一年后本息和为: p1=p0(1+r1) 一年期定期存款,一年后本息和为: p2=p0(1+r2) 两次半年定期存款,一年后本息和为:
r3 r3 p3 = p0(1 + )(1 + ) 2 2
6
3.1顺序程序设计举例
算法:
输入p0,r1,r2,r3的值 计算p1=p0(1+r1) 计算p2=p43; r 3 )
2 2
输出p1,p2,p3
7
3.1 顺序程序设计举例
#include <stdio.h> 定义变量同时赋予初值 int main ( ) {float p0=1000, r1=0.0036,r2=0.0225, r3=0.0198, p1, p2, p3; p1 = p0 * (1 + r1); p2 = p0 * (1 + r2); p3 = p0 * (1 + r3/2) * (1 + r3/2); printf(”%f\n%f\n%f\n”,p1, p2, p3); return 0; }
\„ \ddd \“ 单引号 例 void main() { printf(“Y\b=\n”);\xhh 3位8进制数代表的字符 aaa }
转义字符:反斜线后面跟一个字符或一个代码值表示
<
双引号 运行结果: 2位16进制数代表的字符 屏幕显示:= 15 打印机输出:¥
C语言程序设计
第3章 最简单的C程序设计
19
C语言程序设计
第3章 最简单的C程序设计
3.2.3不同类型数据间的转换
1.隐式转换
什么情况下发生
运算转换------不同类型数据混合运算时 赋值转换------把一个值赋给与其类型不同的变量时 输出转换------输出时转换成指定的输出格式
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程序设计第三章

在程序中所有以PRICE代表的价格就会一律自动全改为35。
C语言程序设计
数据类型、运算符与表达式
2. 变 量
变量:其值可以改变的量。 一个变量应该有一个名字,在内存中占据一定的存储单 元。在该存储单元中存放变量的值。
注:区分变量名和变量值这两个不同的概念。
变量名
见右图:变量名实际上是一个符号地 址,在对程序编译连接时由系统给每 一个变量名分配一个内存地址。在程 序中从变量中取值,实际上是通过变 量名找到相应的内存地址,从其存储 单元中读取数据。
(1)一个整数,如果其值在-32768~32767范围内,认为它是int型,它 可以赋值给int型和long int 型变量。 (2)一个整数,如果其值超过了上述范围,而在-2147483648 ~ 2147483647范围内,则认为它是长整型,可以将它赋值给一个long int 型变量。 (3)一个int 型的常量也同时是一个short int 型常量,可以赋给int 型 或short int 型变量。 (4)一个整常量后面加一个字母u,认为是unsigned int 型,如12345u, 在内存中按unsigned int规定的方式存放。
(2)实型变量的分类
实型变量分为单精度(float型)、双精度(double型)和长双精度型 (long double)三类。见下表:
(3)实型数据的舍入误差 实型数据
由于实型变量是用有限的存储单元存储的,因此能提供的有效数字总 是有限的,在有效位以外的数字将被舍去。由此可能会产生一些误差。 类型 比特数 有效数字 数值范围 + .3 1 4 1 5-38 9 1 38 float 32 6~7 10 ~10 如右图:实数3.14159在内存中的存 放形式。系统把一个实型数据分成 double 15~16 64 10-308~10308 数符 小数部分 指数部分 小数部分和指数部分,分别存放。 指数部分采用规范化的指数形式。 long double 128 18~19 10-4932~104932
第三章数据类型、运算符与表达式

设x的值为4,则表达式y=(++x)+(++x)+(++x)后,y的值是(D)。
A.12B.18C.16D.21下列数据中,为字符的是(D)。
A.‘AB’B."A"C.HowD.‘A'以下符号中,合法的用户标识符是(D)。
A. -pB. intC. 3abD. _xt_以下实型常量中,符合C语言语法的是(A)。
A. .5E-3B. 1.2E0.5C. E15D. 3.14.159E若有说明和语句:int a=5,b=6;b*=a+1;则b的值为(D)A. 5B. 6C. 31D. 36设C 语言中,int 类型数据占4个字节,则short 类型数据占(C)。
A.1个字节B.2个字节C.4个字节D.8个字节若x=3.5,a=2,y=2.5,b=3则表达式(float)(a+b)/2+(int)x%(int)y的值是()。
A.1.5B.2.5C.3.5D.2以下选项中不属于C语言的类型的是(D)。
A.signed short intB.unsigned long intC.unsigned intD.long short关于C语言数据类型的叙述,正确的是(C)。
A. 整型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型若a=12,则表达式a-=a的值为(A)。
A. 0B.12C.1D. 24若x=3.5,a=2,y=2.5,b=3则表达式(int)(a+b)/2+(int)x%(int)y的值是(D)。
A. 1.5B. 2.5C. 3D. 3.5若a是数值类型,则逻辑表达式(a==1)&&(a!=1)的值是(C)。
A.1B. 2C. 0D. 不知道a的值,不能确定若char x=97,则变量x对应(A)字符。
A. ‘a’B. ‘A’C. ‘9’D. ‘7’设C语言中,int类型数据占2个字节,则float类型数据占(C)字节。
C语言程序设计二

int x=10, y=10, z=10 ;
//不能写成int x=y=z=10;
2.2.3 标准函数
C编译系统提供的库函数
− 包括: 输入输出函数、数学函数、字符和字符串函数等。
数学函数 − sin(x) − cos(x) − exp(x)
− log(x)
− log10(x) − fabs(x)
空类型
一种无返回 值函数的数 据类型。 void
自定义
用新的类型 名替代已有 类型名使用。 用typedef 定义
C语言的基本数据类型 整型: 包括有、无符号的基本整型、短整型、长整型 实型: 包括单精度实型、双精度实型 float,double 字符型: 用于表示和存储ASCII字符。 char
2.2
−无符号整数: 用后缀 U/u 表示。
017u, 0xfdbU
−无符号长整数: 用后缀 UL/ul 表示。
15uL
2. 实型常量——浮点数
实型常量又称实数, 指带有小数部分的数。C语言中的实数 是以十进制表示的, 有两种表示形式:
−十进制小数形式:
由数字、数符和小数点组成。
例:
0.123, .123, 123. ,0.0 , -2.5,…
( 存放的是字符的ASCII码值) 字符数据与整型数据可相互赋值,直接运算。 可以把字符变量按整型量输出, 也允许把整型量按 字符量输出。
【例2.4】字符型变量的使用 #include <stdio.h> void main( ) { int a=„b‟; char c1=97; c1=c1-32;
第二章
数据类型、运算符和表达式
§2.1 数据与数据类型 §2.2 常量、变量和标准函数 §2.3 基本运算符及其表达式
基本数据类型
第三章基本数据类型、运算符与输入输出函数⏹ 3.1 基本数据类型⏹ 3.2 常量⏹ 3.3 变量⏹ 3.4 C语言的运算符和表达式⏹ 3.5 输入输出函数3.1 基本数据类型数据类型基本类型构造类型其他类型整型带符号无符号基本整型(int)短整型(short int)长整型(long int)整型(unsigned int)短整型(unsigned short int)长整型(unsigned long int)字符型(char)实型(浮点型)单精度型(float)双精度型(double)长双精度型(long double)枚举类型(enum)数组类型结构体类型(struct)共用体类型(union)指针类型空类型(void)3. 2 常量何谓常量——程序中直接书写的数据;例如:a=100; b=a+12;常量类型——以字面形式区分;例如: 12 (基本整型)3.5 (实型)123L (长整型)'A' (字符型)符号常量——用标识符代表一个常量。
3.2 常量3.2.1整型常量整型常量就是整常数,可以用三种进制形式表示:1.十进制数:以非0数字开头的数。
如123,-123等,其每个数字位可以是0~9。
2.八进制数:以数字0开头的数。
如0123,-0123等,其每个数字位可以是0~7。
3.十六进制数:以0x(或0X)开头的数。
如0xffff,0x1111,-0x123等,其每个数字位可以是0~9、A~F(或a~f)。
3. 整常量类型int 型常数:-32768~32767视为int常数;可赋给int、long型变量。
long型常数:在-2147483648 ~2147483647之内、但超出-32768~32767的数及带后缀l / L的视为long型常数;可赋给long型变量。
long int long-2147483648 -32768 0 32767 2147483647带后缀l 或L的数:long整型量的溢出若一个变量无法容纳下要存入的数,这种现象称为溢出,溢出将导致数据存储错误;在运算过程中也有可能产生溢出导致运算结果错,因此程序设计中应避免产生溢出。
第3章 C语言的运算符
普通高等教育“十一五 ” 国家级规划教材
3.2. 算术运算符与算术表达式
3、C语言的运算符和表达式
3.1.2 运算符的优先级和结合性
例如:
普通高等教育“十一五 ” 国家级规划教材
3*5/3 :表达式中出现了二个运算符即*和/。按 照优先级的次序,5的两侧“*”和“/”优先级相同, 则按结合性处理。“*”和“/”运算符的结合性为从 左到右,则先乘后除,表达式的值为5。
d=a+b-c :表达式中出现了三个运算符即=(赋 值)、+、-。按照优先级的次序,加和减的运算优先 级相同,而赋值运算符优先级较低。根据加和减的结 合性是从左到右,因此先计算加,再计算减,最后进 行赋值。
3 C语言的运算符和表达式
普通高等教育“十一五 ” 国家级规划教材
3.1.1运算符的优先级和结合性
注意所有的单目运算符、赋值运算符
和条件运算符都是从右向左结合的,要 予以特别关注,其余均为从左向右结合 的,与习惯一致。
普通高等教育“十一五 ” 国家级规划教材
学习 C语言的运算符,不仅要掌握各种 运算符的功能,以及它们各自可连接的运算 对象个数,而且还要了解各种运算符彼此之
普通高等教育“十一五 ” 国家级规划教材
第3章 运算符与表达式
作为一种程序设计语言,C 语言规定了一套严密的字符 集和语法规则,程序设计就是根据这些基本字符和语法规则
计算机2级C语言题库第三章 数据类型、运算符与表达式
第三章数据类型、运算符与表达式一单项选择题1.下面四个选项中,均不是c语言关键字的选项是()。
A) define IF Type B) getc char printfC) include scanf case D) while go pow3.下列四个选项中,均是C语言关键字的选项是()。
A) auto enum include B) switch typedef continueC) signed union scanf D) if struct type4.下面四个选项中,均是不合法的用户标识符的选项是()。
A) A P_0 do B) float la0 _AC) b-a goto int D) _123 temp int5.以下有4组用户标识符,其中合法的一组是()。
A) For -sub Case B) 4d DO SizeC) f2_G3 IF abc D) WORD void define7.下面四个选项中,均是合法整型常量的选项是()。
A) 160 -0xffff 011 B) -0xcdf 01a 0xeC) –01986 012 0668 D) -0x48a 2e5 0xe8.下面四个选项中,均是正确的八进制数或十六进制数的选项是()。
A) -10 0x8f -011 B) 0abc -017 0xcC) 010 -0x11 0xf1 D) 0a12 -0x123 -0xa9.设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为()。
A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 10.在C语言中,不正确的int类型的常数是()。
A)32768 B)0 C)037 D)0xAF13.下面四个选项中,均是合法的浮点数的选项是()。
A) +1e+1 5e-9.4 03e2 B) -.60 12e-4 -8e5C) 123e 1.2e-.4 +2e-1 D) -e3 .8e-4 5.e-015.以下选项中合法的字符常量是()。
第三章 数据类型、运算符及表达式§31 字符及标识符
2关系运算符
比较两个操作数的大小的运算符,称为关系运算符。 关系运算的表达式,称为关系表达式。 例如, 3+5 > 7-4 关系表达式也有它的值。 如: 8 > 3, 该关系成立,因此关系表达式的值为真, 反之, 其值为假。 在C语言中,用数值1表示真,用数0表示假。 如,7 == 2,关系表达式为假,其值为0。 关系运算符的种类和表达式如下:
•
*C 语言提供的长整数的表示方法可以用来扩大整数的取值 范围. – 例如, 41l, 037l, 0x1fL 字母后面的l 或 L ,表示该数是长常数., 上面三个数,分别是十进制、八进制、十六进制长整数。 一个在整数中放不下的普通整数也被作为长整数,
因此, 把其后紧跟有 l 或 L 的整数叫显式长整数. • 在16位字长的机器上,长整数的位数是 32 位 ( 增长一倍 )。 故长十进制整数取值范围为 -2147483648 到 2147483647。 (2)整型变量: • 基本整型 int 如: int x; • 长整型 long 如: long int y; 或 long y ; • 无符号 unsugend 如: unsigend int z; 或 unsigend z。
• 关键字
具有固定意义的标识符,用户不能用作为自己的标识符, 它们共有32个,除符号常量外都用小写字母表示,就其用途 分五类。 (1) 数据类型 int char float double short ... (2) 存储类型 extern static register auto typedef (3) 控制语句 if else for while do .... (4) 运算符 sizeof (5) 符号常量 EOF BOF .... *它们的含义后面将会络续提到。 * 用户定义的标识符,不能和关键字同名。