学习C语言

C库函数-printf()

这个我发现一个快速可以把十进制数转化为八进制或者十六进制。
话不多说,直接上代码。

#include <stdio.h>
int main()
{
   int a = 150;
   printf("整数为 %d\n" , a);
   printf("八进制值为 %o \n", a);
   printf("十六进制值为 %x \n", a);
   return 0;
}

下面展示输出结果

整数为 150
八进制值为 226 
十六进制值为 96

以上代码可以看到可以直接输出八进制数和十六进制数

其他的一些功能,在下面显示。

%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%o 无符号以八进制表示的整数
%g 把输出的值按照 %e 或者 %f 类型中输出长度较小的方式输出
%p 输出地址符
%lu 32位无符号整数
%llu 64位无符号整数

三目运算符

对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。

 /* 三元运算符实例 */
   a = 10;
   b = (a == 1) ? 20: 30;
   printf( "b 的值是 %d\n", b );
 
   b = (a == 10) ? 20: 30;
   printf( "b 的值是 %d\n", b );
}

下面展示一些 输出结果

b 的值是 30
b 的值是 20

赋值运算符

符号实例
=C = A + B 将把 A + B 的值赋给 C
+=C += A 相当于 C = C + A
-=C -= A 相当于 C = C - A
*=C *= A 相当于 C = C * A
/=C /= A 相当于 C = C / A
%=C %= A 相当于 C = C % A
<<=C <<= 2 等同于 C = C << 2
>>=C >>= 2 等同于 C = C >> 2
&=C &= 2 等同于 C = C & 2
^=C ^= 2 等同于 C = C ^ 2

大家可以在里面寻找一些规律

变量

我们都知道变量是有自己的作用范围的,有局部变量和全局变量。
要看变量的作用范围呢,就要看变量自身最靠近的花括号,这个一对花括号就是变量作用的范围。这里就不举例子了。

数据的存储类别

在C语言中,每一个变量和函数都有两个属性:数据类型数据的存储类别
数据类型就是按照什么类型存储,浮点型、整型之类。而数据的存储类别有四种类别:自动的(auto),静态的(static),寄存器的(register),外部的(extern)。

局部变量的存储类别

  1. 自动变量(auto变量)
    这个变量就是在函数被使用时,系统给这些变量分配储存空间,函数使用结束后就会自动释放这些存储空间。
  2. 静态局部变量(static局部变量)
    这个变量就是一直占用存储单元不方的,就函数调用后这个变量也是一直占住存储空间的。
  3. 寄存器变量(register变量)
    这个就是要频繁的使用这个变量,就干脆把他放在寄存器中,读取快速。不过一般不用。

总结:自动变量(auto变量)存储在动态存储区;静态局部变量(static局部变量)存储在静态存储区;寄存器变量(register变量)变量存储在CPU的寄存器中

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值