C语言变量的使用

本文深入探讨了C语言中变量的定义、初始化及其注意事项,包括变量名的定义方式、初始化的重要性、转义字符的应用、符号常量的宏定义、注释的使用、零的意义、const变量的概念以及与#define的区别等核心知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.   变量名的定义及定义方式:

1. 变量名都是由字母.数字和下划线组成. (变量名就是一种标识符)

2. 要定义多项变量名的时候, 要分开写, 例如想要定义

int a, b ;的话, 语法上虽然不会出错, 但会在以后掺入指针的时候产生疑问, 需按规范写成

int a = 0 ;

int b = 0 ;

int nAge = 10 ;

如果10 变成10.5 或者10.9 , 也能编译, 但结果还是10, 不存在四舍五入, 这叫丢失精度, 因为是高位向低位转(10.9占8字节,比10 的4字节高)

一.   变量的初始化:

当一个变量被定义后, 如果不给它赋值, 那么它的值将是一个随机值, 在程序中使用的话会引起不可预知的错误.

赋值的定义: 变量被定义后给它一个值就叫赋值.

①. 字符常量和整型数据间可以运算;

②. 字符常量和整型数据间可以互相赋值.

转义字符

转义字符

转义字符的意义

\n

回车换行符

\t

Tab制表符

\b

退格符

\r

回车符

\\

反斜线符”\”

\’

单引号符

\”

双引号符

  1. “\n”可以把”\r”覆盖.

  2. getch( )这个命令里, 只接受”\r”不接受”\n”, 这个函数的功能是隐式输入.

  3. 要输入c:\a.txt 的话,直接输入会变成”c: .txt”, 因为”\a”会被默认为是一个转义字符而无法实现输出, 需要输入’\\a”才能实现输入.

     注: 同理理解”\”, “ \’ ”的运用.

  4. 退格符的使用:

if( '\b' == szInput[j] )

      {

           printf( "\b \b" ) ;

           j= j - 2 ;

      }

      if( j<0 )

      else

{

      printf(“*” ) ;

}

 

四. 符号常量—宏定义

        #define

  格式:#define符号常量 常量

   例: #define NUM 20

        #define PI 3.1415926

   注意: 1. 行尾不能加分号(即常量后面)

        2. 宏名必须大写(即符号常量必须大写)

        3. 宏的工作就是作简单的字符串的替换, 无其他任何作用

        4. 宏可以重复定义, 编译不会报错, 只以最后一次定义为准, 如:

          #define SIZE 100

          #define SIZE 200

          替换的时候会换成200

※ 以下是一种#define的用法, 不过一般不会这么用, 原因是写程序前已经基本定好了是哪种数据类型的:

#include<stdio.h>

#define SIZE 100

#define TYPE “%d\n”

int main( intavgc, char *avgv[] )

{

printf( TYPE, SIZE ) ;

return 0 ;

 }

         5. 面试题: 已知一个数组为table, 类型不知道, 占用长度也不知道, 问这个数组占用多少个字节?

                #defineLEN ( sizeof( table ) / sizeof( table[0] ) )

 

五. 注释:

  1. 单行注释: //________

  2. 多行注释: /*

               _______

               _______

            */

被注释后的内容都会变成绿色, 不会被编译, 可以在其中输入任意内容包括中文.

多行注释符号可被单行注释符号注释掉使其失效-----“// /*”

六. 零的意义:

   1. 整数零→int (4字节)

   2. ‘\0’→char (1字节)   ‘\0’的ASCII值为零

   3. 空值NULL, 通常在指针操作

   4. bool里的0→false

   5. 除了零之外的都叫非零值

   6. 所有的零值都是: 假, 所有的非零值都是: 真 (用于判断)

  注: 1). ‘0’不是零, 因为它的ASCII值是48.

      2). “0”不是零, 因为它是字符串. (以‘\0’结束).

七. const---不可修改的变量

    const int SIZE =100 ;

  1. const的对象名字全大写.

  2. const的对象必须初始值.

  3. const的对象不能被赋值.

  4. const语句后必须加分号.

  错例:

1). const intSIZE = 100 ;

            SIZE= 200        // 错误!原因: const对象不能被赋值.

      2). const int SIZE =100 ;

            SIZE = 100       // 错误!! 原因: 不能被重复定义.   

      ※ #defineconst的区别:

        ①. 前者是C语言的, 后者是C++的

②. 前者定义的符号常量是无类型的, 只能作简单的替换

    后者有类型, 会作类型检查(编译时)

③. 前者可以重复定义, 后者不行

④. 前者不能加分号, 后者必须加分号


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值