c语言学习一整体简单概括

 (作为初学者,写博客,便当作学习记录了,写的不妥之处,望见谅)

目录

一:   初识c语言

1.1  c语言发展

1.2  程序功能

1.3  算法表示

1.3.1 算法特点

1.3.2 描述算法

1.4  c语言特点

1.5  c语言约束

1.6  c语言语法成分

1.7  其他

二:   数据类型、运算符和表达式

2.1 数据类型

2.2 c语言中 常量

2.2.1直接常量

2.2.2符号常量

2.3 c语言中变量

2.3.1变量的定义与使用

2.3.2  整形变量

2.3.3  浮点数变量 

2.3.4  字符型变量

2.4  运算符和表达式

2.4.1  赋值运算符和赋值表达式

2.4.2  算术运算符和算术表达式

2.4.3  逗号运算符和逗号表达式

2.4.4  求字节数运算符

2.4.5  数据类型转换

三  顺序结构

3.1  c语言的语句

3.2  数据的输入输出

(1)printf()函数

(2)scanf()函数

(3)整型数据的输入和输出

(4)浮点型数据的输入和输出      ​

(5)字符型数据的输入和输出

四  分支结构

4.1  关系/逻辑/条件运算符

4.2  if-else实现分支

  4.3       switch语句实现分支

五  循环结构

5.1   for语句实现循环

5.2    while语句实现循环

5.3    do-while语句实现循环

5.4    改变循环结构的跳转语句

5.5    嵌套

六  数组

6.1    一维数组

6.2   二维数组

6.3   字符数组

6.4   字符串

6.5   字符串处理函数

(1)复制函数:  strcpy(字符串1,字符串2) 

(2)连接函数:  strcat(字符串1,字符串2)

(3)比较函数:  strcmp(字符串1,字符串2)

(4)求字符串长度函数:  strlen(字符串)

(5)大写字母转小写字母函数:strlwr(字符串)

(6)小转大函数:  strupr(字符串)

七  函数

 7.1 概述

7.2 函数定义

 7.3 函数调用

(1)一般形式和调用方式 

(2) 参数传递

 (3)函数的返回值

 (4)函数声明

 (5)函数的嵌套使用

 7.4 递归函数

 7.5 数组作为函数的参数

(1)数组元素做函数实参

(2)数组作函数参数

 (3)一维数组作函数参数

(4)二维数组作函数参数

7.6  局部变量与全局变量

 7.7变量生命期与存储类型

(1)静态存储与动态存储

(2)变量的存储类别

(3)介绍

7.8 内部函数与外部函数

八  指针

8.1 指针与指针变量

 8.1.1地址与指针

8.1.2 指针变量的定义与初始化

8.1.3  指针变量的引用

 8.2 指针与函数

8.2.1 指针作函数的参数

8.2.2 返回指针值得函数

8.2.3 指向函数的指针

 8.3 指针与一维数组

 8.3.1 关系

 8.3.2 指针的运算

 8.4 指针与二维数组

8.4.1 关系

8.4.2 指向二维数组元素的指针

 8.4.3 指向二维数组的行指针变量

8.5 指针与字符串

8.5.1 字符串与字符指针

 8.5.2 使用字符数组与字符指针处理字符串的区别

8.6 二级指针与指针数组

8.6.1 二级指针

8.6.2  指针数组

8.6.3 main函数的参数

九  结构体

9.1 概念及定义

9.2 结构变量

9.2.1 定义与初始化

9.2.2结构变量的引用

 9.3 结构数组

9.3.1结构数组的定义与初始化

 9.3.2 结构数组的使用

9.4 结构指针

9.4.1 概念

9.4.2 指向结构数组的指针

9.4.3 结构指针作函数参数

10.结尾

一:   初识c语言

1.1  c语言发展

机器语言>汇编语言>高级语言(或 非结构化语言>结构化语言>面向对象语言)

1.2  程序功能

1.数据表达

2.流程控制

  • (1)顺序控制结构(2)分支控制结构(3)循环控制结构

1.3  算法表示

1.3.1 算法特点

(1)确实性:指令确定(2)有穷性:步骤有穷(3)可行性:能够执行(4)有零个或多个输入    (5)有一个或多个输出

