截至到今天,我已经正式的学习了3天C语言。其实一开始我是打算先学python的,但是在我准备从化工跨考408的入门阶段发现,学习408的前提是学好C语言,于是我便开始了C语言的学习。
第一天学习C语言我便认识了第一个主函数:
int main()
{
return 0;
}
后面的学习中我渐渐的认识了C语言,以及在学习C语言的过程中表现出了在化工领域内从未感受到过的兴趣,可以说我学习C语言的契机是考408,但是让我学习C语言的持续动力则是兴趣使然,进而我渐渐的了解了C语言的:
一、数据类型:char 字符数据类型、short 短整形、int 整形、long 长整形、long long 更长的整形、float 单精度浮点数类型、double双精度浮点数类型。
二、变量和常量以及其作用域和生命周期:
1、变量为诸如n等位置数,常量为诸如10等的阿拉伯字母,注:若 int n = 10. 将10赋给此时的n就变成了常变量。但是在数组中,例:int arr[n]此时的n虽然是常变量,但是究其根本还是变量,而数组的[]中只能放入常量。
2、变量分为全局变量以及局部变量,且当作用于局部中那么局部变量优先级较高。
3、全局变量可以作用在整个工程中,甚至全局变量可以作用于不同的工程中。
4、作用域即是变量存在的作用范围,其生命周期是该变量在作用域内作用后其“生命”就会结束
三、字符串
1、字符串是由“”引起来的一串字符,其结束标志为 ' \0 ' 。而“qwert”这一串字符中虽然没有\0但是这种写法在C语言中默认为最后一位有一个\0,如果此时你输入这样一串代码:
int main()
{
char arr1[] = "qwert"; //注每行代码的最后都要加上 ‘;’。
char arr2[] = ("q","w","e","r","t");
char arr3[] = ("q","w","e","r","t","\0");
printf("%s\n",arr1);
printf("%s\n",arr2);
printf("%s\n",arr3);
return 0;
}
此时的打印输出结果为:
qwert
不确定
qwert
而造成此结果的原因为当采用arr2写法时,字符串的结束位置操作系统没有找到\0,就导致系统在打印输出的过程中会把\0前的所有字符串一起打印下来,知道遇见\0才结束输出,故不确定其打印结果。
2.当我们用strlen【string length】来求一个字符串的长度时同理我们直接采用上述arr2的写法:
int main()
{
char arr4[] = ("q","w","e","r","t");
printf("%d\n",strlen(arr4));
return 0;
}
此处的长度为多少则不言而喻。
四、转义字符
1、\? \' \" \\ 这些转义字符主要由’\‘组成该’\‘的作用就是令\后面的字符只是单纯的字符的意思。如问号在古老的版本中容易被系统曲解为‘[’或者‘]’,这个反斜杠的作用就是让此问号仅仅只是一个问号。
2、\a的作用为让你的电脑产生一个响声
3、\b为退格,例abc\bdef,打印输出的结果为abdef
4、\n为换行,例abc\ndef,打印输出结果为第一行为abc,第二行为def
5、\r为回车
6、\t为水平制表符,四个空格为一个水平制表符,例:abc\tdef,打印输出结果为abc def
7、\v为垂直制表符
8、\ddd,ddd表示为1~3个8进制数字,如\176
9、\xdd,dd表示2个16进制数字
五、选择语句和循环语句
1、选择语句:if else
2、循环语句:while;for;do…while
六、函数
函数有很多种,不过需要在程序运行之前给函数下定义。
例:如果想使用Add这个函数,Add为加法,那么就要给这个函数下一个定义:
int Add(int x, int y)
{
return(x + y);
}
定义完成。