第三章数据类型、运算 符与表达式 学习目的与要求:1.掌握基本类型及其常量的表示法。 2.重点掌握变量的定义及其初始化方法 3.掌握运算符与表达式的概念。 4.理解C语言的自动类型转换和强制类型转换、赋值的概念。 1.数据类型。 2.变量的定义与使用。 3.算术运算符 4.自增、自减运算符。 第1讲 知识归纳 1.C语言数据类型 (1)基本类型:整型、字符型、实型、枚举型。 (2)构造类型:数组类型、结构体类型、共用体类型 (3)指针类型 (4)空类型 2.常量 (1)什么是常量:在程序运行中,其值不变的量。如123,3.14 (2)符号常量:用一个标识符代表一个常量。符号常量名常用大写,以区别变量 例如:# define Pl3.1415926 符号常量的定义格式:# define符号常量表达式 3.变量 (1)什么是变量:在程序运行中,其值可以改变的量。如intx=3;x=5; (2)标识符的命名规则: 只能使用字母、数字、下划线 必须以字母、下划线打头; ·大小写字符区分;
第三章 数据类型、运算 符与表达式 学习目的与要求:1. 掌握基本类型及其常量的表示法。 2. 重点掌握变量的定义及其初始化方法。 3. 掌握运算符与表达式的概念。 4. 理解 C 语言的自动类型转换和强制类型转换、赋值的概念。 重点: 1. 数据类型。 2. 变量的定义与使用。 3. 算术运算符。 4. 自增、自减运算符。 第 1 讲 知识归纳 1. C 语言数据类型 (1) 基本类型:整型、字符型、实型、枚举型。 (2) 构造类型:数组类型、结构体类型、共用体类型。 (3) 指针类型。 (4) 空类型。 2. 常量 (1) 什么是常量:在程序运行中,其值不变的量。如 123 ,3.14。 (2) 符号常量:用一个标识符代表一个常量。符号常量名常用大写,以区别变量。 例如: #define PI 3.1415926 符号常量的定义格式: #define 符号常量 表达式 3. 变量 (1) 什么是变量:在程序运行中,其值可以改变的量。如 int x =3 ; x=5; (2) 标识符的命名规则: 只能使用字母、数字、下划线; 必须以字母、下划线打头; 大小写字符区分;
第二部分¢语言程序设计同步训练 103 关键字不能用作标识符 (3)变量要“先定义,赋值后,再使用”。 4.整型数据 (1)整型变量的表示方法及其相互之间的转换:十进制、二进制、八进制、十六进制 (2)整型分类 g, unsigned short, unsigned int, unsigned long (3)注意:整型数据的溢出问题。 请记住int, unsigned int所适用的数据范围 int(或 short)-32768-32767 unsigned int 0-65535 5.实型数据 (1)实型数据的表示方法 小数形式一—必须有小数点。 指数形式——字母E(或e)前必须有数字,E后指数必须为整数 (2)实型的分类:foat, double s (3)注意:实型数据的舍入误差。 请记住foat, double两种类型的有效数字位数。 foat—一有效数字为7位数。 double——一有效数字为16位数。 基础训练(A 、填空题 1.C程序中数据有 和 之分,其中,用一个标识符代表一个常量的 称为 常量。C语言规定在程序中对用到的所有数据都必须指定其类型,对 变量必须做到先 后使用。 2.C语言所提供的基本数据类型包括:单精度型、双精度型 3在C语言中的实型变量分为两种类型,它们是 和 4.C语言中的构造类型有 类型、 类型和 类型三种。 5.在C语言中,以16位PC机为例,一个char型数据在内存中所占的字节数为 一个int型数据在内存中所占的字节数为 nt型数据的取值范围为 6.在C语言中,以16位PC机为例,一个foat型数据在内存中所占的字节数为 个 double型数据在内存中所占的字节数为 7.C语言中的标识符只能由三种字符组成,它们是 且第一个字符必须为 8.5432lE2在常规表示法中表示为 ,327876在科学表示法中表示 为
第二部分 C 语言程序设计同步训练 ·103· ·103· 关键字不能用作标识符。 (3) 变量要“先定义,赋值后,再使用”。 4. 整型数据 (1) 整型变量的表示方法及其相互之间的转换:十进制、二进制、八进制、十六进制 (2) 整型分类: short , int , long , unsigned short, unsigned int, unsigned long (3) 注意:整型数据的溢出问题。 请记住 int , unsigned int 所适用的数据范围: int(或 short) -32768——32767 unsigned int 0——65535 5. 实型数据 (1) 实型数据的表示方法: 小数形式——必须有小数点。 指数形式——字母 E (或 e)前必须有数字,E 后指数必须为整数。 (2) 实型的分类:float,double。 (3) 注意:实型数据的舍入误差。 请记住 float , double 两种类型的有效数字位数。 float——有效数字为 7 位数。 double——有效数字为 16 位数。 基础训练(A) 一、填空题 1. C 程序中数据有 和 之分,其中,用一个标识符代表一个常量的, 称为 常量。C 语言规定在程序中对用到的所有数据都必须指定其 类型,对 变量必须做到先 ,后使用。 2. C 语言所提供的基本数据类型包括:单精度型、双精度型、 、 、 。 3. 在 C 语言中的实型变量分为两种类型,它们是 和 。 4. C 语言中的构造类型有 类型、 类型和 类型三种。 5. 在 C 语言中,以 16 位 PC 机为例,一个 char 型数据在内存中所占的字节数为 ; 一个 int 型数据在内存中所占的字节数为 ,int 型数据的取值范围为 。 6. 在 C 语言中,以 16 位 PC 机为例,一个 float 型数据在内存中所占的字节数为 ; 一个 double 型数据在内存中所占的字节数为 。 7. C 语言中的标识符只能由三种字符组成,它们是 、 和 。 且第一个字符必须为 。 8. 5.4321E2 在常规表示法中表示为 ,327.876 在科学表示法中表示 为 。
C语言程序设计上机指导与同步训练 9.常量123456789123L占用 字节存储空间 10.负数在计算机中是以 形式表示。 11.单精度型实数的有效位是 位,双精度型实数的有效位是位。 12.写出下列数所对应的其他进制数。 B=( (75)=( 选择题 1.以下选项中属于C语言的数据类型是()。 A)复数型B)逻辑型C)双精度型D)集合型 2.下列常数中不能作为C的常量的是()。 A)0xA5B)2.5e-2 D)0582 3.在C语言中,数字029是一个() A)八进制数B)十六进制数C)十进制数D)非法数 4C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符() A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 5.设C语言中,一个int型数据在内存中占两个字节,则 unsigned int型数据的取值范 围为() A)0~255B)0~32767C)0~65535D)0~2147483647 6.下不正确的C语言标识符是( A)int B)a 1 2 7.以下是正确的C语言标识符是( A)#define B)123 C)%d 8.在C语言中,错误的int类型的常数是() A)32768B)0 C)037 D)OXAF 9.执行语句 printf("%x",-1):屏幕显示() A)-1 B)1 C)-ffif D)ffff 10.将字符g赋给字符变量c,正确的表达式是() A)c=147B)c="47 C)c=147 D)c=0147 1.为求出s=10的值,则变量s的类型应当为() A)int B)unsigned C)long D)以上三种类型均可 能力提高(B) 、选择题 1.下面四个选项中,均不合法的用户标识符的选项是() A)P O B)float la0
·104· C 语言程序设计上机指导与同步训练 ·104· 9. 常量 123456789123L 占用 字节存储空间。 10. 负数在计算机中是以 形式表示。 11. 单精度型实数的有效位是 位 ,双精度型实数的有效位是 位 。 12. 写出下列数所对应的其他进制数。 (32)D =( ) B= ( )O = ( )H (75)D=( ) B =( )O = ( )H 二、选择题 1. 以下选项中属于 C 语言的数据类型是( )。 A) 复数型 B) 逻辑型 C) 双精度型 D) 集合型 2. 下列常数中不能作为 C 的常量的是( )。 A) 0xA5 B) 2.5e-2 C) 3e2 D) 0582 3. 在 C 语言中,数字 029 是一个( )。 A) 八进制数 B) 十六进制数 C) 十进制数 D) 非法数 4. C 语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )。 A) 必须为字母 B) 必须为下划线 C) 必须为字母或下划线 D) 可以是字母、数字和下划线中任一种字符 5. 设 C 语言中,一个 int 型数据在内存中占两个字节,则 unsigned int 型数据的取值范 围为( )。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 6. 下不正确的 C 语言标识符是( )。 A) int B) a_1_2 C) ab1exe D) _x 7. 以下是正确的 C 语言标识符是( )。 A) #define B) _123 C) %d D) \n 8. 在 C 语言中,错误的 int 类型的常数是( )。 A) 32768 B) 0 C) 037 D) 0xAF 9. 执行语句 printf("%x",-1);屏幕显示( )。 A) –1 B) 1 C) –ffff D) ffff 10. 将字符 g 赋给字符变量 c,正确的表达式是( )。 A) c=\147 B) c="\147" C) c='\147' D) c='0147' 11. 为求出 s=10!的值,则变量 s 的类型应当为( )。 A) int B) unsigned C) long D) 以上三种类型均可 能力提高(B) 一、选择题 1. 下面四个选项中,均不合法的用户标识符的选项是( )。 A) P_0 do B) float la0 _A
第二部分¢语言程序设计同步训练 C)b-a go D)123 2.下面四个选项中,均是合法整型常量的选项是()。 A)160 0l1 B)-Oxcdf ola Oxe 986,012 0668 D)-0x48a2e5 3.下面四个选项中,均是不合法的整型常量的选项是() A)-ofI B)-0Xcd017 C)-018 999 5e2 D)-0X48eg-068 4.下面四个选项中,均是不合法的浮点数的选项是()。 A)160 B)123 2e4.2 0.0 5.下面四个选项中,均是合法浮点数的选项是()。 A)+le+ 5e-94 03e2 B)-60 -8c5 C)123e 1.2e-4 +2e-1 6.下面四个选项中,均是不正确的八进制数或十六进制数的选项是()。 A)016 0x8f018 B)Oabc 017 0x11 D)Oa12 7.下面四个选项中,均是正确的八进制数或十六进制数的选项是()。 A)-10 0x8f-011 B)Oabc 0170xc C)0010 8.在C语言中,int、char和 short三种类型数据在内存中所占用的字节数()。 A)由用户自己定义 B)均为2个字节 C)是任意的 D)由所用机器的机器字长决定 9.C语言中整数-8在内存中的存储形式是() A)1111 1111 1111 1000 B)100000000001000 C)000000000001000 D)11111111 1111 011 10.在C语言中(以16位PC机为例,5种基本数据类型的存储空间长度的排列顺序为
第二部分 C 语言程序设计同步训练 ·105· ·105· C) b-a goto int D) _123 temp INT 2. 下面四个选项中,均是合法整型常量的选项是( )。 A) 160 -0xffff 011 B) -0xcdf 01a 0xe C) -01 986,012 0668 D) -0x48a 2e5 0x 3. 下面四个选项中,均是不合法的整型常量的选项是( )。 A) -0f1 -0xffff 0011 B) -0Xcdf 017 12,456 C) -018 999 5e2 D) -0x48eg -068 03f 4. 下面四个选项中,均是不合法的浮点数的选项是( )。 A) 160. 0.12 e3 B) 123 2e4.2 .e5 C) -.18 123e4 0.0 D) -e3 .234 1e3 5. 下面四个选项中,均是合法浮点数的选项是( )。 A) +1e+1 5e-9.4 03e2 B) -.60 12e-4 -8e5 C) 123e 1.2e-.4 +2e-1 D) -e3 .234 5.e-0 6. 下面四个选项中,均是不正确的八进制数或十六进制数的选项是( )。 A) 016 0x8f 018 B) 0abc 017 0xa C) 010 -0x11 0x16 D) 0a12 7ff -123 7. 下面四个选项中,均是正确的八进制数或十六进制数的选项是( )。 A) -10 0x8f -011 B) 0abc -017 0xc C) 0010 -0x11 0xf1 D) 0a12 -0x123 -0xa 8. 在 C 语言中,int、char 和 short 三种类型数据在内存中所占用的字节数( )。 A) 由用户自己定义 B) 均为 2 个字节 C) 是任意的 D) 由所用机器的机器字长决定 9. C语言中整数-8 在内存中的存储形式是 ( )。 A) 1111 1111 1111 1000 B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 10. 在 C 语言中(以 16 位 PC 机为例),5 种基本数据类型的存储空间长度的排列顺序为
C语言程序设计上机指导与同步训练 () B)chariot<lor C)char<int<long int=float=double 判断题 1.常量35456与常量23所占用的存储空间一样大。 -653是有符号数,653是无符号数。 3.许多编译系统将实型常量作为单精度来处理。 4.在C语言中,大写字母和小写字母被认为是两个不同的字符。 5.如果不指定整数为 unsigned或指定 signed,则存储单元中最高位代表符号(0为正,1 为负)。 第2讲 知识归纳 1.字符型数据 (1)字符常量概念:用单引号括起来的一个字符,如‘a’:在内存中占一个字节。 (2)转义字符:占一个字节。 三类控制输出格式的:hn,t,b,lr,f 控制三个特殊符号输出的:,, 表示任何可输出的字母字符、专用字符、图形字符和控制字符: ldd-1到3位八进制数所代表的字符 kh-x开头,1到2位十六进制数 (3)字符数据的存储(字符数据的ASCI值),决定了字符数据与整型数据,在-128~127 范围内可以通用 2.字符串数据 (1)字符串常量概念:用双引号括起来的若干个字符,如“abed (2)字符串结束标志问题:系统为了区分字符串和字符常量,自动的在字符串后增加 个结束标志0°,因此,一个字符的长度应该是字个款+1 注意:你分清“A”和A了吗?,它们的长度是否相同? 3.各类数值型数据间的混合运算 (1)在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。 (2)转换规则:
·106· C 语言程序设计上机指导与同步训练 ·106· ( )。 A) char<int<long int<=float<double B) char=int<long int<=float<double C) char<int<long int=float=double D) char=int=long int<=float<double 二、判断题 1. 常量35456与常量23所占用的存储空间一样大。 ( ) 2. -653是有符号数,653是无符号数。 ( ) 3. 许多编译系统将实型常量作为单精度来处理。 ( ) 4. 在C语言中,大写字母和小写字母被认为是两个不同的字符。 ( ) 5. 如果不指定整数为unsigned或指定signed,则存储单元中最高位代表符号(0为正,1 为负)。 ( ) 第 2 讲 知识归纳 1. 字符型数据 (1) 字符常量概念:用单引号括起来的一个字符,如‘a’;在内存中占一个字节。 (2) 转义字符:占一个字节。 三类控制输出格式的 :\n , \t , \b , \r , \f 控制三个特殊符号输出的: \\ , \’ , \” 表示任何可输出的字母字符、专用字符、图形字符和控制字符: \ddd —1 到 3 位八进制数所代表的字符; \xhh —x 开头,1 到 2 位十六进制数; (3) 字符数据的存储(字符数据的 ASCII 值),决定了字符数据与整型数据,在-128~127 范围内可以通用。 2. 字符串数据 (1) 字符串常量概念:用双引号括起来的若干个字符,如 “abcd”。 (2) 字符串结束标志问题:系统为了区分字符串和字符常量,自动的在字符串后增加 一个结束标志‘\0’,因此,一个字符串的长度应该是字符个数+1 。 注意:你分清“A”和‘A’了吗?,它们的长度是否相同? 3. 各类数值型数据间的混合运算 (1) 在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。 (2) 转换规则: