初识c语言(下)

简介: 初识c语言(下)

常量、变量

常量的定义

常量是程序中固定不变的值。C语言中有不同类型的常量,如整数常量、浮点数常量、字符常量和字符串常量等。

常量的定义格式为:

数据类型 常量名 = 值;
  • 数据类型 指定常量的类型,如 intfloatchar 等。
  • 常量名 是常量的标识符,用于在程序中引用该常量。
  • 是常量的具体数值。

示例:

int MAX_VALUE = 100;
float PI = 3.14159;
char NEW_LINE = '\n';
变量的定义

变量是程序中用于存储和操作数据的一种容器。在C语言中,变量的定义需要指定变量的类型和标识符。

变量的定义格式为:

数据类型 变量名;
  • 数据类型 指定变量的类型,如 intfloatchar 等。
  • 变量名 是变量的标识符,用于在程序中引用该变量。

示例:

int a;
float b;
char c;

可以在定义变量的同时给其初始化,即指定变量的初始值:

数据类型 变量名 = 初始值;
  • 初始值 是变量的初始数值。

示例:

int a = 10;
float b = 3.14;
char c = 'A';

需要注意的是,变量的值可以在程序中改变,而常量的值在定义后不能被修改。

无论是常量还是变量,它们的定义通常在程序的函数体之外进行,即在函数外部(全局变量),或在函数内部但是在函数的开头(局部变量)。这样定义的变量和常量可以在整个函数内部使用。

const对c语言的影响

在C语言中,使用 const 关键字可以对代码的行为和特性产生一些影响。

常量性:

const 关键字用于声明常量,将变量声明为常量后,其值在程序中是不可修改的。这可以确保常量的值不会被意外地修改,增加了代码的可读性和可维护性。

类型检查和安全性:

const 关键字提供了更强的类型检查。在使用 const 声明的常量中,编译器会检查类型匹配以避免类型错误。这样可以在编译时捕获一些错误,提高代码的安全性和可靠性。

编译时优化:

编译器可以使用 const 常量的值来进行编译时优化,例如常量折叠(Constant Folding)。在执行表达式求值时,编译器可以直接用常量的值进行计算,避免了重复计算,提高代码的执行效率。

作用域限制:

const 关键字可以用于限制变量的作用域,使其只在声明的作用域内有效。这有助于提高代码的模块化和封装性,避免变量的误用。

const影响的具体表现

用const修饰变量时其本质还是变量

例如:

#include<stdio.h>
int main()
{
  const int a=3;
  int arr[a] = { 0,1,2,3 };//190行
  printf("%d", arr[a]);
  return 0;
}

上述代码会报错,而报错的原因:

因为c语言中,const修饰的变量其本质上还是变量,数组[ ]中只接收常量,所以会报错,但在c++中则没有这样的问题,c++直接把const修饰的变量当作常量来使用,用兴趣的小伙伴可以用c++来试一下

总的来说,const 关键字对C语言的影响主要体现在提高代码的可读性和可维护性、增强类型检查和安全性、提供编译时优化的机会、限制变量作用域等方面。通过合理使用 const 关键字,可以编写更加安全、高效和易于理解的代码。

字符串

字符串的定义

在C语言中,字符串是由字符组成的数组。可以使用字符数组来表示字符串,字符数组的最后一个元素需要是字符串的终止符\0。这个终止符表示字符串的结束。

例如

char str1[] = "Hello, World!";

上述为正确使用字符串形式,将其打印出来的话,截图如下:

可能有些小伙伴会好奇为什么不使用第二种形式,我们把两种形式放在一起打印出来看一下有什么区别

char str1[] = "Hello, World!";
char str2[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!'};

运行截图如下:

第二种方式出现这样的原因是因为我们前面提到过,字符串的结束标志是’\0’,第一种方式会自带’\0’,而第二种方式则不会,并且第一种方式更简便一些,如果大家一定要用第二种方式,只要在后面手动的添加’\0’就可以了,例如:

char str1[] = "Hello, World!";
char str2[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};

这样我们再运行一下,两种方式的结果就一样了

转义字符

转义字符是以反斜杠(\)开始的特殊字符序列。它们用于表示一些无法直接输入或在字符串中表示的字符,如换行符、制表符、引号等,或者顾名思义就是转变原有的意思。

例如我们想要打一下一串代码的话:

c:\code:\test.c

printf("c:\code:\test.c");

运行结果是什么样子呢

运行结果出现这样的情况就是因为’\t’是一个转义字符,打印出来会出现一个类似于Tab键的空格。我们如果想要避免以上情况只要再转义字符前再加一个’'就可以了,类似于负负得正的含义。

示例如下:

以下是c语言中常见的一些转义字符:

下面给大家分享一下ASCII码表:

需要注意的前32个字符为不可打印字符,并且在用八进制或16进制打印时也不要超出ASCII的范围,否则后果是有些无法预测的

总结概要

本篇内容到此就暂时分享完毕,主要带领大家简单认识一下c语言的基本常识,后续会有更多的个人拙见与大家分享,希望和各位小伙伴多多交流技术。

目录
相关文章
|
7月前
|
C语言
C语言练习5
C语言练习5。
35 2
|
7月前
|
C语言
【C语言】exit函数详解
【C语言】exit函数详解
2456 0
|
Linux 编译器 C语言
C语言必知必会
C语言必知必会
88 0
|
4月前
|
C语言
C语言中的无参函数
C语言中的无参函数
325 1
|
6月前
|
机器学习/深度学习 人工智能 算法
C4.
|
7月前
|
存储 算法 安全
C语言的算法结构
C语言的算法结构
C4.
90 0
|
C语言
C语言:%d, %2d, %02d 等
C语言:%d, %2d, %02d 等
|
C语言
C语言之宏详解(超级详细!)
C语言之宏详解(超级详细!)
|
网络协议 Unix 编译器
初识c语言(上)
初识c语言(上)
77 0
|
存储 人工智能 C语言
C语言假期作业 DAY 09
C语言假期作业 DAY 09