欧易

欧易(OKX)

国内用户最喜爱的合约交易所

火币

火币(HTX )

全球知名的比特币交易所

币安

币安(Binance)

全球用户最多的交易所

C语言基础知识(回顾篇)

时间:2022-10-09 17:17:34 | 浏览:323

第一章 程序设计概述1.1基本概念所谓程序就是事情发展先后的顺序。N.wirth认为程序=算法+数据结构(以功能为中心的设计思想)但是根据用户习惯发现程序应该是以数据为中心 程序=数据结构+算法 简单对调之后不改变实际意义,只是中心思想发生

第一章 程序设计概述

1.1基本概念

所谓程序就是事情发展先后的顺序。N.wirth认为程序=算法+数据结构(以功能为中心的设计思想)

但是根据用户习惯发现程序应该是以数据为中心 程序=数据结构+算法 简单对调之后不改变实际意义,只是中心思想发生了转变。

调试 是指通过一定的方法对程序改错。

程序错误分为 编译期错误(语法错误)连接期错误(连接对象不存在) 运行期错误(逻辑错误)

测试 除了验证程序错误还有测试功能能否达到规定要求。

程序设计应该遵守的编码规则

1采用规范化的源代码书写格式

2不吝使用注释

3选用顾名思义的标示符

4用简明的方法表达算法

5提供友好的UI界面

1.2C语言概述

C语言起源于BCPL和B语言,

具有高级语言的表达能力,又具有低级语言的与硬件相关的机器处理能力。

结构化程序设计语言(顺序,选择,循环)

函数是构成C的基本构件(不允许嵌套定义函数,允许嵌套与递归调用函数,允许在分程序和符合语句中声明,初始化数据对象[S1] )

C语言的优点有三个

代码量小。

运行速度快。

功能强大。(指针)

C语言的缺点有三个:

危险性高。(包容性强,只要你错的不是很离谱,我就认为你有特殊含义)

开发周期长。(因为是面向过程的语言,写大项目容易崩溃)

可移植性不强。(主要是针对JAVA说的,JAVA太强了。JAVA在哪个机器都可以运行,而且结果一模一样,C语言不一定在哪个机器都能运行,即使运行结果不一定一样)

C程序的编码默认编码风格

1关键字小写

2#define定义的宏名用大写

3每个语句占一行

4用缩进对齐的方式反应程序的不同结构层次

5编译预处理命令行,外部数据定义,函数定义之间,函数体内的数据声明和语句序列空一行书写。

6括住函数体的括号,独自占一行。相互对齐.

7具有独立意义的对象里不能查入空格

8不能拆分具有独立意义的语句。(拆分位置/)

1.3TC2.0的介绍和使用

没有安装,先跳过

第二章 数据的表示,运算与基本语句

2.1基本数据类型

C语言预定义符号

1标识数据类型及语句关键字

2运算符

3保留字(下划线)

C语言标识符(由数字 字母 下划线)

1首字母必须是字母或下划线

2不能使用关键字作为标识符

3避免使用2个下划线作为开始标识符(保留字有特殊用途,误用保留字会导致误判)

4不能使用函数名做标识符(导致意义覆盖)

5见名知义提高有可读性

6使用相对短的标识符(便于移植)

7区分大小写(C语言对大小写字母敏感)

常量 运行过程中其值已知且不能改变量

程序设计中提倡多用符号常量,少用直接常量

定义一种常量的方式


整型数据和整型变量另附表格

整型变量 (程序中使用的变量必须先声明后使用,且在函数体或代码块中变量的声明都必须集中在函数体或代码块开始的部分,在他们之前不允许有非声明性语句)

声明 (是c语言当中的一种非计算功能的语句。不能前缀语句标号。)

C 语言程序可以在函数体内和函数之外声明变量。

之外声明的变量叫做外部变量或者是全局变量。这种变量在编译阶段分配储存空间,程序运行期间一直有效,为程序中函数公用

程序中所有的外部标识符都不可以同名(函数名也是外部标识符),但在编译阶段不能发现同名错误,只能在连接装配阶段发现


在函数体内声明的变量是局部变量,只在函数内有效,对其他函数不可见。只有在该函数被调用的时候才会分配存储空间,退出函数时取消定义(static静态变量具有全局生命期)

变量初始化 首次向变量中储存数值,称为变量初始化

数据类型 变量名=初始化值

需注意 外部变量和static型变量的初始值必须为常量或者是常量表达式

