“初始C语言“ (part 1)

只要你愿意 开始总比放弃好。     Roman.

愿我们都有自己的目标并正在为其不懈努力。

最近学习的小结 算是给愿意重新的自己的一种交代 告别2021.

一、大致了解C语言

 1、C语言主要用于底层开发:系统开发、驱动开发

 2、C语言以ANSI C为标准,其中C89/90使用最广泛

 3、计算机语言:人与计算机进行交流的语言

二、数据类型

(注:字节byte          下面的顺序为:类型 所占空间大小)

 1、char  1byte

 2、short  2byte

 3、int  4byte

 4、long int  4or8byte

 5、long long int  8byte

 6、float  4byte

  注意点:数字后面可以加 f 指明类型,否则容易被误解为double型

 7、double  8byte

 8、自定义类型

 9、 注意:sizeof() 计算一个类型大小,单位:字节,返回类型时size_t,即无符号整型,故可用%u返回

 如:sizeof(char)

三、变量、常量

(一)变量

   1、形式:类型 名称

     如:char ch='a';

   2、全局变量:是一定的,定义在大括号外面(即:main函数外面)

   3、局部变量:是一定的,定义在大括号里面

    注意:只要放在大括号里面的就是局部变量!即使不在同一个大括号里面也是局部变量!

   4、当全局变量名称和局部变量冲突时,局部变量优先!

   5、变量的使用:scanf函数输入,需要用&

   6、变量的作用域:即变量可以使用的范围
    1)局部变量作用域即局部变量所在范围

    2)全局变量作用域整个工程;甚至其它的项目工程,通过外部函数extern,如:extern int a;

     (extern 用于声明外部符号)

   7、生存时间:即从变量建立到销毁的时间  变量出了范围就销毁

   1)局部变量:从进入作用域开始,出了作用域生命结束

   2)全局变量:整个程序的生命周期

   3)静态变量属性等同于全局变量

   4)全局变量可以跨工程

(二)常量

  1、字面常量:直接写出的常量

   如:10是整型常量  ‘a’是字符常量   “abcdefg”是字符串常量等

   可以将字面常量赋值给变量

  2、const修饰的常变量:const是一个C语言关键字,其是默认的(C语言本身提供的)

   1)(注:可被修改则为变量,若变量不能被修改则为常变量)

   如:const int num;

  2) 常变量:本质是变量,但是不能被修改!  故:const修饰的常变量不可以被修改

  3)注意: 数组【常量】 【常量】处不能存放被const修饰的变量来指定数组大小,因为其本质是变量

 3、#define定义的标识符常量

  1)形式:如 #define M 100   (注意:中间无 ‘=’ 连接,最后也没有;)

  2)其定义的量是一个彻彻底底的常量,可以用于指明数组长度

4、枚举常量

  1)枚举:可以一一列举  如:性别、三原色等

  2)enum是枚举关键字:

   ①如:enum Sex {MALE,FEMALE,SECRET}  注意:中间用,隔开  最后无符号

  ② 枚举常量默认被赋值是从0开始,依次增大,打印时可以看到此现象

  ③后面运用枚举常量时   如:enum Sex s=Male;

四、字符串、转义字符、注释

(一)字符串

  1、C语言无字符串类型    表示时:用双引号引起一串字符,如"abandon";

  2、字符串结束标志:转义字符\0

  3、区别 ''abc" 与{'a','b','c'}

   ①"abc" 实际是4字节大小:a b c \0   ;   {'a','b','c'}只有3字节大小:a b c

  ②以%s进行打印时,前者因为会遇到\0停止打印,输出 abc  

    后者因为没有结束标志,故会一直往后随机打印,知道遇到'\0'结束打印  ;如想要正常打印,可手动添加'\0'

  ③'\0'是一个字符,占1byte(对于由“”引起的数组而言,计算大小时要计入'\0'一个字节)

 4、strlen是库函数,用于求字符串长度

  1)包含头文件 #include<string.h>

  2)strlen计算的是'\0'之前的字符个数!!   即:'\0\是结束标志,但是不算作字符串内容

  3)注意:其对下对象是 字符串!!     形如:strlen(arr);

(二)转义字符:转变原来的意思

  常见转义字符

 1)\?   书写连续?时 防止被解析为三字母词

 2)\'    若想输出打印' 防止解析错误

 3)\t    水平制表符

 4)\a   报警 蜂鸣

 5)\b   退格

 6)\r   回车 回到本行首部

 7)\v   垂直制表符

 8)\ddd   ddd表示1-3个八进制数字:

   ①代表的是把此八进制数字转换为十进制数字作为ASCII码值,找到对应的字符,故其只代表一个字符

  ②ASCII码值最大:127

  ③注意:八进制数为0-7

 9)\xdd   dd表示2个十六进制数字,同上转换为十进制数字后ASCII码对应的字符

(三)注释

 1、C++风格://    快捷键:注释ctrl+k+c       取消ctrl+k+u  (针对vs2019)

 2、C语言注释风格:/*  */     (不支持嵌套注释)

 3、注释是用来解释代码的 (注释复杂代码即可 适当就行)

 4、也可以注释一些不需要的代码

五、选择语句

1) if ()     else if()      else  实现分支效果

2)switch语句

六、循环语句

 1)while(循环条件)

 2)for

 3)do while

补充:C语言是一种结构化的程序语言

七、函数

 1、封装成函数,可随时调用

  如:int Add(int x,int y)  { int z=0; z=x+y; return z; } 

   运用时 如:int sum=Add(a,b);

 2、写在main函数之外,在main函数内调用

八、数组:存放一组相同类型的元素

 1、若不完全初始化,从头开始计,后面默认为0

 2、数组有下标,下标从0开始!      数组可以通过下标访问!

       如:arr [8]  表示下标为8的元素

 3、数组名 

       1)如:arr是数组名 不包括【】

      2)访问时arr【可以是变量,用于标识下标】 

 4、C99标准编译器引入变长数组  支持 数组名【变量】

好了 今天的分享结束啦!

part1 over-

“人的一切痛苦,都是来源于对自己无能的愤怒。”

                                                  Roman.   2021/12/25

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

'Dream是普通小孩耶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值