第二天学习笔记

关键字

被C语言赋予了特殊含义的单词

共有32个

数据类型20个
流程控制12个

全部是小写


标识符

标识符是程序员在自己的程序中定义的名称

标识符只能由数字、字母、下划线组成,不能以数字开头

不能跟关键字同名

命名规范:

起一个有意义名字,能够提高代码的可读性
驼峰命名(除开第一个单词后面每个单词首字母大写)
严格区分大小写,大小写不同表示不同的标识符
例如:gaolei跟Gaolei是两个不同的标识符

注释

注释可以解释某一段程序或者某一段代码是什么意思,方便程序员之间交流可以是任何文字

注释可分为单行注释、多行注释

单行注释为:// 表示从第二个/开始直到那一行结束的都为注释

【快捷键:command+/ 】

【 如果在单行注释末加 \ 则表示下一行也为注释】

多行注释 表示从 /* 开始一直到遇到第一个 */ 结束

注释使用注意

单行注释里可以套用多行注释
多行注释里可以套用单行注释
多行注释里不可以套用多行注释

常量

常量是表示一些固定的数据,也就是不能改变的数据

常量的分类

整型常量
整型:用于准确地表示整数,根据表示范围的不同分为以下三种:
短整型(short) < 整型(int) < 长整型(long)
【整型常量可以用三种样子:
十进制整数。如356,-120,0。
八进制整数。八进制形式的常量都以0开头,如0123,也就是十进制的83;-011,也就是十进 制的-9。
十六进制整数。十六进制的常量都是以0x开头,如0x123,就是十进制的291。
二进制整数。逢二进一 0b开头】
实型常量
单精度浮点数(float) 以f结尾
双精度浮点数(double)十进制小数形式。这个我们应该很熟悉了,小学就学了的,不过注意:0.0也是实型 常量。
注意:float只能够保证7位数字是有效的!!!
字符常量
字符型常量都是用”(单引号)括起来的,其表现形式可以有两种:
一般形式。一个字符用”括起来,注意只能有一个字符。
特殊形式。特殊形式都是以\开头,它们在屏幕上不会直接显示出来,而是根据其特定的功能来 显示的,这些特殊字符常量有:
\n 换行,相当于敲一下回车。
\t 跳到下一个tab位置,相当于按一下键盘上的tab键。 \b 退格,相当于按一下backspace。
\r 回车。
\f 换页,光标移到到下页开头。
\ 输出\字符,也就是在屏幕上显示一个\字符。
\’ 输出’字符,也就是在屏幕上显示一个’字符。
\” 输出”字符,也就是在屏幕上显示一个”字符。
\ddd 1位到3位八进制数表示的字符。
例如:使用’\376’,则在屏幕上显示一个黑色的方块。 \xhh 1位到2位十六进制数表示的字符。注意x不能丢了
字串符常量
将一个或者多个字符用双引号括起来就构成一个字串符常量
自定义常量
格式: const 数据类型 常量名称 = 值
例如: const int NUM = 998;

  • 常见的数据类型有:int、float、double、char

  • 整型:用于准确地表示整数,根据表示范围的不同分为以下三种:

    • 短整型(short) < 整型(int) < 长整型(long)
  • 实型(浮点型):用于标识实数(小数)根据范围和精度不同分为以下两种:

    • 单精度浮点数(float) < 双精度浮点数(double)
    • 注意:float只能够保证7位数字是有效的!!!
    • 字符型:用来表述单个字符,char
    • 字符型常量都是用”(单引号)括起来的,其表现形式可以有两种:
    • 一般形式。一个字符用”括起来,注意只能有一个字符。
    • 其特定的功能来 显示的,这些特殊字符常量
    • “`
      \n 换行,相当于敲一下回车。
      \t 跳到下一个tab位置,相当于按一下键盘上的tab键。 \b 退格,相当于按一下backspace。
      \r 回车。
      \f 换页,光标移到到下页开头。
      \ 输出\字符,也就是在屏幕上显示一个\字符。
      \’ 输出’字符,也就是在屏幕上显示一个’字符。
      \” 输出”字符,也就是在屏幕上显示一个”字符。
      \ddd 1位到3位八进制数表示的字符。
      例如:使用’\376’,则在屏幕上显示一个黑色的方块。 \xhh 1位到2位十六进制数表示的字符。注意x不能丢了

变量

  • 表示的数据是可以经常修改的。当一个数据的值需要经常改变或者不确定时,就应该用变量来表示。
    • 例如:游戏积分

如何定义变量

  • 定义变量(声明), 任何变量在使用之前,必须先进行定义。

  • 定义变量的目:在内存中分配一块存储空间给变量,方便以后存储数据。

    如果定义了多个变量,就会为这多个变量分别分配不同的存储空间。

    格式1: 变量类型 变量名称

    int a;
    float b;
    char ch;

格式2:变量类型 变量名称,变量名称
+ 连续定义, 多个变量之间用逗号(,)号隔开

    int a,b;
    int a,b,c,d;
  • 不同类型的变量占用不同大小的存储空间。内存极其有限,分配适当的存储空间

  • 变量明的命名的规范

  • 变量名属于标识符,所以必须严格遵守标识符的命名原则
  • 变量名要尽可能的望文知意、简洁

变量的初始化

  • 变量第一次赋值,可以称为“初始化”
  • 初始化的两种形式
    • 先定义,后初始化
int value;
value = 998;  初始化
+ 定义的同时进行初始化
int a = 10;  完全初始化
int a, b=10; 部分初始化
int a=4, b=2;
+ 其它表现形式
    * 批量初始化
    ```
     int a,b,c;
     a = b =c =0;

