您现在的位置是:首页 >技术交流 >学习笔记:c语言词汇网站首页技术交流

学习笔记:c语言词汇

烟雨孤舟 2023-04-28 22:30:03
简介学习笔记:c语言词汇

c语言词汇

在C语言中使用的词汇分为六类:关键字、标识符、常量、运算符、分隔符、注释符等

关键字

auto    声明自动变量
break   跳出当前循环
case    开关语句分支
char    声明字符型变量或函数返回值类型
const   定义常量,如果一个变量被const修饰,那么它的值就不再改变
continue    结束当前循环,开始下一轮循环
default 开关语句中的"其它"分支
do      循环语句的循环体
double  声明双精度浮点型变量或函数返回值类型
else    条件语句否定分支(与 if 连用)
enum    声明枚举类型
extern  声明变量或函数是在其它文件或本文件的其他位置定义
float   声明浮点型变量或函数返回值类型
for     一种循环语句
goto    无条件跳转语句
if      条件语句
int     声明整型变量或函数
long    声明长整型变量或函数返回值类型
register    声明寄存器变量
return  子程序返回语句(可以带参数,也可不带参数)
short   声明短整型变量或函数
signed  声明有符号类型变量或函数
sizeof  计算数据类型或变量长度(即所占字节数)
static  声明静态变量
struct  声明结构体类型
switch  用于开关语句
typedef 用以给数据类型取别名
unsigned    声明无符号类型变量或函数
union   声明共用体类型
void    声明函数无返回值或无参数,声明无类型指针
volatile    说明变量在程序执行中可被隐含地改变
while   循环语句的循环条件

标识符

在程序中使用的变量名和函数名等统称为标识符
规范:
    不能是关键字
    只能是字母数字下划线组成的字符串
    第一个字符不能是数字

数据类型

基本数据类型:整型(int)、浮点型(实型float)、字符型(char)、双精度浮点型(double)
枚举类型:算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量。
void 类型:类型说明符void表示没有值的数据类型,通常用于函数返回值。
派生类型:包括数组类型、指针类型和结构体类型。
布尔类型:_Bool
枚举类型:enum

基本数据类型

常用基本数据类型占用空间(64位):
char    1 字节    int     4 字节
long    4 字节    float   4 字节
double  8 字节    long double 16 字节
可以使用sizeof求运算符所占字节数,一个字节(8位)

void 类型

void 类型指定没有可用的值。它通常用于以下三种情况下:
1.函数返回为空:不返回值的函数的返回类型为空。例如void exit(int s);
2.函数参数为空:函数不接受任何参数。例如 int rand(void);
3.指针指向void:类型为 void * 的指针代表对象的地址,而不是类型。例如,内存分配函数void *malloc( size_t size ); 返回指向void的空指针,可以转换为任何数据类型。

数据类型转换

1.隐式类型转换:在表达式中自动发生的,无需进行任何明确的指令或函数调用。它通常是将一种较小的类型自动转换为较大的类型,例如,将int类型转换为long类型或float类型转换为double类型。隐式类型转换也可能会导致数据精度丢失或数据截断。
2.显式类型转换:需要使用强制类型转换运算符,它可以将一个数据类型的值强制转换为另一种数据类型的值。强制类型转换可以使程序员在必要时对数据类型进行更精确的控制,但也可能会导致数据丢失或截断。
隐式类型转换实例:
    int i = 10;
    float f = 3.14;
    double d = i + f; // 隐式将int类型转换为double类型
显式类型转换实例:
    double d = 3.14159;
    int i = (int)d; // 显式将double类型转换为int类型
3.自动转换规则:
    浮点数赋给整型,该浮点数小数被舍去;
    整数赋给浮点型,数值不变,但是被存储到相应的浮点型变量中;