局部变量的初始化值可以是常量,符号常量,变量名,函数调用及由他们组成的表达式,如果含有变量名,必须是在这之前已经指定了初始化值得变量名

无定义 有些变量不带初始化值,系统也不会自动置初值,此时称变量的值无定义

浮点型数据

浮点数是带小数的十进制类型数据(浮点数在计算机中总是近似的表示,数据近似必然会导致数据的精度,计算误差和溢出问题,浮点数时有符号书=数,在计算机中以二进制指数表示)

浮点数的效率很低,如果只是整数计算,那么就避免使用浮点数

浮点数直接量的书写

十进制小数形式

1整数前书写+

2整数部分为0或小数部分为0可以省略不写(两者都为0时不可省略)

3必须有小数点

4数字中间不能夹有空格

十进制指数形式

±I.F*10^±C

1 I,F分别为指数的小数部分和整数部分,遵循小数规则

2书写时用E/e,代表底数10

3C是阶码,必须为整型直接量不能省略

4阶码不能缺少,不能为浮点数

字符型数据

定义:字符型数据是c语言中表示字母,数字,标点符号,特殊符号,控制等可显示与不可显示字符的数据类型。

字符集:ASCII码(128)

字符直接量:可显示字符的直接量表示,用单引号分割

不可显示字符的直接量(转义序列)

有符号整形数(-128——127)

无符号整形数(0——255)

字符型变量

用来储存一个一个字符型数据,声明使用Char类型关键字

初始化值可以是字符型数据,也可以是任意类型的整形数据


Char c 定义一个Char变量

Char ‘c’ 定义一个Char常量

字符串数据

字符串直接量:用双引号括起来的0个或多个任何可以表示的字符

(双引号和反斜杠有特殊作用,在字符串直接量中使用他们的转义序列。)

字符串直接量的存储

程序中出现的字符串直接量即使是完全相同都是不同的字符串。(在计算字符串长度时,不计入字符串结束标志‘’,但计算字符串占用的储存空间大小要包括‘’字符。因此空字符串的长度为0,但是占用存储空间为1.)

当键盘上输入一个字符串时,只需要直接输入字符串包含的字符,不要输入引号(否则作为字符串中的一个字符),不能通过输入字符的转义序列替代其字符的输入。

‘’ 字符串输出结束标志

字符型数据和字符串数据的区别

1书写形式 字符型数据是单引号,字符串数据是双引号

2字符型数据是整型量,字符串数据是指针型

3字符型数据需要一个字节。字符串数据需要2个字节。

4字符型数据有对应的字符型变量,字符串数据没有对应的字符串变量。

枚举型数据

定义:将某问题所有可能的取值都以枚举常量的方式列举出来而自行定义(该变量只能只能存储该枚举数据类型定义时所列举的枚举符号常量值。)

枚举类型一般形式

enum 枚举类型名{枚举符号常量列表};

一些C编译系统允许将整型数直接赋给枚举型变量,而大多数C编译系统都要求先把整形数据强制转换成枚举型后再赋给枚举型变量,但不要求赋给枚举型变量的值是枚举符号常量表中列出的值

2.2运算符和表达式

C99运算符的优先级与结合性

运算符

运算功能

优先级

结合方向

( )

圆括号

1

[ ]

下标运算

->、.

结构成员运算

!

逻辑非运算

2

~

位非运算

++

增1运算

--

减1运算

-

反号运算

(类型)

强制类型转换

*

间接引用运算

&

求地址运算

sizeof

求存储空间大小

*

乘法运算

3

/

除法运算

%

求余运算

+

加法运算

4

-

减法运算

<<

左移运算

5

>>

右移运算

<

小于比较

6

<=

小于等于比较

>

大于比较

>=

大于等于比较

==

等于比较

7

!=

不等于比较

&

按位与运算

8

^

按位异或运算

9

|

按位或运算

10

&&

逻辑与运算

11

||

逻辑或运算

12

? :

条件运算

13

=

+=、-=、*=、/=、%=

>>=、<<=

&=、^= 、|=

赋值运算、

组合赋值运算

14

,

顺序求值/逗号运算

15


1在进行四则算术运算的时候,不能受代数书写的影响。加减乘除符号不能省略。

2反号运算 计算无符号数的相反数用2的N次方减去他的值。(N是内存中储存无符号数的比特数)

3取余运算(操作数必须是整数,非整数求余是非法运算可以用强制转换在计算)