int a; 不初始化不会报错,a里面存的内容:
1)随机数
2)上次程序分配的存储空间,存数一些 内容,“垃圾”
3)系统正在用的一些数据  
  • 连续赋值

int a,b,c;
a = b =c =0;

1.变量的作用域

C语言中所有变量都有自己的作用域,申明变量的类型不同,其作用域也不同。C语言中的变量,按照作用域的范围可分为两种, 即局部变量和全局变量。

2.局部变量

局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内(代码块), 离开该 函数后再使用这种变量是非法的

  • 主函数中定义的变量也只能在主函数中使用,不能在其它函数中使用。同时主函数中也不能使用其它函数中定义的变量。因为主函数也是一个函数,它与其它函数是平行关系。

  • 形参变量是属于被调函数的局部变量,实参变量是属于主调函数的局部变量。

3.全局变量

  • 全局变量也称为外部变量,它是在函数外部定义的变量。

2.变量的存储

  • 一个变量所占用的存储空间,不仅跟变量类型有关,而且还跟编译器环境有关系。同一种类型的变量,在不同编译器环境下所占用的存储空间又是不一样的
    • 所占用字节数跟类型有关,也跟编译器环境有关
    • 内存由大到小寻址
    • 变量存储单元的第一个字节的地址就是该变量的地址
    • 任何变量在内存中都是以二进制的形式存储。一个负数的二进制形式,其实就是对它的正数的二进制形式进行取反后再+1。(取反的意思就是0变1、1变0)

类型16位编译器32位编译器64位编译器
char111
int244
float444
double888
short222
long448
long long888
void*248

3.取值范围

  • 不同数据类型所占的存储空间是不一样的,字节长度不一样,包含的二进制位数就不一样,能表示的数据范围也就不一样

  • 如果赋值的时候超出了变量的取值范围,那么将损失精度,得到“垃圾数据”(“垃圾数据”就是指并非我们想要的数据)

关键字所占字节数表示范围
int4-2(31) ~ 2(31)-1
signed short int2-2(15) ~ 2(15)-1
signed long int4-2(31) ~ 2(31)-1
unsigned int40 ~ 2(32)-1
unsigned short int20 ~ 2(16)-1
unsigned long int40 ~ 2(32)-1
float4绝对值E-37 ~ E+38
double8绝对值E-307 ~ E+308

Scanf函数注意事项

如果在输入时,输入了多个空格、回车、Tab都会被系统忽略的

如果要获取的内容是多个整数,中间输入了多个空格、回车、Tab都会被系统忽略

如果要获取的内容是多个实型,中间输入了多个空格、回车、Tab都会被系统忽略

混合整形和字符型数据接收

当整形的数和字符混合输入时,要避免“空格” 添麻烦

为防止混合输入空格造成的错误,可以通过添加普通的分隔符解决

在scanf中,尽量不要使用 \n

如果在scanf中使用了\n, 需要原样输入”\n

scanf的运行原理

系统会将用户输入的内容了放入输入缓冲区

scanf方式会从输入缓冲区中逐个取出内容赋值给格式符, 如果类型不一致不会修改原有数据

如果输入缓冲区的内容不为空,scanf会一直从缓冲区中获取,而不要求再次输入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值