1.main函数和第一个C语言程序
main函数也叫主函数,是C语言程序的入口。每个C语言程序有且仅有这一个入口。main前面的int表示程序执行完成返回一个整形,与最后return 0呼应。
由此可以得到一个简单的代码。
#include <stdio.h>
int main()
{
printf("hello world");
return 0;
}
运行代码就可以在屏幕上出:
2.库函数简介
而如上一个代码使用的printf函数是一个库函数,全称为print format,即按格式打印。库函数是C语言为程序员提供的,一系列可以实现特定功能的函数工具,以提升程序开发的效率。
库函数数量众多,且需要包含头文件。如:上述printf函数的使用需包含头文件<stdio.h>,具体库函数内容可参考链接:https://cplusplus.com/reference/clibrary/。库函数需要逐步熟悉和学习,这是整个C语言学习不可缺少的一环。
3.C语言的学习离不开关键字的学习
C语言的关键字是预定义的、具有特定意义的单词,它们被用作编程语言的基本构件。
对于关键字的使用需要注意以下点:
1• 程序员⾃⼰在创建标识符的时候是不能和关键字重复。
2• 关键字也是不能⾃⼰创建。
常用有以下32个关键字:
auto break case char const continue default do double else enum
extern float for goto if int long register return short signed sizeof
static struct switch typedef union unsigned void volatile while
在C语言不同模块学习中,会接触不同关键字,如for,while,do 用于循环语句;switch,if用于条件语句;int, float,char用于创建变量等。
其他关键字见:https://zh.cppreference.com/w/c/keyword。
4.了解ASCll编码与字符
ASCll码表参考:https://zh.cppreference.com/w/cpp/language/ascii
所有数据在计算机都以二进制位储存,其中字符以其ASCll编码的形式储存。
C语⾔中字符是⽤单引号 括起来的,如:'a','b','@'。以%c的形式打印。
以此可以看看下面的代码
#include<stdio.h>
int main()
{
printf("%c\n",'A');
printf("%c",65);
return 0;
}
打印结果为:
对于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个字符是不可打印字符,⽆法打印在屏幕上观察
对于其余可打印的字符,可以写一个循环将其全部打印出
#include <stdio.h>
int main()
{
for(int i=32;i<127;i++)
{
printf("%c ",i);
}
return 0;
}
5.字符串与\0
1.字符由单引号引起,而由字符连接成的字符串则由双引号引起,如“abcde”,“hello world”。
字符串以%s的格式打印,也可直接打印。
#include <stdio.h>
int main()
{
printf("%s","abcd\n");
printf("abcd");
return 0;
}
2.字符串末尾隐藏有一个\0,这个\0为字符串结束的标志,可有vs2022的监视窗口查看
因此在用 printf 打印字符串或者以 strlen 计算字符串长度时,遇到 \0 即会停止。
3.如果没有\0会怎样,我们可以创建一个字符数组存储字符串,如:
#include <stdio.h>
int main()
{
char arr1[]={'a','b','c','d'};
char arr2[]={"abcd"};
printf("%s\n",arr1);//语句一
printf("%s",arr2);//语句二
return 0;
}
对于这个打印结果我们可以知道,如果没有\0作为字符串的结束标志,在打印完数组arr中的字符后将会打印随机值,直到遇到\0,才会结束打印。
当我们加上\0后就可以正常打印字符。
#include <stdio.h>
int main()
{
char arr[] = { 'a','b','c','d','\0' };
printf("%s\n", arr);
return 0;
}
6.转义字符
#include <stdio.h>
int main()
{
printf("n");
printf("\n");
return 0;
}
对于这个代码,我们能够打印出字符 n,但是没能够得到 \n,这是因为在 n前面加上' \ ',与 n组成了换行符,可以理解为转变了 n意思。
如果想要正常打印出\0,可以在其前面再加一个' \ ',这样屏幕上就会老老实实的打印出 \0,类似的转义字符都能使用这个方法。
#include <stdio.h>
int main()
{
printf("\\n");
return 0;
}
转义字符参考:https://zh.cppreference.com/w/c/language/escape
了解转义字符的知识,可以计算以下代码的打印结果
#include <stdio.h>
#include <string.h>
int maiin()
{
int len = strlen("c:\test\abc\178\test.c");
printf("%d", len);
return 0;
}
可以得到结果为 17。因此转义字符在代码中的识别是很重要的,它是我们读懂代码的基础之一。