第一节
#### 认识c文件 ####
1,创建hello.c文件
#include <stdio.h>
int main(){
printf("hello world!!!\n");
return 0;
}
#认识源文件内基本信息
/*
1,文件后缀名:.c(源文件)
2,对include <stdio.h>解释:*.h(头文件):包含所有的函数
<>括号:代表搜寻的路径是默认路径
#号:语法要求
include:关键字,专用于头文件包含
3,对int main{ ***}解释:
这是真实源文件
main:函数名,作为整个程序的入口,有且只有一个
思考:C语言程序至少有一个函数?----->正确
函数的小括号里,存放参数列表,必须有(这里指必须有小括号);main函数返回值:返回给操作系统
void是指空类型,没有参数
printf();标准输出函数,输出到shell终端
return 0;return:关键字,c语言预先征用,不能用作别的用途。结束函数
4,程序和进程的却别:
程序是静态的,存在于存储设备中(硬盘,U盘等);进程是在执行中的程序,在内存中
*/
#### 基本数据 ####
1,创建文件basic_data.c
#include <stdio.h>
int main()
{
int a = 12;//定义变量,同时初始化.12是一个常量,C语言李所有出现的显式整>数数字,默认是int类型
int b = 2;
int c;
int d;
/*
c = a % b;//%:取模符号,也叫取余符号
printf("c = %d \n", c);
*/
//类似于%:双目运算符,两边必须是整型数
/*
c = 12.0 % 5;C语言是强类型语言!
printf("c = %d \n", c);
*/
/*
c = b++;//++是一个运算符,类似于:b = b + 1 而且该式顺序,先赋值,再++,
自右向左
d = ++b;//先++,再赋值。
printf("b = %d \nc = %d \n",b,c);
printf("b = %d \nd = %d \n",b,d);
*/
c = b--;//先赋值,后--
printf("b = %d \nc = %d \n",b,c);
return 0;
}
2,创建文件basic_data2.c#include <stdio.h>
int main()
{
/*
int a = 8;
printf("a = %d \n",a);
printf("sizeof(int) = %d \n",sizeof(int));
printf("sizeof(a) = %d \n",sizeof(a));
//定义一个数据a,变量a,可以改变的量。和一个内存地址绑定起来。数据类型决
定了数据最大长度;
//对于int,内存中开辟了一个空间,4个字节
//1Byte字节 == 8bit(位)
//100Mb == 12.5MB
//%d:用于打印十进制
//函数名实质都是地址
//sizeof测试变量或者类型的所占字节数,是一个运算符,不是函数!
*/
return 0;
}
#### 位运算 ####
1,创建文件bit_operation.c文件
#include <stdio.h>
/*
演示位运算
程序最终的结果:一个可执行的文件,内存将运行结果-->寄存器-->cpu
*/
int main(void)
{
unsigned u = 0b101101;
//定义无符号变量u,0b表示为二进制
/* int a = 1, b = 2, c = 0;
//b = b + 1 == b++ ; b = b * 2 == b* = 2
printf("a = %d b = %d c = %d \n",a=b+c,b*=2,c+=1);
//错误答案2 4 1; 正确答案5 4 1
//原因:该printf函数参数入参时,由右至左进入函数!!!
*/
/*
unsigned a = 10;//定义无符号变量a
unsigned int b = 20;
int ret = a && b; //结果是逻辑值,0或者1。在C语言里,逻辑值,非零即真
printf("ret = %d \n",ret);
return 0;
if(0.5){ //判断是否为真,是真则执行。非零即真
printf("hello \n");
}
*/
/*
unsigned a = 3, b = 3;//什么是无符号? 0~无穷大
// unsigned c = a & b; //位与运算,化为二进制,对应为进行与运算,得到结果
unsigned c = a | b;
printf("c = %d \n",c );
*/
/*
1,位与运算:& 真值表达式:1&0=0,0&1=0,0&0=0,1&1=1;
2,逻辑与运算:&& 真值表达式:1&&0=0,0&&1=0,0&&0=0,1&&1=1;
3,位或运算:| 真值表达式:1|0=1,0|1=1,0|0=0,1|1=1;
4,逻辑或运算:|| 真值表达式:1||0=1,0||1=1,0||0=0,1||1=1;
*/
return 0;
}