第2章数据类型、运算符与表达式
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,可以和常量一样进行运算
第二章+数据类型、运算符和表达式
格式项的一般形式为:
%[附加格式] 格式控制符
方括号中的内容可以缺省。
附加格式控制
含义说明
l(小写字母)
m
数据最小输出宽度(一个具体正整数)
.n(一个具体 对实数,表示输出几位小数;对字 正整数) 符串,表示截取的字符个数
-(负号) 输出的数据域内向左对齐
+(正号) 要求正数和0带正号输出,负数带符 号输出
变量的定义 格式为: 类型 变量列表;
可同时定义多个同类型的变量,之间用逗 号分隔。 变量的初始化 1. 变量定义时:格式为 类型 变量名=常数; 2. 变量定义后:通过赋值语句实现
2019/7/20
变量的作用域:变量能够起作用或者 可以被使用的程序范围。由定义的位 置决定
1. 局部变量:在函数内部定义的变量, 只在其定义的某个函数或复合语句范 围内有效。
3) 例题分析:example25
2019/7/20
4. 寄存器变量:程序运行时存储在CPU寄 存器中的变量,只用于局部变量,要求 是整型和字符型变量。说明符“register”
5. 外部变量:表示该变量可以在程序中的 任何地方使用,包括定义此变量的源文 件之外,作用域为整个工程。只能用于 全局变量。说明符为“extern”。
a string”
2019/7/20
注意:“A”与‘A’完全不同,前者是字 符串,后者是字符,它们在内存中的存 贮空间并不相同。 在字符串中使用双引号必须以“\”” 表示。
实例 example22 符号常量:用标识符命名的常量,可代
替常量 在程序中直接使用。 1. 使用C语言中的一个预编译指令#define
整型常量:可以用十进制、八进制和十 六进制来表示。 a.十进制整数:[ ± ]若干各0~9的数字。 如12, 0 ,-234等
数据类型、运算符与表达式
6.1 一维数组
例6.4程序中第一个for语句逐个输入10个数到数组a中,然后把a[0]送 入max中。在第一个for语句中,a[1]到a[9]逐个与max中的内容比 较,若比max的值大,则把该下标变量送入max中,因此max在己 比较过的下标变量中总是为最大者。比较结束,输出的max值即 为10个整数的最大值。
2.5 字符型数据
2.5.1 字符常量
1.字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。例如,'
A','6','+'等。 2.转义字符
C语言还允许使用一种特殊形式的字符常量,就是以反斜杠 “\”开头的转义字符,该形式将反斜杠后面的字符转变成另外的 意义,因而称为转义字符。
下一页 返回
第2章 数据类型、运算符与表达式
2.1 C语言的数据类型 2.2 标识符、常量和变量 2.3 整型数据 2.4 实型数据 2.5 字符型数据 2.6 算术运算与算术表达式 2.7 赋值运算与赋值表达式 2.8 自增、自减与逗号运算
2.1 C语言的数据类型
C语言提供有丰富的数据类型。其数据类型及其分类关系如 图2-1所示。
int i,max,a【10」; printf(”input 10 numbers:\n");
上一页 下一页 返回
6.1 一维数组
for(1=0;1<10;1++) scanf(”%d”,&a[i]);
max=a[0]; for(i=1;i<10;i++)
if(a[i]>max) max=a[i]; printf("maxnum=%d\n",max);
形பைடு நூலகம்输出。
第2章 数据类型运算符和表达式
(1.5)字符型类型
字符常量
C的字符常量是用单引号(即撇号)括起来的一个字 符。
如: ‘a’,‘x’,‘d’,‘?’,‘$’等都是字符常量。 注意,‘a’和‘A’是不同的字符常量。
特殊字符常量
以反斜杠字符“\”开头的字符序列:
字符形式 \n \t \b \r \f \\ \’ \”
\ddd \xhh
浮点型数据在内存中的存放形式
在常用的微机系统中,一个实型数据在内存中 占4个字节(32位)。与整型数据的方式不同,实 型数据是按照指数形式存储的。系统把一个实 型数据分成小数部分和指数部分,分别存放。 指数部分采用规范化的指数形式。
浮点型数据在内存中的存放形式
在4个字节(32位)中,究竟用多少位来表示小数 部分,多少位来表示指数部分,标准C并无具 体规定,由各C编译系统自定。 不少c编译系统以24位表示小数部分(包括符号), 以8位表示指数部分(包括指数的符号)。
3)在一个整型常量后面加一个字母l或者L,则认为是 long int型。 例如:用预处理指令#define 声明一个常数,用以表明1 年中有多少秒(忽略闰年问题)
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
(1.4)浮点型数据
浮点型常量表示方法
浮点数即平时所说的实数,有两种表示方法:
1)十进制表示:由数字和小数点组成。
如:0.123
12345 0.0
2)指数形式: 如:123e3或者123E3都代表123×103
注意字母e(或E)之前必须有数字,且e后面的指数必须为 整数,如e3、2.1e3.5、.e3、 e等都不是合法的指数形式。
规范化的指数形式:在字母e(或E)之前的小数部分中, 小数点左边应有一位(且只能有一位)非零的数字。 如:1.23456e2
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章 数据类型、运算符与表达式
回到 首页
运算符和结合性 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章数据类型,运算符与表达式参考答案及解析
参考答案及解析一、选择题1. 答案:C【解析】C语言的标识符命名规则为:①只能由字母、数值和下划线3种字符组成;②第一个字符必须是字母或下划线;③不能与C语言中的关键字或保留字相同。
2. 答案:C【解析】标识符命名规则:标识符必须由字母(a~z或A~Z)或下划线(_)开头;标识符的其他部分可以用字母、下划线或数字(0~9)组成;大小写字母表示不同意义,如cout和Cout 代表不同的标识符;在定义标识符时,虽然语法上允许用下划线开头,但是,我们最好避免定义用下划线开头的标识符,因为编译器常常定义一些下划线开头的标识符。
因此,本题正确答案为C)。
3. 答案:C【解析】C语言合法标识符的命名规则是:标识符只能由字母、数字和下划线组成,并且第一个字符必须为字母或下划线。
因为选项C)中的标识符的第一个字符为"&",所以选项C)为本题的正确答案。
4. 答案:A【解析】在C语言中,合法标识符的命名规则是:标识符可以由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
C语言的标识符可以分为关键字、预定义标识符和用户标识符。
选项B)和C)中的横线以及点都不合法,选项D)中的case为C语言关键字,故本题答案为A)。
5. 答案:B【解析】C语言规定用户标识符由字母、数字和下划线组成,且第一个字符必须是字母或下划线,可见选项C),D)是错误的;此外,C语言不允许用户将关键字作为标识符,而选项A)中的void正是C语言的关键字。
6. 答案:C【解析】C语言规定的标识符只能由字母、数字和下划线3种字符组成,第一个字符必须为字母或下划线,并且不能使用C语言中的关键字作为标识符。
选项C)中goto和int是关键字,b-a中"-"不是组成标识符的3种字符之一;选项D)中int是关键字,所以,均是不合法用户标识符的选项是C)。
7. 答案:B【解析】合法的标识符是由字母、数字和下划线组成,并且第一个字符必须为字母或下划线,用户定义的标识符不能与关键字相同。
第2章 C语言,数据类型、运算符和表达式
(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) 转义字符使用实例
第2章 数据类型、运算符与表达式
注意事项:
八进制的数码范围为0--7; 则:018、091、0A2 都是错误的数据表示方法。
十六进制的数码除了数字0-9外, 还使用英文字母a-f (或A-F)表示10-15。 如:0x1e、0Xabcdef、0x1000 但:0X2defg、0x100L都是错误的。
第二章 2.2 常量和变量
二、定义方法
整型变量分别以下列方式定义 1. 基本整型 int a, b, c;
2. 短整型 3. 长整型 short int 或 short a, b, c; long int 或 long a, b, c;
4. 无符号型 unsigned a, b, c;
unsigned short a, b, c; unsigned long a, b, c;
4. 一个非负整数<32768 则可赋给 unsigned int。
5. 一个常数后加 'l',或'L',表示长整数. 如123l. 主要
用于函数调用时形、实参数传递。
练习:请补充完整下列程序,使之符合给定的运行结果
Main( ) {int a,b, sep,tim; a=7;b=2; tim=a*b; sep=a/b; printf(“ ”); printf(“ ”); }
c1=97;
c2=98;
printf ("%c %c", c1, c2)
} 运行结果 a b
例2: main ( ) { char c1, c2; c1= ' a ';
c2=' b ';
c1=c1– 32; c2=c2– 32;
printf ("%c %c", c1, c2)
第2章数据类型、运算符和表达式
int a,b,c; a=b=c=1;
2019/10/27
C程序设计
26
§2.6 混合运算
整型、实型(单、双精度)、字符型数据间可以混 合运算。如:’a’+2*3.5+6.7*2
规则:不同类型先转换成同一类型,再进行计算
double
float
高 Float型数据在运算时一
律先转换成double型
long
x,y
120,121 说明:字符型数据和整型数据是通用的
2019/10/27
C程序设计
25
§ 2.5 变量赋初值
变量初始化的方法: 1、先定义变量,后赋值
int a,b; a=123;b=456; 2、 定义变量,部分赋值 float a,b=0.5,c; 3、 定义变量赋初值同步 float a=0.1,b=0.5,c=4.3; 注意:变量赋初值时不允许连等 int a=b=c=4; ×
2019/10/27
C程序设计
7
§2.2 标识符
1、标识符的定义 用来标识变量名、符号常量名、函数名、数
组名、类型名、文件名的有效字符序列称为标识 符。简单地说,标识符就是一个名字。
C语言规定标识符只能由字母、数字和下画 线三种字符组成,且第一个字符必须为字母或下 画线。
2019/10/27
C程序设计
无符号短整型: 用 unsigned short 说明
无符号长整型: 用 unsigned long 说明
如: unsigned int c, d;
2019/10/27
C程序设计
20
§2.4 变量
3、整型变量的定义格式
类型说明符 变量名标识符,变量名标识符;
易语言编程系统全书(第二章)
第二章数据类型、运算符与表达式各种数据存在磁盘或内存中都有其不同点存放格式,因此就存在不同的数据类型。
了解各种数据类型的特性,对编程开发来说是十分重要的。
程序中经常会进行一些运算。
易语言中运算都要使用运算符进行识别处理,并通过运算表达式来完成运算操作。
程序中对各种数据之间的关系的描述也要通过运算符。
本章将对数据烈性运算符和表达式这些程序中基本的内容进行介绍。
2.1易语言的数据类型2.2.1了解基本数据类型易语言中基本数据类型有6中,包括数值型、逻辑型、日期时间型、文本型、字节集型、子程序指针型。
数值型有包括了字节型、短整数型、整数型、长整数型、小数型、双精度小数型。
这些类型代表的数值范围,及机内表示的长度,可以查看“数据类型的长度与溢出”小节中的“表2-1数据类型的长度和占用字节”。
字节型:可容纳0到255之间的数值。
数值型中整数型数据,如13556。
逻辑型数据,职能有2种,即“真”或“假”。
日期时间型数据,用来记录日期及时间,如:[2002-2-2]。
文本型数据,可用来记录一段文本,如“中文编程易语言”。
在程序中表示一段文本数据,都要用双引号将文本引起来。
字节集型数据,用作记录一段字节型数据,表示为{2,3,4,5}。
图片或mp3格式的文件是典型的字节机型数据,在程序中,存在此类数据的变量一定要定义为字节集型。
子程序指针型数据,是一个子程序在内存中的地址。
2.2.2 给变量和返回值定义数据类型1.给变量定义数据类型给变量定义数据类型,只需要在新建的变量类型上按下空格键,就会弹出数据类型下拉列表,在列表中选择欲定义的数据类型即可(如图2-1所示),也可用拼音或英文在其上直接输入,例如:整数型即输入zsx或用英文输入int。
2. 给子程序返回值定义数据类型和给变量定义数据相同,只需要在子程序的返回值类型上用定义变量的方法定义即可。
给子程序定义了返回值类型,就表示该子程序具有了返回值,所以在子程序中编写代码时要记得给子程序返回一个值。
C语言教程第2章数据类型、运算符与表达式
常量只能在定义时赋值,然后不能再改变 其值 常数、 const常量、宏常量和枚举常量, 都可以用来表示一个永远不会改变的数
前者不建议直接使用,而用后三者代替
C语言大学实用教程
2.5 变 量
变量是在程序执行过程中可以改变、可以赋 值的量。
在程序中每一个变量都有一个名子即变量名, 程序对该变量访问(存入、读取)都是通过变 量名进行的。
运行结果: 1234567936.000000
1234567890.000000
}
C语言大学实用教程
2.6 常用运算符及表达式
算术运算符
+,-,*,/,%
加、减、乘、除、求余运算 四则混合运算中,先算乘除,后算加减, 按从左向右的顺序计算,左结合
#include <math.h>
常用的标准数学函数
C语言大学实用教程
#include <stdio.h> /*函数功能:计算两个整数相加之和 入口参数:整型数据a和b 返回值: 整型数a和b之和 */ int Add(int a, int b) { return (a + b); }
2.1 一个简单的C程序例子
/*主函数*/ ) { int x, y, sum = 0;
022、-037 010和10大小不一样 因为八进制并不常用,所以此种表示法比较少见
以“0x”或者“0X”开始的整型常数是十六进 制
A~F和a~f用来表示十进制的10~15
十六进制的形式比较常用,尤其在进行位一级的 控制的时候 0x12、-0x1F, -0x1f
C语言大学实用教程
2.4 常量
字符常量
C语言知识点:第2章 数据类型、运算符与表达式
主讲教师:杨剑
第 2 章:数据类型、运算符与表达式
1. 本章目标:
理解变量和常量的含义 熟悉基本数据类型 - int、char、float 和 double 使用算术运算符 理解类型转换 使用关系和逻辑运算符
2. 内存如何存放数据
电脑使用内存来记忆计算时所使用的数据 内存如何存储数据? 内存像旅馆.数据各式各样,要先根据数据的需求(即类型)为它申请一块合适的空
23. 复合赋值表达式
24. 赋值表达式和逗号运算符
赋值表达式 a=b=c=5;(从右向左计算) a +=a-=a*a
逗号运算符和逗号表达式 3+5,6+8 a=3*5,a*4
25. 习题
~7~
C 语言程序设计知识点
主讲教师:杨剑
有以下程序
main()
{
char a1=’M’,a2=’m’;
12. 单精度浮点型
float 在 C 语言中用于存储单精度浮点数 float 32 位 10-38 至 10+38 ,7 位有效数字 声明:
float price; 初始化:
float score = 11.3; score = 65.90;
13. 双精度浮点型
double 32 位 16 位有效数字 声明:
const float PI=3.14; S=PI*r*r; //等价于 3.14*r*r const 关键字的作用就是“冻结”一个量,它的值不能被修改,是一个只读(read only) 量。 优点:比数值常量可读性好、修改容易
18. 符号常量 2(宏常量)
还可用宏定义符号常量 语法:#define 符号名 常量值 例: 计算圆的周长时
第2章 数据类型、运算符、表达式
第二章 数据类型、运算符、表达式一、数据类型C 语言中的数据类型比别的语言丰富。
基本类型的数据又可分为常量和变量,它们可与数据类型结合起来分类,即为整型常量、整型变量、实型(浮点型)常量、实型(浮点型)变量、字符常量、字符变量、枚举常量、枚举变量。
1、常量与符号常量常量:在程序执行过程中,其值不发生改变的量称为常量。
常量区分为不同的类型,如68、0、-12为整型常量,3.14,9.8为实型常量,‘a ’,‘b ’,‘c ’则为字符常量。
常量即为常数,一般从其字面即可判别。
符号常量:有时为了使程序更加清晰和便于修改,用一个标识符来代表常量,即给某个常量取个有意义的名字,这种常量称为符号常量。
如:#define PI 3.142、变量变量:程序执行过程中其值可以改变的量。
定义方法定义形式:数据类型 变量名1,变量名2,……变量名n ;整型(int )数据类型 基本类型 整型 单精度型(float )字符型(char )长整型(long )短整型(short )实型 双精度型(double )枚举类型(enum )共用体类型(union )构造类型结构体类型(struct )数组类型空类型(void )指针类型(*)如:char ch1, ch2; /* ch1,ch2为变量*/float x, y; /* x ,y 为实型变量*/int a, b, c; /* a,b,c 为整型变量*/在书写变量说明时,应注意以下几点:(1) 允许在一个类型说明符后,说明多个相同类型的变量。
各变量名之间用逗号间隔。
类型说明符与变量名之间至少用一个空格间隔。
(2) 最后一个变量名之后必须以“;”号结尾。
(3) 变量说明必须放在变量使用之前。
一般放在函数体的开头部分。
另外,也可在说明变量为整型的同时,给出变量的初值。
其格式为:类型说明符 变量名标识符1=初值1,变量名标识符2=初值2,...;3、数据在内存中的表示整型数据:以二进制的形式表示(1) int 类型正数: 如 123 (+123)用 16 位二进制(二个字节)表示原码 反码(原码同) 补码(原码同)最大正整数 215-1=214+213+212+211+210+29+2827+26+25+24+23+22+21+20=32767负数:如 –123原码补码(补码加 1)1取反加1 最大负整数-215=32768 因为 -215 < -(215-1) 所以用 -215 而不用 -(215-1)(2) unsigned (int) 类型称为无符号整数,它不是指不带“+ 或 -”号的整数,而是指内存表示这类数时没有符号位,16最大数215+214+213+2122+21+20=65535最小数 0 (3) long (int) 类型用 32 位二进制(四个字节)表示,其他同 int 型(4) short 类型有的计算机(小型、中型、大型机)int 即是 long ,而short 用16 位二进制(二个字节)表示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例如: #define PI 3.1415926
main()
{ float r,l,s; r=2;l=2*PI*r;s=PI*r*r; printf(“l=%d,s=%d”,l,s);
•增加可读性; •提高可维护性
}
/*直接常量 计算6*7, 并显示结果*/ void main() { printf("the rusult of 6*7 is %d ", 6*7 ); }
int a; a=98; a=042; a=0x62;
printf("98=(%d)D=(%o)O=(%x)H\n",98,98,98); printf("98=(%d)D=(%o)O=(%x)H\n",0142,0142,0142); printf("98=(%d)D=(%o)O=(%x)H\n",0x62,0x62,0x62);
第2章 数据类型、运算符与表达式
Follow me!
2.1 C语言数据类型 短整型
整型 (int ) 整型
长整型
数值型
双精度型(double)
基本类型
实型(浮点型)
字符型(char)
单精度型(float)
指针类型
数据类型
数组类型
构造类型 结构体类型(struct)
共用体类型(union)枚举类型(enum)
• u做后缀表示无符号数:654321u • 使用long型可得到大范围整数,但也会降低运算速度。 • 标准C中各种整数类型的表示范围,见25页表2-1。
例.用十、八、十六进制数输出整型常数98
/*p27 用十、八、十六进制数输出整型常数98、35 */ #include<stdio.h> void main() {
无值类型(空类型) (void)
2.2 常量与变量
2.2.1 常量 1.定义:在程序执行期间,其值不可改变的量称为常量 2.类型:
• 直接常量:例如:10,3 , 2.68等
Void main() { printf(“Welcom!\n”);
printf(“2+3= d%”, 2+3); }
• 符号常量:用一个符号代表一个常量,用define命令来定义它
说明:
• 符号常量必须先定义后才能用它表示一 个数值
• 符号常量的值在其作用域内不能改变, 也不能再被赋值
• 符号常量名习惯用大写字母表示
2.2.2 变量
1.定义:程序执行期间值可以改变的量
2.变量两个要素: 变量名和变量值。变量值存储在内存
中,不同类型变量占用的内存单元(字节)不同。
在程序中通过变量名引用变量的值。
•构造标识符时尽量做到“见名知意”。如sum, st_age •一些标识符为关键字不可随意使用。如int,C有32个关键字 •书p24
变量赋初值
• 声明变量同时初始化 int a=3; float f=3.1; char c=‘g’;
• 声明时部分初始化 int a,b,c=5;
• 同时给几个变量赋相同的值 int a=3,b=3,c=3; int a=b=c=3是错误的
(2) 整型常量--就是整常数 (见 p27)
十进制:0-9组成,无小数。 如: 123,-456
八进制:以0开头,0-7组成,无小数。 如: 0123,-011
十六进制:以0x或0X开头,0-9和a-f (大小写均可)组成。 如:0x123,-0X12
• 在整型常量后添L做后缀表示长整型数: 23L,或23l,077L,0X2AL
例:下列标识符中,合法的变量名有: M.D.John 12%gf int _ce36 age& 5thclass lotus_1_2_3 cd*ef
变量命名规则,见书P24 变量强制定义的好处,见24页
2.3 整型数据(int)
(1) 整型变量 (p25)
每一个整型变量在内存中占2个字节,以补码形式表示。如:
+13 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1
-13 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1
+5 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
整型变量的分类 2 基本整型:int 2 短整型:short int 4 长整型:long int
有符号 [signed] int
无符号 unsigned [int]
有符号 [signed] short [int] 无符号 unsigned short [int]
有符号 [signed] long [int] 无符号 unsigned long [int]
不指定有无符号时,即省略signed或unsigned时,隐含为有符号数。
a
变量名
3.说明:
3
变量值
(1)变量要“先定义,后使用”
存储单元
定义格式:类型说明符 标识符1,标识符2 ......标识符n
例:int x,y,z;
float a,b,c,d;
(2)可以定义变量同时给变量赋值——初始化
例:int x=10,y=20,z;
标识符
标识符就是名字。在C中有符号常量名、变量名、函数名、标号、 文件名、结构类型名、各种用户定义的对象名等。 命名规则: •构成字符:26个英文字母、数字0-9、下划线 •须由字母或下划线开头,后可跟任意可用字符 注意: •大小写字母含义不同。Num和NUM为不同标识符
printf("35=(%d)D=(%o)O=(%x)H\n",35,35,35); getch(); }
2.4浮点数据
(1) 浮点(实型)变量
每一个实型变量在内存中占4个字节,按指数形式存储。 如:
+
小数部分
+ 指数
3.14159 0
.314159
0
1
1位
23位
8位
实型变量的分类
单精度:float 双精度:double 长双精度:long double
void main() { int sum;
sum=6*7; printf("6*7==%d", sum); }
例2.1 符号常量 1. /* 计算圆面积,显示结果 */ 2. #include<stdio.h> 3. #define PAI 3.14 4. void main() 5. { 6. float r; 7. float area; 8. r=3; 9. area=PAI*r*r; 10. printf(“The rusult is %f ", area); 11. }