初识c语言的一些笔记

本文介绍了计算机语言中的C语言基础知识,包括数据类型如int、float、char等,变量的声明、初始化和作用域,以及输入输出函数scanf和printf的使用。还讲解了选择语句(if、switch)、循环语句(while、for)、数组和指针的概念。此外,文章还涵盖了位操作、常量、字符串、结构体和函数的使用。
摘要由CSDN通过智能技术生成

计算机语言:人类与计算机交流的语言

调取库include<stdio.h>

主函数int main()

最终约定return 0;

每一行结束记得加;

数据单位bit type=8:1

bit kb=1024:1

kb mb gb tb pb以此类推

数据类型int整数float单精度浮动数(带小数点)long长整数 long long更长的整数short短整数char字符数据类型double双精度浮动数

字节分别是4 4 4 8 2 1 8
数据类型用于创建变量

变量和常量

变量:局部变量和全局变量

全局变量和局部变量可以名字相同,优先局部

变量初始化,不初始化会随机值

scanf输入函数,printf输出函数

scanf不能用的时候在【第一行】加复制的东西
在vs的安装路径下有一个文件newsc++file.cpp的文件,创建新的.c或.cpp文件都是对这个文件的拷贝

变量的作用域和生命周期

声明来自外部的符号extern ;

常量:字面常量;const修饰的常变量;define定义的标识符常量;枚举常量

单引号引字符,双引号引字符串

字符串的结束标志是\0

转义字符:转变字符的意思
%d打印整型
%c打印字符
%s打印字符串
%f打印float类型的数据
%lf打印double类型的数据
%p打印地址
\'单引号转义    \"双引号转义    \\   \的转义
\n换行
\a蜂鸣
\t水平制表符就是键盘上的tab
\r回车 
\ddd ddd表述1-3个八进制数字,例如\130打印出来是X,也就是130十进制88的ascii码 
\xdd dd表示1-2个八进制数字,如\x30打印出来0

ASCII编码

//注释,写代码加上必要的注释/* */是C语言的注释风格//是c++的注释风格

选择语句
if()
{}
else
{}
和switch语句

循环语句
while循环,for循环,do while循环
while()
{
}

数组:一组相同类型元素的集合
整型数组int arr[个数]={1,2,3...};
元素有序号0,1,2,3,...叫数组的下标,下标从0开始

数组如果初始化,可以不指定数组的大小,比如int arr[]={1,2,3}这个数组有三个元素
int arr[10]={0}后面九个元素默认初始化为0
VS不支持变长数组,数组的个数必须是常量或者常量表达式

操作符
算术操作符+ - * /(整除) %(取模)
除号两端都是整数的时候执行整数除法,如果两端有一个浮点数,执行的就是浮点数的除法
取模两端只能是整数

移位操作符<< >>

位操作符& ^ |

赋值操作符= += -= *= /= ^= |= >>= <<=

a+=3即a等于a加3
++就是先赋值再加1,例如int a=10;int b = a++;相当于int b=a;a=a+1;

C语言中0表示假非0表示真
c语言中小数默认为double类型

单目操作符,!逻辑反操作,-负值,+正值,&取地址,sizeof操作数的类型长度,以字节为单位。()强制性转换,int a=(int)3.14就是把3.14强制转换为整型也就是3

关系操作符>,>=,<,<=,!=不相等,==相等

逻辑操作符&&逻辑“与”,||逻辑里的“或”,就是高中数学里的且和或

条件操作符(三目操纵符) exp1?exp2:exp3有三个操作数,1为真,则2对3不对。1为假,则2错3对
a>ba:b如果a>b则输出a,如果b>=a则输出b

逗号表达式是逗号隔开的一串表达式,特点是从左向右依次计算,结果是最后一个表达式的结果
d=(c=a-2,a=b+c,c=c-3);输出的就是最后一个得到的结果

下标引用操作符[](),->

解引用操作符*,*p通过p中存放的地址,找到p所指代的变量。&取地址,*通过地址反过来找对象

常见的关键字,关键字无法自己创建

auto。break跳出循环。char,short,int,long,long long,float,double。
const常属性。continue用于循环......

关键字typedef类型定义
typedef unsigned int uint;
unsigned int num =0;
uint num1=0;这里的unsigned int 和uint是一模一样的

static
修饰局部变量(影响了局部变量的生命周期);修饰全局变量(静态全局变量,全局变量的外部连接属性变成内部连接属性,使得其他源文件不能使用,作用域变小了);修饰函数(和全局变量类似)

define定义常量和宏

指针(也就是所谓内存单元的地址,编号)
内存会划分为内存单元,每个单元都有一个编号,一个单元大小为1字节
创建变量要向内存申请空间int a=10;就是向内存申请4个字节来存储10;
a的地址为存储的4个字节中的第一个

16进制是0~9,abcdef

如果a的地址是0000 0000 0000 0000 0000 0000 0000 1010二进制
转换为16进制即0 0 0 0 0 0 0 a
写出来就是0x 00 00 00 0a

int a=10;
int * p=&a;
*说明p是指针变量,指针变量用来存放地址
int说明p指向的对象是int类型的
指针变量的大小取决于存放地址所需要的空间

结构体就是把单一类型组合在一起
struct Stu
{
char name[20];
int age;
char sex[10];
};
int main()
{
struct Stu s={"muqiao",18,"nan"};
printf("%s %d %s\n",s,name,s,age,s,sex);
return 0;
}
结构体对象s,成员名:s,name,s,age
结构体的指针变量->成员名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值