一、C语言常见概念

1、main函数

每个 C 语⾔程序不管有多少⾏代码,都是从 main 函数开始执⾏的, main 函数是程序的⼊⼝;

main 函数也被叫做:主函数。 main 前⾯的 int 表⽰ main 函数执⾏结束的时候返回⼀个整型类型的值。所以在 main 函数的最后写 return 0; 正好前后呼应。

• main函数是程序的⼊⼝

• main函数有且仅有⼀个

• 即使⼀个项⽬中有多个.c⽂件,但是只能有⼀个main函数(因为程序的⼊⼝只能有⼀个)

2、关键字

C语⾔中有⼀批保留的名字的符号,⽐如: int 、 if 、 return ,这些符号被称为保留字或者关键
字。
• 关键字都有特殊的意义,是保留给C语⾔使⽤的
• 程序员⾃⼰在创建标识符的时候是不能和关键字重复的
• 关键字也是不能⾃⼰创建的。

类似的还有:在这里插入图片描述

3、转义字符

比如\n、 \0、\ddd、\xdd…

  • \n:转行符

  • \0:它是字符串结束的标志
    在这里插入图片描述在这里我们能看得到arr1后面会出现一堆乱码,而arr2没有,这是因为arr2后面默认存在有 \0,打印时就能及时结束。

  • \ddd :d d d表⽰1~3个⼋进制的数字。 如: \130 表⽰字符X

  • \xdd :d d表⽰2个⼗六进制数字。 如: \x30 表⽰字符0

4、字符和ASCll码表

在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语⾔中字符是⽤单引号括起来的,如:‘a’,‘b’,‘@’。
ASCll码表
注意:
字符A~Z的ASCII码值从65-90
• 字符a~z的ASCII码值从97-122
• 对应的⼤⼩写字符(a和A)的ASCII码值的差值是32
• 数字字符0~9的ASCII码值从48-57
• 换⾏ \n 的ASCII值是:10
• 在这些字符中ASCII码值从0~31 这32个字符是不可打印字符,⽆法打印在屏幕上观察

5、 注释

  1. // :只能注释单行代码

  2. /**/: 可以注释多行

二、数据类型的介绍

C语⾔提供了丰富的数据类型来描述⽣活中的各种数据。使⽤整型类型来描述整数,使⽤字符类型来描述字符,使⽤浮点型类型来描述⼩数。所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才知道怎么操作数据。

1、数据类型

  • 字符型----char
  • 整型-------int
  • 浮点型----float(单精度)、double(双精度)、long double
  • 布尔类型— _Bool
    -用来表示真假,0表示假,非0表示真,
    -布尔类型的使⽤得包含头⽂件 <stdbool.h>
    -变量取值是:ture或者false

2、sizeof操作符

sizeof是专门用来计算操作符数的类型长度的,单位是字节

注意:

  • sizeof 的操作数如果不是类型,是表达式的时候,可以省略掉后边的括号的。
  • sizeof 后边的表达式是不真实参与运算的,根据表达式的类型来得出⼤⼩。
  • sizeof 的计算结果是 size_t 类型

比如:
在这里插入图片描述

2.1 sizeof中表达式不计算

具体看代码运行如下:
在这里插入图片描述

3、signed和unsigned

  • signed 关键字,表⽰⼀个类型带有正负号,包含负值;

  • unsigned 关键字,表⽰该类型不带有正负号,只能表⽰零和正整数。

注:

  • 对于 int 类型,默认是带有正负号的,也就是说 int 等同于 signed int ,由于这是默认情况,关键字 signed ⼀般都省略不写,但是写了也不算错。
  • C 语⾔规定 char 类型默认是否带有正负号,由当前系统决定。
    这就是说, char 不等同于 signed char ,它有可能是 signed char ,也有可能是unsigned char 。

4、变量

  • 全局变量:在⼤括号外部定义的变量就是全局变量全局变量的使⽤范围更 ⼴,整个⼯程中想使⽤,都是有办法使⽤的。

  • 局部变量:在⼤括号内部定义的变量就是局部变量局部变量的使⽤范围是⽐较局限,只能在⾃⼰所在的局部范围内使⽤的。

注意:当局部变量和全局变量同名的时候,局部变量优先使⽤

5、算术操作符:+、-、*、/、%

5.1、+、-、 和我们所熟知的运算规则一样

5.2、 ‘/’ 的两端如果是整数,执⾏的是整数除法,得到的结果也是整数。

#include <stdio.h>
int main()
{
	float x = 6 / 4;
	int y = 6 / 4;
	printf("%f\n", x); // 输出 1.000000
	printf("%d\n", y); // 输出 1
	return 0;
}

注:

  • 尽管变量 x 的类型是 float (浮点数),但是 6 / 4 得到的结果是 1.0 ,⽽不是1.5 。原因就在于 C 语⾔⾥⾯的整数除法是整除,只会返回整数部分,丢弃⼩数部分。
  • 如果希望得到浮点数的结果,两个运算数必须⾄少有⼀个浮点数,这时 C 语⾔就会进⾏浮点数除法。如下:
#include <stdio.h>
int main()
{
 float x = 6.0 / 4; // 或者写成 6 / 4.0
 printf("%f\n", x); // 输出 1.500000
 return 0;
}

5.3、运算符 % 表⽰求模(余)运算,即返回两个整数相除的余值。这个运算符只能⽤于整数,不能用于浮点数。

#include <stdio.h>
int main()
{
 int x = 6 % 4; // 2
 return 0;
}

注:负数求模的规则是,结果的正负号由第⼀个运算数的正负号决定。

#include <stdio.h>
int main()
{
 printf("%d\n", 11 % -5); // 1
 printf("%d\n",-11 % -5); // -1
 printf("%d\n",-11 % 5); // -1
 return 0;
}

6、单目操作符:++、–、+、-

6.1、前置++(先+1,后使⽤)

int a = 10;
int b = ++a;//++的操作数是a,是放在a的前⾯的,就是前置++
printf("a=%d b=%d\n",a , b);//a=z+1,a=11,b=a=11

6.2、后置++(先使用,后+1)

int a = 10;
int b = a++;//++的操作数是a,是放在a的后⾯的,就是后置++
printf("a=%d b=%d\n",a , b);//b=a=10,a=a+1=11
  • 前置- -和后置- -同理
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