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
相关推荐
零依赖极客22 分钟前
Day 8·1 自注意力机制:Q·K^T/softmax/V的在线计算
c语言·arm开发·人工智能·llama
水饺编程2 小时前
第5章,[Win32 章节] :在平面直角坐标系中描点
c语言·c++·windows·visual studio
linx2952 小时前
单元九 · 零基础路线图-第 7–9 周·类与 RAII
c语言·开发语言·数据结构·c++·嵌入式硬件·算法
无忧.芙桃2 小时前
嵌入式(一):嵌入式历史与计算机基础:从 ENIAC 到 MCU 四大技术方向
c语言·单片机·嵌入式硬件·计算机
一只旭宝2 小时前
Python 与 C/C++ 内存模型对比总结
c语言·c++·python
白色的北极熊3 小时前
c语言 输出菱形字符串
c语言·开发语言
T1mzhou4 小时前
ARM64 Linux 6.10 内核驱动(14):drivers/base/platform.c:板级设备主战场
linux·c语言·开发语言·arm开发
小孩玩什么4 小时前
深入理解字符串匹配算法:BF算法,KMP算法
java·c语言·开发语言·数据结构·c++·算法
clear sky .4 小时前
内存8字节对齐是什么?
c语言·stm32·嵌入式硬件
无忧.芙桃4 小时前
C++内存管理
c语言·开发语言·c++·青少年编程