系列前言
本系列博文仅为博主个人学习笔记,通过博客理清学习思路用于复习。如有记述不周到的地方请谅解;如能指出,更加感谢。
这篇笔记仅仅是对c语言部分的概括总结,,后续将会深入学习c语言知识的学习,谢谢大家观看。
四、变量与常量
1.变量分为局部变量和全局变量。他们都有各自的作用域和生命周期。
局部变量的作用域是在该变量的所在的局部范围,生命周期是自进入到作用域开始,到出作用域结束。
全局变量的作用域是整个工程,其生命周期是整个工程的生命周期。
2.常量有以下四种常量:
>1. 字面值常量 ,知道即可,无实际的意义。
>2. const 关键字修饰的常变量, 其本质还是变量,只是因为const 修饰变量具备啦常量的属性
>3. define 定义的标识符常量
>4. 枚举常量 , 其有默认的初试值0 。
enum color{
GREEN,
RED,
YELLOW
};
五、字符串 + 转义字符
认识字符串需要注意的点: 字符串它是由两个双引号括起来的一串字符,它是以’\0’为转义字符为结束标志,但‘\0’它并不算作字符串的一个长度。但这个‘\0’非常重要,为啦突出其重要性,以下代码作为参考
#include <stdio.h>
int main (){
char array[] = "hello";
char array1[] = {'h','e','l','l','o'};
char array2[] = {'h','e','l','l','o','\0'};
printf("%d ",strlen(array));
printf("%d ",strlen(array1));
printf("%d ",strlen(array2));
printf("%s ",array);
printf("%s ",array1);
printf("%s ",array2);
}
- 其中变量字符数组array 与变量字符数组array2 的长度都是5,而变
量字符数组array1的长度是一个随机值。 - array 与 array2 输出的字符串都是相同的,而array1输出的是一串以hello开头的乱码。
- 以上两方法均可强调‘\0’的重要性。
六、转义字符
转义字符 | 释义 |
---|---|
\’ | 用于表示字符串常量’ |
\\ | 用于表示一个反斜杠,防止它被解释成为一个转义字符 |
\b | 退格符 |
\n | 换行 |
\t | 制表符 |
\ddd | ddd 表示1-3个八进制的数字。 如 : \130 X |
\xdd | dd表示2个十六进制的数字 。 如 : \x30 0 |
这里只记录啦一些常见的转义字符。以下做个小小的练习。
//程序输出什么?
int main(){
printf("%d\n",strlen("c:\test\348\test.c"))
}
想不到为什么是14吧,我这就解释给你们听,首先我们要知道\t 是一个制表符,\34也是一个八进制的转义字符,此处的8是一个独立的字符,因为八进制是没有8这个数字的,其他字符均算一个字符,故得到14这个值。
七、 选择语句
if else if单分支和多分支 Switch 语言 这里就罗列一下分支语句
八、 函数
题目 :将3个数进行从大到小的排序并输出。
#include <stdio.h>
void swap (int *x ,int *y){
int tmp = *x ;
*x = *y;
*y = tmp ;
}
int main() {
int a = 0 ;
int b = 0 ;
int c = 0 ;
scanf("%d %d %d",&a,&b,&c);
if(c > b){
swap(&b,&c);
}
if(b > a){
swap(&a,&b);
}
if(c > b){
swap(&b,&c);
}
printf("%d %d %d ",a,b,c);
}
函数的作用就是简化代码,代码复用。
九、 数组
数组的定义
int array[10] = {0,1,2,3,4,5,6,7,8,9};
十、操作符
- 算术运算符
+ - * \ %
- 移位运算符
>> <<
- 位运算符
& ^ |
- 赋值操作符
= += -= *= \= &= ^= |= >>= <<=
- 单目操作符
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度 (以字节为单位)
~ 对一个二进制按位去反
++ 前置、后置++
- - 前置、后置- -
(类型) 强制类型转换 - 关系操作符
>
>=
<=
!= 用于测试不相等
== 用以测试相等,可别将跟数学的搞混啦,= 是赋值语句,两个差别巨大。 - 逻辑操作符
&& 逻辑与
|| 逻辑或 - 条件操作符
exp1 ?exp2 :exp3
- 逗号表达式
exp1,exp2,exp3,exp4,…expN
- 下标引用、函数调用和结构成员
[] () . ->
总结
以上就是今天要讲的内容,谢谢阅读。)