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

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

  • 1.数据类型与长度
  • 2.常量
  • 3.声明
  • 4. 运算符
  • 5. 表达式

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. 常量表达式(符号常量):在编译时求解
#define MAXLINE 1000
char line[MAXLINE+1];  
  1. 字符串常量:双引号不是字符串的一部分,它只用于限定字符串。“I am a string”.字符串结尾隐藏了一个结束空字符。
  2. 枚举常量:枚举是一个常量整型值的列表
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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/328982.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

法线变换矩阵的推导

背景 在冯氏光照模型中&#xff0c;其中的漫反射项需要我们对法向量和光线做点乘计算。 从顶点着色器中读入的法向量数据处于模型空间&#xff0c;我们需要将法向量转换到世界空间&#xff0c;然后在世界空间中让法向量和光线做运算。这里便有一个问题&#xff0c;如何将法线…

35岁的软件测试工程师何去何从?“我“的测试之路如何走...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 岁月是把杀猪刀&a…

微信小程序开发之连接本地MYSQL数据库

一、本地搭建HTTP服务器 1.使用Node.js在本地搭建HTTP服务器 1&#xff09;下载安装Node.js 网址&#xff1a;https://nodejs.org/en 右边是长期维护版本&#xff0c;左边是尝鲜版&#xff0c;推荐下载长期维护版本 2&#xff09;安装完成后本地创建文件夹&#xff0c;文件…

解决“invalid UTF-8 encoding”

有如下一个程序 package mainimport"fmt"func main(){fmt.Println("hello,2024年") }go run xxx.go出现以下的问题 问题“invalid UTF-8 encoding”&#xff0c;无效的utf8编码。有可能是文件的编码不是“utf8” 为了验证猜想&#xff0c;看一下“xxx.go”…

x-cmd pkg | usql - SQL 数据库的通用交互界面

目录 简介首次用户功能特点竞品和相关作品进一步阅读 简介 “usql” 是一个基于命令行的数据库客户端工具&#xff0c;它允许用户连接和管理多种类型的数据库。usql可以在多个操作系统上运行&#xff0c;包括 Linux、macOS 和 Windows。它还具有插件系统&#xff0c;可以根据需…

ROS+moveit+jakaminicob仿真运动

先浅浅的放一个官方的c文档&#xff1a; Motion Planning API — moveit_tutorials Melodic documentation 目录 一、实现运动到目标点的程序 二、在rviz里面新建扫描平台 一、实现运动到目标点的程序 &#xff08;等我得空了补一个c运行环境部署说明&#xff09; #inclu…

【动态规划】【滑动窗口】C++算法:100154 执行操作后的最大分割数量

作者推荐 【动态规划】【字符串】扰乱字符串 本文涉及的基础知识点 C算法&#xff1a;滑动窗口总结 动态规划 LeetCode100154 执行操作后的最大分割数量 给你一个下标从 0 开始的字符串 s 和一个整数 k。 你需要执行以下分割操作&#xff0c;直到字符串 s 变为 空&#xf…

图像分割-Grabcut法

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 本文的C#版本请访问&#xff1a;图像分割-Grabcut法(C#)-CSDN博客 GrabCut是一种基于图像分割的技术&#xff0c;它可以用于将图像…

在IDEA中使用git分支进行开发然后合并到Master分支,2022.1.x版本

在实际开发过程中&#xff0c;为了避免因为在开发中出现的问题以及方便发布版本&#xff0c;如果是多版本发布的情况相下&#xff0c;我们通常需要采用分支进行开发&#xff0c;这个时候&#xff0c;我们就需要了解git分支的相关知识点了&#xff0c;本篇博客也是博主在实际公司…

快速实现产品智能:用 AI 武装你的 API | 开源日报 No.138

openchatai/OpenCopilot Stars: 3.8k License: MIT OpenCopilot 是一个允许你拥有自己产品的 AI 副驾驶员的项目。它集成了产品底层 API&#xff0c;并可以在需要时执行 API 调用。它使用 LLMs 来确定用户请求是否需要调用 API 端点&#xff0c;然后决定调用哪个端点并根据给定…

设置代理IP地址对网络有什么影响?爬虫代理IP主要有哪些作用?

在互联网的广泛应用下&#xff0c;代理IP地址成为了一种常见的网络技术。代理IP地址可以改变用户的上网行为&#xff0c;进而影响网络访问的速度和安全性。本篇文章将探讨设置代理IP地址对网络的影响&#xff0c;以及爬虫代理IP的主要作用。 首先&#xff0c;让我们来了解一下代…

如何使用VsCode编译C语言?

下载VsCode (1) 解压到D盘跟目录 (2) 运行[vscode.reg]&#xff0c;注册右键菜单 (3) 进入[pack]文件夹&#xff0c;运行[install.bat]。安装基本插件。 下载mingw32 (1) 解压任意目录 (2) 我的电脑右键–高级系统设置–高级–环境变量–系统变量–Path(双击)–空白行(双击)–…