有关函数、常量、字符串、转义字符\、ASCII码值、循环line++、

2020/12/25 13:48
阅读数 140

由于害怕编译器给的函数会出现跨编译器不兼容
所以会提示如scanf函数的unsafe 不安全
如果在该源文件的开头行加上
#define _CRT_SECURE_NO_WARNINGS 1
则会取消提示



常量
C语言中常量分为
①字面常量:在代码中输入100,这三个数字则是代表100的字面常量;
②const修饰的常量:在一个数据前面加const这个变常量代码,则会让数据变成常变量,从而无法修改。虽然是变量,但是拥有常量属性;
③#define 定义的标识符常量。如#define max 10,则将max定义成为了10;
④枚举常量:枚举表示一一列举,比如说性别、三原色、星期等。C语言中表示这些常量要用到枚举关键字-enum。如枚举性别:enum Sex { Male,Female,Secret};其中相当于是把Male,Female,Secret设置为常量0,1,2;




字符串类型
“hello world\n” 双引号中的内容为字符串
其中\0是结束标志,不算入字符内容

char是表示字符类型
在char arr1[] = "abc"中,abc后面其实自动藏了一个\0表示结束了
而在char arr2[] = {'a','b','c'}中,没有\0,所以一打印就会出现乱码,要手动添加为{'a','b','c',0}才能正常打印
出现以上问题的原因是在c语言中,每一个字符都被编了一个码,如A为65、a为97等,可以在ASCII表中查找到。0为\0


strlen()计算字符串长度,string lenght;用该函数来计算char arr[] = {'a','b','c'}时,出现的其实是随机值,因为不知道它什么时候在里面找到\0
%s 打印字符类型

转义字符:转变原来的意思的字符;
如\n其中的n已经不是n的意思了,加上\后变成了换行;
\t变成了水平制表符,也就是键盘上的tab键;
如果不想让字符变成转义字符,可以在\前在加一个\,如\test就不会变成 est;
如果想printf(’‘’)而不报错,那就printf('\'')将中间的‘转义成普通的’,而不和第一个'配对;



如果尝试printf("\32") 则会出现一个向右的箭头,因为\DDD中,DDD代表1~3个八进制数字,打印出来则会转化为10进制在ASCII表中所代表的数据;
8进制32转化为十进制为 38^1+28^0=26 在ASCII表中表示一个向右的箭头;

如果尝试printf("\x61") 那么是 \xDD,其中DD为十六进制的数字转化为十进制所代表的ASCII数据,则是616^1+116^0=97,打印结果为a

ASCII码值常识
48~49 依次表示0~9;
65~90依次表示A~Z;
97~112依次表示a~z;
大小写之间差32



注释
也就是这一段不要了,但是也不删除,只是让它不产生任何价值;
①// 这种方法可以嵌套注释;快捷键为ctrl+K+C,取消注释为ctrl+K+C
②/ / 这是整段注释,整段不要了


选择
if
else

循环
while
line++

函数
C语言具有强大的灵活性,除了已经存在模板的库函数之外,可以自荐函数;
例如加法,原来是
int main ()
{
int a = 2;
int b = 3;
int sum = 0;
sum = a + b;
printf("%d\n",sum);
return 0
}
但是我们可以在该加法代码块的前面预设一个加法函数,变成
int add (int x,int y)
{
int z = x+y;
return z
}
int main ()
{
int a = 2;
int b = 3;
int sum = 0;
sum = add(a,b);
return 0;
}
红色为映射数据,这样一来如果下面函数有一大把需要用到加法运算的都可以借助add()来完成。

























展开阅读全文
est
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部