C语言学习之基础语法

一、数据类型

1、整型

  • 十进制整型常量:0~9,如-56
  • 八进制整型常量:0~7;以数字0开头,如-034,045
  • 十六进制整型常量:0~9,A~F或a~f;以数字0开头加上字母x开头, 如-0xFF

2、字符型

  • 字符常量:用单引号括起来的单个可视字符或转义字符,在内存中占一个字节的存储空间,存放的是其ASCII码值,如'a','S',a的ASCII码值为97,字符‘A’的ASCII码值为65.ASCII码表见文章末尾。“\”是转义的意思
// ddd(三个八进制) xddd(3个十六进制)
printf("%c",'\103');  //67

      转义字符如下所示

  • 字符串常量:用一对双引号括起来的若干字符序列。如,“a”;“123”

字符串中字符的个数称为字符串长度。空格也是一个字符。“Hello\"”的长度为6(转义字符\“代表一个字符”), “co\123n\n4\\14\tk\bw\xc”的长度为14(转义字符有\123、\n、\\、\t、\b、\xc)其中\xc表示16进制,\123是八进制。

系统在存放字符串时,会在串的结尾自动添加一个字符串结束标志“\0”

将一个字符常量存储到一个字符变量中,实际上是将该字符的ASCII码值(无符号整数)存储到内存单元中。

数据类型:

(int)(x+y);  //将表达式x+y的值转换为int类型

(int)x+y;      //将x的值转换为int类型,再与y相加

算术运算符:

%求余数:运算 对象都是整数(两个都是整数)

/除法运算符:参与运算量2均为整型时,结果为整型,舍去小数。5/3=1,5.0/2=2.500000

int a=3,b=5;

(a++)+b   //表达式结果为8,a的值为4,b的值不变

(++a)+b   //表达式结果为9,a的值为4,b的值不变

赋值运算符:

    变量标识符=常量或常量表达式  //结合方向:从右向左

a=b=c=10等价于a=(b=(c=10))

int a=b=c=10;   //是错误的

int a=10,b=10,c=10;  //正确的,

注意:同一种类型的变量在定义时可以一起定义,需要用逗号分隔开,但如果定义的同时用同一个值进行赋值,即进行初始化,系统要求分别赋值。

位运算只能整型

a=b=c=3;

a=6+(b=2) ;    //表达式值为8,a值为8,b的值为2

a=(b=4)+(c=6);    //表达式值为10,a值为10,b等于4,c等于6

逗号运算符

表达式1,表达式2,……,表达式n

结合方向从左往右

逗号表达式从左往右按顺序依次求出各表达式的值,并把最后一个表达式的值作为整个逗号表达式的值

#include <stdio.h>
void main()
{
    int x;
    printf("%d,%d\n",x=2*4,x*10);  //8,80
    printf("%d\n",x=2*4,x*10);     //8
    printf("%d\n",(x=2*4,x*10));    //80
}

int n1=1,n2=2,n3=3,n4=4,x,y;

(x=n1>n2)&&(y=n3>n4) ;    //x=0;y=6


int x=2,y=2,z=3;

z=(x>y)?z:y     //z=2


int i=4,j=5,m;

m=4+((i++>3)&&(i%2)+i/j;   

上式中i++>3时i=4,  i%2时i=5  ,4+((i++>3)&&(i%2)为5,i/j=1(5/5) ,最后表达式的值为m=6  

运算符优先级


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

const

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

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

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

打赏作者

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

抵扣说明:

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

余额充值