c语言几种常量表示模式和字符串

简介: c语言几种常量表示模式和字符串

一 四种常量的表示方式


1 字面常量  类似下图中 3.14  'a'  "abc"就是一种字面常量

3cf70af1f4744dc59732d39ec129604c.png


2const修饰的常变量


我们首先声明一个变量a初始值为10 之后将20赋值给a 可以发现程序是可以正常运行的

93b5db03f3824933ac0e156f1c162d81.png


接下来尝试下用const修饰变量a 这时候我们发现a的值不能变化了 那么这个时候就可以说a具有了常属性

faa7210ce6d14253b91ef34708e180a6.png


那么具有了常属性的a究竟是不是一个常量呢?


我们可以自己动手做以下实验:


我们都知道数组arr []的[]内的值是只能又常量或者常量表达式来表示的


假设a是一个常量的话 按照理论来说程序是不会报错的


3 enum枚举常量;


举个栗子


 

enum sex
    { Male,
      Female,
      secret
    };

这就是enum枚举的三个简单的常量


那么要如何证明这三个十个常量呢


a7af17f8a51746e29f7a8d936204f51c.png


我们可以发现枚举的值是一个数字 那么接下来就很简单了


我们可以尝试下这个值能不能被改变 如果能它就是变量 如果不能就是常量

810e92989a1642ccaf5316aacc878af3.png

由上图可知 Male不能被修改是个常量


4 #define修饰的标识符常量


我们如何用#define来定义一个常量呢

caefca4083344599902b4f3b904d0610.png


我们说可以用以上的方式来用#define来定义一个Max常量


证明的方式和以上方式相同 大家可以自己动手尝试一下证明Max是不是一个常量


二 几种打印模式


对于不同类型的数据又不同的打印模式 这里简单提一下


%d 有符号类型的整数


%u 无符号理性的整数


%s 打印字符串


%c 打印字符


三 字符串


基础知识


1 字符串的结束标志是什么? 它算是字符串的内容嘛?


字符串的结束标志是’\0‘  它不算是字符串的内容


围绕字符串结束标志的几个简单问题


cc4640d96cb2440eba8e9c9839832fd7.png


  (1)arr arr2 arr3的字符串长度分别是多少?


   长度分别是 5 随机值 3


 (2)如何使得arr和arr2的字符串长度相等?


   只要在’5‘后面加一个结束标志就可以使得两个数组相同了


 (3)'abc\0adnue3nfun'的字符串长度是多少?


   长度是3 因为遇到结束标志就不统计长度了


转义字符


尝试在c语言编辑器下面打印下面两行代码看看又什么不同


printf("abcdef");

printf("abcd\nef");


几个简单的小问题


我们如何避免打印一个单引号的时候报错呢?


在  ‘  前面加一个反斜杠


我们如何避免\n成为一个转义字符呢?


在\n的前面再加一个\


tips:我们知道再转义字符中有两种特殊的表示形式


\ddd是三个八进制表示的一个ascll码字符


\xdd是两个十六进制表示的一个ascll码字符


那么字符串 "\648" 和字符串'\xag"的字符串长度分别是多少呢?


正确答案是2


这里是一个易错点 因为八进制数字的最大位是8 十六进制的最大位是f


所以说如果在上面的形式中超过这两个数字就不是完整的八进制和十六进制的转义字符了


相关文章
|
5月前
|
安全 C语言
C语言中的字符、字符串及内存操作函数详细讲解
通过这些函数的正确使用,可以有效管理字符串和内存操作,它们是C语言编程中不可或缺的工具。
334 15
|
存储 算法 C语言
【C语言】字符常量详解
字符常量是C语言中处理字符数据的重要工具。通过单引号括起一个字符,我们可以方便地使用字符常量进行字符判断、字符运算和字符串处理等操作。理解字符常量的表示方法、使用场景和ASCII码对应关系,对于编写高效的C语言程序至关重要。
1131 11
|
存储 C语言 开发者
【C语言】字符串操作函数详解
这些字符串操作函数在C语言中提供了强大的功能,帮助开发者有效地处理字符串数据。通过对每个函数的详细讲解、示例代码和表格说明,可以更好地理解如何使用这些函数进行各种字符串操作。如果在实际编程中遇到特定的字符串处理需求,可以参考这些函数和示例,灵活运用。
525 10
|
安全 程序员 C语言
【C语言】指针的爱恨纠葛:常量指针vs指向常量的指针
在C语言中,“常量指针”和“指向常量的指针”是两个重要的指针概念。它们在控制指针的行为和数据的可修改性方面发挥着关键作用。理解这两个概念有助于编写更安全、有效的代码。本文将深入探讨这两个概念,包括定义、语法、实际应用、复杂示例、最佳实践以及常见问题。
381 7
|
C语言
【C语言】<常量> 之群英荟萃
在C语言中,常量(Constants)是指在程序运行过程中其值不能被修改的固定值。常量包括数值常量(整型和浮点型)、字符常量、字符串常量、使用const关键字定义的常量变量以及枚举常量。
253 4
|
存储 算法 C语言
C语言中常见的字符串处理技巧,包括字符串的定义、初始化、输入输出、长度计算、比较、查找与替换、拼接、截取、转换、遍历及注意事项
本文深入探讨了C语言中常见的字符串处理技巧,包括字符串的定义、初始化、输入输出、长度计算、比较、查找与替换、拼接、截取、转换、遍历及注意事项,并通过案例分析展示了实际应用,旨在帮助读者提高编程效率和代码质量。
693 4
|
编译器 C语言
【C语言】常量的 “前缀和后缀” 大通关!
在C语言中,常量的前缀和后缀用于明确指定常量的类型和进制系统。前缀主要用于区分不同进制的数字常量,而后缀则用于区分不同类型的整数和浮点数。正确使用前缀和后缀,可以提高代码的可读性和可维护性,确保编译器正确地理解和处理常量。
663 1
|
C语言 C++
【C语言】解决不同场景字符串问题:巧妙运用字符串函数
【C语言】解决不同场景字符串问题:巧妙运用字符串函数
190 2
|
存储 C语言
【C语言基础考研向】02 数据类型-常量-变量
本文介绍了编程中的基本概念,包括数据类型分类、常量与变量的定义及使用。首先概述了四大类数据类型:基本类型(整型、浮点、字符型)、构造类型(数组、结构体)、指针类型和空类型。接着阐述了常量与变量的区别及命名规则,并详细说明了整型、浮点型和字符型数据的特点与应用。最后总结了常见的易错点,如字符串与字符常量的区别及浮点数的默认输出格式。
290 9
|
存储 C语言
【C语言基础考研向】10 字符数组初始化及传递和scanf 读取字符串
本文介绍了C语言中字符数组的初始化方法及其在函数间传递的注意事项。字符数组初始化有两种方式:逐个字符赋值或整体初始化字符串。实际工作中常用后者,如`char c[10]="hello"`。示例代码展示了如何初始化及传递字符数组,并解释了为何未正确添加结束符`\0`会导致乱码。此外,还讨论了`scanf`函数读取字符串时忽略空格和回车的特点。
528 8