文章目录
1、当天学习的知识点
C语言
C语言是面向过程的结构化的程序设计语言,中级语言,既能编写系统软件,又能编写应用软件
优点
- 语法简洁,紧凑,灵活,关键字少(32个关键字)
- 运算符丰富,算术运算符、逻辑运算符(与或非)、关系运算符(大于等于小于)
- 结构化:体现在函数上,每个函数都是独立的块
- 数据类型:int char void 浮点型 数组 指针 结构体;结构体可以让用户自己决定存储什么数据,里面可以有各种类型的数据
- 能够直接对硬件和内存进行操作:(指针)
- 和高级语言相比,代码质量和效率高
- 移植性好 在windows和linux都可以运行
- 语法限制不严格:数组下标不会显示越界问题
C程序
- 工程名不能出现中文
- 整个程序除了注释其他全部使用英文输入法输入
- 新建.c源文件时,文件名要加.c,否则默认建立.cpp文件
- 程序执行是从上往下
- 变量、函数、标签和其他用户定义的对象的名称都称为标识符;
- 标识符1、由字母、数字、下划线组成。2、不能由数字开头。3、区分大小写。4、不能和关键字重名。5、不能与系统内置的标识符重名
- 变量的定义语句放在函数体的最前面
gcc编译
- 运行过程:.C源文件 --> 预处理 --> compile编译 生成.obj文件,可以检查有无语法错误 --> 汇编–>链接–>生成.exe可执行文件;
- 预处理:以#号开头的语句 都是在预处理阶段处理。gcc -E xx.c 生成 xxx.i 文件
- 编译:生成汇编文件 gcc -S xxx.i 默认生成 .s 后缀的汇编文件
- 汇编:对汇编文件进行汇编。gcc -c xxx.s 生成 .o目标文件
- 链接:生成可执行文件。gcc xxx.o -o xxx 生成 xxx.out可执行文件
- 分号;是语句的一部分,每个C语言都以一个分号结束。
make编译
C数据类型
变量
变量存在的意义:方便管理内存;每一段内存都有地址编号,每个地址编号内可以存放数据,变量名相当于地址编号,通过变量名得到数据
变量的作用:给一段指定的内存空间起名;方便操作这段内存
常量
作用:用于记录程序中不可更改的数据
常量的定义方式
- #define 宏常量
- const修饰的变量
数据类型
- int型数据在32位系统中占用32位(4个字节)的内存空间,在16位系统中占用16位(2字节)空间
- float型数据有效数字6位,占用32位(4个字节)的内存空间,例3.14159
- double型数据有效数字17位,占用64位(8个字节)的内存空间。
- char型数据占用1字节的内存空间,
- char<int=long int=float<double=long double
- 八进制整型常量以0开头:023、0101; 十六进制:以0x开头
#include<stdio.h>//预处理命令 引入这个文件
//#include甚至不是C语言的语句,开头的#,表明这一行是在编译器接手之前先由C预处理器处理的语句。
//stdio.h:放置的是c语言中的标准输入输出头文件
#define NUM 8 //宏定义 定义常量
int sum(int a,int b); //函数声明:函数首部加;
int count=10;//全局变量声明
//main()函数是程序的入口,整个工程有且只能有一个,()表明main()是个函数
int main() //int指明main()函数的返回类型,返回值返回给操作系统,告诉操作系统函数执行成功或失败。
{
int num=100;//定义变量:向系统申请内存空间,空间大小由 数据类型 决定
//const int num=100; const修饰的量不可修改,为常量
void *p=NULL; //void 定义函数和指针时使用
char *name="hello world"; //定义常量
printf("%d\n",sizeof(int)); //sizeof()计算占用内存的大小
printf("num=%p\n",&num); //&num取地址,%p输出地址
sum(3,4); //函数调用
printf("hello world\n");
return 0;
}
/*
函数名:sum
函数功能:求两个int类型数据之和
函数的参数:int a和int b
函数的返回值:int类型的两数之和
*/
//函数定义
int sum(int a,int b) //函数首部:由函数类型、函数名、参数列表构成
{ //{。。。。}:函数体,{语句}。{}
return a+b;
}
2、上课没有听懂或者没有理解的地方
不理解为什么在不同位数的系统中,同一数据类型占用的内存空间不同
3、学习的收获
以前学习的C语言知识得到了巩固和扩展。了解了调试功能。了解了注释的重要性
4、作业的思路,不会的地方及不会的原因
创建一个工程,自己编写个函数,比如主函数函数,实现两个数据的比较,并返回最大值。在main里面调用这个函数。
定义一个变量,用if语句和逻辑运算符将较大的数赋值给变量,返回变量
5、其他需要反馈的问题
无
6、心得体会
感觉C语言的基础知识挺多的,还需要多学多练。