C语言的合法标识符与整型详解

目录
  • 头文件
  • 常量
    • 变量
    • 命名规范
    • 合法的浮点数
      • 小数与指数
    • char与八进制
      • 以下通过代码来举例
  • sizeof()
    • 数据溢出
  • 整型
  • 面向过程
    • 流程
    • 入口、出口
    • 注释
  • 进制转换
  • 总结

首先我们来介绍一下,一开始学习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

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • 详解C语言的基本数据类型

    目录 1.C语言基本数据类型 2.计算机中的单位 3.各数据类型的大小及字取值大小 总结 1.C语言基本数据类型 2.计算机中的单位 3.各数据类型的大小及字取值大小 对于short int .int .long int.long long int,虽然都为整形数据类型,但是在存储像年龄.特定的尺寸及尺寸等数值比较小的整型数据时,没必要用long long int 甚至是int去存储该类数据,因为这样会浪费计算及的存储的内存,但是当需要存储相当大的数据时,就需要用到long longint这样的

  • C语言中的浮点数据类型

    目录 1. 处理带小数的数值 2. 浮点类型 3. 浮点类型的sizeof 1. 处理带小数的数值 我们来讨论一下类似于1.234567,0.00001,这类非整数的数据.我们先试试看,int能不能装这些数据呢? #include <stdio.h> int main() { int a = 1.234567; int b = 0.00001; int c = 365.12345; printf("%d\n", a); printf("%d\n", b)

  • 详解javascript的变量与标识符

    一.变量 从字面上看,变量是可变的量:从编程角度讲,变量是用于存储数据的容器 1.1变量特性 javascript中的变量是松散类型的,可以保存任何类型的数据.由于不存在定义某个变量必须要保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内改变 1.2变量命名 变量可以任意取名,但必须遵循命名规则: [1]第一个字符必须是字母.下划线或美元符号.其他字符可以是字母.下划线.美元符号或数字 //错误示范 6num //开头不能用数字 %sum //开头不能用除(_ $)外特殊符号,

  • C语言入门篇--四大常量(字面,const修饰,宏,枚举)及标识符

    目录 1.字面常量 2.const修饰的常变量 3.#define定义的标识符常量 3.1标识符 3.2宏常量 4.枚举常量 1.字面常量 (1)字面意思是啥就是啥,看其表示就可以知道其值和类型. (2)有值无名,一用来初始化变量,与一种字符相关联. #include <stdio.h> int main() { 10;//int型数字10 'c';//char型字符c "Hello world!";//字符串常量(!C语言无字符串类型) int sum=10+20;//1

  • javascript基础语法——全面理解变量和标识符

    关于javascript,第一个比较重要的概念是变量,变量的工作机制是javascript的基本特性.实际上,变量是标识符的一种.本文将详细介绍变量和标识符 定义 标识符(Identifier)就是一个名字,用来对变量.函数.属性.参数进行命名,或者用做某些循环语句中的跳转位置的标记 //变量 var Identifier = 123; //属性 (new Object).Identifier = 'test'; //函数及参数 function IdentifierName(Identifie

  • 基于JavaScript中标识符的命名规则介绍

    JavaScript中的标识符的命名有以下规则: 由字母.数字.$._组成 以字母.$._开头 不可以使用保留字!!! 要有意义!!!!!!! 标识符的命名规范: 1.驼峰命名法 除标识符的第一个单词外,其余单词的首字母大写,例如:trueName 2.蛇型命名法 单词之间用_隔开,例如:true_name (注:大多数情况下,以1~2个下划线开始的标识符,代表特殊变量或内部变量,我们在自己定义的时候,尽量避免使用以下划线开头的变量) (粗浅的见解,望批评指正) 以上这篇基于JavaScript

  • C语言的合法标识符与整型详解

    目录 头文件 常量 变量 命名规范 合法的浮点数 小数与指数 char与八进制 以下通过代码来举例 sizeof() 数据溢出 整型 面向过程 流程 入口.出口 注释 进制转换 总结 首先我们来介绍一下,一开始学习c语言最先遇到的头文件是什么 头文件 又名工具箱 提供一系列方法(工具) #include <stdio.h> #include "stdio.h" <>: 直接在系统目录进行查找 找不到会直接报错 " ": 先在当前目录下进行查找

  • java语言基础之标识符和命名规则详解

    标识符 Java 对各种变量.方法和类等要素命名时使用的字符序列称为标识符 技巧:凡是自己可以起名字的地方都叫标识符 定义合法标识符规则: 由26个英文字母大小写,0-9 ,_或 $ 组成 数字不可以开头. 不可以使用关键字和保留字,但能包含关键字和保留字. Java中严格区分大小写,长度无限制. 标识符不能包含空格 下面是代码说明:(帮助大家理解一下每句话的意思) class IdentifierTest{ public static void main(String[] args){ sys

  • C语言关键字union的定义和使用详解

    union,中文名"联合体.共用体",在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量. 但在"联合"中, 各成员共享一段内存空间, 一个联合变量的长度等于各成员中最长的长度 .一个联合体类型必须经过定义之后, 才能使用它,才能把一个变量声明定义为该联合体类型. 当定义结构对象时,如果没有显式地初始化它们,则会采用一般初始化规则:如果该结构对象属于动态存储类型,那么其成员具有不确定的初始值

  • Go语言基础类型及常量用法示例详解

    目录 基础类型 概述 按类别有以下几种数据类型 数值类型 派生类型 变量 概述 单个变量声明 多个变量声明 基础类型 概述 在 Go 编程语言中,数据类型用于声明函数和变量.数据类型的出现时为了把数据分成所需要用大数据的时候才需要申请大内存,这样可以充分的列用内存. 按类别有以下几种数据类型 数值类型 布尔型 bool:布尔型的值只可以是常量 true 或者 false,默认值为 false. 字符串类型 string:编码统一为 UTF-8 编码标识 Unicode 文本,默认值为空字符串.

  • C语言递归在实践题目中应用详解

    目录 递归知识点 题目 第一题 第二题 第三题 第四题 第五题 第六题 第七题 递归知识点 递归概念:程序调用自身的编程技巧称为递归( recursion). 递归做为一种算法在程序设计语言中广泛应用. 一个过程或函数在其定义或说明中有直接或间接 调用自身的 一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解, 递归策略 只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量. 通俗理解就是:函数自己调用自己 递归的主要思考方式就是大事化

  • Go语言函数的延迟调用(Deferred Code)详解

    目录 基本功能 示例一:延迟调用执行顺序 示例二:多defer使用方法 实例三:defer与局部变量.返回值的关系 先解释一下这篇Blog延期的原因,本来已经准备好了全部内容,但是当我重新回顾实例三的时候,发现自己还是存在认知不足的地方,于是为了准确表述,查阅了大量的资料,重新编写了第三部分,导致延期.感谢持续关注本笔记更新的朋友,后期我将逐步通过3-5分钟视频方式为大家对笔记内容进行讲解,帮助更多的朋友能够快速掌握Go语言的基础. 本节将介绍Go语言函数和方法中的延迟调用,正如名称一样,这部分

  • Go语言数据结构之单链表的实例详解

    目录 任意类型的数据域 实例01 快慢指针 实例02 反转链表 实例03 实例04 交换节点 实例05 任意类型的数据域 之前的链表定义数据域都是整型int,如果需要不同类型的数据就要用到 interface{}. 空接口 interface{} 对于描述起不到任何的作用(因为它不包含任何的method),但interface{}在需要存储任意类型的数值的时候相当有用,因为它可以存储任意类型的数值. 一个函数把interface{}作为参数,那么它可以接受任意类型的值作为参数:如果一个函数返回i

  • C语言模拟实现atoi函数的实例详解

    C语言模拟实现atoi函数的实例详解 atoi函数,主要功能是将一个字符串转变为整数,例如将"12345"–>12345.但在实现过程中,我们难免会因为考虑不够全面而漏掉比较重要的几点,今天就总结一下实现atoi函数需要注意的地方. 1.指针为NULL 2.字符串为空字符串 3.空白字符 4.正号与负号问题 5.溢出问题 6.异常字符处理 接下来看代码:(具体几种问题处理都在代码的注释中说明) #define _CRT_SECURE_NO_WARNINGS 1 #include

  • C语言实现的一个三子棋游戏详解流程

    目录 前言 一.三子棋完成程序运行结果 二.三子棋代码实现 1.创建源文件与头文件 2.整体页面的制作 3.制作并打印棋盘 1.在test.c文件中,定义函数game(); 2.在game.h 头文件中 3.在game.c源文件中 4.人机互动下棋 1.在test.c源文件中 2.在game.h头文件中 3.在game.c源文件中 4.此时打印效果 5.判断输赢 1.在test.c源文件中 2.在game.h头文件中 3.在game.c源文件中 4.最终实现结果 最后 前言 三子棋是我们先前所学

  • C语言数学问题与简单DP背包问题详解

    目录 数学 买不到的数目 蚂蚁感冒 饮料换购 简单DP 背包问题 二维 一维 数学 顾名思义,数学类的题就是都可以用数学知识求解. 买不到的数目 这是第四届蓝桥杯省赛C++A组,第四届蓝桥杯省赛JAVAC组的一道题 小明开了一家糖果店. 他别出心裁:把水果糖包成4颗一包和7颗一包的两种. 糖果不能拆包卖. 小朋友来买糖的时候,他就用这两种包装来组合. 当然有些糖果数目是无法组合出来的,比如要买 10 颗糖. 你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17. 大于17的任何数字

随机推荐