C语言---合法标识符与整型

2023-11-12

目录

1.头文件

2.常量

变量

命名规范

合法的浮点数

小数与指数

char与八进制

3.sizeof()

数据溢出

4.整型

5.面向过程

流程

入口、出口

注释

6.进制转换


首先我们来介绍一下,一开始学习c语言最先遇到的头文件是什么

头文件

又名工具箱

提供一系列方法(工具)

#include <stdio.h> 
#include "stdio.h"

<>: 直接在系统目录进行查找 找不到会直接报错

" ": 先在当前目录下进行查找 找不到再在系统目录进行查找 找不到会直接报错

总结: 一般为了提高效率是会使用" "而不是<>

一般情况下,系统文件使用<> 自定义文件一般会放在当前目录 所以使用" "

常量

常量通常有以下内容

  • 整型常量 比如:1、100、999、6366

  • 实型常量 比如:1.0、3.14

  • 字符常量 比如:'A'、'a'、'1'

  • 字符串常量 比如:"aA1"

  • 符号常量 利用#define 来定义的常量

  • 地址常量

变量

变量:代表着一个具有名字的,具有特定属性的一个存储单元. 可以用来存储数据(变量的值)

变量必须先定义后使用.变量的命名必须符合规范

命名规范

  • 由数字,字母,下划线组成

  • 开头不能是数字(一般情况下不会使用下划线开头)

  • 不能是关键字

注意:

  • 区分大小写

  • 命名法 命名习惯

  • 要根据其要写的意思来写其名字

举例:

// 我们要描述游戏中某个角色的血量(数据==>存储在内存中) 
// 这块内存 我们给他取一个名字 ==> 变量名 
​
例子:
hp xueliang a b abc hp HP 
a1 b2_ 
错误示范: 
123 1a

合法的浮点数

小数与指数

  • 小数

  • 指数(科学计数法: n*10^m eE)如:3.14e3

char与八进制

以下通过代码来举例

  • 数字与数字字符

    '\0' 结束符(字符串) 
    // A: -128 -- 127 B: 0 -- 255 
    // 0 -- 255 ==> 0 -- 0377 
    char ch; 
    ch = '\0'; 
    printf("ch = 0%o\n", ch); 
    ch = '\377'; 
    printf("ch = 0%o\n", ch); 
    // 1 为什么会多八个7 
    // 2 假如超过377会怎么样 
    // 整型提升 
    // char类型在运算时 会提升为int类型 
    // 运算结束之后 会还原为原来的类型
  • 大小写转换

    // 'A': 65 
    // 'a': 97 
    // '0': 48 
    // 1 '0'==>0 
    char ch = '0'; 
    ch = ch - ('0' - 0);// 减去差值 
    printf("数字: %d\n",ch); // 0 
    // 2 0==>'0' 
    // 'A' ==> 'a' 
    char ch1 = 'A'; 
    ch1 = ch1 + ('a'-'A'); 
    printf("%c\n", ch1); // a

sizeof()

// 运用:sizeof() 运算符 
/*
字符: '' 
字符串: "" "" "a" "123" 
*/
printf("%d\n", sizeof("")); // "\0" 
printf("%d\n", sizeof("a")); // "a\0" 
printf("%d\n", sizeof("123")); // "123\0" 
printf("%d\n", sizeof("ab12\\1234\0ab")); // 
printf("%d\n", sizeof("\1a")); // 
printf("%d\n", sizeof("\128")); // 3

作用: 求字节数,求()里面的对象在内存中占几个字节

一般情况下:

位=字节

一个字节为八位

short sh = 0; 
printf("%d\n", sizeof(sh)); 
printf("%d\n", sizeof(short));

取值范围

做小值----最大值

无符号的: 0-65535 (65536)

有符号的: -32768--0--32767 (65536)

数据溢出

数据的大小超过了当前类型能够表示的范围

使用时机:

会在数据存储的时候溢出

