【必读】完整的C语言基础知识

 2024-01-25 01:02:25  阅读 0

理解C语言程序的结构

用一个简单的C程序例子来介绍C语言的基本结构、格式以及良好的写作风格,让朋友们对C语言有一个初步的了解。

示例 1:计算两个整数之和的 C 程序:

#main(){int a,b,sum; /*定义变量a,b,sum为整型变量*/a=20;/*将整数20赋给整型变量a*/b =15;/*将整数15赋给整型变量b* /总和=a+b; /*将两个数字的和赋给整型变量sum*/(“a=%d,b=%d,sum=%d\n”,a,b,sum);/*输出计算结果结果显示到显示屏*/}关键词:

1、任何C语言程序必须包含以下格式:

主要(){ }

这是C语言的基本结构,任何程序都必须包含这个结构。 括号内可以不写任何内容,那么程序将不会执行任何结果。

2. main()----C语言中称为“主函数”。 AC 程序有且只有一个主要功能。 任何 C 程序总是从 main 函数开始执行。 main函数后面的一对括号不能省略。

3、大括号{}括起来的内容称为main函数的函数体。 这部分内容就是计算机要执行的内容。

4. { } 中每句话后面有一个分号(;)。 在C语言中,我们把以分号结尾的句子称为C语言语句。 分号是语句的结尾。

5. (“a=%d,b=%d,sum=%d\n”,a,b,sum); ----通过执行C语言系统提供给我们直接使用的这个屏幕输出函数,用户就可以看到运行结果。 程序运行后,显示器上会显示如下结果:

a=20,b=15,总和=35

6.#

注意:(1)以#号开头(2)不以分号结尾这一行没有分号,因此不是语句。 在C语言中称为命令行,或者“预编译处理命令”。

7、程序中以/*开头、*/结尾的部分代表程序的注释部分。 可以在程序中的任何位置添加注释。 添加它们是为了提高程序的可读性,但是计算机在执行main函数内容时完全忽略了它们。 换句话说,注释部分被计算机视为注释部分,不存在于主函数中。

c语言算术运算符优先级_运算符优先级c语言_c语言中运算符优先级别

C程序生成过程

AC程序首先由源文件编译生成目标文件,然后连接生成可执行文件。

源程序的扩展名为.c,目标程序的扩展名为.obj,可执行程序的扩展名为.exe。

标识符

编写程序时,必须给函数、变量等命名,这个名称称为标识符。 C语言中标识符的命名规则如下:

合法标识符如下:A6、b_3、_mn 非法标识符如下:ab#12、8m、tr3:4、yes no

标识符不能与程序中具有特殊含义的关键字相同,也不能与用户编写的函数名或C语言库函数相同。 程序中各种标识符尽量不要重复,以方便区分。 选择变量名称和其他标识符时,应注意通过名称来理解它们。

c语言算术运算符优先级_运算符优先级c语言_c语言中运算符优先级别

标识符分为三类:

1. 关键词

关键字是一类具有特定含义的标识符,专门用于描述 C 语言的特定组件。 它们不能用作用户标识符。autobreakcasecharuniondoelseenumgotoifintlongshortsizofvoidforwhilefloat2、预定义标识符预定义标识符在C语言中也有特定的含义,但它们可以用作用户标识符。 预定义标识符分为两类:

(1). 库函数名称,如(、scanf、sin等) (2)编译处理命令名称,如(,)

3. 用户标识符

用户根据自己的需要定义的标识符称为用户标识符。 无论您如何自定义标识符,都必须遵守标识符的三个命名规则。

c语言算术运算符优先级_c语言中运算符优先级别_运算符优先级c语言

持续的

在程序运行期间其值不能改变的量称为常量。 常量有 5 种类型:整型常量、实数常量、字符常量、字符串常量和符号常量。

(1) 数值转换

数字的四种表示方法:

①:二进制:所有的数字都是由0和1组成的。当两个数字输入1时,二进制数中不会出现2。 例:②:八进制:以数字0开头(注意不是以字母O、o开头),所有数字均由0~7组成。 当八进一时,八进制中不会出现8。例如:0112、0123、077等。 ③:十进制:所有数字均由0~9组成。 当达到十进制时,十进制中将不会出现10。例如:0、12、-15等。 ④:十六进制:以0x或0X(数字0加字母x)开头,所有数字由0~9、A~F(或a~f),每十六为一(其中A、B、C、D、E、F分别代表10、11、12、13、14、15)示例:0x4A, ETC。

