C语言复习笔记 3

变量和数据类型

计算机要处理的数据(诸如数字、文字、符号、图形、音频、视频等)是以二进制的形式存放在内存中的。
我们将8个比特(Bit)称为一个字节(Byte),并将字节作为最小的可操作单元。
C语言变量声明和内存分配

32位与64位 CPU、编译器、操作系统与应用程序的区别

进阶篇:不同类型变量的变量名和内存间的关系

3.1 变量、数据类型

强类型语言:C、C++、Java、C#等在定义变量时必须指明数据类型;
弱类型语言:JacaScrip、PHP等在定义变量时不必指明数据类型,编译系统自动推演。

3.2 在屏幕上输出各种数据类型

puts()函数——output string 的缩写,只能用来输出字符串,不能输出整数、小数、字符等,需要用printf()函数。
putchar()函数——只能输出单个字符
printf 比 puts 更加强大,不仅可以输出字符串,还可以输出整数、小数、单个字符等;输出格式也可以自己定义,例如:

  • 以十进制、八进制、十六进制形式输出;
    • %d——d是decimal的缩写,意思是十进制数
    • %c——c是character的缩写,字符
    • %s——s是string的缩写,字符串
    • %f——f是float的缩写,小数
  • 要求输出的数字占 n 个字符的位置;
  • 控制小数的位数。

printf 是 print format 的缩写,意思是“格式化打印”。这里所谓的“打印”就是在屏幕上显示内容,与“输出”的含义相同,所以我们一般称 printf 是用来格式化输出的。

printf格式控制字符的完整形式如下:
%[flag][width][.precision]type
[xxx]并不是C语言规定的格式,只是一种习惯写法,表示此处的内容可有可无。

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a1=20, a2=345, a3=700, a4=22;
    int b1=56720, b2=9999, b3=20098, b4=2;
    int c1=233, c2=205, c3=1, c4=6666;
    int d1=34, d2=0, d3=23, d4=23006783;

    printf("%-9d %-9d %-9d %-9d\n", a1, a2, a3, a4);
    printf("%-9d %-9d %-9d %-9d\n", b1, b2, b3, b4);
    printf("%-9d %-9d %-9d %-9d\n", c1, c2, c3, c4);
    printf("%-9d %-9d %-9d %-9d\n", d1, d2, d3, d4);

    system("pause");
    return 0;
}


//输出结果
20        345       700       22
56720     9999      20098     2
233       205       1         6666
34        0         23        23006783

详解%[flag][width][.precision]type
1) flag标识符,几种常见的标识字符

几种常见的标识字符
标识字符含义
-左对齐
+输出符号
空格输出值为正时冠以空格,为负时冠以负号

3.3 基本数据类型

整数的几个基本概念:
1)原码:将一个整数装换为二进制,就是其原码。

5的原码:00000101;-5的原码:10000101;

2)反码:正数的反码就是其原码,负数的反码是将原码中除符号位以外的每一位取反。

单字节5的反码为00000101;-5的反码为:11111010

3)补码:正数的补码就是其原码;负数的补码是其反码加1;

单字节5的补码为10000101;-5的补码为:11111011

在计算机内存中,数值一律采用补码表示。

整数类型——标识符int,在内存中怎么存储的:补码
小数类型——float和double,在内存中怎么存储的:指数形式-原码

字符——char型变量在内存中存储的是字符对应的ASCII码值,

————————————–

学习路线:乱入

大一上:
C Primer Plus
说明:大一刚进入大学,对于大学是陌生的,需要一定的时间熟悉。只需要自己学好C语言即可。

大一下:
VS使用:Visual Studio程序员箴言
C和指针
说明:学习编程需要熟悉开发工具,这是编程的基础。而C语言学习也需要加深。

大二上:
数据结构C语言版
C++ Primer Plus
说明:学习了基本的编程语言后,需要开始了解数据接算法基础了。同时,也需要学习面向对象的编程语言了。C++将作为主要的语言推荐,作为修炼大神必备语言基础。

大二下:
Windows程序设计
Linux系统使用
标准程序库STL

说明:语言学的差不多了,就需要了解操作系统的编程。Windows系统的使用则不必专门学习了,接触的多自然也熟悉。但是Linux系统的使用则需要额外的学习一下。然后对于编程需要进一步的学习程序库的使用,学习使用程序库提高开发效率,打好基础。

大三上:
计算机操作系统(非计算机专业自己学)
Boost入门
数据结构C++语言版
Windows核心编程

说明:学完了C++,因为数据结构是软件开发非常中重要的基础,所以再用面向对象思想来学习加深数据结构。在实际开发过程中,很多时候都是用面向对象的方式来做的。然后就是学习操作系统的基础理论和加深Windows编程,再学习一个程序库Boost,以后将会普及,需要提前学好。

大三下:
计算机网络(非计算机专业自己学)
MFC程序设计
Linux编程

说明:计算机网络也是必学的计算机理论,然后接触实际的开发库MFC。作为Windows开发MFC还是需要学习的,学会使用,然后学会MFC的设计思想等,其他框架其实想通的。Linux也需要开始编程了。

大四:
C++编程风格
C++编程惯用法_高级程序员常用用法和技巧
设计模式:可复用面向对象软件的基础
大道至简-软件工程实践者的思想

高质量程序设计指南

———————————–

小数:单精度和双精度
float和double:在内存中的存储方式

字符——char
字符和整数的关系

基本运算符

标识符、关键字

变量的定义

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值