处理方式:(自动调整)

  • 数据太大:将数据减去n个范围大小

  • 数据太小:将数据加上n个范围大小

范围大小:当前类型能够表示的数据的个数

整型

数据类型

short: 短整型
int: 整型 
long: 长整型 
long long: 长长整型 

是一类数据类型,包括:

short int long long long 
// 定义了一个int类型的变量 
// 给变量取名为hp 
// 将变量初始化为100 
int hp = 100; 
// 定义了一个int类型的变量 
// 给变量取名为num 
int num; 
// 给num赋值为0 
num = 0; 
注意: 
1 整数默认是int类型 
2 整数之间进行运算,结果还是整数
// 输出语句 
// 1 简单 
printf("hello world!\n"); 
// 2 稍微有难度 
printf("num的值是:%d\n", num); 
// 3 有点难度 
printf("hp = %d, num = %d\n", hp, num);
// 输出语句 
// 1 简单 
printf("hello world!\n"); 
// 2 稍微有难度 
printf("num的值是:%d\n", num); 
// 3 有点难度 
printf("hp = %d, num = %d\n", hp, num); 
#include <stdio.h> 
int main() 
{ 
    short sh = 1; 
    int num = 10; 
    long n = 100; 
    long long m = 1000; 
    /*
    short: 短整型
    int: 整型 
    long: 长整型 
    long long: 长长整型 
    short int sh = 1; 
    int num = 10; 
    long int n = 100; 
    long long int m = 1000; 
    */
    /*
    他们都是整型 都可以用来定义整型变量 
    那么 我们应该怎么选择类型呢? 
    */
    // 现象: 
    short s = 0; 
    printf("s = %d\n", s); 
    s = 100; 
    printf("s = %d\n", s); 
    s = 32768; 
    printf("s = %d\n", s); 
    s = 32769; 
    printf("s = %d\n", s); 
    // 分析: 
    // 数据出现了变化==>可能是数据太大了 
    // 知识: 
    // 数据溢出(1范围 2溢出) 
    return 0; 
}

面向过程

首先c语言通常写程序是面向过程为主,以下介绍其流程

流程

程序执行的流程: 从上往下,逐句执行;遇到特定的语法结构,按照语法规则执行

入口、出口

// 每一个项目 有且仅有一个入口 
// 主函数 入口函数 main函数 
int main() 
{ 
    //代码有效区
return 0; 
    //代码无效区
}
或者
void main() 
{ 
​
} 

注释

// 单行注释 
/* 
多行注释 
1
2
3
.... 
*/

进制转换

计量方式(满几进一 就是几进制)

  • 十进制: 满10进一

  • 十六进制: 满16进一

  • 二进制和八进制的表示

  • 二进制:0b 0B

  • 八进制:0

数位上的数字

表示(特征)

举例

  • 二进制 0 1 只有0和1 10100101

  • 八进制 0 1 2 3 4 5 6 7 0开头 01457

  • 十进制 0 1 2 3 4 5 6 7 8 9 没有特殊要求 666

  • 十六进制

    • 0x开头 0 1 2 3 4 5 6 7 8 9 a b c d e f 0x12af

    • 0X开头 0 1 2 3 4 5 6 7 8 9 A B C D E F 0X34CD

福利部分:

关于vs2013按F5跳不出控制台解决

第一种办法

#include <Windows.h> //一定要添加该头文件

void main()
{
    system("pause"); //在结尾添加该代码即可解决
}
 
