C语言学习第二节(数据类型)
文章目录
一、字符集和标识符
1.1、字符集
字符是组成语言的最基本的元素。
- 字母
大小写字母,从a-z,A-Z,总共52个字符。 - 数字
0-9总共10个字符 - 空白符
空格符、制表键(tab键)、换行符统称为空白符。
空白符只在字符常量和字符串常量中起作用。 - 标点和特殊字符
运算符号等,如:+、-、*、/,@,#等。
1.2、标识符
- 一个标识符由字母、数字、下划线组成,第一个字符必须为字母或下划线。
- 关键字:
-
数据类型关键字(21个)
关键字 解释 关键字 解释 char 声明字符型变量或者函数 short 声明短整型变量或函数 double 声明双精度变量或函数 signed 声明有符号类型变量或函数 enum 声明枚举类型 struct 声明结构体变量或函数 float 声明浮点型变量或函数 union 声明共用体(联合体)数据类型 int 声明整型变量或函数 unsigned 声明无符号类型变量或函数 long 声明长整型变量或函数 void 声明函数无返回值或无参数,声明无类型指针 -
控制语句关键字(12个)
控制语句类型 关键字 解释 循环语句 for 一种循环语句 do 循环语句的循环体 while 循环语句的循环条件 break 跳出当前循环 continue 结束当前循环,开始下一轮循环 条件语句 if 条件语句 else 条件语句否定分支 goto 无条件跳转语句 开关语句 switch 用于开关语句 case 开关语句分支 default 开关语句中的“其他”分支 返回语句 return 子程序返回语句(可以带参数,也可以不带参数) -
存储类型关键字(4个)
关键字 解释 关键字 解释 auto 声明自动变量,一般不使用 extern 声明变量是在其他文件中声明 register 声明寄存器变量 static 声明静态变量 -
其他关键字(4个)
关键字 解释 关键字 解释 const 声明只读变量 sizeof 计算数据类型长度 typedef 用以给数据类型取别名 volatile 说明变量在程序执行中可被隐含地改变
-
二、基本结构和书写规则
一个完整的C语言程序,是由一个main()函数(又称主函数)和若干个其他函数组合而成,或仅由一个main()函数构成。
例如:
#include <stdio.h>
void main(){
printf("This is a C program\n");
}
- C语言严格区分大小写,C语言程序必须使用小写字母书写;
- 所有语句必须以分号(“;”)结束,函数的最后一条语句也不例外;
- 用{}括起来的部分,通常表示了程序的某一层次结构;
- 书写注释时
/*
和*/
必须成对使用,且/
和*
之间不能有空格。
三、数据类型
2.1、 整型
整型是不包含小数部分的数值型数据,只用来表示整数。
类型名称 | 类型说明符 | 所占字节数 | 取值范围 | |
有符号基本整型 | [signed] int | 4 | -2147483648~2147483647 | -231~231-1 |
有符号短整型 | [signed] short [int] | 2 | -32768~32767 | -215~215-1 |
有符号长整型 | [signed] long [int] | 4 | -2147483648~2147483647 | -231~231-1 |
无符号基本整型 | unsigned [int] | 4 | 0~4294967295 | 0~232-1 |
无符号短整型 | unsigned short [int] | 2 | 0~65535 | 0~216-1 |
无符号长整型 | unsigned long [int] | 4 | 0~4294967295 | 0~232-1 |
2.2、实型
实型数据是带小数的数值。分为单精度和双精度。
类型名称 | 数据说明符 | 所占字节数 | 有效位数 | 数值的范围(绝对值) |
---|---|---|---|---|
单精度类型 | float | 4字节 | 7 | 3.4x 1 0 − 38 10^{-38} 10−38~3.4x 1 0 38 10^{38} 1038 |
双精度类型 | double | 8字节 | 15~16 | 1.7x 1 0 − 308 10^{-308} 10−308~ 1.7x 1 0 308 10^{308} 10308 |
2.3、字符型数据
字符型数据是不具计算能力的文字数据类型,包含中文字符、英文字符、数字字符和其他ASCII字符,其长度范围为0~254个字符。标识符为char,占1个字节。
四、常量和变量
4.1 常量
常量是指在程序执行期间值不能发生变化、具有固定值的量。
- 整型常量
C语言整型常量一般有十进制、八进制、和十六进制三种。
其中十进制与日常数学上的表示相同;
八进制逢8进一,由数字0—7组成;
十六进制逢16进一,由数字0 ~ 9 ,a ~ z或A~Z组成,9以后的数从a开始依次用字母表示。
常量类型 | 十进制的值 | 十进制表示 | 八进制表示 | 十六进制表示 |
---|---|---|---|---|
长整型 | 12 | 12L | 014L | 0XCL |
无符号整型 | 15 | 15u | 017u | 0xfu |
-
实型常量
实型常量只能用十进制形式表示。实型常量有两种表现形式:小数形式和指数形式,或者叫做小数点式和字母E(或e)式。- 小数点式:
(1)、 有且仅有一个小数点
(2)、 小数点的任意一边可以没有数据,但不能同时没有。 - 字母E(或e)式:
(1)、 指数形式表示实数时必须有尾数部分和指数部分;
(2)、 有且仅有一个字母E(或e)
(3)、 尾数部分既可以用小数表示也可以用整数表示
(4)、 指数部分只能是整数而不能是实数
- 小数点式:
-
字符型常量
用一对单引号(‘ ’)括起来的一个字符。
字符常量的两种表现形式:
(1)、由一对单引号括起来的单个字符
(2)、转义字符转义字符 含义 ASCII码(10进制) \0 空字符(NULL) 0 \n 换行符(LF) 10 \r 回车符(CR) 13 \t 水平制表符(HT) 9 \v 垂直制表(VT) 11 \a 响铃(BEL) 7 \b 退格符(BS) 8 \f 换页符(FF) 12 \’ 单引号 39 \" 双引号 34 \\ 反斜杠 92 \? 问号字符 63 \ddd 任意字符 三位八进制 \xhh 任意字符 二位十六进制 在常见的转义字符中,\\代表反斜杠,单个\并不能代表反斜杠
转义字符只能使用小写字母,每个转义字符只能看做一个字符; -
字符串型常量
用一对双引号(" ")括起来的零个或多个字符序列称为字符串常量;
字符串常量以双引号为定界符,但双引号并不属于字符串;
字符串常量在机器中存储时,系统会自动在字符串的末尾添加一个转义字符"\0"作为字符串的结束标志。 -
符合常量
可以用一个标识符来表示一个常量,称之为符号常量;
形式:
#define 标识符 常量
注意:
#define
只是一个预编译命令;
符号常量的标识符习惯上用大写字母表示,变量标识符用小写字母表示,以做区别。
4.2变量
4.2.1、 变量的概念:
变量就是计算机中的某个存储单元。
是指在程序运行时其值可以改变的量,变量的功能就是存储数据。
- 变量有三个基本要素:
变量名:每一个变量都应该有一个名字;
变量的数据类型:每一个变量都应具有一种数据类型(在定义时指定)内存中占据一定的储存空间;
变量的值:变量对应的存贮空间中所存放的数。
4.2.2、 变量定义的要求:
- 变量是以某标识符为名字
- 标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。
- 变量表示内存中的一个存储区域(不同的数据类型,占用的空间大小不一样)
- 该区域有自己的名称 和类型
- 变量必须先声明,后使用
- 该区域的数据可以在同一类型范围内不断变化
- 变量在同一个作用域内不能重名。
4.2.3、 变量的定义
形式:
//数据类型 变量名;
//例如:
int num;
char string;
4.2.4、 变量的初始化
//在定义的同时给变量一个初始值
//如:
int num=10;
//先定义,再使用赋值号”=“赋初值
//如:
int num;
num=10;