当前位置: 首页 > news >正文

C语言——基础框架、变量、运算符

基础框架:

#include<stdio.h>    //编译预处理指令int main()           //程序的入口主函数main
{                    //程序(函数、功能)结束标志return 0;          //程序退出前返回给调用者(操作系统)的值
}                    //程序(函数、功能)结束标志

变量:

强调的是变化,程序运行过程中其值会变化

四个特征:变量名、变量值、存储单元、变量类型;先定义再使用。

(1)变量名/标识符:

由字母数字下划线组成,且只能以下划线或者字母开头,不能以数字开头,区分大小写。

命名方法:顾名思义,使用英语命名。驼峰命名法,int secondPreYear。函数名常用下划线衔接。

(2)变量类型:

 简单来记,操作系统(Windows、Linux)中整型数就是整数(4个字节=32位)、浮点类型就是小数(float:4个字节=32位)、字符型就是ASCII码(char:1个字节=8bit)(可以用整数来表示)

注:32位就是2的32次方

在单片机中,整型数为2个字节=16位,即其最大可表示的数为2的16次方即65536

运算符:

C语言中的运算符非常丰富,大致可以分为以下几类:

  1. 算术运算符:用于执行基本的数学运算。
    • + 加法
    • - 减法
    • * 乘法
    • / 除法
    • % 求余(模)
    • ++ 自增
    • -- 自减
  2. 关系运算符:用于比较两个值。
    • == 等于
    • != 不等于
    • > 大于
    • < 小于
    • >= 大于等于
    • <= 小于等于
  3. 逻辑运算符:用于执行逻辑运算。
    • && 逻辑与
    • || 逻辑或
    • ! 逻辑非
  4. 位运算符:用于对整数的二进制位进行操作。
    • & 按位与
    • | 按位或
    • ^ 按位异或
    • ~ 按位取反
    • << 左移
    • >> 右移
  5. 赋值运算符:用于赋值。
    • = 赋值
    • += 累加赋值
    • -= 累减赋值
    • *= 累乘赋值
    • /= 累除赋值
    • %= 求余赋值
    • <<= 左移赋值
    • >>= 右移赋值
    • &= 按位与赋值
    • |= 按位或赋值
    • ^= 按位异或赋值
  6. 条件运算符(也称为三元运算符):
    • ? : 条件运算符,例如 a > b ? a : b 表示如果 a > b 成立,则结果为 a,否则为 b
  7. 逗号运算符
    • , 逗号运算符,用于顺序执行多个表达式,但整个表达式的结果是最后一个表达式的结果。
  8. sizeof 运算符
    • sizeof 运算符用于获取数据类型或变量在内存中所占的字节数。
  9. 类型转换运算符
    • (type) 强制类型转换运算符,用于将表达式的值转换为指定的类型。
  10. 下标运算符 和 结构体/联合体成员访问运算符
    • [] 下标运算符,用于数组索引和访问指针指向的元素的偏移量。
    • . 结构体或联合体的成员访问运算符。
    • -> 通过指针访问结构体或联合体的成员。
  11. 指针运算符
    • & 取地址运算符。
    • * 指针解引用运算符(同时也是乘法运算符,但上下文会决定其意义)。

这些运算符在C语言中扮演着非常重要的角色,是构建各种复杂表达式和语句的基础。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • jmeter-beanshell学习6-beanshell生成测试报告
  • Java:构造函数与对象
  • 服务器怎么进PE系统?
  • Wintopay - 一站式国际支付收款平台
  • leetcode74. 搜索二维矩阵
  • 一周涨8K star!RAG技术迎来大升级,速度关注
  • Postgresql - 用户权限数据库
  • Python酷库之旅-第三方库Pandas(017)
  • 5G中的RedCap
  • 【源码开源】C#桌面应用开发:串口调试助手
  • JS爬虫实战之极验四代
  • C# Winform之propertyGrid控件使用详解和分组设置
  • 这个软件可无限制免费领取金币,领取后即可自由实现AI文生图,AI Chat及其AI文生PPT等AI功能
  • 一文带你掌握SpringMVC扩展点RequestBodyAdvice和ResponseBodyAdvice如何使用及实现原理
  • 【基础算法总结】链表
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • Brief introduction of how to 'Call, Apply and Bind'
  • css选择器
  • HTTP请求重发
  • JDK 6和JDK 7中的substring()方法
  • nginx 负载服务器优化
  • React-flux杂记
  • Redis 懒删除(lazy free)简史
  • Redis的resp协议
  • Redis字符串类型内部编码剖析
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Twitter赢在开放,三年创造奇迹
  • Windows Containers 大冒险: 容器网络
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 坑!为什么View.startAnimation不起作用?
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 前端设计模式
  • 如何利用MongoDB打造TOP榜小程序
  • 如何学习JavaEE,项目又该如何做?
  • 入口文件开始,分析Vue源码实现
  • 算法-插入排序
  • 跳前端坑前,先看看这个!!
  • 微信开源mars源码分析1—上层samples分析
  • 消息队列系列二(IOT中消息队列的应用)
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • #nginx配置案例
  • #Spring-boot高级
  • (03)光刻——半导体电路的绘制
  • (2020)Java后端开发----(面试题和笔试题)
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (Java入门)抽象类,接口,内部类
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (二)原生js案例之数码时钟计时
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (附源码)springboot 智能停车场系统 毕业设计065415