计算机基础知识(C语言相关)
C语言基础导学
C语言进阶导学
一个C语言小项目的实现
C语言编程.一本全面的Q语言入门教程(第3版)
代码大全
高质量C语言编程
C语言库函数参考手册
C语言常见问题集
1看视频
2结合视频看教材
3难点多理解
4动手多编程
5编码要规范
1.真正的零基础课程,从计算机基础开始
2.摒弃枯燥的Q语言语法讲解,就讲学习重点和难点
3.真正有用的C语言课程,内含大量编程经验和技巧
4.适合零基础同时也适合进阶学习,内容由浅入深
5.强调商业编码规范,以后求职Q语言不再是你的门槛
6.老师实际编码操作,从程序设计需求分析,到流程图,到伪代码,到代码实现,真正告诉你该如何编程。
1先看看编程语言排行榜
2现在哪些开发还会用到C语言?
1)单片机,指针-地址-硬件
2)驱动linux
3)iOS,面向对象特性
4)PC,
3哪些人需要学习C语言?
1)嵌入式
2)linxu底层及应用
3)iOS
Tips:编程语言学习之路
1)语法
2)编码规范
3)程序设计的思想,编码思维
产生代码和让代码变成程序的必要工具
一个图看懂代码到程序的过程
计算机的进制和人类的进制
1什么是进制
2计算机的世界—二进制
3人类的世界—十进制,十六进制
常见的进制转换
http://jingyan.baidu.com/article/495ba84109665338b30ede98.html
Tips:用电脑自带的计算器实现进制快速转换
Tips:编程中,哪些场合会用到进制的转换
1两个概念—物理内存及内存空间模型
2内存空间的基本单位 1字节=8bit(8个空)11111111=0xff=255
3内存空间几个要素
空间大小
地址
#include
int main()
{
int a =POLICE;
printf("%p\n",&a);
return 0;
}
返回值:
c:\Users\Vera\Desktop>cd "c:\Users\Vera\Desktop\" && gcc 2.c -o 2 && "c:\Users\Vera\Desktop\"2
000000000064FE2C
00 00 00 00 00 64 FE 2C 2位1个字节,8个字节,64位。
静态地址示例:
#include
int main()
{
int a =2;
static int b=12;
printf("%p\n",&a);
printf("%p\n",&b);
printf("%p\n",b);
//static b=12;
//printf("%p %p\n",&a,&b);
return 0;
}
返回值:
c:\Users\Vera\Desktop>cd "c:\Users\Vera\Desktop\" && gcc 2.c -o 2 && "c:\Users\Vera\Desktop\"2
000000000064FE2C
0000000000408000
000000000000000C //12=0x0C
1byte=8bit
1英文字符的存储
2中文字符的存储(unicode)
1什么是ASC码表
国际上普遍采用ASC编码(American Standard Code for Information Interchange)。美国信息交换标准代码是一种用于信息交换的美国标准代码。7位字符集广泛用于代表标准美国键盘上的字符或符号。通过将这些字符使用的值标准化,
ASCII允许计算机和计算机程序交换信息。ASCI字符集是与ANS字符集中的前面128个(0-127)字符相同。
2如何查看ASC码表
·数字字符到数字的转换:数字表示的字符-0x30(48)得到真实的数字
#include
int main()
{
char c='1';
printf("c=%c,c=%d,c_change=%d\n",c,c,c-48);
return 0;
}
返回值:
c:\Users\Vera\Desktop>cd "c:\Users\Vera\Desktop\" && gcc 2.c -o 2 && "c:\Users\Vera\Desktop\"2
c=1,c=49,c_change=1
·大小写字母的转换:“a”-“A”=0x32
#include
int main()
{
char c='A';
printf("c(char)=%c,c(int)=%d,c_change(char)=%c,c_change(int)=%d,c_change(HEX)=%x\n",c,c,c+32,c+32,c+0x20);
return 0;
}
返回值:
c:\Users\Vera\Desktop>cd "c:\Users\Vera\Desktop\" && gcc 2.c -o 2 && "c:\Users\Vera\Desktop\"2
c(char)=A,c(int)=65,c_change(char)=a,c_change(int)=97,c_change(HEX)=61
%x:普通小写16进制
%X:普通大写16进制
%#x:带0x前缀的小写16进制
%#X:带0X前缀的大写16进制
%hd 中h的意思是短整形
%ld中l的意思是长整型
#include
int main()
{
short a = 0b1010110; //二进制数字
int b = 02713; //八进制数字
long c = 0X1DAB83; //十六进制数字
printf("a=%ho, b=%o, c=%lo\n", a, b, c); //以八进制形似输出
printf("a=%hd, b=%d, c=%ld\n", a, b, c); //以十进制形式输出
printf("a=%hx, b=%x, c=%lx\n", a, b, c); //以十六进制形式输出(字母小写)
printf("a=%hX, b=%X, c=%lX\n", a, b, c); //以十六进制形式输出(字母大写)
return 0;
}
返回值:
c:\Users\Vera\Desktop>cd "c:\Users\Vera\Desktop\" && gcc 1.c -o 1 && "c:\Users\Vera\Desktop\"1
a=126, b=2713, c=7325603
a=86, b=1483, c=1944451
a=56, b=5cb, c=1dab83
a=56, b=5CB, c=1DAB83