在计算机中,数字以二进制形式表示和存储。 用户输入的普通十进制数必须经过计算机转换为二进制后才能存储在计算机内部。 同样,计算机的计算结果也是二进制的,一般都要转换成十进制数然后输出给用户读取,而这种转换通常是由计算机自动进行的。

(1) 将十进制转换为二进制、八进制和十六进制

除法:将十进制数除以 2 并记录余数。 继续将得到的商除以2,直到商为0。然后将每次计算得到的余数从后到前倒序排列。 余数的结果序列是相应的十进制数。 二进制数。 八进制与十六进制的转换方法同上。

例:十进制数13转换为二进制数为1101,转换为八进制值为015,转换为十六进制值为D。

(2) 二进制、八进制、十六进制转换为十进制

乘积和:将每个二进制位从低到高(低位在右边,高位在左边)分别乘以20、21、22。 。 。 。 ,然后对这些乘积求和。

例如: (1101) 2 = (13) 10 (317) 8 = (207) 10 (23E) 16 = (574) 10

(3) 二进制、八进制、十六进制数之间的转换

①:二进制转八进制:将每组三位数从右到左转换为十进制数,并将所得数据组合起来得到对应的八进制数(注:高位不够时补零)。 例:(010 110 111) 2 = (267) 8 ②:二进制转十六进制:将每组四位数字从右向左转换为十进制数,得到的数据组合即为对应的十六进制数(注:若高位为十六进制数)位少于四位数,请添加零)。 例:(0101 1011) 2 = (5B) 16 ③:将八进制转换为二进制:将每一位数字转换为三位二进制数字 例:(13) 8 = (001 011) 2 = (1011) 2 ( 注:去掉前两位00s,因为0在高位没有意义)④:十六进制转换为二进制:每个数字转换为四位二进制数字示例:(E3)16=(1110 0011)2

c语言中运算符优先级别_c语言算术运算符优先级_运算符优先级c语言

(2) 整数常量

整型常量有三种形式:十进制整型常量、八进制整型常量和十六进制整型常量。

(注:C语言中没有直接表示二进制的整型常量,二进制不会出现在C语言源程序中。)

写法如下:

十进制整型常量:123、0、-24、85L(长整型常量)等。八进制整型常量:051、-026、0773 等。十六进制整型常量:0x55、 、 0x、 、 -0xFF 。其中 L 是一个长整数。

(3) 实常数

实常数有两种表示形式:小数形式和指数形式。

小数形式:5.4 0.074-23.0 指数形式:5.4e0 4.3e-3 -3.3e4

(1) 小数部分为0的实常数可写为453.0或453。 (2) 用小数表示时,小数点两边必须有数字。 它们不能写为“.453”和“453.”,而应写为“0.453”和“453.0”。 (3)写成指数形式时,e之前必须有数字,e之后的指数必须是整数(注:整数阶代号可以是正数、负数,也可以是八进制或十六进制)数,但必须是整数)。

(4) 字符常量

字符常量的符号是一对单引号 ' '。 C语言中的字符常量有两种类型: (1)由一对单引号括起来的字符,如'a'、'r'、'#'。 注意:'a'和'A'是两个不同的字符常量。

(2) 用一对单引号括起来,以反斜杠\开头,后跟一些数字或字母,如'\n',其中“\”表示转义,后面跟不同的字符表示不同的含义。 这种类型的字符常量称为转义字符。 详细信息如图所示。

转义字符 转义字符ASCII码的含义

\n回车换行10\t水平跳转到下一个制表位置9\b退格8\r回车13\f进纸和换页12\ \反斜杠字符"\"92\'单引号字符39\"双引号字符34\a环7\ddd用1到3个八进制数字表示的字符\xhh1到2个十六进制数字表示的字符

c语言中运算符优先级别_c语言算术运算符优先级_运算符优先级c语言

(5) 字符串常量

在C语言中,用双引号括起来的几个字符的序列就是字符串常量。

例如:“你好”“快乐”等。

(6) 符号常数

符号常量是由宏定义“#”定义的常量。 标识符可用于表示 C 程序中的常量。

示例:计算圆面积的C程序。

## PI 3.14159main(){float r,s;r=12.5;S=PI *r*r;(“s= %f ”,s);}

阐明:

# 是宏定义。 该程序中所有出现的 PI 都代表 3.14159,PI 称为符号常数。 我们习惯上用大写字母表示符号常量,用小写字母表示变量,这样更容易区分。

c语言算术运算符优先级_c语言中运算符优先级别_运算符优先级c语言

多变的