第二种办法
getchar(); //在函数最后添加该代码即可

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言---合法标识符与整型 的相关文章

  • 如何使用 ASP.NET MVC 编辑多选列表?

    我想编辑一个如下所示的对象 我希望用 UsersGrossList 中的一个或多个用户填充 UsersSelectedList 使用 mvc 中的标准编辑视图 我只得到映射的字符串和布尔值 下面未显示 我在 google 上找到的许多示例都
  • 无法将 std::min 传递给函数,std::min 的副本有效

    Passing std min函数无法编译 我复制了 libcpp 声明std min进入我的源文件并且它可以工作 std 版本有什么问题 clang 和 gcc 也会发生同样的情况 在 Godbolt 上测试 https godbolt
  • 我如何知道 C 程序的可执行文件是在前台还是后台运行?

    在我的 C 程序中 我想知道我的可执行文件是否像这样在前台运行 a out 或者像这样 a out 如果你是前台工作 getpgrp tcgetpgrp STDOUT FILENO or STDIN FILENO or STDERR FIL
  • 并行化斐波那契序列生成器

    我正在学习并行化 在一项练习中 我得到了一些我应该提高性能的算法 其中之一是斐波那契数列生成器 array 0 0 array 1 1 for q 2 q lt MAX q array q array q 1 array q 2 我怀疑 这
  • 将设置函数(setter)标记为 constexpr 的目的是什么? [复制]

    这个问题在这里已经有答案了 我无法理解将 setter 函数标记为的目的constexpr 自 C 14 起这是允许的 我的误解来自以下情况 我使用 constexpr c tor 声明一个类 并且我将通过创建该类的 constexpr 实
  • C# 处理标准输入

    我目前正在尝试通过命令行断开与网络文件夹的连接 并使用以下代码 System Diagnostics Process process2 new System Diagnostics Process System Diagnostics Pr
  • 全局使用和 .NET Standard 2.0

    我最近意识到我可以使用 C 10 功能文件范围的命名空间在 NET Standard 2 0 项目中也可以通过设置
  • 为什么需要数字后缀?

    C 语言 我确信还有其他语言 需要在数字文字末尾添加后缀 这些后缀指示文字的类型 例如 5m是一个小数 5f是一个浮点数 我的问题是 这些后缀真的有必要吗 或者是否可以从上下文中推断出文字的类型 例如 代码decimal d 5 0应该推断
  • 如何在win32中使用GetSaveFileName保存文件?

    我编写此代码是为了获取 fileName 来保存我的文件 include stdafx h include
  • 使用 OleDbCommandBuilder 时访问 SQL 语法错误

    我要在 C 中使用 OleDbDataAdapter 在 Access 数据库中插入数据 但收到错误消息INSERT INTO 命令中的语法错误 BackgroundWorker worker new BackgroundWorker Ol
  • 使用多线程进行矩阵乘法?

    我应该使用线程将两个矩阵相乘 有两件事 当我运行程序时 我不断得到 0 我还收到消息错误 对于每个错误 它在粗体行上显示 警告 从不兼容的指针类型传递 printMatrix 的参数1 我尝试打印输出 还要注意 第一个粗体块 这是我解决问题
  • C 中使用 getrandom 实现随机浮点数

    我试图生成一个介于 0 和 1 之间的随机浮点数 无论是在 0 1 还是 0 1 对我来说都不重要 网上关于此的每个问题似乎都涉及rand 呼叫 播种time NULL 但我希望能够每秒多次调用我的程序 并每次都获得不同的随机数 这引导我找
  • 从 NumPy 数组到 Mat 的 C++ 转换 (OpenCV)

    我正在围绕 ArUco 增强现实库 基于 OpenCV 编写一个薄包装器 我试图构建的界面非常简单 Python 将图像传递给 C 代码 C 代码检测标记并将其位置和其他信息作为字典元组返回给 Python 但是 我不知道如何在 Pytho
  • 在哪里可以下载没有 Visual Studio 2010 的 C# 4.0 编译器?

    我知道 CTP VS 2010 映像 但我可以只下载 NET Framework 4 0 和 C 编译器吗 AFAIK VS 2010 CTP 仅作为 VM 映像提供 我不相信 Microsoft 发布了 VS 的安装程序 其中一个绝对不适
  • 有没有办法直接在函数参数中格式化字符串而不是使用临时字符串?

    我有一个接受字符串 字符数组 作为参数的函数 void enterString char my string 当使用这个函数时 我经常发现自己想要输入格式化的字符串 我使用 sprintf 来做到这一点 然而 我每次都必须创建一个临时字符串
  • 如何将 int 作为“void *”传递给线程启动函数?

    我最初有一个用于斐波那契变量数组的全局变量 但发现这是不允许的 我需要进行基本的多线程处理并处理竞争条件 但我无法在 pthread 创建中将 int 作为 void 参数提供 我尝试过使用常量指针 但没有成功 由于某些奇怪的原因 void
  • 无法识别解决方案文件夹中的 Visual Studio 2017 Nuget.config

    我在使用 Visual Studio 2017 时遇到问题 新的解决方案不断引用 C Users yopa AppData Roaming NuGet Nuget config 中意外位置的 Nuget config 文件 我已将 nuge
  • 这种尺寸对齐是如何工作的

    对于所提供的评论 我无法理解以下代码 这段代码的作用是什么 以及等效的代码是什么8 aligned segment size must be 4 aligned attr gt options ssize 3 Here ssize is o
  • 将 char 绑定到枚举类型

    我有一段与此非常相似的代码 class someclass public enum Section START MID END vector section Full void ex for int i 0 i section
  • 使用 C# 动态创建按钮并按预定义的顺序放置它们

    NET 4 5 C 创建 Windows 窗体 我想动态创建和添加按钮并为其分配单击事件 但希望它们以特定的方式动态放置 就像图像一样 我的问题是如何以上述方式动态放置按钮 即 4x4 格式 一行 4 个按钮 4 列 但行数不受限制 是否可

