初识C语言

3 什么是C语言

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

4 第一个C语言程序

#include<stdio.h>//包含一个叫stdio.h的文件//std-标准 standard input outputint main()//主函数-程序的入口-不能没有main函数,有且仅有一个//main前面的int表示main函数调用返回一个整型值{printf("hello world\n");//函数-print function-打印函数//库函数-C语言本身提供给我们使用的函数//使用前打招呼#includereturn 0;//返回0}

Ctrl+F5 运行

F11逐语句调试

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)); //2printf("%d\n", sizeof(int));   //4printf("%d\n", sizeof(long));  //4printf("%d\n", sizeof(long long)); //8printf("%d\n", sizeof(float)); //4printf("%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,//0FEMALE,//1SECRET//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码值是88printf("%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

C语言从入门到精通——初阶1 初识C语言相关推荐

  1. c语言从入门到精通第四版电子书_C语言从入门到精通(吐血分享)4.pdf

    C语言从入门到精通(吐血分享)4 成功! 结构体.链表.文件 数组.字符串 函数.指针 三种结构化程序设计 三种数据类型.六大表达式 一.简单的程序 #include 数学函数 命令行 main() ...

  2. C语言初阶_初识C语言(1)

    凡是过往,皆为序章 期末考试结束了,真是感慨良多啊...... C语言编程题大家都做对了多少呢? 不管怎么样,都已经过去了.不管你学得怎么样,都可以在接下来的时间里,我们一起重新回顾一遍C语言初阶的知 ...

  3. 【C语言初阶】初识C语言(上)

    初识C语言

  4. 【C初阶】——初识C语言(万字篇,带你敲响C语言的大门)

    接受平凡,努力出众,承认普通,但拒绝沉沦于平庸.大家好,我是你们的老朋友,小KK. 满满的 ?前言 ?什么C语言?? ?数据类型?? ?变量和常量?? ?定义变量的方法?? ?变量的分类??

  5. 清华大学出版——C语言从入门到精通(第4版)

    <C语言从入门到精通(第4版)>是清华大学出版社出版的图书,该书从初学者的角度出发,以通俗易懂的语言,丰富多彩的实例,详细介绍了使用C语言进行程序开发需要掌握的各方面知识. <C语言 ...

  6. C 语言从入门到精通教程(2021 )

    C 语言从入门到精通教程(2021年) 文章目录 计算机常识 什么是计算机程序 ? 什么是计算机语言 ? 常见的计算机语言类型有哪些 ? 什么是C语言? C语言历史 C语言标准 C语言现状 为什么要学 ...

  7. 视频教程-R语言从入门到精通系列之新手上路视频课程-其他

    R语言从入门到精通系列之新手上路视频课程 WOT峰会讲师,中国R语言大会讲师,数据分析师,8年以上数据挖掘建模工作实战经验,部分研究成果获国家专利,攥写<R语言与数据挖掘>.<数据先 ...

  8. 3.2 Go语言从入门到精通:包管理工具之GOPATH

    当我们真正用 Go 去做项目,或者阅读 Go 项目(如,Go 实现的开源项目)时,不可避免的会遇到包依赖问题,一些包管理方式总是很难区分.选择.Go的包管理与Java的Maven依赖管理不太一样,起初 ...

  9. c语言从入门到精通ppt,C语言从入门到精通第1章.ppt

    C语言从入门到精通第1章 1.2.2 认识Turbo C 2.0 1.2.2 认识Turbo C 2.0 ⑴ 菜单栏:包括[File](文件)菜单.[Edit](编辑)菜单.[Run](运行)菜单.[ ...

  10. oracle入门语,Oracle SQL 语言从入门到精通

    Oracle SQL 语言从入门到精通 作者:网络 佚名 2005-10-27 00:00 评论 分享 [IT168 服务器学院]数据库对象包括表.视图.索引.同义词.簇.触发器.函数.过程.包.数据 ...

最新文章

  1. debug 标志位说明
  2. d3.js 绘制极坐标图(polar plot)
  3. win7下使用命令行关闭被某一端口占用的进程
  4. 【英语学习】【WOTD】cerebral 释义/词源/示例
  5. Maven : has broken classes path unknown
  6. Numpy Statistics 统计函数
  7. nvl,空时的推断和取值
  8. 2020-08-03 手动编译Qt库(msvc2019版本)
  9. 简析 __init__、__new__、__call__ 方法
  10. HCIE-Security心得
  11. 基于WF4的新平台-流程格式转换架构
  12. Linux网络参数DD,linux tcpdump命令参数及用法详解--linux下抓包网络分析
  13. Hexo/Github.io 配置腾讯云CDN
  14. 椭圆曲线上的加密算法——MV(Menezes-Vanstone)算法的具体实现
  15. 饥荒如何修改服务器人数,饥荒联机怎么改房间人数?饥荒修改房间人数方法
  16. wstmart知识记录
  17. 小重山·斯卡波罗集市
  18. html 图片自动滚动播放,小卖弄:纯CSS实现图片滚动播放效果
  19. GetLastError 错误码大全(转载)
  20. SqlServer 修改数据库文件位置

热门文章

  1. replace vfp_VFP字符串替换函数CHRTRAN()使用方法
  2. Java八大算法:归并排序
  3. 如何找到chromedriver与chrome的对应版本
  4. Win10 powershell字体设置
  5. tp5 url使用php参数,URL访问 · ThinkPHP5.0完全开发手册 · 看云
  6. 通过Expression Tree来扩展MVC中的HtmlHelper 和 UrlHelper
  7. 图解设计模式:工厂类
  8. 洛谷OJ - P1156 - 垃圾陷阱
  9. ORK FrameWork - 自定义存储数据ISaveData接口
  10. logisim软件学习