C语言学习资料3
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
每个字符:惟一的次序值( ASCII 码) '0'-'9' 'A'-'Z' 'a'-'z'
2.4.1 字符常量
– 字符的存储
在内存中,每个字符占用一个字节,存储该字符的 ASCII码 字符 'A' 'B' ASCII码 65 66 内存 0100 0001 0100 0010
– 字符的数值特征
字符可以当整数用,ASCII码 'A'+1 =?
并不是所有的实数都能在计算机中精确表示。
实型常量的类型都是double
2.3.3 实型数据的输入和输出
输出 printf( ) float 和double使用相同的格式控制说明
– %f:以小数形式输出浮点数,保留6位小数。 – %e:以指数形式输出
1位整数.5 位小数e3位指数
运行结果为: 例2-5 实型数据的输出 123.450000, 1.23450e+02 3.141593, 3.14159e+00 # include <stdio.h> void main( ) 3.142, 3.14, 3.14 { float f = 123.45; double d = 3.1415926; printf("%f, %e\n", f, f); printf("%f, %e\n", d, d); printf("%5.3f, %5.2f, %.2f\n", d, d, d); }
'm' 'M'
'a'-'A' 'A'-'a'
# include <stdio.h> void main( ) { int x, y; 一个变量名只能定义一次。
x = 3; y = x*x ; printf(“%d”, y ) ; }
变量一般都定义在程序的头上, 不能定义在程序的中间或后面。
变量的使用
变量: 先定义,后使用 先赋值,后引用
# include <stdio.h> void main( ) { int x, y;
输入:3a1.2
输出:3 a 1.200000
例2-11
已知:'b'的ASCII码98 # include <stdio.h> void main( ) { printf("%c,%d\n", 'b', 'b'); printf("%c,%d\n", 98, 98); printf("%c,%d\n", 97, 'b'-1); }
例2-9
# include <stdio.h> void main( ) { char ch1, ch2; 输入: Ab
ch1=getchar(); ch2=getchar(); putchar(ch1); putchar('#'); putchar(ch2);
}
运行结果为: A#b
例2-10
一共5位,小数3位,小数点一位
例2-6
假定float的精度为7位,double的精度为16位 # include <stdio.h> 运行结果为: void main( ) f = 1234567954432.000000 { d1 = 1234567890123.123540 float f; d2 = 1234567890123.120120 double d1, d2; f = 1234567890123.123456; d1 = 1234567890123.123456; d2 = 1234567890123.12; printf("f = %f \n d1 = %f \n d2 = %f \n", f, d1, d2);
输入数据包括字符和数值的混合 # include <stdio.h> void main( ) { int i; char c; float x ; scanf("%d%c%f", &i, &c, &x ); printf( "%d %c %f", i, c, x ); }
数据之间不能用空格等间隔, 也不需要单引号
2.4.2 字符变量
char c1, c2, c3; c1='2'; c2='#'; c3='A'; 或 c3=65; int i; i=65; 或 i='A'; 整型变量和字符变量的 定义和赋值可以互换 【 ASCII码范围】
2.4.3 字符型数据输入输出
scanf( )和printf( ) %c char ch; scanf("%c", &ch); printf("%c", ch); getchar( )和putchar( ) char ch; ch=getchar( ); putchar(ch); 输入输出一个字符
x = 3; y = x*x ; printf(“%d”, y ) ; }
变量的赋值
赋初值:在定义变量时对它赋值 int a = 5, b = 3; 赋值表达式: int a, b; a = 5; b=3; 输入函数: scanf(“%d%d”, &a, &b);
2.2 整数类型
2.2.1 整型常量(整数) 三种表现形式Fra bibliotek2.1.2
C语言中的量
变量
常量(常数):数据 符号常量:用标识符表示的常量数据
在程序的运行过程中,其值不能被改变
变量:存放数据的工作单元
在程序的运行过程中,其值可以改变
变量的定义
变量定义的一般形式 类型名 变量表; 变量名:小写字母,见名知义 类型名:
整型int 实型(浮点型)float 字符型char
输入:
12 1234567.12345
运行结果为: f1=12.000000 d1=1234567.123450
scanf("%f%lf", &f1, &d1); printf("f1 = %f \n d1 = %f \n", f1, d1); }
2.4 字符类型
2.4.1 字符常量 ’a’ ’A’ ’9’ ’+’ ’$' ASCII字符集:列出所有可用的字符
单精度 七位有效数字
±(10-38 - 1038)
双精度 十六位有效数字
±(10308 - 10308 )
数据精度 与 取值范围是两个不同的概念: x=1.234568 float x = 1.23456789; float y = 123456789; y=1.234567e8 虽在数据表示范围内,但无法精确表达。 float z = 1.2e55 z的精度要求不高,但数据表示范围超出。
}
实型数据的输入
scanf( )
– float 和double使用不同的格式控制说明 – %f和%e相同 – %f : 以小数或指数形式输入一个单精度浮点数 – %e – %lf: 以小数或指数形式输入一个双精度浮点数 – %le
例2-7
# include <stdio.h> void main( ) { float f1; double d1;
例2-2 符号常量
# define PI 3.14 # define PI 3.14159 # include <stdio.h> void main( ) { float r, s, v; scanf("%f", &r); s=4.0*PI*r*r ; v=4.0/3.0*PI*r*r*r ; printf("s=%f, v=%f\n", s, v); }
}
2.3 实型数据
2.3.1 实型常量(实数) – 浮点表示:0.123 123.4 1. – 科学计数法:123e4 0.2e-1
2.3.2 实型变量 – 单精度浮点型 float x, y, z; – 双精度浮点型 double u, v, w;
4字节存储
8字节存储
数据精度和取值范围
数据精度 取值范围
0……01010
例2-4
# include <stdio.h> void main( ) { int a, b; scanf("%o%d", &a, &b); printf("%d%5d\n", a, b); printf("%x, %d\n", a, b);
输入: 17 17 运行结果为:
15 17 f, 17
2.2.2 整型变量
int ai, bi, ci, di = 0; ai = 1; bi = -27; ci = 012;
整型变量的值是整数,它的取值范围有限
最小取值范围 [-32768,32767]
2.2.3 整型数据的输入输出
printf(格式控制, 输出参数1, ... , 输出参数n); scanf(格式控制, 输入参数1, ... , 输入参数n); 格式控制说明 %… %d:以十进制形式输入、输出整数 %o:以八进制形式输入、输出整数
double
变量的定义
int i, j, k; (定义i, j, k为整型变量) char c; (定义c为字符型变量) float x, y; double area, length;
变量名代表内存中的一个存储单元 用于存放该变量的值 该存储单元的大小由变量的数据类型决定
变量的定义与使用
变量必须 先定义,后使用。
2.1 常量和变量
2.1.1 常量 常量(常数):数据 123 (整型) 4.56 (实型)
’A’ (字符型)
符号常量:用标识符表示的常量数据
:PI :EPS 通常用大写字母
例2-1 求球的表面积和体积
# include <stdio.h> void main( ) { float r, s, v; scanf("%f", &r); s=4.0*3.14159*r*r ; s=4.0*3.14*r*r ; v=4.0/3.0*3.14*r*r*r ; v=4.0/3.0*3.14159*r*r*r ; printf("s=%f, v=%f\n", s, v); }
Chap 2 基本数据类型和表达式
数据类型 – 基本数据类型
整型int 实型(浮点型)float double 字符型char
– 构造数据类型
数组、结构、联合、枚举
– 指针类型 – 空类型
对数据的操作-运算 运算符和表达式
Chap 2 基本数据类型和表达式
常量和变量 整数类型 实数类型 字符类型 表达式 数据的存储和类型转换
%x:以十六进制形式输入、输出整数
例2-3
# include <stdio.h>
void main( )
{
运行结果为: 10, 12, a 10, 8, 16 10, a
printf("%d, %o, %x\n", 10, 10, 10); printf("%d, %d, %d\n", 10, 010, 0x10); printf("%d, %x\n", 012, 012); }
printf("%c,%d\n", ch, ch);
'b' 98 0142 0x62
0110 0010
scanf 'b' %c getchar 98 %d 142 %o 62 %x
字符运算
大小写英文字母转换 'b' - 'a' = 'B' - 'A' …… 'z' - 'a' = 'Z' - 'A'
十进制整数:正、负号,0-9,首位不是0 例:10,123 八进制整数:正、负号,0-7,首位是0 例:010,0123 16进制整数:正、负号,0-9,a-f,A-F,前缀 是0x,0X 例:0x10,0x123
123 = 1111011 (B) 二进制 =173 (O) 八进制 =7B (X) 十六进制 int i=0173; int j=0x7b; int k=123; 例:16 10 020 012 0x10 0XA
# include <stdio.h> void main( ) { char ch1, ch2, ch3;
输入1:
AbC 运行结果1为: A#b#C
scanf("%c%c%c", &ch1, &ch2, &ch3); printf("%c%c%c%c%c", ch1, '#', ch2, '#', ch3); } 输入2: A bC 运行结果2为: A# #b
'b' 98 0110 0010
运行结果为: b,98 b,98 a,97
'b' 98
# include <stdio.h> void main( ) { char ch='b'; }
scanf("%c", &ch); 'b' 98 142 62 printf 'b' %c putchar 98 %d 142 %o 62 %x
2.4.1 字符常量
– 字符的存储
在内存中,每个字符占用一个字节,存储该字符的 ASCII码 字符 'A' 'B' ASCII码 65 66 内存 0100 0001 0100 0010
– 字符的数值特征
字符可以当整数用,ASCII码 'A'+1 =?
并不是所有的实数都能在计算机中精确表示。
实型常量的类型都是double
2.3.3 实型数据的输入和输出
输出 printf( ) float 和double使用相同的格式控制说明
– %f:以小数形式输出浮点数,保留6位小数。 – %e:以指数形式输出
1位整数.5 位小数e3位指数
运行结果为: 例2-5 实型数据的输出 123.450000, 1.23450e+02 3.141593, 3.14159e+00 # include <stdio.h> void main( ) 3.142, 3.14, 3.14 { float f = 123.45; double d = 3.1415926; printf("%f, %e\n", f, f); printf("%f, %e\n", d, d); printf("%5.3f, %5.2f, %.2f\n", d, d, d); }
'm' 'M'
'a'-'A' 'A'-'a'
# include <stdio.h> void main( ) { int x, y; 一个变量名只能定义一次。
x = 3; y = x*x ; printf(“%d”, y ) ; }
变量一般都定义在程序的头上, 不能定义在程序的中间或后面。
变量的使用
变量: 先定义,后使用 先赋值,后引用
# include <stdio.h> void main( ) { int x, y;
输入:3a1.2
输出:3 a 1.200000
例2-11
已知:'b'的ASCII码98 # include <stdio.h> void main( ) { printf("%c,%d\n", 'b', 'b'); printf("%c,%d\n", 98, 98); printf("%c,%d\n", 97, 'b'-1); }
例2-9
# include <stdio.h> void main( ) { char ch1, ch2; 输入: Ab
ch1=getchar(); ch2=getchar(); putchar(ch1); putchar('#'); putchar(ch2);
}
运行结果为: A#b
例2-10
一共5位,小数3位,小数点一位
例2-6
假定float的精度为7位,double的精度为16位 # include <stdio.h> 运行结果为: void main( ) f = 1234567954432.000000 { d1 = 1234567890123.123540 float f; d2 = 1234567890123.120120 double d1, d2; f = 1234567890123.123456; d1 = 1234567890123.123456; d2 = 1234567890123.12; printf("f = %f \n d1 = %f \n d2 = %f \n", f, d1, d2);
输入数据包括字符和数值的混合 # include <stdio.h> void main( ) { int i; char c; float x ; scanf("%d%c%f", &i, &c, &x ); printf( "%d %c %f", i, c, x ); }
数据之间不能用空格等间隔, 也不需要单引号
2.4.2 字符变量
char c1, c2, c3; c1='2'; c2='#'; c3='A'; 或 c3=65; int i; i=65; 或 i='A'; 整型变量和字符变量的 定义和赋值可以互换 【 ASCII码范围】
2.4.3 字符型数据输入输出
scanf( )和printf( ) %c char ch; scanf("%c", &ch); printf("%c", ch); getchar( )和putchar( ) char ch; ch=getchar( ); putchar(ch); 输入输出一个字符
x = 3; y = x*x ; printf(“%d”, y ) ; }
变量的赋值
赋初值:在定义变量时对它赋值 int a = 5, b = 3; 赋值表达式: int a, b; a = 5; b=3; 输入函数: scanf(“%d%d”, &a, &b);
2.2 整数类型
2.2.1 整型常量(整数) 三种表现形式Fra bibliotek2.1.2
C语言中的量
变量
常量(常数):数据 符号常量:用标识符表示的常量数据
在程序的运行过程中,其值不能被改变
变量:存放数据的工作单元
在程序的运行过程中,其值可以改变
变量的定义
变量定义的一般形式 类型名 变量表; 变量名:小写字母,见名知义 类型名:
整型int 实型(浮点型)float 字符型char
输入:
12 1234567.12345
运行结果为: f1=12.000000 d1=1234567.123450
scanf("%f%lf", &f1, &d1); printf("f1 = %f \n d1 = %f \n", f1, d1); }
2.4 字符类型
2.4.1 字符常量 ’a’ ’A’ ’9’ ’+’ ’$' ASCII字符集:列出所有可用的字符
单精度 七位有效数字
±(10-38 - 1038)
双精度 十六位有效数字
±(10308 - 10308 )
数据精度 与 取值范围是两个不同的概念: x=1.234568 float x = 1.23456789; float y = 123456789; y=1.234567e8 虽在数据表示范围内,但无法精确表达。 float z = 1.2e55 z的精度要求不高,但数据表示范围超出。
}
实型数据的输入
scanf( )
– float 和double使用不同的格式控制说明 – %f和%e相同 – %f : 以小数或指数形式输入一个单精度浮点数 – %e – %lf: 以小数或指数形式输入一个双精度浮点数 – %le
例2-7
# include <stdio.h> void main( ) { float f1; double d1;
例2-2 符号常量
# define PI 3.14 # define PI 3.14159 # include <stdio.h> void main( ) { float r, s, v; scanf("%f", &r); s=4.0*PI*r*r ; v=4.0/3.0*PI*r*r*r ; printf("s=%f, v=%f\n", s, v); }
}
2.3 实型数据
2.3.1 实型常量(实数) – 浮点表示:0.123 123.4 1. – 科学计数法:123e4 0.2e-1
2.3.2 实型变量 – 单精度浮点型 float x, y, z; – 双精度浮点型 double u, v, w;
4字节存储
8字节存储
数据精度和取值范围
数据精度 取值范围
0……01010
例2-4
# include <stdio.h> void main( ) { int a, b; scanf("%o%d", &a, &b); printf("%d%5d\n", a, b); printf("%x, %d\n", a, b);
输入: 17 17 运行结果为:
15 17 f, 17
2.2.2 整型变量
int ai, bi, ci, di = 0; ai = 1; bi = -27; ci = 012;
整型变量的值是整数,它的取值范围有限
最小取值范围 [-32768,32767]
2.2.3 整型数据的输入输出
printf(格式控制, 输出参数1, ... , 输出参数n); scanf(格式控制, 输入参数1, ... , 输入参数n); 格式控制说明 %… %d:以十进制形式输入、输出整数 %o:以八进制形式输入、输出整数
double
变量的定义
int i, j, k; (定义i, j, k为整型变量) char c; (定义c为字符型变量) float x, y; double area, length;
变量名代表内存中的一个存储单元 用于存放该变量的值 该存储单元的大小由变量的数据类型决定
变量的定义与使用
变量必须 先定义,后使用。
2.1 常量和变量
2.1.1 常量 常量(常数):数据 123 (整型) 4.56 (实型)
’A’ (字符型)
符号常量:用标识符表示的常量数据
:PI :EPS 通常用大写字母
例2-1 求球的表面积和体积
# include <stdio.h> void main( ) { float r, s, v; scanf("%f", &r); s=4.0*3.14159*r*r ; s=4.0*3.14*r*r ; v=4.0/3.0*3.14*r*r*r ; v=4.0/3.0*3.14159*r*r*r ; printf("s=%f, v=%f\n", s, v); }
Chap 2 基本数据类型和表达式
数据类型 – 基本数据类型
整型int 实型(浮点型)float double 字符型char
– 构造数据类型
数组、结构、联合、枚举
– 指针类型 – 空类型
对数据的操作-运算 运算符和表达式
Chap 2 基本数据类型和表达式
常量和变量 整数类型 实数类型 字符类型 表达式 数据的存储和类型转换
%x:以十六进制形式输入、输出整数
例2-3
# include <stdio.h>
void main( )
{
运行结果为: 10, 12, a 10, 8, 16 10, a
printf("%d, %o, %x\n", 10, 10, 10); printf("%d, %d, %d\n", 10, 010, 0x10); printf("%d, %x\n", 012, 012); }
printf("%c,%d\n", ch, ch);
'b' 98 0142 0x62
0110 0010
scanf 'b' %c getchar 98 %d 142 %o 62 %x
字符运算
大小写英文字母转换 'b' - 'a' = 'B' - 'A' …… 'z' - 'a' = 'Z' - 'A'
十进制整数:正、负号,0-9,首位不是0 例:10,123 八进制整数:正、负号,0-7,首位是0 例:010,0123 16进制整数:正、负号,0-9,a-f,A-F,前缀 是0x,0X 例:0x10,0x123
123 = 1111011 (B) 二进制 =173 (O) 八进制 =7B (X) 十六进制 int i=0173; int j=0x7b; int k=123; 例:16 10 020 012 0x10 0XA
# include <stdio.h> void main( ) { char ch1, ch2, ch3;
输入1:
AbC 运行结果1为: A#b#C
scanf("%c%c%c", &ch1, &ch2, &ch3); printf("%c%c%c%c%c", ch1, '#', ch2, '#', ch3); } 输入2: A bC 运行结果2为: A# #b
'b' 98 0110 0010
运行结果为: b,98 b,98 a,97
'b' 98
# include <stdio.h> void main( ) { char ch='b'; }
scanf("%c", &ch); 'b' 98 142 62 printf 'b' %c putchar 98 %d 142 %o 62 %x