1.目的:了解c语言学习大纲 和相关的基础知识
2.技术知识:
C语言学习大纲
1、面试 指针 数组 结构体
2、程序逻辑思维
3、大量练习
4、基础知识
(1)基本数据类型
(2)条件语句 if if...else switch
(3)循环语句 while do..while
(4)函数
(5)数组
(6)指针
(7)结构体
(8)枚举
(9)宏定义
(10)文件操作
(11)动态分配内存
#include "stdafx.h"/*include宏定义。
""表示编译器会首先从自己工程查找头文件,没有则从系统库;<>则相反*/
#include"iostream"
int _tmain(int argc, _TCHAR* argv[])/*main函数:任何程序必须有一个入口点(有的看不到);
返回值:int,标识这个运行结果
0正常(程序正常执行,程序的资源正常分配)
1失败(非正常退出,程序会没收运行过程中获取的资源);
运行回路:runtime*/
/*集成开发环境IDE:Xcode ,Android studio ,VS
写代码:文本编辑器 文本文档 Sublime
编译:编译器 javac gcc 编译原理
高级语言c c++ iava OC kotlin swift
机器语言(二进制)000101010011
编译器:将高级语言转换为机器语言
编译过程:预处理(预编译):展开头文件,得到一个完整的程序
汇编:将高级语言转化为汇编语言Mov sq1,sq2
编译:得到二进制数据
链接:1.0 2.0 3.0(二进制文件)得到可执行程序.exe
执行
显示结果:console*/
/*关键字:编译器定义的char char*String
注意:不能用关键字给变量命名*/
/*单行注释:两个反斜杠,注释一个语句
多行注释:注释一个方法或函数(不能嵌套)*/
/* int %d %02d不足的补齐 01 整数 在64位系统里占四个字,32位占两个
float %f
double %f
long %ld 8个字节 longlong也是8个
char %c
char * %s
*/
{
int a=1;//定义一个整形变量,立刻分配内存空间,赋初值1
int b;//声明一个整形变量,没有分配内存空间,使用时才会赋值(如下)
b=2;
printf("a=%02d\n",a);
size_t len=sizeof(int);
printf("%zu\n",len);
float score=96.5;
printf("score=.1%f\n",score);
float my_pi=3.1415926;
printf("pi=%f\n",my_pi);//为什么用这种类型,怎么用
long size=20;
printf("%ld\n",size);
char ch='a';//%c输出字符,%d输出对应ascll码
printf("ch=%d\n",ch);
for (int i=0;i<26;i++){
printf("%c ",'A'+i);//26个英文字母
}
printf("\n");
//从终端输入数据1 2 3 4
int choice=0;
scanf("%d",&choice);
printf("chioce=%d",choice);
char space=getchar();
char next=getchar();
char next2=getchar();//getchar会将换行符也读取进来'\n'
char next3=getchar();
printf("%c%c%c%c\n",space,next,next2,next3);
system("pause");
return 0;
}
基本数据类型
1、#include 导入头文件(宏定义)
stdio与用户交互
""表示编译器会首先从自己工程查找头文件,没有则从系统库;<>则相反
2、main函数:任何程序必须有一个入口点(有的看不到);
返回值:int,标识这个运行结果
0正常(程序正常执行,程序的资源正常分配)
1失败(非正常退出,程序会没收运行过程中获取的资源);
运行回路:runtime
3、集成开发环境IDE:Xcode ,Android studio ,VS
写代码:文本编辑器 文本文档 Sublime
编译:编译器 javac gcc 编译原理
4、高级语言c c++ iava OC kotlin swift
机器语言(二进制)000101010011
编译器:将高级语言转换为机器语言
编译过程: 预处理(预编译):展开头文件,得到一个完整的程序
汇编:将高级语言转化为汇编语言Mov sq1,sq2
编译:得到二进制数据
链接:1.0 2.0 3.0(二进制文件)得到可执行程序.exe
执行 // 这几个步骤必须要知道
显示结果:console
5、关键字:编译器定义的char char*String
注意:不能用关键字给变量命名
6、单行注释:两个反斜杠,注释一个语句
多行注释:注释一个方法或函数(不能嵌套)
7、 int %d %02d不足的补齐 01 整数 在64位系统里占四个字,32位占两个
float %f
double %f
long %ld 8个字节 longlong也是8个
char %c
char * %s
8、int a=1;//定义一个整形变量,立刻分配内存空间,赋初值1
int b;//声明一个整形变量,没有分配内存空间,使用时才会赋值(如下)
b=2;
9、1T=1024*1G
1G=1024*1M
1M=1024*1kb
1kb=1024*1byt
10、iO流
(1)终端输入 20 a b
(2)操作系统接收 缓存 20 a b
(3)将io流放到对应的内存空间 20—>0x100
定义变量和声明变量的区别
定义一个整形变量 立刻为我们分配内存空间 如:int a = 1;
特点:运行时占空间,使用时效率高
声明一个整型变量 没有分配内存空间 如:int b 使用的时候才会分配内存空间 b = 20;
特点:运行时不占空间 使用时速度慢一点
if条件判断语句
使用结构:if(条件){
条件为真/成立 需要做的事情
}
if(条件){
条件为真/成立 需要做的事情
}else{
条件为假/不成立 需要做的事情
}
if(条件){
条件为真/成立 需要做的事情
}else if(条件){
条件为真/成立 需要做的事情
}else if(条件){
条件为真/成立 需要做的事情
}else{
以上条件之外 需要做的事情
}
(补上上次没上的课0.0 )