C语言 数据类型(就做个笔记总结)

1,进制

(1)十进制

0--9组成,首不能为0

43

(2)八进制

0--7组成,首必须是0.

021

(3)16进制

0--9组成,a--f 或A--F组成。 首必须为0x或0X

0X23 

2,输入格式

(1)输入宽度,整型

int a;
scanf("%5d",&a);
printf("%d",a);
输入12345678   输出12345



scanf("%3d%4d",&a,&b);
printf("a=%d %b=d",a,b);
输入12345678
输出  a=123  b=4567

 (2)浮点型

scanf("%3.2f",&a);    //是非法的。不能企图用此语句输入小数为2位的实数

(3)字符型   printf()  scanf()

 *一次也只能输入/出一个

(4)long long

long long : scanf("%lld",&a); printf("%lld",a);

1. 输入之间有空格

#include <stdio.h>
int main(){
    char a,b,c;
    scanf("%c%c%c",&a,&b,&c);
    printf("%c#%c#%c#",a,b,c);
    return 0;
}

输入asd
输出a#s#d#


输入a s d
输出a# #s#

(2)

#include <stdio.h>
int main(){
    char a,b,c;
    scanf("%c %c %c",&a,&b,&c);
    printf("%c#%c#%c#",a,b,c);
    return 0;
}

输入a s d
输出a#s#d#

 3,类型转换

(1)赋值转换

将赋值号右侧的表达式的类型转换为左侧变量的类型

#include <stdio.h>
int main(){
    int a;
    a=2.3;
    printf("%d",a);
    return 0;
}

输出2

(2)强制转换

(类型名) 表达式 

(int)3.8

double i=3.2;
(int)i;       //输出3



表达式(int)i 类型为整型,但是i的类型认为double

 千万不要写成  int(3.8)

它是运算符,运算等级与  ++  --  一样

(int)3.8+1.3  //结果为4.3

(int)(3.8+1.3)  //结果为5

4,表达式

(1)优先级顺序

 单目运算符,赋值运算符,三目运算符结合方式从右往左。其余的都是从左往右

从左往右:操作数先与左边的运算符结合

从右往左:操作数先与右边的运算符结合

(2)算术表达式

1.自增/减运算符      ++   --     (从右往左)

操作数只能是变量,不可以是常量、表达式

count++;

1++;//不可以

(i+j)--; //不可以

-i++   ---->      -(i++) 

2.算术运算符(从左往右)

 3*5%3   ---->     (3*5)%3

(3)赋值表达式(从右往左)

a=b=3   --->  a=(b=3)

(4)关系表达式

3<=x<=5      -------->       (3<=x)<=5

d=a+b>c      --------->     d=[(a+b)>c]      //先把右边式子运算完毕,把结果赋予d

b-1==a!=c    --------->     [(b-1)==a]!=c 

(5)逻辑表达式(注意短路)

a||3+10&&2    ------>   a||[(3+10)&&2]    //从左往右计算,先算a,再判断大括号

!x==2       -------->    (!x)==2 

ch=getchar()!='\n'      ------------>    ch=[getchar()!='\n']

(6)条件表达式(从右往左)

a>b?a:c>d?c:d       ------------>           [a>b?a:(c>d?c:d)] 

(7)逗号表达式(从左往右)优先级最低

 一般形式:
表达式1,表达式2,.......,表达式n

先计算表达式1,再计算2,......,最后计算表达式n的值。

逗号表达式的值为n,表达式n的类型为逗号表达式的类型

a=1,b=2,c=a+b;

此表达式类型由c=a+b的值决定 

PS:

#include <stdio.h>
int main(){
	int a;
	a=!(-1);
	printf("%d",a);
	return 0;
}


//输出为0

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值