c语言入门学习笔记(二)


系列前言

本系列博文仅为博主个人学习笔记,通过博客理清学习思路用于复习。如有记述不周到的地方请谅解;如能指出,更加感谢。
这篇笔记仅仅是对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);

}
  1. 其中变量字符数组array 与变量字符数组array2 的长度都是5,而变
    量字符数组array1的长度是一个随机值。
  2. array 与 array2 输出的字符串都是相同的,而array1输出的是一串以hello开头的乱码。
  3. 以上两方法均可强调‘\0’的重要性。

六、转义字符

转义字符释义
\’用于表示字符串常量’
\\用于表示一个反斜杠,防止它被解释成为一个转义字符
\b退格符
\n换行
\t制表符
\dddddd 表示1-3个八进制的数字。 如 : \130 X
\xdddd表示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};

十、操作符

  1. 算术运算符

    +     -    *    \    %

  2. 移位运算符

    >>        <<

  3. 位运算符

    &    ^    |

  4. 赋值操作符

    =    +=    -=    *=    \=    &=    ^=    |=    >>=    <<=

  5. 单目操作符

    !    逻辑反操作
    -  负值
    +    正值
    &    取地址
    sizeof    操作数的类型长度 (以字节为单位)
    ~    对一个二进制按位去反
    ++    前置、后置++
    - -    前置、后置- -
    (类型) 强制类型转换

  6. 关系操作符

    >
    >=
    <=
    != 用于测试不相等
    == 用以测试相等,可别将跟数学的搞混啦,= 是赋值语句,两个差别巨大。

  7. 逻辑操作符

    && 逻辑与
    || 逻辑或

  8. 条件操作符

    exp1 ?exp2 :exp3

  9. 逗号表达式

    exp1,exp2,exp3,exp4,…expN

  10. 下标引用、函数调用和结构成员

    [] () . ->

总结

以上就是今天要讲的内容,谢谢阅读。)

  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值