初识C语言(2)

记:文章内容中在记录本人学习进度,如内容有错误也欢迎指正,期待与大家共同学习进步。

C语言中的注释有: */ ... /*,C语言的注释是不支持嵌套的(因为如果c语言中注释中存在嵌套,会导致后面的/*找不到与之相匹配的*/ ,那么就会产生编译错误)

注释的作用:当代码比较晦涩难懂时,可以加一些注释语句。在公司里时完成一份工程都是一个团队的任务,每个人会有自己负责的工作,这时就需要将自己负责的代码加上注释以便于团队其他人能更好的理解你写的代码内容。ps:一个好的工程包含30%的代码,70%的注释)

选择语句

if...else

C语言中的循环语句包括(while ,for ,do ...while)

ps:

int main()

{

int line = 0;

printf("进入大学\n");

while(line<20000)

{

printf("敲一行代码%d\n,line);

line++;

}

if(line>=20000)

printf("好offer\n")

return 0;

}

函数:定义函数

例:Add(int x,int y)

{

int z = x+ y ;

return z;

}

sum =num1 +num2;

sum =Add (num1 +num2);

函数分为库函数和自定义函数

库函数不是c语言中的一部分,它是由编译程序根据一般用户的需要,编制并提供用户使用的一组程序。可以理解为比如每个C语言程序中都需要用到输出printf函数,而在C语言刚刚面世的时候printf函数是需要用户每编写一次函数都要自己再自定义一次,而在之后就把printf函数保存到库函数内,方便用户使用,能直接调用。

自定义函数:C语言编程中使用得最多的函数,需要用户自定义设计该函数的用法。

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

定义数组:int arr[10];//定义了一个存放10个整型数字的数组。

                  char ch[20];//定义了一个存放了字符串长度为20的数组

                  float arr2[5];

                int arr[10]={0,1,2,3,4,5,6,7,8,9}//定义数组的格式

数组语法规定:下标从0开始算起(目的:为了访问数组元素的方便性)

int i = 0

while(i<10)

{

        printf("%d",arr[i]);

        i++;

}

操作符(例   /商   %取模(余数))

移位操作符  <<左移 >>右移  这里只针对二进制位

{整型1占1个字符 占4个字节-相当于占32个bit位}

位操作符:{按位与,按位或,按位异或}

{异或:对应的二进制位:相同则为0,相异则为1

按位或:有1则1,无1则0.}

赋值符 :要注意   C语言中 “=”号是赋值,“==”号才是判断是否相等

复合赋值

按照操作数的个数来分(一个两个三个),分为:单目/双目/三目操作符。

逻辑反操作:C语言中0表示假1表示真

sizeof()函数用来算变量类型空间大小字节。

字符串的结束标志:‘/0’->转义字符 在ASCII码中代表0

                                 0->数字0

                                 '0'->字符0

                                 'a' 'b' 'c' 表示字母字符

                                 '0' '1' '2' 表示数字字符

数组的下标是从0开始  

比较两个数的值(没有创建函数/创建函数)

int main()

{

        int num1 = 10;

        int num2 = 20;

        if (num1>num2)

                printf("较大值是:%d\n,num1);

        esle

                printf("较大值是:%d\n,num2);

        reurn 0;

}

创建MAX函数(比较两个数的大小)

int MAX (int x,int y)

{
        if(x>y)

                return x;

        else

                return y;

}

sizeof操作数的类型长度(以字节为单位)

printf("%d\n",sizeof(arr));//计算数组大小,单位字节

数组的类型不是整型发,复杂

printf("%d\n",sizeof(arr)/sizeof(arr[0]);//数组元素个数

      数组的字节数大小/数组内每个元素的大小arr[0]

~ 对一个数的二进制按位取反

int a =0;//32个0

int b = ~a;//32个1

printf("%d\n",b);//数的原码

        (-1)

//原码 反码 补码

//负数在内存中存储的时候,存储的形式是二进制

前置++/后置++,前置 --/后置--

(类型)数字:强制类型转换  

真-非0

假-0

&&-逻辑与  全真为真 有假为假

||  -  逻辑或 有真为真 全假为假

条件操作符 exp1? exp2:exp3;  exp1真则结果为exp2 exp假则结果为exp3

                   exp-表达式

条件操作符是一个三目操作符

下标引用操作符

arr[4];//[]

函数调用:()

任何数字存储的都是该数字的补码

原补反码:

正数-原补反码相同

负数-原码符号位不变其它位按位取反

补码=反码+1(二进制)

内存——>cpu中央处理器,随着技术进步,数据处理的速度越来越快

常见关键字(关键字名字不能跟变量名冲突)//不能以关键字来命名变量

auto局部变量 break跳出循环

register寄存器关键字 :用来存储数据

按照读取数据的速度来相比速度从大到小:寄存器(很小的内存),高速缓存(几十兆),内存(8G/4G/16G)/硬盘(500G)

register int a = 10;//建议把a定义成寄存器变量

signed/unsigned定义有符号/无符号

volatile 表示C语言段位

typedef 类型定义--类型重定义

static关键字 静态

  static int a = 1;//表示a是一个静态的局部变量(整型)

static的在修饰不同变量中的用法:

1.修饰局部变量--生命周期变长 ,出了作用域也不销毁变量

2.修饰全局变量--改变作用域,让静态全局变量只能在自己所在的源文件使用(相当于缩小了作用域)

3.修饰函数--限制作用域,改变函数的链接属性

extern--1.声明外部符号(只要声明了就可以调用)

             2.声明外部函数

#define 定义常量和宏

                //define定义的标识符常量

#define MAX 100

                //define定义宏--带参数

函数的定义or? 宏的定义

宏的定义

#define MAX(x,y) (x>y?x:y);

C语言中指针:表示存放数据的一块地址(地址可以理解为一个空间/房间)

如何产生地址?(一个内存单元为一个字节)

int a =10//表示该语句申请了4个字节空间。

&a;//取地址a。

printf("%p\n,&a) 地址用十六进制展示

//有一种变量用来存放地址:指针变量

*p;//解引用操作符

认识电脑中多少位(win32表示32位,x64表示64位)

int a =10;-->表示在电脑中开辟了一个空间存放内容为10的字符a,地址为0x0012ff40(十六进制)

int *p = &a;-->p表示了一个a的地址0x0012ff40

* p = 20;-->表示*这个操作符能读取在这个位置的内容 ,综上该地址的内容为20

*操作符:对p的地址进行操作

指针-变量,用来存放地址  

指针的大小也随着电脑的内存的变化而改变:

32 bit = 4 byte//32位 = 4字节

64 bit = 8 byte

指针类型的确定:指针的名字:Int型

int * 一个变量类型   /   * 指针变量

对内存的理解 8G-内存    500G-硬盘容量

printf的头文件#include<studio.h>

%p用来打印地址 

int a = 10;//申请了4个字节的空间

int *p= &a ;//p是一个指针变量

*p = 20;//*--解引用操作符/间接访问操作符

结构体 char int double

//复杂对象:人/书   

比如人:人名+身高+年龄+身份证号码

结构体 :我们自己创造出来的一种类型

创建一个结构体类型:

struct Book

{

        char name[20];

        short price;

}

        int main()

{

        //利用结构体类型--创建一个该类型结构体变量

        struct Book b1 = {"C语言程序设计",55};

        printf("书名:$s\n",b1.name);

        printf("价格:%d\n",b1.price);

        return 0;

}

printf("%s\n",pb->name);

printf("%s\n",pb->price);

//操作符 结构体变量.成员

//-> 结构体变量->成员

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值