内容正文:
第 二 章
数据类型及输入输出函数
变量与常量
常量
在应用程序运行过程中,值不能被改变的量称为常量。
按常量在程序中的表现方式我们可以将常量分为
字面常量
符号常量
变量与常量
常量
在应用程序运行过程中,值不能被改变的量称为常量。
按常量在程序中的表现方式我们可以将常量分为
字面常量
符号常量
符号常量一般形式为 #define 标识符 常量
变量与常量
变量
与常量相对,在程序执行期间,值可以改变的量为变量
变量具有三个基本要素
名字
类型
值
变量的名字
变量的命名规则如下:
变量名可以由字母、数字和“_”(下划线)组合而成
变量名必须以字母或“_”(下划线)开头,后面可以跟字母、数字和下划线
变量名不能包含除“_”以外的任何特殊字符,如:%、#、逗号、空格等
变量的名字
变量名不能包含空白字符
C语言中的关键字具有特殊意义,不能用作变量名
C语言严格区分大小写
变量名一般习惯使用小写字母表示
命名变量应尽量做到“见名知意”
声明和使用变量
变量必须“先定义,后使用”
定义一个变量的形式:
datatype 变量名;
int a;
定义时初始化变量的形式:
datatype variablename=value;
int a=10;
什么是数据类型?
日常生活中我们常说这个小伙子是谁呀!那么高呀?!哦,他身高1.88米。他多大了?23岁。他是我们的优秀学员,小雄。技术很强!
其中1.88为小数是实型;23为整数是整型;小雄为字符串是字符型。
在计算机中如何表示这些数据呢?
C语言数据类型
数据类型
基本类型
构造类型
指针类型
空类型
非数值型
数值型
结构体
数组
数据类型的作用:
指出应该为数据分配多大的存储空间
规定数据所能进行的操作
9
整型常量
由一个或多个数字所组成,可以有正负号,但是不能有小数点
十进制整数:
以非0开头的数是十进制整数,其数码为0~9
八进制整数:
以0开头的数表示八进制整数
十六进制整数:
以0X或0x开头的是十六进制整数
整型变量
类型 说 明 字节数
int 基本整型,取值范围:-231 ~ 231-1 4
unsigned int 无符号基本整型,取值范围:0 ~ 232-1 4
short [ int ] 短整型,取值范围:-215 ~ 215-1 2
unsigned short [ int ] 无符号短整型,取值范围:0 ~ 216-1 2
long [ int ] 长整型,取值范围:-231 ~ 231-1 4
unsigned [ long ] 无符号长整型,取值范围:0 ~ 232-1 4
11
数值溢出示例
#include <stdio.h>
void main( )
{
short a , b ; //同时定义两个短整型变量a和b
a = 32767; //为a变量赋值
b = a + 1 ;
printf(" a = %d , b = %d
" , a ,b );
}
我们倒水倒满了水就流出来了,那计算机呢?
12
实型
实型也称为浮点型,例如:3.14,-8.9等带有小数部分的数值数据就称为浮点数
类型 说明 字节数 有效数字
float 单精度浮点型
取值范围:3.4E-38~3.4E+38 4 6~7
double 双精度浮点型
取值范围:1.7E-08~1.7E+308 8 15~16
long double 长双精度实型
取值范围:1.7E-08~1.7E+308 8 15~16
13
实型数据精度示例
#include <stdio.h>
void main()
{
float a;
double b;
a=55555.55555555F;
//float类型数值一般需要添加后缀”F”或”f”
b=55555.55555555;
printf("a = %f
b = %f
",a,b);
//"%f"占位符用于在屏幕中显示浮点型数据
}
14
字符型
字符常量是用单引号括起来的一个字符
例如:'A'、'b'、'='、'+'、'6'等都属于合法字符常量 。
在C语言中,字符常量有以下特点 :
字符常量只能用单引号括起来,不能用双引号或其它括号
字符常量只能是单个字符,不能是字符串
字符可以是字符集中的任意字符
15
字符型
除了一般的字符常量外,C语言还允许使用一种被称为“转义字符”的特殊形式字符常量
转义字符 转义字符的意义 ASCII
回车换行 10
\t 横向跳到下一制表位置(每个制表位相差8个字符) 9
\b 退格,将当前位置移到前一列 8
\r 回车,将当前位置移动到本行的开头 13
\\ 反斜线字符"\" 92
\' 单引号符 39
\” 双引号符 34
\ddd 1~3位八进制数所代表的字符
\xhh 1~2位十六进制数所代表的字符
16
字符数据例
#include <stdio.h>
void main( )
{
char a ,b ;
a = 120 ; //将整数赋予字符变量
b = 'y' ; //将字符赋予字符变量
printf( "%c,%c
" ,a ,b);
//占位符'%c'将字符变量内容以字符形式输出
printf( "%d,%d
" ,a ,b);
//占位符'%d'将字符变量内容以整型形式输出
}
17
输入输出函数
C语言中数据的输入或输出都是由库函数完成的。
在main函数前导入输入输出函数所在的头文件
在函数体中使用输入输出函数
在C语言中使用输入输出函数:
#include <头文件名>
关键字
包含函数的头文件
#include < stdio.h >
或
#include ” stdio.h ”
18
区 别
#include < stdio.h > 与
#include ” stdio.h ”
(1)#include<stdio.h>格式来引用标准库的头文件,编译器将从标准库目录开始搜索。
(2)#include”stdio.h”格式来引用非标准库的头文件,编译器将从用户的工作目录开始搜索。
字符输出函数putchar( )
用于在标准输出设备(显示器)上输出单个字符
一般定义形式:
putchar ( 字符变量 )
#include <stdio.h>
void main( )
{
char c; //定义字符变量
c = 'B'; //给字符变量赋值
putchar(c); //输出该字符
putchar(66); //直接用ASCII码值输出字母
putchar(‘\101’); //输出转义字符‘\101’代表的 字母'A'
putchar('
'); //输出回车符
}
20
字符输入函数 getchar ()
从键盘上输入一个字符并存放到相应的变量中
一般定义形式:
variablename = getchar ( ) ;
21
字符输入函数
getchar ( )
#include <stdio.h>
void main( )
{
char var;
//在屏幕中打印提示语句"Please input a character"
printf("Please input a character
");
var = getchar( );
//向屏幕输出变量var中的字符
putchar(var);
}
22
格式输出函数 printf ( )
按用户指定格式,把数据显示到显示器屏幕上
一般定义形式
printf( “格式控制字符串” , 输出表列) ;
printf("%d %d
",10,20);
格式控制字符串
输出表列
printf("%d %d
" , 10 , 20 ) ;
23
格式化定位符意义
符号 格式化定位符意义
%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%e 指数形式的浮点数
%x , %X 无符号以十六进制表示的整数
%o (字母o) 无符号以八进制表示的整数
24
格式化字符串输出
#include <stdio.h>
void main( )
{
int a = 88 ,b = 89 ;
printf("%d %d
",a,b);
printf("%d,%d
",a,b);
printf("%c,%c
",a,b);
printf("a=%d,b=%d",a,b);
}
25
格式化字符串输出
#include <stdio.h>
int main( )
{
int a=1234;
float f=3.141592653589;
printf("a=%d
",a);
printf("a=%6d
",a);
printf("a=%06d
",a);
printf("a=%2d
",a);
printf("f=%f
",f);
printf("f=%6.4f
",f);
}
d格式符:
(1)%d格式符,按整形数据的实际长度输出
(2)%md,m为制定输出字段的宽度,如果数据的位数小于m,则左端补以空格,如果大于则按实际输出。
26
格式输入函数scanf ()
按用户指定的格式从键盘上把数据输入到指定的变量之中
scanf ("%d" , &a );
格式控制字符串
地址表列
格式控制字符串的作用与printf函数相同,但最好不要包含提示字符串。地址表列中需要给出各变量的地址,地址是由地址运算符“&”后跟变量名组成的。
27
格式化字符串输入例
void main( )
{ int a,b,c;
printf("input a,b,c
");
scanf("%d%d%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d",a,b,c);
}
28
小结
常量是在程序中不能被更改的值;而变量在程序中可以被更改的,通过引用变量可以引用存储在内存中的数据。
C语言中的基本数据类型包括
整型 分为 短整型;整型;长整型,
每种整型又分为有符号型和无符号型
单精度浮点型
双精度浮点型
字符型
printf()和scanf() 函数属于格式输入输出函数,getchar() 和putchar()函数是用来输入输出单个字符的函数。
$$