内容正文:
C 语言程序设计
版权所有:KOPPT WWW.KOPPT.CN
第 章
基本数据类型与常用库函数
3
……
版权所有:KOPPT WWW.KOPPT.CN
2
第三章 基本数据类型与常用库函数
版权所有:KOPPT WWW.KOPPT.CN
3.1 字符集与标识符
3.2 数据类型与基本数据类型
3.3 常量与变量
3.4 数据的输入/输出函数
3.5 常用库函数
3.3 常量与变量
常量
变量
值不变的量
值可变的量
int a,b;
a=2;
b=3;
b=a;
print(“a=%d,b=%d”,a,b);
版权所有:KOPPT WWW.KOPPT.CN
3.3.1 常 量
常
量
1
2
3
4
版权所有:KOPPT WWW.KOPPT.CN
整型常量
实型常量
字符型常量
字符串常量
整型常量
版权所有:KOPPT WWW.KOPPT.CN
c语言中默认的“整数类型常量”是int类型,加上尾缀L(或l)表示long类型常数!
6
十进制整数
123
-456
八进制整数
010
-0123
十六进制整数
0x1f3
-0X1F3
以下所列的C语言常量中,错误的是( )
0xFF
023
0128
56
A
B
C
D
提交
单选题
1分
版权所有:KOPPT WWW.KOPPT.CN
实型常量
3.2
5.
.5
-3.2e5
6.4E-6
版权所有:KOPPT WWW.KOPPT.CN
A
8
十进制小数形式
(必须有小数点)
指数形式
(e或E前后必须有数字,且e后必须是整数)
以下所列的C语言常量中,正确的是( )
5.6
1.2e2.5
028
E5
A
B
C
D
提交
单选题
1分
版权所有:KOPPT WWW.KOPPT.CN
字符常量
版权所有:KOPPT WWW.KOPPT.CN
用单引号括起来的一个字符
如 'a' 'A' '?'
字符常量的值为该字符的ASCII码值
如 'A'—65, 'a'—97
字符数据可以参加运算
例如‘A’+2 的值为67,即 'C ' 的ASCII码
转义字符
转义字符
含义
\r
\’
\ddd
\t
\b
\\
\"
\xhh
转义字符
含义
换行
回车
单引号
3位8进制数代表的字符
水平制表
退格
反斜线
双引号
2位16进制数代表的字符
例如:
'\142'、 '\x62' 为 'b'
'\40'、 '\x20' 为 空格
版权所有:KOPPT WWW.KOPPT.CN
若有说明语句:char c='\101';则变量c().
包含1个字符
包含2个字符
包含3个字符
包含4个字符
A
B
C
D
提交
单选题
1分
版权所有:KOPPT WWW.KOPPT.CN
例:转义字符举例
main()
{ printf("\101 \x42 C
");
printf("I say:\"How are you?\"
");
printf("\\C Program\\
");
printf("Turbo \'C\'");
}
A B C
A B C
I say:"How are you? "
A B C
I say:"How are you? "
\C Program\
A B C
I say:"How are you? "
\C Program\
Turbo 'C'
版权所有:KOPPT WWW.KOPPT.CN
字符串常量
C H I N A \0
例 字符串”CHINA”在内存中
空串 ””
\0
版权所有:KOPPT WWW.KOPPT.CN
14
用双引号(” ”)括起来的字符序列
如”How do you do”, ”CHINA”,”你好” 等。
每个字符串尾自动加一个 '\0' 作为字符串结束标志
字符串长度:一个字符串中字符的个数(不包括字符串结束标志)。
注意: 'a'是字符常量, ”a”是字符串常量。
下列数据中,为字符串常量的是().
A
“house”
How do you do.
$abc
A
B
C
D
提交
单选题
1分
版权所有:KOPPT WWW.KOPPT.CN
给常量起一个名字。
例如:
#define PI 3.14159
好处:
1.含义清楚
2. 一改全改
3.3.2 符号常量(symbolic constant)
版权所有:KOPPT WWW.KOPPT.CN
例3.1 输入一个半径值,求圆周长和圆面积。
#include<stdio.h>
#define PI 3.14159
int main()
{ float r,c,area;
scanf("%f",&r);
c=2*PI*r;
area=PI*r*r;
printf("c=%f, area=%f
",c,area);
return 0;
}
运行情况如下:
1↙
c=6.283180,area=3.141590
版权所有:KOPPT WWW.KOPPT.CN
17
3.3.3 变量
版权所有:KOPPT WWW.KOPPT.CN
18
1.变量的定义:
类型标识符 变量名列表;
int a,b,c;
float x,y,z;
2.变量赋初值:
int x, sum=0;
int a=1, b=1, c=1;
int a=b=c=1; ×
3.变量应该先定义后使用。
对变量的定义放在函数的开头部分。
3.4 数据的输入/输出函数
stdio.h
版权所有:KOPPT WWW.KOPPT.CN
19
Administrator (A) -
字符输入输出函数
getchar
putchar
格式输入输出函数
scanf
printf
【例3.2】getchar函数和putchar函数应用举例。
#include<stdio.h>
int main()
{char c1,c2,c3;
c1=getchar();
c2=getchar();
c3=getchar();
putchar(c3);
putchar(c2);
putchar(c1);
return 0;
}
运行情况如下:
abc↙
cba
3.4.1 字符输入输出函数
版权所有:KOPPT WWW.KOPPT.CN
20
3.4.2 格式输出函数printf
使用方式:printf(格式控制字符串,输出项)
例如 int a=2; float x=3.5;
printf("a=%d ,x=%f
",a,x);
输出: a=2 ,x=3.500000
版权所有:KOPPT WWW.KOPPT.CN
21
int a=12;
printf("%d,%u,%o,%x
", a, a, a, a );
输出: 12, 12, 14, c
分析:a=12, b=-1;
b: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
a: 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0
1. 整数的输出
short b=-1;
printf("%hd,%hu,%ho,%hx
", b, b, b, b );
输出:-1, 65535,177777, ffff
版权所有:KOPPT WWW.KOPPT.CN
2. 字符、字符串的输出
printf("%c, %s
",'$', "Windows");
输出:
$, Windows
char ch='A'; int x=66;
printf("%c,%d,%c,%d
",ch,ch,x,x);
输出:
A,65,B,66
版权所有:KOPPT WWW.KOPPT.CN
3、实数的输出
float x=123.456;
double y=1234.567898765;
printf("x=%f y=%f
",x,y);
输出:x=123.456001 y=1234.567899
版权所有:KOPPT WWW.KOPPT.CN
4. 附加说明符
int a=12;
long b=345;
float c=3.14159;
char d='!';
printf("a=%5d
b=%5ld
c=%5.2f
d=%5c
",a,b,c,d);
输出结果为:
a= 12
b= 345
c= 3.14
d= !
版权所有:KOPPT WWW.KOPPT.CN
3.4.3 格式输入函数scanf
scanf(格式控制字符串,地址列表)
例3.3 用scanf函数输入数据。
#include<stdio.h>
int main()
{ int a,b;
scanf( "%d%d", &a, &b, );
printf( "%d,%d
", a, b );
return 0;
}
1 2↙
1,2
2000
2004
版权所有:KOPPT WWW.KOPPT.CN
1.普通字符原样输入
int n; float x;
scanf("n=%d,x=%f
",&n,&x);
输入:
n=12,x=3.14
↙
版权所有:KOPPT WWW.KOPPT.CN
2.格式说明符的使用
格式字符 输入说明
d 十进制整数。
o 八进制整数。
x 十六进制整数。
c 单个字符。
s 字符串。
f,e 实数。
附加格式说明符:
l 输入长整型数据(%ld, %lo, %lx)
和double型数据(%lf, %le)。
版权所有:KOPPT WWW.KOPPT.CN
3.指定输入数据的宽度
int n;
float x;
scanf("%3d%f",&n,&x);
输入
-123 456.789↙
则n=-12, x=3.0
int n;
float x;
scanf("%d%5f",&n,&x);
输入
-123 456.789↙
则n=-123, x=456.7
版权所有:KOPPT WWW.KOPPT.CN
注意:遇到以下几种情况都认为数据结束:
(1)遇到空格,或按回车键,或跳格键(Tab)。
(2)按指定的宽度结束,如“%3d”,只取3列。
(3)遇到非法输入。
例如:int a; char ch; float x;
scanf("%d%c%f",&a,&ch,&x);
输入:1234a123o.78↙
这时:a=1234, ch=‘a’, x=123
版权所有:KOPPT WWW.KOPPT.CN
3.5 常用库函数
调用库函数时,注意:
(1)将对应的头文件包含到程序中(用#include命令);
(2)确定函数参数的类型、返回值的类型。
例如函数sqrt的原型如下:
double sqrt(double x)
版权所有:KOPPT WWW.KOPPT.CN
【例3.4】 输入一个正数,求它的平方根值。
#include<stdio.h>
#include<math.h>
int main()
{float x,y;
scanf("%f",&x);
if(x<0) x=-x;
y=sqrt(x);
printf("%.4f
",y);
return 0;
}
2↙
2↙
1.4142
版权所有:KOPPT WWW.KOPPT.CN
关 键 字 用 途 说 明
char
short
int
unsigned
long
float
double
struct
union
void
enum
signed
const
volatile 数 据 类 型 字符型
短整型
整型
无符号类型(最高位不作符号位)
长整型
单精度实型
双精度实型
用于定义结构体
用于定义共用体
空类型,用它定义的对象不具有任何值
用于定义枚举类型
有符号类型,最高位为符号位
表明这个量在程序执行过程中不可改变其值
表明这个量在程序执行过程中可被隐含地改变
typedef
auto
register
static
extern 存 储 类 型 用于定义相同的数据类型
自动变量
寄存器类型
静态变量
外部变量声明
版权所有:KOPPT WWW.KOPPT.CN
关 键 字 用 途 说 明
break
case
continue
default
do
else
for
goto
if
return
switch
while 流 程 控 制 退出最内层的循环或switch语句
switch语句中的情况选择
跳到下一轮循环
switch语句中其余情况标号
do-while循环中的循环起始标记
if语句中的另一种选择
带有初值、测试和增量的一种循环
转移到标号指定的地方
语句的条件执行
返回到调用函数
从所列出的动作中做出选择
在while和do-while循环语句中条件执行
sizeof 运算符 计算表达式和类型的字节数
返回
版权所有:KOPPT WWW.KOPPT.CN
谢谢观看
$$