4算数表达式(乘除不可省,只能用圆括号来改变运算顺序)

5算数表达式中的数据类型提升

○表达式中的short char型操作数总被提升为 int

○float提升依赖于编译系统

○类型提升是将参与运算的两个操作数中较低类型直接提升到较高类型不是逐级进行

○数据类型提升是由系统自动进行,只是产生了一个临时的数参与运算,不改变操作数本身

○任何一个混合型数值表达式的类型除强制转换运算结果的类型外,通常是该表达式中具有最高数据级别操作数的类型。

按c语言中的算数规则来看,一些简单的运算可能无法得到正确的结果。由于运算结果类型,数据的表示范围,有效数字位数等问题需要自行解决

基本语句

1表达式语句(在任何一个表达式后面加上分号,构成的语句)

2复合语句({}括起来的代码块)

3空语句(只有一个分号的语句)

虽然空语句什么都不做,但在语法上是合法的,并且在某些场合必用,比如用空语句实现死循环

常用数值运算库函数

数值库函数(头文件包含math.h)

求绝对值函数(abs,fabs)

abs该函数只需要一个参数,可以是整型也可以是浮点型。其值总被自动转换为Int型再求绝对值, abs型函数的返回值是Int

fabs该函数只需要一个参数,可以是整型也可以是浮点型。其值总被自动转换为double型再求绝对值fabs型函数的返回值是double型。

计算XY 的函数pow

调用形式为pow(x,y),需要给出2个参数,可以是整型或者是浮点型,自动转换为double型参与运算, 函数的返回值是double型。

当X为负数时,y必须为整数,或者小数点是0的浮点数

计算ex 函数exp

调用形式为exp(X)需要给出1个参数,可以是整型或者是浮点型,自动转换为double型参与运算,函数的返回值是double型。

平方根函数sqrt

调用形式为sqrt(x)可以是整型或者是浮点型,但是其值必须大于等于0,自动转换为double型参与运算,函数的返回值是double型。

三角函数的调用形式为函数本身表达式

常见的输出形式

%d整型输出,

%ld长整型输出,

%o以八进制数形式输出整数,

%x以十六进制数形式输出整数,

%u以十进制数输出unsigned型数据(无符号数)。

%c用来输出一个字符,

%s用来输出一个字符串,

%f用来输出实数,以小数形式输出,(备注:浮点数是不能定义如的精度的,所以“%6.2f”这种写法是“错误的”!!!)

%e以指数形式输出实数。

%g根据大小自动选f格式或e格式,且不输出无意义的零。



相关资讯

C语言入门:深度解析C语言学习体系,一文吃透C语言

01.介绍篇操作系统及开发系统02. 入门篇03.提高篇03.精通篇C语言精通大牛阶段C语言EasyX图形编程如果你与我志同道合于此,很愿意与你交流如果你喜欢我的内容,欢迎关注和支持C语言基础入门资料:素材资源:想要资源的小伙伴可以可以【点

一个资深C语言工程师:浅说C语言的重要性以及如何学好C语言

前言C语言属于高级程序语言的一种,它的前身是“ALGOL”。其创始人是布朗·W·卡尼汉和丹尼斯·M·利奇。C语言问世时是带有很大的局限性,因为它只能用于UNIX系统上。然而随着科学技术的进步,计算机工业的发展,C语言逐渐脱离UNIX。198

知道并没有什么用的C语言背景,了解C语言是一种结构化的编程语言

C语言是一种结构化的编程语言。它也称为面向函数的编程语言。C语言是由美国贝尔实验室(AT&T)的Dennis Ritchie于1972年开发的。1968年,丹尼斯·里奇(Dennis Ritchie)开始研究诸如BCPL,CPL之类的编程语

C语言编程:最常见7道C语言面试题,还是有不少人弄不明白?

C语言是一门面向结构化的高级编程语言(也有人认为它是中级语言),用于通用编程需求。基本上,C语言是其基本语法和库函数的集合,因此程序员定义自己的函数并且将其包含在C语言库中也是很方便的。C语言的主要用途是编写其他编程语言的编译器、操作系统、

从零开始学习C语言丨C语言简介和VSCode配置全解

上一篇文章中,简单地介绍了一下什么是编程,以及编程根据编译运行的方式有哪些分类,还附带一些些小小的学习建议。从这篇文章起,就正式进入了C语言学习中。C语言简述首先来认识一下,什么是C语言?C语言是一种计算机程序设计语言,于1972年诞生于美