变量是其值可以改变的量。 变量必须有变量名并在内存中占据一定的存储单元。 存储单元存储变量的值。 不同类型的变量有不同的存储单元大小,变量在使用前必须定义。

(1) 整型变量

整型变量分为4种类型:基本类型(int)、短整型(short int或short)、长整型(long int或long)和无符号类型(int、short、long)。

不同的编译系统对上述四类整型数据所占的位数和数值范围有不同的规定。

类型说明符

c语言中运算符优先级别_c语言算术运算符优先级_运算符优先级c语言

阐明:

该词用于描述“有符号”(即有正数和负数)。 如果不写,也暗示它是有符号的,用来描述“无符号”(只代表正数)。

运算符优先级c语言_c语言中运算符优先级别_c语言算术运算符优先级

(2) 实变量

在C语言中,实变量分为两种类型:单精度类型(float)和双精度类型()。 喜欢:

浮点 a , b ; m ;

在vc中,float类型数据在内存中占用4个字节(32位),type数据占用8个字节。 单精度实数提供 7 位有效数字,双精度实数提供 15 至 16 位有效数字。 实数类型常量不分为float类型和类型。 实型常量可以赋值给浮点型或类型变量,但变量根据其类型截取实型常量中对应的有效数。

注意:实型变量只能存储实型值。 整型变量不能用来存储实型值,实型变量也不能用来存储整型值。

(3) 字符变量

字符变量用于存储字符常量,定义形式为:

字符变量名;

关键字char定义了字符数据类型,占用一个字节的存储单元。

示例: char cr1,cr2;cr1= 'A', cr2='B';

将字符赋值给字符变量时,该字符本身并不存储在内存中,而是将该字符对应的ASCII码存储在内存单元中。 例如,字符“A”的ASCII码为65,其在内存中的存储形式如下:

由于字符在内存中以ASCII码存储,其存储形式与整数类似,因此C语言中的字符数据和整数数据可以互换使用。 字符可以以字符或整数的形式输出。 字符数据还可以以算术运算的形式输出,相当于对其ASCII码进行运算。

运算符优先级c语言_c语言算术运算符优先级_c语言中运算符优先级别

类型的自动转换和强制

当同一个表达式中的数据类型不同时,编译器会在计算前自动将它们转换为相同的类型。 转换优先级为:

字符 < 整数 < 浮点数 <

即左边的“低”类型转换到右边。 具体来说,如果表达式中优先级最高的数据是type,那么表达式中的所有其他数据都会转换为type,计算结果也为type; 如果表达式中优先级最高的数据为float类型,则该表达式中的所有其他数据都转换为float类型,计算结果也为float类型。

进行赋值操作时,如果赋值号左右两侧的类型不同,则将赋值号右侧的类型转换为左侧的类型; 当右边的类型高于左边的类型时,转换时会截取右边的数据。

除了自动转换之外,还有强制转换,其表示为:

(类型)(表达式); 示例:(int)(a+b)

讨论:当a的值赋值为3.4,b的值赋值为2.7时,(int)(a+b)和(int)a+b的值分别是多少?

c语言算术运算符优先级_运算符优先级c语言_c语言中运算符优先级别

C运算符知识

C语言的运算符种类繁多,可分为以下几类:

1.算术运算符:用于各种数值运算。 有加(+)、减(-)、乘(*)、除(/)、余数(%)、自增(++)、自减(--)七种类型。

2、赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=、-=、*=、/=、%=)和复合位运算赋值(&=、|=、^) =,>>=, & ∧ | 。

例1:左移运算符“”右侧的数字指定要移动的位数。

例如:假设a=15,a>>2表示右移到(小数3)。

需要注意的是,对于有符号数,右移时,符号位也会随之移动。 当为正数时,最高位填充0,当为负数时,符号位为1,最高位填充0还是1取决于编译系统的规定。

例3:假设二进制数a是。 若通过异或运算a∧b将a的高4位取反,低4位不变,则二进制数b为。

分析:异或运算常用于翻转特定位。 只需将要翻转的位与 1 进行异或即可,因为原数中值为 1 的位与 1 进行异或得到 0,而原数的中间值为 0。将 0 的位与1 结果为 1。与 0 进行异或的位将保留其原始值。 XOR 运算还可以用于在不使用临时变量的情况下交换两个值。

比如int a=3,b=4;,如果想互换a和b的值,可以使用下面的语句:a=a∧b;b=b∧a;a=a∧b;

所以这个问题的答案是:。

标签: 进制 字符 变量

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码