概述
关于C语言的学习,主要分为语言、算法、数据结构、系统调用、设计几个大方面。
今天想和大家说的是 转义字符 和 常量 的一些简单知识
转义字符,说白了就是"/"+其他字符。基本的转义在这里就不一一介绍了,每一本资料上 应该都有。我现在想说一些容易出错的。
1、引号的输出
printf(""");或者printf("%c",'"');
单斜线的输出
printf("\");
2、如说我输出一串的路径的话呢?像这样
printf("C:testadd11-25test.c");
那么会输出什么呢?很明显这样是输不出想要的路径的,输出结果应该是
C: estdd -25 est.c(中间都是隔着一个tab的位置)
为了输出想要的结果,这里就要用到转义,原来所有的单斜线都改为双斜线,
printf("C:\test\add\11-25\test.c");
3、针对问题二,多问一个问题,看如下程序:
int a;
a=strlen("C:testadd11-25test.c");
printf("%d",a);
它的输出结果是多少呢?不妨自己猜一下,然后试一下。
所有的字符转义后不管是什么,都只占一个位。
关于常量,常见的常量有字符型、整型、浮点型、还有枚举(enum),前几种类型不用做解释,关于枚举还是想多啰嗦几句的。
1、首先举一个简单枚举的例子(所有名称都是自己随意起的):
enum OS
{
WIN,
LINUS,
UNIX
};
通常情况下,我们管大括号内的不叫成员,叫他可能取值,均为常量,可以给它赋值,在不赋值的情况下,默认从上到下0,1,2...,如果在上面的程序后面加上一句
printf("%dt%dt%dt",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,程序能不能正确编译呢?
大家可以试试。
注:数组空间是在编译前就开辟好了的。
最后
以上就是勤奋音响为你收集整理的c语言数输出一个转义字符串,C语言学习----转义字符,常量的全部内容,希望文章能够帮你解决c语言数输出一个转义字符串,C语言学习----转义字符,常量所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复