1.3.2 描述算法

(1)文字(2)流程图(3)伪代码(4)程序设计

1.4  c语言特点

(1) 简短紧凑、使用方便(2)运算符丰富(3)可移植性好(4)代码质量高(5)结构化语言

1.5  c语言约束

(1)标识符(2)关键字(3)用户自定义标识符(4)预定义标识符(5)分隔符

1.6  c语言语法成分

(1)常量(2)变量(3)运算符(4)表达式(5)语句(6)函数的定义与调用(7)输入与输出

1.7  其他

  • 1.关于在电脑上编写代码,是在下载在电脑上的软件编写具有一定功能的代码(仿佛没说),而软件是开发环境,如Visual C++ 2010、Visual studio 2019等,具体下载浏览器搜索有较好的过程
  • 2.代码的敲打,按老师、学长的说法,只有经常练习,同时开始阶段不能看一句敲一句,加油。
  • 3.其他的慢慢积累了。

二:   数据类型、运算符和表达式

2.1 数据类型

大概就是:

2.2 c语言中 常量

2.2.1直接常量

①整形常量

(正整数,负整数,零)(可十进制,八进制,十六进制表示)

(1)十进制:0~9    和   +  -  组成。

(2)八进制:0(数字)为前缀,0~7 组成,无符号。

(3)十六进制:以0X或0x为前缀,0~9和A~F(表10~15)组成,无符号

(另)整形常量后加个u或者U,为unsigned int型、加个l或者L,为long int型

②实型常量(又称浮点数)(只能十进制,有小数,指数两种表现形式)

(1)小数形式:如1.   、  1.0   、  .1   小数点不能省

(2)指数形式:1.23E-2 (为1.23*10^-2)

  •   (2.1)E后面必须要有数字,正负号放在E后面
  • (2.2)c语言中,浮点数是double型,若数字后面有f,则为float型

③字符型常量('a' 、'B'、 '='、'?'...)

  • (1)单引号
  • (2)单个符号不是字符串
  • (3)一个字符一个字节
  • (4)字符对应ASCII
  • (5)转义字符是用   '\'   开头后加一个字符或八进制、十六进制表示

                        

 ④字符串常量

  • (1)双引号
  • (2)n个字符组成的字符串,占内存加一(内隐藏一个  '\0'   , 其不记录长度)
  • (3)字符串如遇到  '\0'  表示结束  "HelloWorld"长度为10、"Hello\0World"长度为5
  • (4)可以把一个字符常量赋予一个字符变量,但是不能把一个字符串常量赋予一个字符变量

2.2.2符号常量

 如:#define  标识符  常量值

  • (1)为预处理命令,不加“;”
  • (2)目的:①增加程序可读性②提高程序可维护性、容易修改③简化程序代码④方便数组定义
  •   (3)   一个“define”一个标识符(符号常量)

2.3 c语言中变量

2.3.1变量的定义与使用

(1)格式: 类型说明符   变量名表;

(2)定义类型

  • int  整形
  • float  单精度浮点型
  • double   双精度浮点型
  • char  字符型

tip:定义时可以同时赋值(即初始化)

2.3.2  整形变量

  • (1)取值范围

  • (2)无符号整数所占的字节数与相应有符号整数相同,但是由于省去了符号位,故不能表负数。
  • (3)有符号整数以二进制补码形式存储。最左边第一位表示符号,0表示正数,1表示负数。
  • (4)无符号整数以二进制原码形式存储。

2.3.3  浮点数变量 

  • (1)取值范围 

  • (2)单精度数据保留7位有效数字,双精度保留16位有效数字(超出可能是无效数字)

2.3.4  字符型变量

  • (1)字符型变量的值是字符常量,类型说明为  char

2.4  运算符和表达式

2.4.1  赋值运算符和赋值表达式

(1)运算符

  • '='、'+='、'-='、'*='、'/=' 和 '%='

(2)赋值表达式

  • 一般形式:变量 = 表达式
  •  注意:①赋值运算符左侧必须是一个变量
  • ②赋值语句末尾必须要有分号
  • ③'=' 两边的类型不一样时,会右侧强行转换成左侧(这是的得到的值,但是运行一般为int或相对更大取值范围那个)
  • ④赋值运算符具有右结合性

