(Linux)嵌入式打卡第三天

底行模式分屏:

vsp文件名 左右分屏

sp 文件名 上下分屏

数据类型

int 整型

        内存:4字节

        存储:int主要用来存放数据。

        符号位:int 默认是有符号的数据

        有符号short 类型数据:最高位是符号位,0正 1负

        范围:[-(2^31),2^31-1 ]

        unsigned int 无符号数据 十六位全用来放数字,都是正数

        范围:[0,2^32-1 ]

long 整型

        内存:32位计算机中 占4字节

        64位计算机中 占8字节

        存储:long主要用来存放数据。

        符号位:long 默认是有符号的数据

        有符号long 类型数据:最高位是符号位,0正 1负

        unsigned long 无符号数据 十六位全用来放数字,都是正数

单精度浮点类型 float

        内存:占 4 个字节

        存放数据:存放浮点类型数据。

        3.14 6.28 3.14e+10(科学计数法)=3.14*10^10

        3.14e-10(科学计数法)=3.14*10^-10

双精度浮点类型 double

        内存:占 8 个字节

空类型 void

        内存:占 0 个字节

        一般不会单独使用,经常配合指针等一块使用。

变量

        变量里面存的是常量

简介

        概念:程序运行中,可以发生改变的量。

        作用:在内存中,申请空间

定义格式

        变量的声明:

        格式:<存储类型> <数据类型> 变量名;

eg:char ch; //声明一个名为ch的char类型变量

变量的定义:

        格式:<存储类型> <数据类型> 变量名 = value;

        eg:int number = 10;//在内存中有一个空间,空间名叫number,里面的值是10

变量的使用

#include <stdio.h>

int main()
{
	//在内存中申请4个字节的空间,并往里面填充一个10
	//以定义的方式
	int number = 10;

	//声明的方式
	int number1;

	//通过变量名往里面赋值
	number1 = 20;

	//printf函数--输出内容 %d输出整型
	printf("number = %d\n",number);
	printf("number1 = %d\n",number1);

	return 0;
}

标识符

简介

        标识符:标识符就是程序员自定一个符号,可以是变量名,函数名……

标识符定义规则

        标识符由数字,字母,下划线组成,但数字不能开头。

        标识符不可以和关键字重合。

标识符定义要求

  1. 见名知意
  2. 驼峰命名法:
    1. 大驼峰:每一个单词的首字母大写:SchoolName
    2. 小驼峰:第一个首字母大写,其他字母小写Schoolname。
    3. 下划线连接:school_name

关键字

        关键字: 语言的作者. 赋予了一些词语特殊的含义. eg: if. int

数据类型: (12)  
    char  short   int  long  float  double  unsigned  signed 
    struct  enum   union   void
    
存储类型 6:
    static   const  auto  register  volatile   extern     
    
逻辑类型 12 :
    if  while  else  do   for  switch  case  return  default 
    goto break  continue   
    
特殊类型 2: 
    sizeof()       typedef 

常量

简介

        概念:不可以发生改变的量。100 ,2.14 ,'a'

常量类型

  • 分四种:
    1. 整型常量
    2. 字符类型常量
    3. 字符串类型常量
    4. 宏常量

数字类型常量

整数类型常量

整型类型常量

前缀

输出的占位符

demo

二进制

0b

0b1010

八进制

0

%#o

0345

十进制

%d

1314

十六进制

0x

%#x

0xabcd

#include <stdio.h>

int main()
{
	//定义一个变量number,里面存放八进制
	int number = 0345;//八进制数字 0345
    //C语言中输出用printf函数
	printf("number = %#o\n",number);
	printf("number = %d \n",number);
	printf("number = %#x\n",number);

	return 0;
}

浮点数类型常量

浮点类型的常量

前缀

占位符

demo

单精度浮点类型float

%f

3.14f

双精度浮点类型double

%lf

3.14 -> 默认double

sizeof()返回值:64位计算机 long类型

32位计算机 int类型。

#include <stdio.h>

int main()
{
	//sizeof()功能:查看变量/常量/类型,在内存中所占字节的大小
	//sizeof()返回值:64位计算机 long类型 32位计算机 int类型
	printf("浮点类型常量3.14f在内存中所占的大小:%ld\n",sizeof(3.14f));
	printf("浮点类型的常量3.14在内存中所占的大小:%ld\n",sizeof(3.14));


	printf("\n");

	double number = 1.0e+3;//1.0*10^3

	printf("number = %lf\n",number);
	
	return 0;
}

