C语言基础-部分理论知识汇总

本文为C语音部分理论知识汇总,主要包含:C语言的特点与程序结构 、基本数据类型、运算符和表达式、基本语句与顺序结构等内容。
本文为个人学习笔记整理,偏向理论知识介绍,具体内容在参考借鉴其他优秀文献的同时,添加了一些本人的口语化理解内容。仅供初学者交流借鉴,如有不足或错误,请与本人交流沟通。

1、C语言具有汇编语言的功能,系统可直接读取,C语言本身是一种高级语言。
计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。
除了机器语言和汇编语言外的所有编程语言,都属于高级语言。 所以C语言也是高级语言的一种。

2、C语音的特点
C语言是结构化程序设计语言,它有三种基本结构:顺序结构、选择结构(关键字:if、else、switch、case)、循环结构(关键字:for、while、do while)。

功能强大,具有丰富的数据类型及运算符
基本类型:是C语言数据类型的基本型,其值不可再分解为其他类型。基本数据类型有3种:整型、实型、字符型
构造类型:一种由单种或多种数据类型构造而成的数据类型。例:数组,结构体,共用体,枚举类型
指针类型:一种特殊的数据类型,其值为某个量的内存地址。
空类型:一种无返回值函数的数据类型。  如:void
自定义类型:用新的类型名替代已有类型名使用。  用 typedef 定义

简洁紧凑,使用方便灵活

C语言具有自我扩充能力 如:C++

C语言具有汇编语言的功能(大部分),从效率上来说 C的要低一些。

可移植性好:可在linux系统下运行

3、程序的概念
程序是计算机解决问题所需的一系列指令的集合。
程序=数据结构(干谁)+算法(怎么干)+程序设计方法+语言工具(具体用什么来编程)

4、应用程序的开发过程:
需求分析:分析解决问题的性质、特点、目标以及数据来源及其特征等。
确定算法:确定解决问题的方法和步骤,建立数学模型和确定相应的求解方法。
程序设定:确定应用程序结构, 设计出每个模块的数据结构和算法, 画出流程图等。
编写程序:根据确定的算法,用计算机语言(如    C语言)编写源程序。
调试程序:在一定的开发环境下调试和运行程序,得出程序运行结果。

5、2种常用设计方法

面向过程的程序设计方法(C语言)。

面向对象的程序设计方法(JAVA C++)。

6、C语言的基本数据类型具体内容及数值范围(32位系统)
在定义整型变量时,要注意数据类型允许的数值范围。

int整型
短整型(2个字节)               short int
长整型(4个字节)          long int
基本整型(4个字节)       int
无符号整型(4个字节)   unsigned int                                                     
        无符号短整型(2个字节)unsigned short int

无符号长整型(4个字节)unsigned long int

计算机1个字节是8 Bit位,有符号的第一个Bit位是符号位。 
Int 第1位为符号位,后面32-1位,最大为31个1,其中最后一个1是2的0次方,最左边的是2的30次方,结果即为2的31次方减1,21亿
Unsigned int 无符号位,最大为32个1,即为2的32次方减1,42亿。
Short int  最大值为15个1,2的15次方减1    -32768~32767
Unsigend short int 最大值,2的16次方减1    0~65535

float 实型 包括单精度实型float、双精度实型double、长双精度型long double

char字符型

在C语言中没有字符串变量
  (但可以用一个字符数组来存放一个字符串常量) char a[]="qwert"

7、C语言有以下几种类型的常量:
int整型常量
十进制,如: 11,  -13 ,  0 ,  65535 , … 
8进制,由数字 0 开头,如:    014    -011   0177777
16进制,由前缀 0x 或 0X 开头,如:   0x11   0XAFBDE
2进制转8进制是3位一取,2转16是4位一取。

float 实型(浮点型)常量
(1)小数表示形式,1.23    14.56。(2)指数表示形式  1.456e==14.56

char字符常量

由单引号括起来 例: ‘A’   ‘B’   ‘$’