2.4.2  算术运算符和算术表达式

  • (1)   

 p:求余要求参与运算的两个运算对象必须都是整型,其结果也是整型

  • (2)特殊运算符
  •  '++'和'--':对使用的值进行加一或者减一
  • 在变量前:先计算(++),后使用(变量)、
  •  在变量后:先使用(变量),后计算(++)
  • (3)算术表达式
  • (应该和数学差不多吧)

2.4.3  逗号运算符和逗号表达式

  • (1)一般形式:    表达式1,表达式2,...表达式n
  • (2)左往右依次计算,最后一个表达式的值作为整个表达式的值

2.4.4  求字节数运算符

  • (1)sizeof(表达式)或sizeof   表达式
  • (2) sizeof(数据类型名)

p:指针类的都是4(x32)或者8(x64)、大小为字节。

2.4.5  数据类型转换

  • (1)自动类型转换         

p:①横向是必定的转换,纵向是横向之后仍然不同的转换(自己不是特别懂)

②类型转换不改变原变量

  • (2)强制类型转换

一般形式:(类型说明符)(表达式)

p:   高到低的转换会缺失精度

三  顺序结构

3.1  c语言的语句

(1)说明语句

  • 用于定义程序所使用的变量和类型
  • 如:int a,b;     /*定义两个整型变量*/
  • char ch;          /*定义一个字符型变量*/

(2)表达式语句

  • 一般形式:  表达式;
  •  p:未加上 ‘  ;   ’  则为表达式(仿佛没讲)

(3)分支语句

  • 分支语句实现分支控制过程,根据条件成立与否执行不同的语句。有两种分支结构:if-else和switch

(4) 循环语句

  •  3种结构:for 和while  和do-while

(5)转向语句

  • 有:break;goto;continue;return;

(6)复合语句

  • 用一对大括号{}将若干语句顺序组合在一起所组成的语句称为复合语句

(7)空语句

  • 一个分号组成

(8)函数的定义与调用

(9)输入与输出

  • (scanf()和printf())

3.2  数据的输入输出

(较复杂的细节在平常见到的代码中能够很好的了解到,开始不用了解太多)

(1)printf()函数

printf("格式控制字符串",输出项表列) 

(2)scanf()函数

scanf("格式控制字符串",输入项列表)

(3)整型数据的输入和输出

(4)浮点型数据的输入和输出      

(5)字符型数据的输入和输出

(1)scanf()和printf()

  •  p:printf("%c%c\n",a,b)可在%与c之间加修饰符,同表3.2.2和表3.2.3

(2)getchar()和putchar()

  • ①  ch = getchar()      运行时从键盘缓冲区读取一个字符赋值给ch。
  • ②  putchar(输出参数)   输出一个字符  (字符型变量或字符型常量)

四  分支结构

4.1  关系/逻辑/条件运算符

①关系运算符:> ; >= ; < ; <= ; == ; != ;

  • 关系表达式:  表达式1 关系运算符 表达式2

②逻辑运算符:

  •  &&  逻辑与  (两边都为真时得真)
  •  ||     逻辑或  (两边都为假时得假)
  •  !    逻辑非  (真得假,假得真)
  •  逻辑表达式:表达式1 逻辑运算符 表达式2     或者    逻辑运算符 表达式1
  •  p:一般&&左边为假,那右边便不考虑了,||左边为真,右边也不考虑了

 ③条件运算符:? ;

  • 条件表达式:      表达式1?表达式2;表达式3

4.2  if-else实现分支

(1)双分支if语句   

  •  一般形式:if(表达式)
  •                            语句1;
  •                    else
  •                            语句2;

(2)单分支if语句     

  • 一般形式:   if(表达式)
  •                             语句;

(3)嵌套:

  •  复合一下就好了
  • p:else只是寻找其上最近得未与else配对的if进行配对,合适的缩进,或者{}可减少争议

(4) 多分支if语句:         

  •                      if(表达式1)
  •                             语句1;
  •                      else if(表达式2)
  •    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黑的尾巴呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值