1、C语言:数据类型/运算符与表达式

数据类型/运算符/表达式

1.数据类型与长度

  • 基本数据类型
类型 说明
char 字符型,占用一个字节,可以存放本地字符集中的一个字符
int 整型,通常反映了所有机器中整数的最自然长度
float 单精度浮点型
double 双精度浮点型

short和long限定符:short 类型通常为16 位,long 类型通常为32位,int 类型可以为16 位或32 位。各编译器可以根据硬件特性自主选择合适的类型长度,但要遵循下列限制:short与int类型至少为16 位,而long类型至少为32 位,并且short类型不得长于int类型,而int类型不得长于long类型。

类型限定符signed 与unsigned 可用于限定char 类型或任何整型。

long double类型表示高精度的浮点数。float、double与long double类型可以表示相同的长度,也可以表示两种或三种不同的长度。

2.常量

  1. 整数常量(int)
  2. 浮点数常量(float/double)
  3. 字符常量(char):'x'
  4. 转义字符:'\0'
  5. 常量表达式(符号常量):在编译时求解
c 复制代码
#define MAXLINE 1000
char line[MAXLINE+1];  
  1. 字符串常量:双引号不是字符串的一部分,它只用于限定字符串。"I am a string".字符串结尾隐藏了一个结束空字符。
  2. 枚举常量:枚举是一个常量整型值的列表
c 复制代码
enum boolean {NO, YES};

在没有显式说明的情况下,enum 类型中第一个枚举名的值为0,第二个为1,依此类推。如果只指定了部分枚举名的值,那么未指定值的枚举名的值将依着最后一个指定值向后递增.

3.声明

所有变量都必须先声明后使用,尽管某些变量可以通过上下文隐式地声明。

一个声明指定一种变量类型,后面所带的变量表可以包含一个或多个该类型的变量。

可以在声明的同时对变量进行初始化。
默认情况下,外部变量与静态变量将被初始化为0。未经显式初始化的自动变量的值为未定义值(即无效值)。

  • const 限定词

    任何变量的声明都可以使用const限定符限定。该限定符指定变量的值不能被修改。对数组而言,const限定符指定数组所有元素的值都不能被修改。

  • extern 全局变量
    extern使用

4. 运算符

  1. 算术运算符:+、-、*、/、%(取模运算符)

  2. 关系运算符:>、>=、<、<=、==、!=

  3. 逻辑运算符:&&、||、!

    逻辑运算符&&与||有一些较为特殊的属性,由&&与||连接的表达式按从左到右的顺序进行求值,并且,在知道结果值为真或假后立即停止计算

  4. 自增运算符和自减运算符:++、--

    它们既可以用作前缀运算符(用在变量前面,如++n)。也可以用作后缀运算符(用在变量后面,如n++)。只作用于变量,不能作用于表达式。

    特别考虑在数组中下标的使用。

  5. 按位运算符:&、|、^、<<、>>、~

  6. 赋值运算符:=

5. 表达式

  • 赋值表达式:+=、-+、*=、/=、%=
  • 条件表达式:expr1 ? expr2 : expr3
相关推荐
iiiiiankor1 小时前
C/C++内存管理 | new的机制 | 重载自己的operator new
java·c语言·c++
小辛学西嘎嘎2 小时前
C/C++精品项目之图床共享云存储(3):网络缓冲区类和main
c语言·开发语言·c++
无敌最俊朗@2 小时前
stm32学习之路——八种GPIO口工作模式
c语言·stm32·单片机·学习
2301_799084673 小时前
超全排序C语言实现
c语言·数据结构·算法·排序算法
六月悉茗12 小时前
【C语言 - 简易架构】
c语言·开发语言
風清掦12 小时前
C/C++每日一练:查找链表的中间节点
c语言·c++·链表
FFDUST12 小时前
C++ 优先算法 —— 四数之和(双指针)
c语言·开发语言·c++·算法·leetcode·1024程序员节
我有在好好学习14 小时前
C语言陷阱:数据扩充 与 按位取反运算符“~”
c语言·开发语言
岸榕.14 小时前
C语言 精选真题2
c语言·数据结构·算法
HABuo15 小时前
【LeetCode】返回链表的中间结点、删除链表的倒数第 N 个结点
c语言·数据结构·c++·算法·leetcode·链表