字符串常量:  用一对双引号括起的字符序列。例: “welcom qin !”
字符常量只能是单个字符,字符串常量可以含有多个字符。
字符常量占一个字节, 字符串常量占的字节数等于字符个数加1。
系统自动在每个字符串的末尾加上一个空字符NULL,  即’\0’  作为字符串的结束。’\0’是一个ASCII码为0的字符。
‘A’在内存占1个字节;“A”在内存占2个字节

符号常量:  用标识符表示的常量
格式:
                 #define   标识符  常量
功能:     用该标识符代表后面的常量值
例:     #define  PI  3.1415926        用3.1415926替代PI
#define STAR ‘*’  加上‘’即为STAR代表符号*,不带‘’,会被自动扩展为*乘号
预处理命令#define也称为宏定义,一个#define命令只能定义一个符号常量,用一行书写,不用分号结尾。
预处理命令通常放在程序的最前面。

8、占位符
%d  占位符,把整型数以十进制放在这个位置上;%o,把整型数以8进制放在这个位置上;;%x,把整型数以16进制放在这个位置上; %hd 短整型 %ld输出长整型
%s  占位符,把字符串放在这个位置上显示输出
%c  占位符,把字符放在这个位置上显示输出
%f   占位符,把浮点数放在这个位置上显示输出,%6.2f .2代表只显示小数点后两位,6代表需要以6位输出,如果低于6位会以空格对齐,正数右对齐,负数左对齐

9、运算符

基本算数运算符

操作数数目:单目就是一个数参与运算,双目就是两个数参与运算

优先级数越小,越优先算,“=”的优先级是14:   d=a+b*c

左结合就是从左边开始算,右结合就是从右边往左算左结合性(先左后右): d=3*5/4;右结合性(先右后左):d=a=3;

自增、自减运算符

所有函数里的计算,如:

printf语句里的计算,是从右往左计算

void main( ){    int  c = 5 ;   printf(“%d,%d,%d\n”, c+=c++, c+8, ++c);   c = 5 ;   printf(“%d\n”, (c+=c++,c+8,++c));
}

关系运算符

即比较两个量的大小, 比较的结果为“真”或“假”。
关系表达式:
用关系运算符将两个表达式连接起来的式子。
格式:

<表达式1><关系运算符><表达式2>

为“真”时关系表达式值为1,为“假”时关系表达式值为0

例:  a >3

如果a=8,则结果为;如果a=1,则结果为

例题:

#include<stdio.h>
void  main( )
{       int   a, b, c;    a=b=c=10;   a=b==c ;   printf (“%d , %d , %d \n”, a , b, c ) ;         a== ( b=c++*2 ) ;   printf ( “%d , %d , %d \n”, a , b, c ) ;    a= b>c>=100 ;   printf ( “%d , %d , %d \n”, a , b, c ) ;
 }
输出结果:

   1 , 10 , 10

     1 , 20 , 11

     0 , 20 , 11

逻辑运算符
( )→!→算术运算→关系运算→&&→||→赋值运算
赋值运算符
简单赋值运算符: =
复合赋值运算符:  如 +=、-=、*=、/=、%= 等
优先级14,右结合性。
逗号运算符和逗号表达式
逗号运算符运算符: “,
优先级15级  最低,结合
用逗号运算符将各表达式连接起来的式子为逗号表达式。
格式:

如:               a=3*5, a*10,a+8

求解过程:  先求表达式1的值, 再求表达式2的值, 最后求表达式n的值, 表达式n的值作为整个逗号表达式的值。             

