信息学的一些东西
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-1 则a的值实际为____. 3、编程实现 输入自己姓氏的拼音,并译成密码。密 码规律:该字符的ASCII码减5,并输出加密 后的字符。 4、编程实现 输入圆的半径,输出圆的周长与面积。 要求PI定义成常量
单元,该变量的值就存放在这些内存单元中。
变量名 prod 实际 上是一个符号地址 内存单元 的地址
prod
123是变量值 变量prod 所占 据的内存单元 123 内存单元 的内容
在对程序编译时由系统给 每一个变量按其类型分配 内存单元,同时,系统内 部维护着变量名和它的内 存单元地址的对应信息。
变量就是命名的内存单元
关键字 预先定义的具有特定含义的 标识符 。也称为保留字,不 能另作他用。如: Int、 char 、float 、 double、 unsigned 、 struct、 if 、do 、 while、 switch 、 return、 goto、 define 、 include、 undef、sizeof等..
char c1; c1=„A‟;
定义变量c1为字符型变量,给c1分配一个字节 的内存单元,第二个语句是将字母‘A‟赋给c1,即 将‘A‟的ASCII码65存储到c1所代表的内存单元中 去。
以字符形式输出一个字符。
可以看到,字符型数据和整型数据是通用的,它们既可以以字符型形式 输出(%c),又可以以整型形式输出(%d),当以整型形式输出时,输 出的是它们所表示的ASCII码。
ASCII 代码 10 9 8 13 12 92 39 34
控 制 字 符
\t \b \r \f
特殊 标点 符号 所有 字符
\\ \„ \“ \ddd
\xhh
1到2位16进制数所代表的字符
比如 \012 表示ASCII码为 10的字符,\x12 表示 ASCII码为18的字符
(2)字符变量
字符型变量用来临时存放字符常量,注意:一个字符 变量只能存放一个字符。 字符变量定义形式如: char c1,c2;
+ .31459288787 (1)在内存中的存放形式 在内存中占四个字节,以指数形式存储。 (2)实型变量的分类
1
类型 float doubleBaidu Nhomakorabea
比特数 32 64
有效数字 6~7 15~16 18~19
数值范围
1037 ~ 1038
10307 ~ 10308 104931 ~ 104932
不同进制之间的转换
• X进制转换成10进制
(an an1...a2a1 ) x (a xn1 an1 xn ... a2 x1 a1 x0 )10
• 10进制转换成X进制
– 辗转相除,倒着取余 – 比如 十进制的156转换成8进制,则为 234 8
19 156 8 76 72 4
常量和变量
常量 程序运行期间,值不能被改变的量称为常量
直接常量:1, 2, 3; 0.1, 10.0; „a‟, „1‟; “hello”
整型常量 浮点型常量 字符型常量
字符串常量
符号常量:用一个标识符代表一个常量 实现方式:使用 #define 预处理命令
定义符号常量,此后本文件 中凡出现PRICE都为30.
注意:括号表示其中的内容是可选的.
• 整数类型的有关数据(标准C):
类型 基本型 短整型 类型说明符 int short 长度 2字节 2字节 2字节 4字节 数的范围 -32768~32767 -215~215-1 0~65535 0~65535 0~(232-1)
长整型
无符号整型
long
unsigned
表示c1和c2为两个字符型变量,各可以存放一个字
符,因此,可以用下列语句对其进行赋值:
c1=„a‟;
c2=„b‟;
(3)字符数据在内存中的表示
所有的系统中都规定以一个字节来存放一个字符,
且将字符常量放到字符变量中时,是把该字符相应的
ASCII码放到变量所代表的内存单元中去。
ASCII码是一种数字编码,即用特定 的数字来表示特定的字符,如标准ASCII 码中规定整数65表示大写字母A,标准 ASCII码的范围是0~127
运行结果:a=-32768,b=32768,c=32768
实型数据
实数有两种表示形式:
1、十进制小数形式:由数字和小数点组成(注意必须有小 数点)。 如:12.0、.123、3.14、30.都表示实数。
2、指数形式:如123e3表示123×103,这里不区分大小写,
但字母e前必须有数字,且e后的指数必须为整数。 如:314.25可以表示为314.25e0、31.425e1、 3.1425e2、.31425e3、0.31425e4… 其中3.1425e2称为规范化的指数形式,即小数点左 边有且只有一位非零数字。
字符串常量
字符串常量使用一对双引号(“”)括起来的字符序列。 如: “How are you!”、”CHINA”、”a”、”$1230.4” 都表示字符串常量。 C规定字符串常量结尾有一个结束标志‘\0‟,因此字 符串”a”实际上包含两个字符:’a‟和’0‟,长度为2,输
出时只显示第一字字符,后面的’\0‟为结束标志,为不可
// 指定a为整型变量,初值为3 // 指定f为浮点型变量,初值为3.56 // 指定c为字符变量,初值为‘a’
(2)可以使被定义的变量的一部分赋初值。
如: int a,b,c=5;
表示指定a、b、c为整型变量,但只对c初始化,c的初值为5
(3)如果对几个变量赋以同一个初值
应写成:int a=3,b=3,c=3; // 表示a、b、c的初值都是3。 不能写成∶ int a=b=c=3;
第二节课:初识C程序(二)
C的数据类型
主讲教师:蒋帅 270682840@qq.com
一个程序应该包含两部分的内容:
(1)对数据的描述。 在程序中指定数据的类型及组织形式 (数据结构)。 (2)对操作的描述。 操作步骤(算法)。
C中的数据类型
整型
实型(浮点型)
基本类型 字符型 枚举类型
数据类型
构造类型
long double 80 (3)实型变量的定义 float x,y; double z;
(4)实型数据的舍入误差
“%f”是输出一个 实数时的格式符
因此要避免一个很大的 数和一个很小的数相加
执行结果: a=123456790528.000000 b=123456790528.000000
一个float型的变量能保证的有效 数字最大为7位,因此a的结果中 前7位是准确的,8位以后是不准 确的,也是无意义的,把20加在 后面,也是无意义的。
注意:初始化不是在编译阶段完成的而是在程序运行时 执行本函数时赋初值的,相当于有一个赋值语句。
作业: 1、进制转换 173 123(10)=________(8) 100101 37(10)=_______(2) 2、已知定义变量int a;在内存中存储为
1111111111111111111111111111111
整型数据
整型常量主要有三种形式,即(十进制、八进制、 ……拓展:不同进制之间的转换 十六进制) 整型变量就是用来存放整数的变量。如: int n; n=123;
【内存存放】对于整型数据,内存中存放的是其补码。 /* 正数的补码是该数字直接转换成二进制(原码) 负数的补码是该数字绝对值的原码取反加一 */
字符型数据
(1)字符常量 C中的字符常量是用单引号(即撇号)括起来的一个
字符。如’a‟、’x‟、’D‟、’?‟、’$‟等都是字符常量,
而‚a”、‘abc‟都不是字符常量。这里要注意的是‘a‟和 ‘A‟是两个不同的字符。 除了上述规定的格式来表示字符常量外,C还允许用 一种特殊形式的字符常量,就是以一个‚\”开头的字符序 列,这种字符在屏幕上不能直接显示,因此在程序中无法 用一个一般形式的字符表示,称为转义字符。
用‛ ;
不能以C的关键字为命名变量;
合法的C变量名:
area, sum, answer, month, name, Name, Step1, step2, number_of_student, average_score, _class1
非法的C变量名: 3rd_entry all$done the end int (数字开头) (包含非法字符$) (包含空格) (系统关键字)
图中横向箭头表示必定的转 换,即字符型必须要先转换 成整型,而float型在运算时 一律要转换成double型。 纵向的箭头表示不同类型数 据间运算的转换方向。
转换过 程由系统 自动完成
变量赋初值
(1)C语言允许在定义变量的同时使变量初始化
如:
int a=3;或 int a; a=3; float f=3.56; char c= ‘a’;
显示的字符。
不同数据类型变量的输入输出: 占位符 整型 %d 实型 %f 字符型 %c 字符串 %s
不同数据类型间数据的混合运算
整型(包括int、short、long)和实型数据(包括 float和double)间可以混合运算,而字符型数据可与整 型通用,因此整型、实型和字符型数据间可以进行混合运 算。如: 10+„a‟+1.5-827.35*‟d‟ 运算时,不同类型的数据先要转换成同一类型,然后 进行运算。
数组类型 结构体类型
共用体类型
指针类型
空类型
问题1:为什么要设置不同的数据类型?
回答:
由于不同数据类型的数据,在内存中所需的存储空间大小、 存储格式均有所不同,能支持的运算以及相应的运算规则也会 有所不同。因此要设置不同的数据类型以便于不同的运算。
无论对于哪种数据类型的数据,C预言都有常量 和变量之分。
变量的命名规定 C语言中,变量(标识符)的命名规定:
只能由大小写字母、下划线和数字组成;
编译系统将大写字母和小写字母认为是两个不同的字符;
建议变量名的长度最好不要超过8个字符;
在选择变量名和其它标识符时,应注意做到‚见名知意‛,
即选有含意的英文单词 (或其缩写)作标识符;
要求对所有用到的变量作强制定义,也就是‚先定义,后使
4字节 -231~231-1
无符号短整型 unsigned short 2字节 无符号长整型 unsigned long
Devc++中实现,与标准c不同,长整型与基本型的字节数为4字节,短整型2字节,
#include<stdio.h> #include<stdlib.h> int main() { short a; int b; unsigned short c; a=32768; b=32768; c=32768; printf(“a=%d, b=%d,c=%d”,a,b,c); system(“pause”); return 0; }
转义的意思即将(\)后的字符转换成另外的 意义,如我们之前接触过的“\n”表示换行。
转义字符 \n
含义 回车换行(光标移到下一行第一列) 水平制表 (光标移到下一个Tab位置) 退格(光标移回到同一行前一列) 回车(光标移到同一行第一列) 换页(光标移到下一页开头) 反斜杠字符 “\” 单引号(撇号)字符 ‘ 双引号字符 “ 1到3位8进制数所代表的字符
使用符号常量的好处是:
从标识符名可以清楚地看出该常量的含义,做到“见名知意” 在需要修改常量的值时可以做到“一改全改”,容易调整
变量 程序运行期间,值可以被改变的量称为变量
C允许把值存放在变量中,每个变量都由一个变量名来标识。 每个变量都必须有一个变量类型。 每个变量根据它的类型不同,在内存中占据一定数目的字节
8
2 19 16 3
8
0 2 0 2
整型变量的分类
共六种
有符号基本整型 有符号短整型 有符号长整型 无符号基本整型 无符号短整型 无符号长整型
(signed)int (signed)short (int ) (signed) long (int) unsigned int unsigned short (int) unsigned long (int)
单元,该变量的值就存放在这些内存单元中。
变量名 prod 实际 上是一个符号地址 内存单元 的地址
prod
123是变量值 变量prod 所占 据的内存单元 123 内存单元 的内容
在对程序编译时由系统给 每一个变量按其类型分配 内存单元,同时,系统内 部维护着变量名和它的内 存单元地址的对应信息。
变量就是命名的内存单元
关键字 预先定义的具有特定含义的 标识符 。也称为保留字,不 能另作他用。如: Int、 char 、float 、 double、 unsigned 、 struct、 if 、do 、 while、 switch 、 return、 goto、 define 、 include、 undef、sizeof等..
char c1; c1=„A‟;
定义变量c1为字符型变量,给c1分配一个字节 的内存单元,第二个语句是将字母‘A‟赋给c1,即 将‘A‟的ASCII码65存储到c1所代表的内存单元中 去。
以字符形式输出一个字符。
可以看到,字符型数据和整型数据是通用的,它们既可以以字符型形式 输出(%c),又可以以整型形式输出(%d),当以整型形式输出时,输 出的是它们所表示的ASCII码。
ASCII 代码 10 9 8 13 12 92 39 34
控 制 字 符
\t \b \r \f
特殊 标点 符号 所有 字符
\\ \„ \“ \ddd
\xhh
1到2位16进制数所代表的字符
比如 \012 表示ASCII码为 10的字符,\x12 表示 ASCII码为18的字符
(2)字符变量
字符型变量用来临时存放字符常量,注意:一个字符 变量只能存放一个字符。 字符变量定义形式如: char c1,c2;
+ .31459288787 (1)在内存中的存放形式 在内存中占四个字节,以指数形式存储。 (2)实型变量的分类
1
类型 float doubleBaidu Nhomakorabea
比特数 32 64
有效数字 6~7 15~16 18~19
数值范围
1037 ~ 1038
10307 ~ 10308 104931 ~ 104932
不同进制之间的转换
• X进制转换成10进制
(an an1...a2a1 ) x (a xn1 an1 xn ... a2 x1 a1 x0 )10
• 10进制转换成X进制
– 辗转相除,倒着取余 – 比如 十进制的156转换成8进制,则为 234 8
19 156 8 76 72 4
常量和变量
常量 程序运行期间,值不能被改变的量称为常量
直接常量:1, 2, 3; 0.1, 10.0; „a‟, „1‟; “hello”
整型常量 浮点型常量 字符型常量
字符串常量
符号常量:用一个标识符代表一个常量 实现方式:使用 #define 预处理命令
定义符号常量,此后本文件 中凡出现PRICE都为30.
注意:括号表示其中的内容是可选的.
• 整数类型的有关数据(标准C):
类型 基本型 短整型 类型说明符 int short 长度 2字节 2字节 2字节 4字节 数的范围 -32768~32767 -215~215-1 0~65535 0~65535 0~(232-1)
长整型
无符号整型
long
unsigned
表示c1和c2为两个字符型变量,各可以存放一个字
符,因此,可以用下列语句对其进行赋值:
c1=„a‟;
c2=„b‟;
(3)字符数据在内存中的表示
所有的系统中都规定以一个字节来存放一个字符,
且将字符常量放到字符变量中时,是把该字符相应的
ASCII码放到变量所代表的内存单元中去。
ASCII码是一种数字编码,即用特定 的数字来表示特定的字符,如标准ASCII 码中规定整数65表示大写字母A,标准 ASCII码的范围是0~127
运行结果:a=-32768,b=32768,c=32768
实型数据
实数有两种表示形式:
1、十进制小数形式:由数字和小数点组成(注意必须有小 数点)。 如:12.0、.123、3.14、30.都表示实数。
2、指数形式:如123e3表示123×103,这里不区分大小写,
但字母e前必须有数字,且e后的指数必须为整数。 如:314.25可以表示为314.25e0、31.425e1、 3.1425e2、.31425e3、0.31425e4… 其中3.1425e2称为规范化的指数形式,即小数点左 边有且只有一位非零数字。
字符串常量
字符串常量使用一对双引号(“”)括起来的字符序列。 如: “How are you!”、”CHINA”、”a”、”$1230.4” 都表示字符串常量。 C规定字符串常量结尾有一个结束标志‘\0‟,因此字 符串”a”实际上包含两个字符:’a‟和’0‟,长度为2,输
出时只显示第一字字符,后面的’\0‟为结束标志,为不可
// 指定a为整型变量,初值为3 // 指定f为浮点型变量,初值为3.56 // 指定c为字符变量,初值为‘a’
(2)可以使被定义的变量的一部分赋初值。
如: int a,b,c=5;
表示指定a、b、c为整型变量,但只对c初始化,c的初值为5
(3)如果对几个变量赋以同一个初值
应写成:int a=3,b=3,c=3; // 表示a、b、c的初值都是3。 不能写成∶ int a=b=c=3;
第二节课:初识C程序(二)
C的数据类型
主讲教师:蒋帅 270682840@qq.com
一个程序应该包含两部分的内容:
(1)对数据的描述。 在程序中指定数据的类型及组织形式 (数据结构)。 (2)对操作的描述。 操作步骤(算法)。
C中的数据类型
整型
实型(浮点型)
基本类型 字符型 枚举类型
数据类型
构造类型
long double 80 (3)实型变量的定义 float x,y; double z;
(4)实型数据的舍入误差
“%f”是输出一个 实数时的格式符
因此要避免一个很大的 数和一个很小的数相加
执行结果: a=123456790528.000000 b=123456790528.000000
一个float型的变量能保证的有效 数字最大为7位,因此a的结果中 前7位是准确的,8位以后是不准 确的,也是无意义的,把20加在 后面,也是无意义的。
注意:初始化不是在编译阶段完成的而是在程序运行时 执行本函数时赋初值的,相当于有一个赋值语句。
作业: 1、进制转换 173 123(10)=________(8) 100101 37(10)=_______(2) 2、已知定义变量int a;在内存中存储为
1111111111111111111111111111111
整型数据
整型常量主要有三种形式,即(十进制、八进制、 ……拓展:不同进制之间的转换 十六进制) 整型变量就是用来存放整数的变量。如: int n; n=123;
【内存存放】对于整型数据,内存中存放的是其补码。 /* 正数的补码是该数字直接转换成二进制(原码) 负数的补码是该数字绝对值的原码取反加一 */
字符型数据
(1)字符常量 C中的字符常量是用单引号(即撇号)括起来的一个
字符。如’a‟、’x‟、’D‟、’?‟、’$‟等都是字符常量,
而‚a”、‘abc‟都不是字符常量。这里要注意的是‘a‟和 ‘A‟是两个不同的字符。 除了上述规定的格式来表示字符常量外,C还允许用 一种特殊形式的字符常量,就是以一个‚\”开头的字符序 列,这种字符在屏幕上不能直接显示,因此在程序中无法 用一个一般形式的字符表示,称为转义字符。
用‛ ;
不能以C的关键字为命名变量;
合法的C变量名:
area, sum, answer, month, name, Name, Step1, step2, number_of_student, average_score, _class1
非法的C变量名: 3rd_entry all$done the end int (数字开头) (包含非法字符$) (包含空格) (系统关键字)
图中横向箭头表示必定的转 换,即字符型必须要先转换 成整型,而float型在运算时 一律要转换成double型。 纵向的箭头表示不同类型数 据间运算的转换方向。
转换过 程由系统 自动完成
变量赋初值
(1)C语言允许在定义变量的同时使变量初始化
如:
int a=3;或 int a; a=3; float f=3.56; char c= ‘a’;
显示的字符。
不同数据类型变量的输入输出: 占位符 整型 %d 实型 %f 字符型 %c 字符串 %s
不同数据类型间数据的混合运算
整型(包括int、short、long)和实型数据(包括 float和double)间可以混合运算,而字符型数据可与整 型通用,因此整型、实型和字符型数据间可以进行混合运 算。如: 10+„a‟+1.5-827.35*‟d‟ 运算时,不同类型的数据先要转换成同一类型,然后 进行运算。
数组类型 结构体类型
共用体类型
指针类型
空类型
问题1:为什么要设置不同的数据类型?
回答:
由于不同数据类型的数据,在内存中所需的存储空间大小、 存储格式均有所不同,能支持的运算以及相应的运算规则也会 有所不同。因此要设置不同的数据类型以便于不同的运算。
无论对于哪种数据类型的数据,C预言都有常量 和变量之分。
变量的命名规定 C语言中,变量(标识符)的命名规定:
只能由大小写字母、下划线和数字组成;
编译系统将大写字母和小写字母认为是两个不同的字符;
建议变量名的长度最好不要超过8个字符;
在选择变量名和其它标识符时,应注意做到‚见名知意‛,
即选有含意的英文单词 (或其缩写)作标识符;
要求对所有用到的变量作强制定义,也就是‚先定义,后使
4字节 -231~231-1
无符号短整型 unsigned short 2字节 无符号长整型 unsigned long
Devc++中实现,与标准c不同,长整型与基本型的字节数为4字节,短整型2字节,
#include<stdio.h> #include<stdlib.h> int main() { short a; int b; unsigned short c; a=32768; b=32768; c=32768; printf(“a=%d, b=%d,c=%d”,a,b,c); system(“pause”); return 0; }
转义的意思即将(\)后的字符转换成另外的 意义,如我们之前接触过的“\n”表示换行。
转义字符 \n
含义 回车换行(光标移到下一行第一列) 水平制表 (光标移到下一个Tab位置) 退格(光标移回到同一行前一列) 回车(光标移到同一行第一列) 换页(光标移到下一页开头) 反斜杠字符 “\” 单引号(撇号)字符 ‘ 双引号字符 “ 1到3位8进制数所代表的字符
使用符号常量的好处是:
从标识符名可以清楚地看出该常量的含义,做到“见名知意” 在需要修改常量的值时可以做到“一改全改”,容易调整
变量 程序运行期间,值可以被改变的量称为变量
C允许把值存放在变量中,每个变量都由一个变量名来标识。 每个变量都必须有一个变量类型。 每个变量根据它的类型不同,在内存中占据一定数目的字节
8
2 19 16 3
8
0 2 0 2
整型变量的分类
共六种
有符号基本整型 有符号短整型 有符号长整型 无符号基本整型 无符号短整型 无符号长整型
(signed)int (signed)short (int ) (signed) long (int) unsigned int unsigned short (int) unsigned long (int)