学习笔记:c语言词汇

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

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\n", 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 xy;// 函数外定义变量 x 和 y
int addtwonum()//定义一个整数函数
{
    extern int xy;// 函数内声明变量 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'、一个转义序列例如 '\t'
字符串常量
    字符串常量是括在双引号 " " 中的。
    "hello, dear" "hello, \dear"
    字符串常量在内存中以 null 终止符 \0 结尾
定义常量
    两种简单的定义常量的方式使用#define预处理器。使用const关键字。
    const修饰的常变量:
        const int a = 1;
        const修饰的常变量本质上是变量,但具有常属性不能被修改。
    define定义的标识符常量:
        #define命令定义标识符常量该标识符常量在程序中是个定值通常    用于代表数组容量或涉及数学的常量等。
        #define SIZE 10    // 此处SIZE代表数组元素个数
        int main(){
        int arr[SIZE]={0};
        return 0;}
        如需修改数组大小只需将SIZE所代表的值修改即可

转义序列字符

\\  \ 字符    \'  ' 字符    \"  " 字符    \?  ? 字符
\a  警报铃声    \b  退格键     \f  换页符     \n  换行符
\r  回车          \t  水平制表符   \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+ba*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('\n');//换行
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)
     

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
返回列表

上一篇:02 KVM安装虚拟化

下一篇:Redis7