初始C语言

一、认识C语言

人与人之间通过汉语、英语和日语等语言交流
那么人和计算机之间的交流也有语言。-----------C语言/c++/Java/python等。现在已经有上千种计算机语言了。

  • C语言擅长底层开发
    计算机底层有,操作系统(Windows,Linux,Mac)、驱动器、硬件
    C语言可以用来写操作系统,Linux就是由C语言写的。
  • C语言的发展
    低级语言 ————>————>高级语言
    二进制指令 ----->汇编指令------>B语言-------->C语言
    101010。。。。。 ASF。。。。。。。。。高级语言
  • C语言的国际标准
    ANSIC(美国标准)
    以前的:C89、C90、C99、C11
  • 编辑器
    GCC、MSVC、Clang
    通过 (编译+链接)将
    text.c( .c的源文件) --------生成-------->text.exe( .exe的可执行文件)

main()主函数

  • 函数是构成C语言程序的基本单位
  • C语言程序中一定要有主函数
  • 代码是从主函数开始运行的(主函数是程序的入口)
  • 标准的主函数写法
int main()
{

    return 0;
}

库函数

printf()输出函数,将电脑里的数据在屏幕上显示出来
scanf()输入函数,将你按的键盘上的一些字符输入电脑
使用这两个函数时需要包括头文件

#include <stdio.h>

include包括、std是standard标准、i是input、o是output、.h是头文件

数据的类型

  • 整形---------整数
  • 浮点型----------小数
  • 字符型----------字母
数据类型大小/字节
char字符型1
short短整型2
int整形
long长整型4
long long长长整形8
float单精度浮点型4
doubt双精度浮点型8

注:没有字符串类型,可以定义字符数组表示字符串。char arr[10];

变量和常量

变量

值会改变的量。

  • 局部变量:{}内部定义的变量,作用域是变量所在的花括号范围,生命周期是进作用域创建出作用域销毁。
  • 全局变量:{}外部定义的变量,作用域是整个程序,生命周期和整个程序一样
  • 变量的作用域:变量能够被使用的范围
  • 变量的生命周期:变量创建后存在不被销毁的时间

常量

值不会改变的量。

  • 字面常量
    30-整形
    3.14-浮点
    ‘w’-字符
    “abc”- 字符串

  • const修饰的常变量
    将变量属性变为常量属性,不能在给它赋值了
    使用:

const int a = 10;//a本质还还是变量,只是拥有了常量属性
a = 20;//不能给a赋值了,现在的a相当于常量

  • define定义标识符常量
  • 枚举常量

strlen()函数

求字符串长度的一个函数,需要头文件string,h
int len = strlen("abv")

转义字符

\+字符:转变原本字符的意思

\?在书写连续多个问号时使用,防止他们被解析成字母词
\’用于表示字符常量
\"用于表示一个字符串内的双引号
\\。没有那个句号。用于表示一个反斜杠,防止它被解析成为一个转义序列符
\a警告字符,蜂鸣
\b退格符
\f禁止符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1~3个八进制的数字。如:\130x
\xdddd表示2个十六进制数字。如:\x30

注释的好处

  • 将不用的代码注释掉,不运行他。
  • 对复杂的代码注释说明,增加代码的可读性
  • 便于梳理写的代码的思路

课件学习的方法

  • 多练
  • 学会画图(可视化)
  • 多调试

选择语句

  • if else
  • switch

循环语句

  • while
  • for
  • do…while

函数

  • 长啥样?
 Add/函数名(intx,inty)//函数参数(形参)
 {
 ..........函数体
 }
  • 理解
    在这里插入图片描述

数组

一组相同类型元素的集合。

  • 例子
    int arr[10] = {1,5,5 ,7 , 5 ,8};//定义了一个整形数组,[10]表示最多可以放10个元素。

  • 下标
    数组里的每一元素都有对应的下标
    下标从零开始,第一个元素的下标是0,第二个元素的下标是1,依次对应。

  • 数组的使用
    根据下标使用:arr[5] = 8;

操作符

  • 算术操作符
    +、-、*、/、%

  • 位移操作符
    、>>、<<(涉及二进制)

  • 位操作符
    &、^、|

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

  • 单目操作符

  • (类型)强制类型转化

  • 关系操作符
    > , >= , < , <= , != , ==

  • 逻辑操作符
    &&:逻辑与 , ||:逻辑或

  • 条件操作符
    三目操作符有三个操作数
    exp1 ? exp2 : exp3
    真……勾……叉
    假……叉……勾

  • 下表引用、函数调用、结构成员
    [ ] 、 ()、. 、—>

关键词

C语言内部规定的比较关键的词

  • typedef
    数据类型的定义
    用法:为名较长的类型重命名。例:typedef nosize int numnum就是nosize int的新名字。
  • static
    1、修饰局部变量
    使局部变量出作用域后不用被销毁
    本质:改变了局部变量的存储位置,使它从栈区变成静态区。
    内存
    在这里插入图片描述

2、修饰全局变量
使其他源文件不能使用该变量。
本质:将全局变量的外部链接属性变为内部链接属性。其内存的存储位置同局部变量一样会改变。
3、修饰函数
是函数在其他源文件中不能被调用。
本质:函数也具有外部链接属性。函数的外部链接属性变为内部链接属性了。

指针

地址,二进制序列编号

  • 原理:
    62位电脑有64根地址线,每根地址都可以产生正负两种电信号,正对1,负对0,64根地址线一共可以产生
    262个64位二进制序列序号,如果与内存单元一一对应的话,可以编号262个内存单元,一个内存单元的大小是1字节,内存的大小一共是1b*262=16GB.
    补充:内存被分为一比特一比特的内存单元

  • 首地址
    如果一个变量的需要4个字节,内存会给他四个单元的空间,取第一个单元的地址即首地址为该变量的地址。

  • %p
    打印地址的控制符

  • 指针变量p
    用来放指针的变量

int a =10;
int* p = &a; 

*:表示p是指针(口头上)
int:表示指向的对象a是整形。

  • 解引用操作符:*
    通过指针找回变量
    *p = 20;// *p相当于变量a。

  • 指针的大小
    和存放地址所需的大小一样

char A= 'a';
char* p = &A;
int B = sizeof(char*);

结构体

  • 概念
    自定义数据类型。将单一类型组合在一起的类型用于描述复杂的类型如:人。

  • 使用
    先创建,在使用。

struct Ren 
{
char name[10]
char sex[10];
long long tele;
};
int main()
{
struct Ren s = {"dengjianing", "nan", 113312631563};
printf("%c, %d, %c, %d", s•name, s•sex, s•tele); //打印结构体里的成员,通过'结构体变量名•成员名'

找到结构体成员。

struct stu *ps = &s;//通过指针变量找到结构体成员并打印的两种办法。

printf("%c, %d, %c, %d", ps->name, ps->age, ps->sex, ps->tele);

printf("%c, %d, %c, %d", (ps*)•name, (ps*)•age, (ps*)•sex, (ps*)•tele);



return 0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值