C语言从入门到精通——初阶1 初识C语言

 初识C语言 

3 什么是C语言

C语言——计算机语言——底层开发——人和计算机交流的语言

4 第一个C语言程序

#include<stdio.h>

//包含一个叫stdio.h的文件

//std-标准 standard input output



int main()//主函数-程序的入口-不能没有main函数,有且仅有一个

//main前面的int表示main函数调用返回一个整型值

{

    printf("hello world\n");//函数-print function-打印函数

    //库函数-C语言本身提供给我们使用的函数

    //使用前打招呼#include

    return 0;//返回0

}

Ctrl+F5 运行

F11逐语句调试

有且仅有一个main函数

一个工程文件中可以有多个.c文件,但是多个.c文件中只能有一个main函数

6 数据类型

char;

short; int; long; long long;

 float; double

char ch = 'A';

printf("%c\n", ch);//%c——打印字符格式的数据

int a = 10;

printf("%d",a);//%d——打印十进制数据

%d 打印整型

%c 打印字符

%f 打印浮点数字-打印小数

%p 以地址形式打印

%x 打印16进制

    printf("%d\n", sizeof(char));  //1字节

    printf("%d\n", sizeof(short)); //2

    printf("%d\n", sizeof(int));   //4

    printf("%d\n", sizeof(long));  //4

    printf("%d\n", sizeof(long long)); //8

    printf("%d\n", sizeof(float)); //4

    printf("%d\n", sizeof(double));  //8

bit位:一个比特位存放一个二进制位1/0

1byte字节=8位

kb千字节-2^10byte

mb兆字节-1024kb

gb吉字节-1024mb

tb太字节-1024gb

pb拍字节-1024tb

7 变量的分类

局部变量——定义在代码块{}之的变量

全局变量——定义在代码块{}之的变量

当局部变量和全局变量的名字相同时,局部变量优先

C语言语法规定,变量要定义在当前代码块的最前面

//计算两个数的和



int main()

{

    int num1 = 0;

    int num2 = 0;

    int num=0;

    scanf("%d%d", &num1, &num2);//取地址符&

    num = num1 + num2;

    printf("%d\n", num);

    return 0;

}

附录:VS系列编译器对函数不安全报错的解决办法_m0_58125693的博客-CSDN博客

8 变量的作用域和生命周期

  • 变量的作用域(scope):限定变量可用性的代码范围
  1. 局部变量的作用域是变量所在的局部范围
  2. 全局变量的作用域是整个工程。(其他文件中要先用extern声明)

  • 变量的生命周期 :变量创建到销毁之间的一个时间段
  1. 局部变量:进入作用域生命周期开始,出作用域生命周期结束
  2. 全局变量:整个程序的生命周期

 9 常量

  • 常量分类:
  1. 字面常量
  2. const修饰的常变量
  3. #define定义的标识符常量
  4. 枚举常量  //枚举关键字 enum(枚举常量是常量,默认从0开始,不能更改 ;可以赋初值)
enum Sex
{
	MALE,//0
	FEMALE,//1
	SECRET//2
};
int main()
{
	printf("%d\n", MALE);
	printf("%d\n", FEMALE);
	printf("%d\n",SECRET);
	//枚举关键字——enum

	
	//const常属性
	//const修饰的常变量
	const int num = 4;
	printf("%d\n", num);
	//num = 8;//error C3892: “num”: 不能给常量赋值
	printf("%d\n", num);
	
	return 0;
}

操作符详解

10 字符串

双引号引起的一串字符称为字符串

 int main()

{

    char arr1[] = "abc";

    char arr2[] = { 'a','b','c',0 };

    printf("%s\n", arr1);

    printf("%s\n", arr2);

    return 0;

}

 字符串的结束标志是一个\0的转义字符,不算作字符串内容。

‘\0’的值是0——ASCII值

12 转义字符

转变了字符原有的意思

例:

\ddd ddd表示1-3个八进制的数字

\xdd dd表示2个十六进制数字

int main()
{
	printf("%c\n", '\130');//八进制的130十进制是88
	//X——ASCII码值是88
	printf("%d\n", 'X');
	printf("%c\n", '\x58');

	return 0;
}

ASCII码表:每一个字符都有一个值:ASCII码值

	printf("%d\n", strlen("c:\test\328\test.c"));
	//14

 \t算一个字符;\328不是一个字符,八进制里没有8,所以\32是一个字符

13 注释

解释复杂代码

  • 注释ctrl+k,ctrl+c
  • 取消注释ctrl+k,ctrl+u

分支和循环语句

15 初识选择语句

if选择语句

16初识循环语句

while语句

17 函数&&数组

函数

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

数组是用下标来访问的

18 初识操作符

算数操作符 + - * /

移位操作符:移一个二进制位,补0  

<<左移

>>右移

位操作符 & ^ |

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

单目操作符 !  - + & sizeof ~ -- ++ * (类型)

~按位取反 

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

逻辑操作符 && ||

条件操作符 exp1 ? exp2 : exp3

逗号表达式:逗号隔开的一串表达式

是从左到右依次计算的,整个表达式的结果是最后一个表达式的结果

下标引用、函数调用和结构成员 [] () . ->

EOF-文件结束标志-值是-1

计算数组的元素个数

个数=数组总大小/类型所占空间的大小,单位是字节

sizeof(数组名) – 计算数组大小,单位是字节

~按位取反(2进制位)

原 码            -》           反码            -》            补码

直接按照正负写出来的二进制序列     原码符号位不变,

                                   其他位取反                 反码+1

//有符号的数字存储时,正数第一位是0,负数第一位是1

//整数在内存中存储的时候,存储的是二进制的补码

//正数的原码、反码、补码相同

后置++,先使用,再++

前置++,先++,再试用

后置--,先使用,再—

前置--,先--,再使用

20 初识常见关键字

  1. 关键字是C语言提供的,不能自己创建
  2. 变量名不能是关键字

C语言中表示真假:0-假;非0-真

typedef类型定义,类型重命名

typedef unsigned int u_int;

int main()
{
	unsigned int num1 = 100;
	u_int num2 = 200;

	return 0;
}

static 

1.static 修饰局部变量

局部变量的生命周期变长

2.static 修饰全局变量

改变了变量的作用域-让静态的全局变量只能在自己所在的源文件内部使用

除了源文件就没办法再使用了

外部连接属性->内部链接属性

3.static 修饰函数

也是改变了函数的作用域-不准确

static修饰函数改变了函数的链接属性

外部连接属性->内部链接属性

23 常量和宏

define是一个预处理指令

  • define定义标识符常量

#define MAX 1000

  • define定义宏

#define ADD(x,y) ((x)+(y))

25 初识指针

每个内存单元的大小是1个字节

内存单元的编号成为该内存单元的地址

&取地址符

*解引用操作符

有一种变量是用来存放地址的——指针变量,类型是int*/char*.....

//指针变量存放的是地址,32/64个bit位

32位平台上1个指针变量的大小是4个字节

64位平台上1个指针变量的大小是8个字节

26 初识结构体

复杂对象-结构体-我们自己创造出来的一种类型

strcpy()——字符串拷贝-库函数-头文件string.h 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值