随机推荐

  • Golang-如何判断一个 interface{} 的值是否为 nil ?

    引用 起初我会下意识的回答 直接 v nil 进行判断不就好了吗 然后翻阅了很多资料终于大致搞定里面的道道 例子 请看下面这段代码 可以先猜测一下输出的结果 package main import fmt func main var a s
  • python复数类型-Python 复数属性和方法操作实例

    复数是由一个实数和一个虚数组合构成 表示为 x yj 一个复数时一对有序浮点数 x y 其中 x 是实数部分 y 是虚数部分 Python 语言中有关复数的概念 1 虚数不能单独存在 它们总是和一个值为 0 0 的实数部分一起构成一个复数
  • datax->hdfsreader->orc文件读取出错ArrayIndexOutOfBoundsException: 6

    Exception in thread main java lang ArrayIndexOutOfBoundsException 6 at org apache orc OrcFile WriterVersion from OrcFile
  • bash: pip3: command not found

    问题描述 当使用命令pip3 install XXX 出现错误 bash pip3 command not found 错误原因 pip3还没有安装 解决方法 安装 pip3 sudo apt install python3 pip
  • 单片机设计_实时时钟电路(AT89C51、LCD1602、DS1302)

    单片机实时时钟电路 LCD1602 DS1302 想要更多项目私wo 一 简介 此电路主要有51单片机 LCD1602模块 DS1302芯片组成 通过LCD1062显示当前时间 二 运行效果 三 源文件 main c 想要更多项目私wo i
  • 3DMax渲染常见问题

    span style color rgb 153 0 0 font family none font size 24px background color rgb 255 255 255 前言 span 最近在学习3DMax渲染 刚好看网上
  • 【软件工程基础复习整理】第五章概要设计(4) 类设计原则

    单一职责原则 当需求变化时 类的职责就会因此变化 单一职责原则要求的是一个类应该仅有一个引起它变化的原因 如果一个类承担的职责过多 会导致设计脆弱 也即当设计因一个职责的变化二发生改变时会遭到意想不到的破坏 影响这个累执行其他职责的能力 开
  • 用excel AVERAGEIFS函数 计算各校各班学生成绩平均分,

    上节课给大家分享了求平均值函数AVERAGE的用法 这节课 继续给大家分享有条件的求平均值函数AVERAGEIF和AVERAGEIFS 大家看名称就知道 AVERAGEIFS肯定是多条件求平均值的函数 学习内容 1 有条件的求平均值AVER
  • CSS——CSS基础(一篇就够用)

    CSS CSS基础 一篇就够用 一 CSS概述 1 什么是css 2 作用 3 css和html属性的使用原则 二 CSS语法规范 1 css的使用方式 行内样式 内联样式 内部样式 外部样式 2 css的样式特性 继承性 堆叠性 优先级
  • 图的邻接矩阵存储

    public class Graph init public static int MAX GRAPH SIZE 256 最大顶点个数 public static int MAX WEIGHT 65536 图中最大权值 public int
  • 【githubshare】KCon 黑客大会演讲 macOS Big Sur 内核漏洞挖掘、云虚拟化安全、服务器硬件可信与安全实践

    GitHub 上一个开源资料库 KCon 黑客大会演讲 PPT 2021 年包含了 macOS Big Sur 内核漏洞挖掘 云虚拟化安全 服务器硬件可信与安全实践等内容 个开源资料库 KCon 黑客大会演讲 PPT 2021 年包含了 m
  • win10下电脑和开发板无法ping通解决

    首先确保电脑ip地址和开发板ip地址在同一网关下 如图我的电脑和开发板都在192 168 2 网关下 1 打开控制面板 2 选择查看方式为小目标 3 打开防火墙 选择高级设置 4 打开入站规则 选择文件和打印机共享 回显请求 ICMPv4
  • 汇客huikeCRM项目实战-熟能生巧

    任务目录 开胃菜一 统计分析 线索统计 线索转化率漏斗图 开胃菜二 首页 商机转化龙虎榜接口 开胃菜二 首页 线索转化龙虎榜接口 任务一 首页 待办数据统计接口 任务二 统计分析 客户统计 学科客户分布饼图 任务三 统计分析 线索统计 新增
  • elsearch 查询不设置size,默认只返回10条数据.....

    原文链接 http blog csdn net qq 18145031 article details 53489370 方法一 如果需要搜索分页 可以通过from size组合来进行 from表示从第几行开始 size表示查询多少条文档
  • MATLAB2022a/Simulink + STM32F407 Discovery Kit教程1

    0 前面的话 之前在B站上看到了STM32 MATLAB开发环境设置的视频 但是STM32MatTarget包已经被ST官方移除了 这种方法已经过时了 现在有新的方法来利用Matlab来开发STM32 这里来分享一下 主要是参考matlab
  • 什么是以太坊

    文章以及资料 开源 github地址 文章目录 定义 特点 第二层功能 以太币 智能合约 以太坊组件 p2p网络 共识规则 交易 状态机 数据结构 经济安全性 扩展阅读 定义 以太坊 英语 Ethereum 是一个开源的有智能合约功能的公共
  • 使用windows调用Linux远程桌面

    一 安装所需要的软件 yum install y xrdp yum install y vnc chkconfig xrdp on chkconfig vncserver on 二 修改配置 a添加用户 useradd herry b 设置
  • 前端Vue仿美团地址管理列表组件

    随着技术的发展 开发的复杂度也越来越高 传统开发方式将一个系统做成了整块应用 经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改 造成牵一发而动全身 通过组件化开发 可以有效实现单独开发 单独维护 而且他们之间可以
  • Python画樱花树代码和小猪佩奇

    樱花树 效果图 import turtle as T import random import time 画樱花的躯干 60 t def Tree branch t time sleep 0 0005 if branch gt 3 if 8
  • C语言---合法标识符与整型

    目录 1 头文件 2 常量 变量 命名规范 合法的浮点数 小数与指数 char与八进制 3 sizeof 数据溢出 4 整型 5 面向过程 流程 入口 出口 注释 6 进制转换 首先我们来介绍一下 一开始学习c语言最先遇到的头文件是什么 头