C语言学习笔记二(数据类型和变量)

C语言学习第二节(数据类型)

一、字符集和标识符

1.1、字符集

字符是组成语言的最基本的元素

  1. 字母
    大小写字母,从a-z,A-Z,总共52个字符。
  2. 数字
    0-9总共10个字符
  3. 空白符
    空格符、制表键(tab键)、换行符统称为空白符。
    空白符只在字符常量和字符串常量中起作用。
  4. 标点和特殊字符
    运算符号等,如:+、-、*、/,@,#等。

1.2、标识符

  1. 一个标识符由字母数字下划线组成,第一个字符必须为字母下划线
  2. 关键字:
    1. 数据类型关键字(21个)

      关键字解释关键字解释
      char声明字符型变量或者函数short声明短整型变量或函数
      double声明双精度变量或函数signed声明有符号类型变量或函数
      enum声明枚举类型struct声明结构体变量或函数
      float声明浮点型变量或函数union声明共用体(联合体)数据类型
      int声明整型变量或函数unsigned声明无符号类型变量或函数
      long声明长整型变量或函数void声明函数无返回值或无参数,声明无类型指针
    2. 控制语句关键字(12个)

      控制语句类型关键字解释
      循环语句for一种循环语句
      do循环语句的循环体
      while循环语句的循环条件
      break跳出当前循环
      continue结束当前循环,开始下一轮循环
      条件语句if条件语句
      else条件语句否定分支
      goto无条件跳转语句
      开关语句switch用于开关语句
      case开关语句分支
      default开关语句中的“其他”分支
      返回语句return子程序返回语句(可以带参数,也可以不带参数)
    3. 存储类型关键字(4个)

      关键字解释关键字解释
      auto声明自动变量,一般不使用extern声明变量是在其他文件中声明
      register声明寄存器变量static声明静态变量
    4. 其他关键字(4个)

      关键字解释关键字解释
      const声明只读变量sizeof计算数据类型长度
      typedef用以给数据类型取别名volatile说明变量在程序执行中可被隐含地改变

二、基本结构和书写规则

一个完整的C语言程序,是由一个main()函数(又称主函数)和若干个其他函数组合而成,或仅由一个main()函数构成。
例如:

#include <stdio.h>
void main(){
	printf("This is a C program\n");
}
  1. C语言严格区分大小写,C语言程序必须使用小写字母书写;
  2. 所有语句必须以分号(“;”)结束,函数的最后一条语句也不例外;
  3. 用{}括起来的部分,通常表示了程序的某一层次结构;
  4. 书写注释时/**/必须成对使用,且/*之间不能有空格。

三、数据类型

数据类型大致分类

2.1、 整型

整型是不包含小数部分的数值型数据,只用来表示整数。

类型名称类型说明符所占字节数取值范围
有符号基本整型[signed] int4-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]40~42949672950~232-1
无符号短整型unsigned short [int]20~655350~216-1
无符号长整型unsigned long [int]40~42949672950~232-1

2.2、实型

实型数据是带小数的数值。分为单精度和双精度。

类型名称数据说明符所占字节数有效位数数值的范围(绝对值)
单精度类型float4字节73.4x 1 0 − 38 10^{-38} 1038~3.4x 1 0 38 10^{38} 1038
双精度类型double8字节15~161.7x 1 0 − 308 10^{-308} 10308~ 1.7x 1 0 308 10^{308} 10308

2.3、字符型数据

字符型数据是不具计算能力的文字数据类型,包含中文字符、英文字符、数字字符和其他ASCII字符,其长度范围为0~254个字符。标识符为char,占1个字节。

四、常量和变量

4.1 常量

常量是指在程序执行期间值不能发生变化、具有固定值的量。

  1. 整型常量
    C语言整型常量一般有十进制、八进制、和十六进制三种。
    其中十进制与日常数学上的表示相同;
    八进制逢8进一,由数字0—7组成;
    十六进制逢16进一,由数字0 ~ 9 ,a ~ z或A~Z组成,9以后的数从a开始依次用字母表示。
常量类型十进制的值十进制表示八进制表示十六进制表示
长整型1212L014L0XCL
无符号整型1515u017u0xfu
  1. 实型常量
    实型常量只能用十进制形式表示。实型常量有两种表现形式:小数形式指数形式,或者叫做小数点式字母E(或e)式

    1. 小数点式:
      (1)、 有且仅有一个小数点
      (2)、 小数点的任意一边可以没有数据,但不能同时没有。
    2. 字母E(或e)式:
      (1)、 指数形式表示实数时必须有尾数部分和指数部分;
      (2)、 有且仅有一个字母E(或e)
      (3)、 尾数部分既可以用小数表示也可以用整数表示
      (4)、 指数部分只能是整数而不能是实数
  2. 字符型常量
    用一对单引号(‘ ’)括起来的一个字符。
    字符常量的两种表现形式:
    (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任意字符二位十六进制

    在常见的转义字符中,\\代表反斜杠,单个\并不能代表反斜杠
    转义字符只能使用小写字母,每个转义字符只能看做一个字符;

  3. 字符串型常量
    用一对双引号(" ")括起来的零个多个字符序列称为字符串常量
    字符串常量以双引号为定界符,但双引号并不属于字符串;
    字符串常量在机器中存储时,系统会自动在字符串的末尾添加一个转义字符"\0"作为字符串的结束标志。

  4. 符合常量
    可以用一个标识符来表示一个常量,称之为符号常量;
    形式:

#define 标识符 常量

注意:
#define只是一个预编译命令;
符号常量的标识符习惯上用大写字母表示,变量标识符用小写字母表示,以做区别。

4.2变量

4.2.1、 变量的概念:

变量就是计算机中的某个存储单元
是指在程序运行时其值可以改变,变量的功能就是存储数据

  1. 变量有三个基本要素:
    变量名:每一个变量都应该有一个名字;
    变量的数据类型:每一个变量都应具有一种数据类型(在定义时指定)内存中占据一定的储存空间
    变量的值:变量对应的存贮空间中所存放的数。
4.2.2、 变量定义的要求:
  1. 变量是以某标识符为名字
  2. 标识符是以字母下划线开头的一串由字母数字下划线构成的序列,请注意第一个字符必须为字母下划线,否则为不合法的变量名。
  3. 变量表示内存中的一个存储区域(不同的数据类型,占用的空间大小不一样)
  4. 该区域有自己的名称 和类型
  5. 变量必须先声明后使用
  6. 该区域的数据可以在同一类型范围不断变化
  7. 变量在同一个作用域内不能重名
4.2.3、 变量的定义

形式:

//数据类型 变量名;
//例如:
int num;
char string;
4.2.4、 变量的初始化
//在定义的同时给变量一个初始值
//如:
int num=10;
//先定义,再使用赋值号”=“赋初值
//如:
int num;
num=10;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北慕星途

谢谢土豪的赞助,一起多多加油哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值