C语言——基本数据类型与表达式

一.常用单位

位:最小的存储单位   存储0或1

字节:1个字节8位

字:字是自然存储单位,对于8位微机一个字8位,对于16位机一个字16位

 

二.基本数据类型

测试数据类型大小: printf("%d\n",sizeof(类型名));

char c = 255;

printf("%d\n",c)  输出有符号整数为-1    输出无符号整数为255

 

三.常量和变量

常量

1. 直接常量:在程序中直接引用的数据

整型:

十进制:

int型   32  -12

long int型    234 32l

unsigned int型    345  238U

unsigned long int 型  256ul   258UL

八进制:在数码前加数字  0

032u    0364L

十六进制:在数码前加0x     a-f(A-F)代表10-15

0x1f    0x1FL

 

实型:

十进制形式: 由整数和小数组成,可以省略其中一部分,但不能同时省略(小数点不能省略)

12.35    35.   。689  (都是double型常量)

指数形式:在小数后面加E(e)表示指数

1e-2  1.5E10   35.56E-3  7.e-2         e(E)前必须有数字,后面必须是整数

在浮点数常量后面加F(f)表示float型     1e-2f

 

字符型:由一个字母或转义字符两边用单引号括起来表示     ‘a’   ‘\n’

                字符常量在计算机内存放的值,为该字符的ASCII编码值     ‘0’  =48    ‘A’=65

                字符常量也可以用他的ASCII码值表示    八进制用‘\ddd’表示 ddd代表3为八进制数  ‘\101’ 代表A   ‘60’代表0

                十六进制用‘xhh’表示  hh代表十六进制数     ‘\x41'代表A   ‘\x30’代表0

转义字符: 

 

字符串:由双引号括起来的零个或多个字符序列

              在字符串中也可以使用转义字符      “please enter \"Y" or \"N"”    不加\ 输出please enter

              字符串中可以包含空字符,空格字符,转义字符和其他字符  也可以包含汉字等文字符号

 

2.符号常量  :用标识符表示一个数据   (在程序中不能赋值)

                    定义  #define 标识符  常量数据

                使用符号常量增强程序的可读性和可维护性

 

 

变量

基本要素:变量名    变量的数据类型   变量的值

 

变量名:由字母 数字 和下划线组成  且第一个字符必须是字母或下划线。 

               字母区分大小写,长度任意, 不能是关键字。

变量定义   给变量分配存储空间

变量初始化就是给变量赋初值,变量所标识的内存单元可能保留先前使用该单元时留下的内容

   未赋初值的变量不代表该变量中没有数值,只是表明该变量中尚未定义特定的值。

类型: 整型变量     实型变量(单精度实型7位有效数字 双精度 15-16位)   字符变量

 

四.运算符与表达式

1.6类基本运算符和表达式

算术运算符和表达式           + - * / %                    结合律自左向右

    %  符号位 取操作数一 的符号

数据类型转换: 强制转换  :int  (x+y)

                           隐式转换     char short —int—float—double

                                                 unsigned— int— long—double

 

赋值运算符和表达式    =                  结合律  自右向左

     数据类型不一致时 进行类型转换    int i;i=5.65    i为5    

复合的复制运算符   += ,-= ,*= ,/= ,%= ,<<=(左移) ,>>= ,&= ,^=,|=

赋值表达式    格式  变量  赋值运算符   表达式       

 

关系运算符和表达式       <,<=, >,>=   ,  ==,  !=             结合律自左向右

  关系表达式   只有两个值  0(假)或 1(真)   非0即为真    

  x=2 y=3 z=5     x>y为0   z>=y  为1

 

逻辑运算符和表达式      &&与(左侧为0 右侧不运算)   ||或(左侧为1 右侧不运算)   !非         优先级 !>&&>||

逻辑表达式   非0为真  0为假

 

条件运算符和表达式    ? :   唯一一个三目运算符

 条件表达式  格式    式1 ?式2 :式3           式1为真  值为式2    式1为假    值为式3

  

逗号运算符和表达式   ,

格式    式1,式2  ......,式n      逗号表达式的值为 式n的值

 

2.自增自建运算符    ++   -- 

++i   --i  先加(减)再用

i++ i--  先用再加(减)

 

3.优先级

 

五.数据输入输出

1.数据输出

putchar 函数      向终端输出一个字符

printf  函数       %lm.n(格式字符)   m为最小宽度   右对齐   长度超过正常打印    .n为保留n位小数

   

 

2.数据输入

getchar  函数  从输入设备 输入一个字符

scanf 函数     输入若干个任意类型的数据  

          格式   scanf(“格式”,参数)

 

 

%3d   长度为3的字符      %*3d  不读取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值