1、计算机的基本结构
CPU中央处理器
输入输出设备
存储器
2、什么是程序
(1) 广义:为了实现一个特定的目标,而进行的一系列的步骤
比如找工作:写简历->投简历->笔试->面试->入职
对于计算机而言:程序是为了实现一个特定的功能,而进行的一系列有序指令的集合
指令:计算机能够识别的操作
程序是存放在存储器中的
(2)存储器
a、主存储器:内存小,读写速度较快,只能在加电时保存数据
b、外存储器:容量大,读写速度较慢,可以在断电时保存数据
c、寄存器:CPU内部的存储器,读写速度最快,数目少,容量小
(3)机器语言
计算机能够识别的语言(二进制0、1)
位:bit 1byte=8bit
内存的基本单位:字节
3、程序设计步骤
编辑->编译、链接->执行、调试
4、计算机的数据表示
(1)数值数据:二进制、八进制、十进制、十六进制
二进制:0、1
八进制:0-7
十进制:0-9
十六进制:0-9 a-f/A-F
其他进制转换成十进制:每一位的数值*基数^(位数)
十进制转换成二进制:除二倒取余
八进制转换成二进制
十六进制转换成二进制
(2)非数值数据
‘a’----97
‘A’----65
‘0’----48
‘\0’----0
5、C语言的简介
(1)关键字:32个关键字
关键字都是由系统定义的,全部都是小写
数据类型 :int char short long double float enum struct union void
分支语句 :if else switch case break continue default
循环语句 :do while for goto
符号 : signed unsigned
返回 :return
存储类型:auto(自动)register(寄存器)static(静态)extern(变量)
其他:const(定义只读变量,不能被修改的变量)
sizeof(求所占内存的长度/字节)
typedef(给现有的类型取别名)
volatile(防止编译器优化的)
(2)标识符
由程序员定义的,用于定义宏名、变量名、函数名和自定义类型名
a、由数字、字母、下划线组成
b、第一个字符不能是数字
c、不能与关键字重名
(3)注释符: //注释一行
/* */注释多行 注:不能嵌套
6、基本数据类型
整型、字符型、浮点型、指针、枚举
整型:int short long long long
字符型:char
浮点型:float double
构造数据类型:数组、结构体、共用体
空类型:void型
有符号数:最高位为符号位 正数:0 负数:1
负数以补码的形式存放在计算机中,负数的二进制码,在源码的基础上取反加1
char:8bit
unsigned char:0000 0000~1111 1111 0~255(0~2^8-1)
signed char:1000 0000~0111 1111 -128~127(-2^7~2^7-1)
short:16bit 2byte
unsigned short:0~2^16-1
signed short:-2^15~2^15-1
int/long:32bit 4byte
unsigned int:0~2^32-1
signed int:-2^31~2^31-1
long long:64bit 8byte
unsigned long long:0~2^64-1
signed long long:-2^63~2^64-1
sizeof(变量名/数据类型) sizeof不是函数,是关键字
float:32bit 4byte
符号位:1
指数位:8
小数位:23
注:浮点数在计算机中用以近似的表示某个实数
有效数字的位数是6-7位
double:64bit 8byte
符号位:1
指数位:11
小数位:52
有效数字的位数:15-16位
7、常量:在程序运行期间其数值不发生变化的数据
整型常量:
十进制:78 90 100
八进制:067 0212016/07/12 14:54
十六进制:0xeff 0Xff
长整型:在整型常量结尾加上‘L’或‘l’
无符号整型:在结尾加上‘U’或‘u’
浮点常量:3.5 -4.5 e-6 1.2e+6
字符型常量:‘a’ ‘g’
字符串常量:”hello world“ 字符串常量以‘\0’结尾
标识常量:#define 宏名(一般用大写)常量(常量表达式)
CPU中央处理器
输入输出设备
存储器
2、什么是程序
(1) 广义:为了实现一个特定的目标,而进行的一系列的步骤
比如找工作:写简历->投简历->笔试->面试->入职
对于计算机而言:程序是为了实现一个特定的功能,而进行的一系列有序指令的集合
指令:计算机能够识别的操作
程序是存放在存储器中的
(2)存储器
a、主存储器:内存小,读写速度较快,只能在加电时保存数据
b、外存储器:容量大,读写速度较慢,可以在断电时保存数据
c、寄存器:CPU内部的存储器,读写速度最快,数目少,容量小
(3)机器语言
计算机能够识别的语言(二进制0、1)
位:bit 1byte=8bit
内存的基本单位:字节
3、程序设计步骤
编辑->编译、链接->执行、调试
4、计算机的数据表示
(1)数值数据:二进制、八进制、十进制、十六进制
二进制:0、1
八进制:0-7
十进制:0-9
十六进制:0-9 a-f/A-F
其他进制转换成十进制:每一位的数值*基数^(位数)
十进制转换成二进制:除二倒取余
八进制转换成二进制
十六进制转换成二进制
(2)非数值数据
‘a’----97
‘A’----65
‘0’----48
‘\0’----0
5、C语言的简介
(1)关键字:32个关键字
关键字都是由系统定义的,全部都是小写
数据类型 :int char short long double float enum struct union void
分支语句 :if else switch case break continue default
循环语句 :do while for goto
符号 : signed unsigned
返回 :return
存储类型:auto(自动)register(寄存器)static(静态)extern(变量)
其他:const(定义只读变量,不能被修改的变量)
sizeof(求所占内存的长度/字节)
typedef(给现有的类型取别名)
volatile(防止编译器优化的)
(2)标识符
由程序员定义的,用于定义宏名、变量名、函数名和自定义类型名
a、由数字、字母、下划线组成
b、第一个字符不能是数字
c、不能与关键字重名
(3)注释符: //注释一行
/* */注释多行 注:不能嵌套
6、基本数据类型
整型、字符型、浮点型、指针、枚举
整型:int short long long long
字符型:char
浮点型:float double
构造数据类型:数组、结构体、共用体
空类型:void型
有符号数:最高位为符号位 正数:0 负数:1
负数以补码的形式存放在计算机中,负数的二进制码,在源码的基础上取反加1
char:8bit
unsigned char:0000 0000~1111 1111 0~255(0~2^8-1)
signed char:1000 0000~0111 1111 -128~127(-2^7~2^7-1)
short:16bit 2byte
unsigned short:0~2^16-1
signed short:-2^15~2^15-1
int/long:32bit 4byte
unsigned int:0~2^32-1
signed int:-2^31~2^31-1
long long:64bit 8byte
unsigned long long:0~2^64-1
signed long long:-2^63~2^64-1
sizeof(变量名/数据类型) sizeof不是函数,是关键字
float:32bit 4byte
符号位:1
指数位:8
小数位:23
注:浮点数在计算机中用以近似的表示某个实数
有效数字的位数是6-7位
double:64bit 8byte
符号位:1
指数位:11
小数位:52
有效数字的位数:15-16位
#include<stdio.h>
#include<stdbool.h>
int main()
{
unsigned char a = -1;
char b = -128;
char c = 129;
unsigned char d = 255;
char e = d;
bool g = -99;
char f = -129;
printf("a=%d,b=%d,c=%d,d=%d,e=%d,f=%d,g=%d\n",a,b,c,d,e,f,g);
return 0;
}
7、常量:在程序运行期间其数值不发生变化的数据
整型常量:
十进制:78 90 100
八进制:067 0212016/07/12 14:54
十六进制:0xeff 0Xff
长整型:在整型常量结尾加上‘L’或‘l’
无符号整型:在结尾加上‘U’或‘u’
浮点常量:3.5 -4.5 e-6 1.2e+6
字符型常量:‘a’ ‘g’
字符串常量:”hello world“ 字符串常量以‘\0’结尾
标识常量:#define 宏名(一般用大写)常量(常量表达式)
只是单纯的符号替换,不参与任何运算
#include<stdio.h>
void main()
{
char str = 'A';
char str2 = 'a';
char str3 = '0';
int num = 0;
num = 'B';
char str4[3] = "ab";
char str5 = str + str2;
printf("num=%d\n",num);
printf("str5=%d\n",str5);
printf("str+3=%d\n",str+3);
printf("str3=%c\n",str3);
printf("str4=%s\n",str4);
printf("int=%d,char=%d,float=%d,long=%d,double=%d,short=%d,str=%d",sizeof(int),sizeof(char),sizeof(float),sizeof(long),
sizeof(double),sizeof(short),sizeof(str));
return ;
}