C语言基础-部分基础理论知识汇总相关推荐

  1. c语言中0x12是什么进制,C语言中进制知识汇总

    1.什么是进制 进制是一种计数的方式,常用的有二进制.八进制.十进制.十六进制.任何数据在计算机内存中都是以二进制的形式存放的. 我对进制的个人理解,二进制数是以2为计算单元,满2进1位的数:八进制数 ...

  2. C语言基础和语法知识

    在新的学期,我打算学好数据结构和算法,打算好好学习计算机专业课程,考上四六级证. ## 什么是数据类型 在C语言中,不同数据类型在进行运算时首先要转换成同一类型,一种是自动转换,二是强制转换.shor ...

  3. python基础知识点大全-【python基础学习】基础重点难点知识汇总

    python中decorator装饰器 语法示例: @decorator 什么是装饰器: 问题: 定义一个函数后 在运行时动态增加功能 又不想改动函数本身的代码 示例: # 希望对下列函数调用增加lo ...

  4. 基础抠图工具知识汇总

    一:套索工具组 套索工具 1.大致框选,不适合精确抠图 多边形套索工具 2.适合抠有棱角的图片,直线(回车可快速成选区) 磁性套索工具 具有磁性,鼠标在物体边缘时会自动识别物体边缘,要求被扣物体边缘清 ...

  5. c++语言基础知识,c++语言基础知识汇总.ppt

    <c++语言基础知识汇总.ppt>由会员分享,可在线阅读,更多相关<c++语言基础知识汇总.ppt(68页珍藏版)>请在人人文库网上搜索. 1.1,第二章 C+语言初步,本章主 ...

  6. C语言系列 #001_C语言基础知识汇总

    文章目录 C语言基础 汇总笔记 1.经典入门:hello world 1.1.概念: 1.2.C语言写代码步骤: 练习题目 1.3.C语言关键字: 2.VMWare共享文件夹使用 3.C语言数据类型 ...

  7. R语言基础知识-学习笔记汇总

    B站课程:生信必备技巧之R语言基础教程全集的代码笔记 1.R语言包安装 rm(list = ls()) # 设置镜像: options()$repos options()$BioC_mirror #o ...

  8. python基础知识资料-学习Python列表的基础知识汇总

    千里之行,始于足下.要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好.今天,本喵带大家仔细温习一下Python的列表.温故而知新,不亦说乎. 当然,温习的同时也要发散思考,因为有些看似无关紧要 ...

  9. 计算机公共基础知识论文,计算机等级考试二级公共基础知识汇总.doc

    计算机等级考试二级公共基础知识汇总.doc 计算机等级考试二级公共基础知识 第1章 数据结构与算法 1.1 算法 1.1.1 算法的基本概念 算法是指对解题方案的准确而完整的描述.简单地说,就是解决问 ...

最新文章

  1. mysql挂科了咋办_大一挂科很难受怎么办?
  2. 初级Java程序员所面临的4大挑战
  3. 如何在 Mutt 邮件客户端中使用密文密码
  4. 在神经网络中使用dropout
  5. 机器学习hierarchical clustering_ICLR 2020 | 反事实因果理论如何帮助深度学习?
  6. adminLTE 教程 -4 轮播控件
  7. 移动负载均衡技术(MBL)
  8. ROS(12):双足机器人开发调研
  9. 牛红红的日记(平平无奇拿下域控)
  10. dbunit测试dao_用于数据库测试的DBUnit,Spring和注释
  11. 知识库如何跟其他业务系统结合
  12. 安卓模拟器7.1版本32位系统xp框架安装方法
  13. 对讲机的单工、双工介绍
  14. 2021-08-26 工作记录--YDUI-带确认按钮的弹出框
  15. PowerBI-筛选器函数-KEEPFILTERS
  16. FPGA分频电路实现(奇数,偶数,小数半分频,任意分频)
  17. 罗切斯特大学排名计算机排名,罗切斯特大学计算机工程硕士排名第35(2020年TFE Times排名)...
  18. 谷粒商城开发踩坑及部分知识点大总结
  19. Oracle中查询用户表/索引/视图的创建语句
  20. 云主机服务比价与预测系统开发心得--第一周(1)--git技术

热门文章

  1. 计算机专业基础综合408备考经验分享
  2. 咬定青山不放松,立根原在破岩中。千磨万击还坚劲,任尔东南西北风!
  3. 3G0众测靶场-0407 WriteUp
  4. 双目立体视觉 II:块匹配视差图计算
  5. 台球原理分析及瞄准新方法
  6. 基于Linux、QT、C++的“别踩白块儿”小游戏
  7. python计算平均绩点_【python】以五分制绩点为基础的绩点计算器,可计算学分加权平均...
  8. csdn竟然还有这种神器!后悔没有早点知道!超好用的csdn插件,别再犹豫了,赶快入手吧!
  9. 海银资本:在大数据创业企业中掘金
  10. 如何配置一台深度学习的主机