C语言基础
C程序基本格式
#include <stdio.h>
int main() {
printf("Hello World");
return 0;
}
在C语言中,使用//
和/**/
来为一个程序添加注释
#include <stdio.h>
/**
* 这是一个多行注释
*/
int main() {
// 这是一个单行注释
printf("Hello World");
return 0;
}
运算符
位运算
运算符 | 作用 |
---|---|
<< | 左移 |
>> | 右移 |
& | 按位与 |
| | 按位或 |
^ | 异或 |
~ | 按位非 |
运算符 | 解释 | 结合方式 |
---|---|---|
() | 同数学中的括号,直接提升到最高优先级 | 由左向右 |
! ~ ++ -- + - | 否定,按位否定,增量,减量,正负号 | 由右向左 |
* / % | 乘,除,取模 | 由左向右 |
+ - | 加,减 | 由左向右 |
<< >> | 左移,右移 | 由左向右 |
< <= >= > | 小于,小于等于,大于等于,大于 | 由左向右 |
== != | 等于,不等于 | 由左向右 |
& | 按位与 | 由左向右 |
^ | 按位异或 | 由左向右 |
| | 按位或 | 由左向右 |
&& | 逻辑与 | 由左向右 |
|| | 逻辑或 | 由左向右 |
? : | 条件 | 由右向左 |
= += -= *= /= &= ^= != <<= >>= | 各种赋值 | 由右向左 |
, | 逗号(顺序) | 由左向右 |
数组
数组的创建和使用
int a[10]; // 申明一个固定长度的数组
int b[10] = {1, 2, 4}; // 数组中的元素可以不填满整个数组
int c[10] = {1, 2, [4] = 777, [9] = 666}; // 能够在初始化时为指定位置指定元素
int d[] = {1, 2, 3}; // 或者根据给定元素长度决定数组长度
值得注意的是,在数组中未被赋予初始值的位置默认为脏值,而不是默认值
字符串
字符串的创建和使用
可以使用字符数组来直接存储单个字符
char str[] = {'H', 'e', 'l', 'l', 'o','\0'};
但无论如何字符串末尾都必须含有\0
,表示一个字符串的结束
或者使用""
来更加简洁的表示一个字符串
char str[] = "Hello";
在汉字常用的编码方式中:
GB2132:连续出现两个大于127的字符时,表示这是一个中文字符
BGK:只要第一个字节大于127,就表示这是一个汉字的开始,无论下一个字节是什么内容
UTF-16:规定每个字符必须使用俩个字节,即用16个bit位来表示所有的字符
UTF-8:
Unicode符号范围(十六进制) | UTF编码方式(二进制) |
---|---|
0000 0000 ~ 0000 007F | 0xxxxxxx |
0000 0080 ~ 0000 07FF | 110xxxxx 10xxxxxx |
0000 0800 ~ 0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx |
0001 0000 ~ 0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
scanf、gets、puts函数
scanf
能按照指定的格式将输入的内容分配给变量
int a;
int b;
scanf("%d %d", &a, &b);
或者使用gets
和puts
专门负责字符串的输入和输出
char str[10];
gets(str);
puts(str);
getchar
和putchar
被用于处理一个字符的输入和输出
char c = getchar();
putchar(c);
Last updated on