结果:

浮点类型常量3.14f在内存中所占的大小:4
浮点类型的常量3.14在内存中所占的大小:8

number = 1000.000000

字符类型常量

        字符类型常量:

        字符:非数值类型的数据。

        表示形式:

        字符的表示形式:再C语言中,使用 单引号 引起来的数据。

        只能引用1个字符。

                right : 'a' 'b' '1' '2'

                error : '12'

#include <stdio.h>

int main()
{
	//字符类型常量,需要使用char类型进行保存
	char ch = 'a';//a -> 97
	printf("ch = [%d] [%c]\n",ch,ch);

	
	//字符类型变量,是否能存数字
	char value = 98;
	printf("value = [%d] [%c]\n",value,value);

	//给A输出a
	char ch1 = 'A';
	printf("ch1 = [%c] [%c]\n",ch1+32,ch1+('a'-'A'));


	return 0;
}
       Oct   Dec   Hex   Char                        Oct   Dec   Hex   Char
       ────────────────────────────────────────────────────────────────────────
       000   0     00    NUL '\0' (null character)   100   64    40    @
       001   1     01    SOH (start of heading)      101   65    41    A
       002   2     02    STX (start of text)         102   66    42    B
       003   3     03    ETX (end of text)           103   67    43    C
       004   4     04    EOT (end of transmission)   104   68    44    D
       005   5     05    ENQ (enquiry)               105   69    45    E
       006   6     06    ACK (acknowledge)           106   70    46    F
       007   7     07    BEL '\a' (bell)             107   71    47    G
       010   8     08    BS  '\b' (backspace)        110   72    48    H
       011   9     09    HT  '\t' (horizontal tab)   111   73    49    I
       012   10    0A    LF  '\n' (new line)         112   74    4A    J
       013   11    0B    VT  '\v' (vertical tab)     113   75    4B    K
       014   12    0C    FF  '\f' (form feed)        114   76    4C    L
       015   13    0D    CR  '\r' (carriage ret)     115   77    4D    M
       016   14    0E    SO  (shift out)             116   78    4E    N
       017   15    0F    SI  (shift in)              117   79    4F    O
       020   16    10    DLE (data link escape)      120   80    50    P
       021   17    11    DC1 (device control 1)      121   81    51    Q
       022   18    12    DC2 (device control 2)      122   82    52    R
       023   19    13    DC3 (device control 3)      123   83    53    S
       024   20    14    DC4 (device control 4)      124   84    54    T
       025   21    15    NAK (negative ack.)         125   85    55    U
       026   22    16    SYN (synchronous idle)      126   86    56    V
       027   23    17    ETB (end of trans. blk)     127   87    57    W
       030   24    18    CAN (cancel)                130   88    58    X
       031   25    19    EM  (end of medium)         131   89    59    Y
       032   26    1A    SUB (substitute)            132   90    5A    Z
       033   27    1B    ESC (escape)                133   91    5B    [
       034   28    1C    FS  (file separator)        134   92    5C    \  '\\'
       035   29    1D    GS  (group separator)       135   93    5D    ]
       036   30    1E    RS  (record separator)      136   94    5E    ^
       037   31    1F    US  (unit separator)        137   95    5F    _
       040   32    20    SPACE                       140   96    60    `
       041   33    21    !                           141   97    61    a
       042   34    22    "                           142   98    62    b
       043   35    23    #                           143   99    63    c
       044   36    24    $                           144   100   64    d
       045   37    25    %                           145   101   65    e
       046   38    26    &                           146   102   66    f
       047   39    27    '                           147   103   67    g
       050   40    28    (                           150   104   68    h
       051   41    29    )                           151   105   69    i
       052   42    2A    *                           152   106   6A    j

       053   43    2B    +                           153   107   6B    k
       054   44    2C    ,                           154   108   6C    l
       055   45    2D    -                           155   109   6D    m
       056   46    2E    .                           156   110   6E    n
       057   47    2F    /                           157   111   6F    o
       060   48    30    0                           160   112   70    p
       061   49    31    1                           161   113   71    q
       062   50    32    2                           162   114   72    r
       063   51    33    3                           163   115   73    s
       064   52    34    4                           164   116   74    t
       065   53    35    5                           165   117   75    u
       066   54    36    6                           166   118   76    v
       067   55    37    7                           167   119   77    w
       070   56    38    8                           170   120   78    x
       071   57    39    9                           171   121   79    y
       072   58    3A    :                           172   122   7A    z
       073   59    3B    ;                           173   123   7B    {
       074   60    3C    <                           174   124   7C    |
       075   61    3D    =                           175   125   7D    }
       076   62    3E    >                           176   126   7E    ~
       077   63    3F    ?                           177   127   7F    DEL

字符串类型常量

        简介:

                由多个字符组合而成的内容。

        标识方法:

                C语言中,字符串就是 双引号 引起来的内容。

        注意:

    1. C语言中,字符串是使用 数组 进行存储的。
    2. 每一个字符串的结果都有一个 '\0' 用来表示字符串的结束

        注意:

                a -> 变量名 a

                'a' -> 字符 a

                "a" -> 字符串 a

#include <stdio.h>

int main()
{
	//target:定义一个字符串。
	//C语言中使用数组来标识字符串
	char email[128]="www.baidu.com";

	//定义了一个数组,数组里有128个空间,用来存放字符串www.baidu.com
	//字符串的占位符是 %s %s遇到\0就会停止打印
	//
	printf("email = %s\n",email);

	char http[128] = "www.hqyj\0.com";
	printf("http = %s\n",http);//使用%s,遇到\0就不打印了


	//了解 字符串还可以用指针的方式进行表示
	char *src = "hello world";
	printf("src = %s\n",src);

	return 0;
}

宏常量(标识常量)

        简介:

        宏定义:给一个常量或者常量表达式起一个其他名字。在使用此常量或常量表达式 可直接使用此名。

        定义格式:

#define 宏名称 宏值

注意:

      1. 宏定义后面没有分号
      2. 本质是原样替换,预处理阶段替换
      3. 宏的名称一般情况是大写字母
#include <stdio.h>

//定义一个宏,名为max ,宏值为100
#define MAX 100
#define VALUE 20+30 //常量表达式

int main()
{
	printf("MAX = %d\n",MAX);
	printf("2*VALUE = %d\n",2*VALUE);//宏是原样替换

	return 0;
}

结果:
MAX = 100
2*VALUE = 70

数据在计算机中的存储

        在计算机中:数据全部都是使用补码来进行存储的。

        负数:原码,反码,补码不一致。

                原码:数据二进制的表示方式;

                反码:符号位不变,其他位取反;

                补码:反码 + 1

        正数(无符号、正数):原码,反码,补码都是一致的。

C语言的运算符

        用来连接多个表达式。

C语言中的运算符:

1. 单目运算符:+ - ++ -- ! ~ * &

a. ++运算符

        自增运算符,在原有基础上自加1。

        记忆:

                后置++:先运算,再++。

                前置++:先++,后运算。

#include <stdio.h>

int main()
{
	//targer:测试自增运算符
	//定义一个变量 number = 1;
	
	int number1 = 10;
	int value1 = number1++; //后增
	printf("number1 = %d,value1 = %d\n",number1,value1);
	

	int number2 = 10;
	int value2 = ++number2; //前增
	printf("number2 = %d,value2 = %d\n",number2,value2);
	
	return 0;

}
结果:
number1 = 11,value1 = 10
number2 = 11,value2 = 11
b. --运算符

        自减运算符,在原有基础上自减1。

        记忆:

                前置--:先--,后运算;

                后置--:先运算,后--。

#include <stdio.h>

int main()
{
	//number自减
	
	int number1= 10;
	int value1 = ++number1;
	printf("number1 = %d,value = %d\n",number1,value1);


	int number2 = 10;
	int value2 = number2++;
	printf("number2 = %d,value2 = %d\n",number2,value2);
	
	

	return 0;
}
结果:
number1 = 11,value = 11
number2 = 11,value2 = 10
c. !取反运算符

        计算机中,非0即真,只要不是0,那么这个值就是真。

        !取反运算符:计算中表示真假 真(1),假(0)

                        真 ->!真 -> 假

#include <stdio.h>

int main()
{
	int number = 0;
	printf("!number = %d\n",!number);

	int number1 = 23;
	printf("!number1 = %d\n",!number1);

	return 0;
}
结果:
!number = 1
!number1 = 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值