C语言学习----转义字符,常量

页面导航:首页 > 软件编程 > C 语言 > C语言学习----转义字符,常量

C语言学习----转义字符,常量

来源: 作者: 时间:2016-01-25 09:50 【

关于C语言的学习,主要分为语言、算法、数据结构、系统调用、设计几个大方面。 今天想和大家说的是 转义字符 和 常量 的一些简单知识 转义字符,说白了就是/+其他字符。基本的转
   关于C语言的学习,主要分为语言、算法、数据结构、调用、设计几个大方面。
     今天想和大家说的是  转义字符  和 常量 的一些简单知识
     转义字符,说白了就是"/"+其他字符。基本的转义在这里就不一一介绍了,每一本资料上 应该都有。我现在想说一些容易出错的。
 1、引号的输出
            printf("\"");或者printf("%c",'"');
   单斜线的输出
            printf("\\");
 2、如说我输出一串的路径的话呢?像这样
             printf("C:\test\add\11-25\test.c");
        那么会输出什么呢?很明显这样是输不出想要的路径的,输出结果应该是
               C:    estdd    -25    est.c(中间都是隔着一个tab的位置)
      为了输出想要的结果,这里就要用到转义,原来所有的单斜线都改为双斜线,
                  printf("C:\\test\\add\\11-25\\test.c");
 3、针对问题二,多问一个问题,看如下程序:
      int a;
      a=strlen("C:\test\add\11-25\test.c");
      printf("%d",a);
   它的输出结果是多少呢?不妨自己猜一下,然后试一下。
   所有的字符转义后不管是什么,都只占一个位。
 
    关于常量,常见的常量有字符型、整型、浮点型、还有枚举(enum),前几种类型不用做解释,关于枚举还是想多啰嗦几句的。
    1、首先举一个简单枚举的例子(所有名称都是自己随意起的):
      enum OS
      {
         WIN,
         LINUS,
        UNIX
       };
    通常情况下,我们管大括号内的不叫成员,叫他可能取值,均为常量,可以给它赋值,在不赋值的情况下,默认从上到下0,1,2...,如果在上面的程序后面加上一句
     printf("%d\t%d\t%d\t",WIN,LINUS,UNIX);
    输出结果为 0    1    2
    若仅给中间某一个数赋值,则下一个数在该数的基础上加1,具体情况大家可以自己调试一遍。学习C的过程就是不断敲代码的过程。
   2、说到这里,另外再提一个关键字“const”
    const修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的。比较一下下面两句:
            int n=10;    //n为变量
            const int n=10;    //变量转换为常量,后期是不可以对n值进行修改的。
    像这样:
          const int n=10;
          n=20;
    程序就会报错,但是真的不可以改掉n的值了吗?在C语言中,未必。
       指针,一个几乎万能的工具。看下面程序:
         const int n=10;
         int *p=(int *)&n;   //注意将n的地址强制转化为指针,否则也会报错
         *p=20;
         printf("%d",n);
     这样程序的输出结果就变成了20。
    3、数组
     首先看一个程序:
      int main()
     {
           int n=10;
           int  fun[n];
     }
     相信大家很容易看出程序是有问题的,在C语言中,数组的宽度必须是常量,那如果把第三行程序前面加上const,程序能不能正确编译呢?
     大家可以试试。
    注:数组空间是在编译前就开辟好了的。
Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<