(ps补充:scanf这个函数是c语言自带的但是在vs中会报错或者产生警告,这边解决方法有两种一就是上一篇说的使用scanf_s但是注意,此种方法的跨平台性和可移植性降低了也就是说解决的是燃煤之急但是不是根本原因哈,所以推荐第二种方法就是在源文件中的第一行敲#define_CRT_SECURE_NO_WARNINGS 1 -这里的1是启动的意思0则是关闭)
初始c语言2
1 常量
常量是指生活中不能变得量
①字面直接写出来,比如:3,3.14,10
②const修饰常变量,const本身是常属性--eg:当一个常量4被赋予给一个变量的时候,此处的变量是可以改变的即如果你的代码是
#include<stdio.h>
int main()
{const int num = 4;
num = 5; (x)//此时的num被const修饰的时候是不可以改变的,但是num本身是一个变量,但是被const修饰了具有常属性
printf(“%d\n”,num);
return 0;
}
③#define本身的意思是定义--即在cs中也作为一个定义的标识符常量
(前边省略)#define Max 100
printf("max = %d\n",Max);
④枚举常量
这个常量的关键就是enum相当于是一一列举
eg:enum sex
{male
female
secret};
‘{}‘这里边的枚举常量是不能改变的
但是通过枚举所创建出的常量可以改变
并且枚举常量的本质是,给一个字符一一排列,所以默认从0开始输出并且递增1
就也是/接上边的代码
int main()
{printf("%d\n",male);//0
printf("%d\n",female);//1
printf("%d\n",secret);//2
return 0;
}
2 字符串
字符串就是 被 ” “ 涵盖,eg:”abcdf“ ”hello“--此处一个特殊字符串就是空字符串” “(其实是空格)
并且可以把字符串放在字符数组里去,eg:char arr[] = "abc";--数组
字符就是’a‘ 'A' 多个叫做字符串
在敲数组的时候,有一个点很重要即使字符串的结束标志
eg:char arr1[] = "abc";
char arr[] = {'a','b','c'};
补充:strlen --string length 计算字符串长度
即如果去计算上边两个数组的长度时可写eg:{printf("%d\n",strlen(arr1));
printf("%d\n",strlen(arr2));
return 0;}
这两个的区别在于一个是多个字符一个是单字符
并且字符串比字符多一个默认机制即有一个默认的\0的转义字符(转义字符即是转变原本的一个字符或者字符串的意思)
所以当第一个代码敲出来的时候他的一个输出值即为abc
但是第二确实随机制因为computer要去寻找一个转义字符\0用来去判断你这个数组的结束
注:所以这里的'\0'非常重要
//此处稍微介绍一下转义字符:转变原来的意思
eg: printf("abc\n");与printf(”abcn“);的区别在于第一个多了一个’\‘,而这个\ 即是转变的n 的原本意思输出是为空格
这就是转义字符的用途,把一个你想要的一个涵义变为现实
那么此处在介绍两个进制数字
----\ddd与\xdd
给你一个例子{printf("c:\test\32\test.c");}
这个代码块输出的时候含有多少个字符?
答案就是13
why?
转义字符的功劳
\t --原本t就是一个字符t但是加上\是就是水平制表符(按键Tab,即按一次tab键,光标就自动定位到下一个制表符的位置,而且在一个制表符宽度范围内,增加或者删除文字不会影响下一制表符中的文字位置--查的补充的知识点)
并且\32在这里也是一个属于是两个八进制的字符
什么意思呢,我的理解就是\ddd原本的意思就是表示1-3位八进制(注这里是指位数也就是一位两位的意思而不是整体所以\130 \40表示的都是三位或者两位的八进制的数字)
那么\xdd中的dd表示的就是2个十六进制的数字eg:\x30去转化为十进制对应cs中的ascii码值即可
补充:三字母词eg:??+)等可以转换为三字母词也就是改变了想输出的值,与转义字符同理,这里要注意可以在前面多个\防止成为三字母词
字符和字符串都可以被转义
3 注释
代码中有不需要的代码可以直接删除,也可以注释掉
代码中有些代码比较难懂,可以加一下注释文字
注释的符号// 与/* */ 敲了注释的代码时不会影响程序的运行并且可以帮助理解的记忆
当然第二种的注释是不可以嵌套注释的而第一种可以多行注释,相比之下第一种用的比较多
4 选择语句
if else
eg:
#include<stdio.h>
int main()
{int num = 0;
printf("你会好好学习吗?请选择1 或者 2");
scanf(”%d “,&num);
if(1 == num)
{printf(”你是个好孩子\n“);
}
else
{printf(”看来你有自己的选择\n“);
}
return 0;
}
5 循环语句
while,for,do...while
eg:
#include<stdio.h>
int main()
{printf("let's get start study now");
int day = 0;
whlie(100=>day);
{line++;
printf("that's not enough\n");
}
if(100<=day)
printf("how struggle you are! keep it up");
return 0;
6 函数(太难了等我自己悟一下以后csday3)