前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言理论题经验分享1

C语言理论题经验分享1

作者头像
From Zero
发布2021-02-22 11:14:50
4930
发布2021-02-22 11:14:50
举报
文章被收录于专栏:C语言

C语言理论题经验分享1

文章目录

我们在学习C语言的时候可能经常会遇到各种各样***稀奇古怪***(==你不会)的理论题,虽然在实际应用中可能遇不到这些情况,但是掌握这些基础理论知识对加深我们对C语言的理解和学习有很大好处。

以下是本菜鸡整理的一些在学习中遇到的理论题问题,如发现有误,敬请大佬们指正:

1.机器语言、汇编语言、高级语言

计算机语言的种类非常的多,总的来说可以分成机器语言、汇编语言,高级语言三大类。

机器语言,顾名思义就是机器使用的语言,被认为是最低级的语言。它按照机器的逻辑行事,与人类的思维逻辑大相径庭。每一操作码在计算机内部有相应的电路直接完成。

汇编语言,只是将机器语言做了简单编译,所以并没有从根本上解决机器语言的特定性,所以汇编语言和机器自身的编程环境息息相关,推广和移植很难,但是还是保持了机器语言优秀的执行效率。

高级语言,就是我们现在编程过程中广泛使用的语言,更贴近人类的思维逻辑,并且是可移植的。

2.位运算

在计算机中,数据实质上都是以二进制形式存储的。因此,机器在执行指令时是对二进制数据直接操作。其中就涉及到位运算(对整数的二进制位直接操作)。

关于位运算详情可以戳这篇文章:

位运算

3.关于i++和++i

1)i++在表达式中时,先用原 i 进行运算操作,再给 i 加1

2)for循环()中,i++和++i的效果相同

4.输出格式

1)不按标准的占位符输出,会输出垃圾值junk value

(example : float a = 2.3;printf("%d", a); we will have a answer “178342647553”)

2)%.nf和%m.nf的含义:

格式控制符m.n,m表示输出数据总宽度(包括小数点 . ),n表示数据精度,具体因数据类型而不同。

m:总宽度,包括小数点

n:小数部分位数,四舍五入

%m.nf 总长度为m,小数点后面保留n位,不足就前面加空格来补

%.nf 总长度不限,小数点后面保留n位,不足补零

3) 关于 “%*s”:

在printf中使用,表示用后面的形参替代的位置,实现动态格式输出。

printf("%*s", 10, s);

//意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf("%10s", s);

Printf("%10.*s", 3,string);

//意思是输出最大长度为3的字符串,但至少占10个位置,不足的在左边用空格补齐。

4)%nd和%0nd

%nd 输出的整型宽度至少为n位,右对齐,%5d即宽度至少为5位,位数大于5则输出实际位数

%0nd 用得比较多,表示输出的整型宽度至少为n位,不足n位用0填充

printf("%05d",1)输出:00001

%0nd 用得比较多,表示输出的整型宽度至少为n位,不足n位用0填充

printf("%05d",1)输出:00001

printf("%5d",1)输出:****1(*为空格)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C语言理论题经验分享1
    • 文章目录
      • 1.机器语言、汇编语言、高级语言
        • 2.位运算
          • 3.关于i++和++i
            • 4.输出格式
              • 1)不按标准的占位符输出,会输出垃圾值junk value
              • 2)%.nf和%m.nf的含义:
              • 3) 关于 “%*s”:
              • 4)%nd和%0nd
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档