变量和数据类型
计算机要处理的数据(诸如数字、文字、符号、图形、音频、视频等)是以二进制的形式存放在内存中的。
我们将8个比特(Bit)称为一个字节(Byte),并将字节作为最小的可操作单元。
C语言变量声明和内存分配
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
字符和整数的关系
基本运算符
标识符、关键字
变量的定义
…