C语言入门了解篇—C语言发展史

前言作为理工科的我们,看到一些理论、概念和一些术语,就是脑瓜疼。在大学时,这些知识,很多时候都是作为填空题,最终的答案就跟四级作文差不多,答案脑洞大开。回归正题,其实,有很多东西我们只需要了解一下就好了,知道有这么一回事。例如,C语言是谁搞

经验分享丨如何用最短的时间学会C语言,并掌握C语言的精髓所在?

看了此文后,我想对于您学习此语言一定有很大的帮助,同时也能了知晓如何用最短的时间学会C语言以及掌握C语言的精髓所在。谈及C语言,我想凡是学过它的朋友都有这样一种感觉,那就是“让我欢喜让我忧。”欢喜的是,C语言功能非常强大、应用广泛,一旦掌握

如何学习C语言?很容易,C语言从入门到入土,从长发飘飘到秃顶

学C语言不知道从哪儿下手?学习框架都帮你列好了!在未来计算机专业讲又要迎来一批新生小鲜肉!C语言入门到入土,从长发飘飘到秃顶的老铁也越来越多,其中,想自学成才的也占了不少数;想笨鸟先飞的也占有不少数。传说中的C语言就是那么刺激和高挑战没有基

C语言入门了解篇—C语言编译流程

C语言入门了解篇-C语言编译流程(面试常见问题)当我们安装了集成环境之后,编写.c文件,一按下图红色框框的按键即“编译并运行”,就可以得到一个“.exe”后缀的可执行的C程序文件,这期间并非只有一道工序,而是分别经过了预处理、编译、汇编和链

C/C++编程笔记:C语言编程知识要点总结!大一C语言知识点(全)

一、C语言程序的构成与C++、Java相比,C语言其实很简单,但却非常重要。因为它是C++、Java的基础。不把C语言基础打扎实,很难成为程序员高手。1、C语言的结构先通过一个简单的例子,把C语言的基础打牢。C语言的结构要掌握以下几点:(1

C语言从入门到精通:C语言的发展进程

C语言是一种计算机程序设计语言,它既有高级语言的特点,又具有低级汇编语言的特点。它可以作为系统设计语言来编写工作系统应用程序,也可以作为应用程序设计语言来编写不依赖计算机硬件的应用程序。因此,它的应用范围非常广泛。C语言的诞生及发展历程如图

C语言多关卡推箱子,兄台了解一下?没错,C语言完整简单项目实战

很高兴你能光临小编寒舍首先感谢百忙之中你能从万千文章中点小编得专属页面。这不是娱乐篇,这是学习道场。开始前,小编就做一个简单得自我介绍:(开启装逼模式)我就是传说中写文章通俗而不庸俗,说话风流而不下流,智慧与美貌并重,英雄与侠义得化身得小编

C语言基础之C语言概述

C教程更多C/C++学习资料 私密我“代码”,即可获取C是贝尔电话实验室的Dennis M. Ritchie于1972年开发的一种通用的,程序性的,命令式的计算机编程语言,用于开发UNIX操作系统。C是使用最广泛的计算机语言。它与Java编

什么是C语言?C语言的简介

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都

C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言

真不难C语言难不难?这个问题是相对的,对于找到合适方法学习C语言的同学想必是觉得很简单;但对于一部分同学来说,没有众观全局就会误以为刚入门就需要学习庞大的知识,学着学着开始看不懂,由于心理作怪,感觉内容巨多,之后就真的一直看不懂了。但C语言

友情链接

网址导航 SEO域名抢注宝宝起名网妈妈知道币圈斗鱼直播资讯网张译影迷网盏记燕窝剑南春股票网大明湖畔旅游网美津浓球杆文玩手串交流网今日廊坊捷安特自行车咖啡培训网昆明旅游网宁德新闻资讯网挖呀挖儿歌网贵阳新闻头条网法国香水品牌网
c语言中文官网-零基础c++从入门到精通pdf、c语言编译器、C/C++开发工具、c语言入门自学零基础、c++入门自学、c/c++软件下载、c语言编程软件、c语言自学免费网站、c语言零基础自学视频教程、c++手机编程软件、c语言入门程序设计、初级编程视频教程、c语言在线编程平台、C语言线上作业网站。
c语言中文官网 chuxinxin.cn ©2022-2028版权所有