4、强制类型转换形式: 变量=(类型说明符)(表达式),例 b=(int)(s)
#include <stdio.h>
int main()
{
   int sum = 17, count = 5;
   double mean;
   mean = (double) sum / count;
   printf("Value of mean : %f
", mean );
    return 0;
}

变量

变量其实是程序可操作的存储区的名称。C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值可以存储在内存中,运算符可应用于变量上。变量的名称有标识符组成。

变量定义:类型说明符 变量名1,变量名2;
        int a,b;
变量赋值(初始化):类型说明符 变量名1,变量名2;
        int a,b;
        a = 1;
        b = 2;
        类型说明符 变量名1=变量值1,变量名2=变量值2;
        int a=1,b=2;
实例:
    int num = 1 ; //整型
    double score = 2.3; //小数
    char gender = 'A'; //字符
    char name[] = "尚硅谷"; //字符串
未初始化的变量会被隐式初始化为NULL(所有字节的值都是 0)。
#include <stdio.h>
int x,y;// 函数外定义变量 x 和 y
int addtwonum()//定义一个整数函数
{
    extern int x,y;// 函数内声明变量 x 和 y 为外部变量
    x = 1;// 给外部变量(全局变量)x 和 y 赋值
    y = 2;
    return x+y;
}
int main()
{
    int result;
    result = addtwonum();// 调用函数 addtwonum
    printf("result 为: %d",result);
    return 0;
}

常量

常量是固定值,在程序执行期间不会改变。常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。

整数常量:
    整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0表示八进制,不带前缀则默认表示十进制。
    整数常量可以带一个后缀,后缀是U和L的组合,U表示无符号整数,L表示长整数。后缀可以是大写,也可以是小写,U和L的顺序任意。
    212         /* 合法的十进制 */
    0xFeeL      /* 合法的十六进制 */
    078         /* 非法的八进制,8不是八进制的数字 */
    032UU       /* 非法的:不能重复后缀 */
    30u        /* 无符号整数 */
    30l        /* 长整数 */
    30ul       /* 无符号长整数 */
浮点常量:
    浮点常量由整数部分、小数点、小数部分和指数部分组成。
    3.14159       /* 合法的 */
    314159E-5L    /* 合法的 */
    510E          /* 非法的:不完整的指数 */
    .e55          /* 非法的:缺少整数或分数 */
字符常量:
    字符常量是括在单引号中字符常量可以是一个普通的字符(例如 'x')、一个转义序列(例如 '	')
字符串常量:
    字符串常量是括在双引号 " " 中的。
    "hello, dear" "hello, dear"
    字符串常量在内存中以 null 终止符  结尾
定义常量:
    两种简单的定义常量的方式:使用#define预处理器。使用const关键字。
    const修饰的常变量:
        const int a = 1;
        const修饰的常变量,本质上是变量,但具有常属性,不能被修改。
    define定义的标识符常量:
        #define命令定义标识符常量,该标识符常量在程序中是个定值,通常    用于代表数组容量或涉及数学的常量等。
        #define SIZE 10    // 此处SIZE代表数组元素个数
        int main(){
        int arr[SIZE]={0};
        return 0;}
        如需修改数组大小,只需将SIZE所代表的值修改即可

转义序列字符

\   字符    '  ' 字符    "  " 字符    ?  ? 字符
a  警报铃声      退格键     f  换页符     
  换行符

  回车          	  水平制表符   v  垂直制表符
ooo    一到三位的八进制数   xhh... 一个或多个数字的十六进制数

C运算符

算数运算符:
    + 加法运算符 -减法运算符 *乘法运算符 /除法运算符 %模运算符(取余)
    int a=1,b; float x=2.0; 
    b=x+1;//发生隐式转换 b=3.0
    % 取余,两边只能是整型
    / 除法,两边只要有一个实型结果就是实型,都是整型结果则取整
    char a ='c',b='o' a=b+1;//根据ASC表中字符对应的值进行运算
    ++自增运算符 --自减运算符
    ++自增运算符/自减运算符在变量名后面,在赋值语句之后进行自增自减
    ++自增运算符/自减运算符在变量名前面,在赋值语句之前进行自增自减
    符合赋值运算符 a=a+5 等价与a+=5
关系运算符: true  false 
    ==  左右两个的值是否相等,如果相等则条件为真。
    !=  左右两个的值是否相等,如果不相等则条件为真。
    >   检查左的值是否大于右的值,如果是则条件为真。
    <   检查右的值是否大于左的值,如果是则条件为真。
    >=  检查左的值是否大于或等于右的值,如果是则条件为真。
    <=  检查左的值是否小于或等于右的值,如果是则条件为真。
逻辑运算符:
    &&  逻辑与运算符。如果两个操作数都非零,则条件为真。 and
    ||  逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 or
     !  逻辑非运算符。如果条件为真则逻辑非运算符将使其为假。   
赋值运算符:
    =   赋值运算符
    +=  加且赋值运算符,把右边数加上左边数的结果赋值给左边数
    -=  减且赋值运算符,把右边数减上左边数的结果赋值给左边数
    *=  乘且赋值运算符,把右边数乘以左边数的结果赋值给左边数  
    /=  除且赋值运算符,把左边数除以右边数的结果赋值给左边数  
    %=  求模且赋值运算符,求两个操作数的模赋值给左边操作数
杂项运算符:
    &   返回变量的地址。&a;
    *   指向一个变量。 *a; 
    ? : 条件表达式   如果条件为真 ? 则值为 X : 否则值为 Y
    sizeof()    返回变量的字节大小。sizeof(a) 
运算符优先级:
    括号成员是老大; // 括号运算符 []() 
    全体单目排老二; // 单目运算符++、--、+、-、指针运算*、&、!
    乘除余三,加减四; // 这个"余"是指取余运算即%
    移位五,关系六; // 移位运算符:<< >> ,关系:> < >= <= 等
    等与不等排行七; // 即 == 和 !=
    位与异或和位或; // 这几个都是位运算: 位与(&)异或(^)位或(|)    
    "三分天下"八九十;  
    逻辑与,逻辑或;// 逻辑运算符: || 和 &&
    十一十二紧挨着;// 注意顺序:优先级(||) 底于 优先级(&&) 
    条件只比赋值高, // 三目运算符优先级排只比赋值运算符和 "," 高
    逗号运算最低级  //逗号运算符优先级最低 
单目运算符:有一个参与运算的量,如++、--、!
双目运算符:有两个参与运算的量,如+、-、*、/
算数表达式:有三个参与运算的量,如?:
    用算数运算符和括号连接起来的负责c语法规则的式子。
    例如:a+b;(a*2)-3
逗号表达式:
    一般形式: 表达式1,表达式2
    其求值过程是分别求两个表达式的值,并以表达式2的值作为整个逗号表达式的值
逻辑表达式:
    表达式 逻辑运算符 表达式
    (a%%b)&& c
三目运算符
三目运算符也叫条件运算符、三元运算符,是由一个问号和一个冒号组成。
语法:
    表达式1?表达式2:表达式3;
语义:
    先执行表达式1,如果表达式1的结果如果为真,那么执行表达式2,并且这个整体的运算式的结果是表达式2的结果;如果表达式1的结果如果为假,执行表达式3,运算式的结果是表达式3的结果。
sizeof运算符
sizeof是C语言的关键字,它用来计算变量(或数据类型)在当前系统中占用内存的字节数。
用于数据类型:sizeof(数据类型);
用于变量:sizeof(变量名);或 sizeof 变量名;

输入输出

printf()和scanf()实现输入输出,stdio.h头文件包含这两个函数
利用putcahr()和getchar()函数实现字符的输入输出
putchar(输入字符):单个字符数据的输出
	putchar('xc');//常量
	putchar(A);//变量
	putchar('
');//换行
getchar(输出字符):从键盘上输入一个字符
	char c;
	c = getchar();
格式输入输出:
	printf函数(“格式符1格式符2”,表达式1,表达式2);
	scanf函数(“格式符1格式符2”,表达式1,表达式2);
	%d 输出int型数据 
	%f 输出float型数据
	%lf 输出double型数据
	%c 输出单个字符
	%md 指定输出数据的宽度为m
	%m.nf指定输出数据的宽度为m,小数点后面保留n位,最后一位四舍五入
fmax和fmin函数:(存放在math.h的文件中)
	fmax用来求最大值 c =fmax(a,b)
    fmin用来求最小值 c =fmin(a,b)
     

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。