Linux C学习day2
一、数据类型
1.整形
int a = 5; //定义一个整形变量a,并初始化值为5,4个字节
unsigned int b; //无符号整形,4个字节
short int c; //短整形,2个字节,可以写成 short c;
long int d; //长整形,8个字节,可以写成 long c;
long long int e; //长长整形,16个字节
//打印数据类型在系统中占用内存大小
printf("%d\n",sizeof(int));
2.字符型,是单字节整形,其实char a = 'a'; 对应的ASCII码
char a = 'a';
//输出字符
printf("%c\n",a);
3.浮点型
float a = 3.14;
double b = 6.18;
4.可移植数据类型
为了系统兼容性,内核经常使用可移植数据类型
#typedef int u32_t;
5.字符串,c语言没有字符串这种数据类型
char a[4] = "abcd";
char *p = "efgh";
printf("%s\n",b);
printf("%s\n",p);
printf()输出格式
%d int
%10d 打印输出占用10个格
%-10d 打印输出占用10个格,左定格
%u unsigned int
%lu unsigned long
%lld long long int
%c char
%f float
%.2f float, 保留两位小数
%lf double
%Lf long double
%e 科学记数法
%x 16进制
%o 8进制
%p 地址
%s 字符串
scanf();同上
算术运算符
+ 加
- 减
* 乘
/ 除
% 取余
++ 自增1
-- 自减1
a++; //先取值后自增1
++a; //先自增1后取值
a--; //先取值后自减1
--a; //先自减1后取值
例:
假设 a=1; b=2; c=3; d=4;
y = a++; //先取值y=a = 1, 后自增1,a的值最后为2;
y = ++b; //先自增1, b的值为2自增1后为3,后取值y = 3;
y = c--; //先取值y=c = 3, 后自减1,c的值最后为2;
y = --d; //先自减1, d的值为4自减1后为3,后取值y = 3;
三目运算符: (目:目标)
a>b ? a : b 若a>b为真,则选择问号后第一个表达式,即a
否则,选择冒号后的表达式,即b
浙公网安备 33010602011771号