第1讲
一、main函数
主函数;即使一个项目有多个.c文件,也只能有一个main函数(因为程序的入口只能有一个)。
二、printf和库函数
int n = 100;
printf("%d\n", n); //printf打印整型
printf("%c\n", 'q'); //printf打印字符
printf("%lf\n", 3.14); //printf打印双精度浮点型
库函数:cplusplus.com
三、关键字
关键字有特殊意义,不能自己创建
c语言的32个关键字:
1 auto break case char const continue default do double else enum
extern
2 float for goto if int long register return short signed sizeof
static
3 struct switch typedef union unsigned void volatile while
四、字符和ASCII编码
c语言中字符用单引号括起来:'a' , 'b' , 'c'
- 字符 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个字符是不可打印字符,⽆法打印在屏幕上观察
对应字符转换:
int main()
{
printf("%c\n", 'c');
printf("%c\n", 97);
printf("%d\n", 'a');
printf("%d\n", 'P');
return 0;
}
//打印ASCII值从32~127的字符
int main()
{
int i = 0;
for (i = 32; i <= 127; i++)
{
printf("%c ", i);
}
return 0;
}
' '--字符 " "--字符串
五、字符串和\0
\0是字符串的结束标志
打印字符串的两种方法:
int main()
{
printf("Hello\n");
printf("%s\n", "Hello");
return 0;
}
验证\0的功能:
int main()
{
char arr1[] = "abc";//a b c \0
printf("%s\n", arr1);
char arr2[] = { 'a','b','c','\0' };//a b c
printf("%s\n", arr2);
return 0;
}
计算字符长度:
#include<stdio.h>
#include<string.h>
int main()
{
//strlen是统计字符串的长度的,实际上是在是字符串中\0之前的字符个数,不包含\0
int len = strlen("abcdef");//统计一下字符串的长度 - strlen - string length
printf("%d\n", len);
return 0;
}
// 字符串字面量 "a",编译器会处理为 {'a', '\0'},长度是 2(含 \0)
char str[] = "a";
// 等价于手动写 \0(没必要,编译器会自动加)
char str2[] = { 'a', '\0' };
// 验证:strlen 统计到 \0 为止的字符数(不含 \0)
printf("%zu\n", strlen(str)); // 输出 1(正确,只统计 'a')
printf("%zu\n", sizeof(str)); // 输出 2(数组总大小,含自动加的 \0)
strlen计算有效字符长度,不包含\0
sizeof计算占用总字节数,包含\0


被折叠的 条评论
为什么被折叠?



