C语言常见概念(2)
main函数
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
printf("jiayou\n");
return 0;
}
main函数是C语言程序的入口,程序总是从main函数进入开始执行。main函数被称为主函数。
main函数有且只有一个,即使一个项目中有多个.c文件,main函数也是有且只有一个。
main 函数前面的 int 是表示函数执行结束返回一个整型类型的值,"return 0;"与之对应。
void main() 是一中很古老的写法,不推荐。
printf和库函数
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
printf("jiayou\n");
return 0;
}
上面使用了printf("jiayou\n");,printf函数的功能是在屏幕上(标准输入设备)打印信息,printf也可以打印其他类型的数据,
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int b = 10;
printf("jiayou\n");
printf("%d\n", b);
printf("%c\n", 'b');
return 0;
}
这里的%d与%c是占位符,会被后面的值替换。
printf是一个库函数,什么是库函数?怎么使用?
库函数:C语言标准规定了一组函数,这些函数被不同的编译器厂商根据标准进行实现,提供给程序员使用。这些函数组成了一个函数库,被称为标准库,这些函数也被称为库函数。
使用库函数:一个系列的库函数一般会声明在同一个头文件,所以库函数的使用,要包含对应的头文件。
如果不引用头文件就会报错,如下
不包含库函数printf的头文件,编译器就不认识这个函数。
关键字介绍
关键字:C语言中有一批保留名字的符号,比如int char return if等,这些符号被称为保留字或者关键字。
注意事项:
- 关键字都有各自特殊的意义,是保留给C语言使用的
- 程序员在创建标识符时,不能和关键字重复
- 关键字是固定的,不能自己创建
C语言的32个关键字(不要着急记,以后用的多自然就记住了)
当然C99标准中又加入一些关键字,但使用最多的还是上面的32个关键字,如果想了解全部关键字,可去下面的网站
C 关键词 - cppreference.comhttps://zh.cppreference.com/w/c/keyword
字符和ACSII编码
dec表示十进制,oct是八进制,hex是十六进制,字符(ch)编码
不需要记住全部,随时可以查看,掌握几组有规律的数据
字符A~Z的ASCII码值是65-90
字符a~z的ASCII码值是97-122 (97-65=32),大写字母对应的小写字母是大写字母码值加32
数字0~9的ASCII码值是48-57
换行\n是10
字符0-31这32个字符是不可打印字符,无法打印在屏幕上观察
在屏幕上打印32-127的字符
//打印ASCII码表32-127的字符
int main()
{
int i = 0;
for (i = 32; i <= 127; i++)
printf("%c\t", i);
return 0;
}
字符串结束标志\0
字符:使用单引号括起来的字符称为字符,字符的占位符是%c
字符串:使用双引号括起来的一串字符称为字符串,字符串的占位符是%s
字符串的末尾隐藏放着一个\0,这个\0是字符串的结束标志
查看\0
监视窗口可查看,首先按F10,进入调试
打开监视窗口
查看值
从监视窗口中我们看到 "ch" 后面还隐藏着转义字符 \0
退出监视窗口
我们可以将字符串放在一个字符数组中,验证\0的功能
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//用字符数组验证\0的功能
int main()
{
char s1[] = { 'a','b','c' };
char s2[] = { "abc" };
printf("%s\n", s1);
printf("%s\n", s2);
return 0;
}
为什么这里的s1数组打印出abc后,开始出现一些奇怪的字符?这是因为在s1数组中没有结束标志\0,所以会随机的开始读,直到偶然读到\0,才停止。s2中是隐藏了\0,但是他是有的。
我们手动给s1数组加上\0,会不会打印abc呢?
读到s1数组的\0就不读了,打印abc
strlen()函数在计算字符串长度时,遇到 \0 就自动停止了
CSDN-Ada助手: 恭喜你写了第10篇博客!对于C语言单目操作符的解释很清晰,让我受益匪浅。希望你可以继续分享关于C语言的知识,或许可以考虑写一些实际应用场景下的代码示例,让读者更好地理解这些操作符的用法。期待你的下一篇作品!
CSDN-Ada助手: 恭喜用户发布了关于C语言强制类型转换的博客!持续创作非常值得鼓励,希望你能继续分享更多关于C语言的知识。下一步可以考虑写一些关于指针或者数据结构的文章,相信会受到读者们的欢迎。期待你的下一篇作品!祝创作顺利!
CSDN-Ada助手: 恭喜您写了第8篇博客!标题为“C语言算术操作符”,这是一个非常有用和有趣的主题。通过探讨C语言中的算术操作符,读者将能够更好地理解和应用这些操作符。您的文章内容清晰明了,对于初学者来说非常友好。 在下一步的创作中,我建议您继续深入探讨C语言中其他重要的操作符,例如逻辑操作符或位操作符。这些话题将进一步拓展读者对C语言的了解,使他们能够更加灵活地运用这些操作符解决问题。谦虚地说,我相信您会以您独特的方式呈现这些内容,并给读者带来更多的启发和知识。 期待您的下一篇博客,继续加油!
CSDN-Ada助手: 恭喜作者继续分享关于C语言数据类型的知识,这篇博客内容扎实,让读者受益匪浅。希望作者在下一篇博客中可以深入探讨C语言数据类型的应用场景,或者结合实际案例进行讲解,这样能够更加生动形象地展示C语言数据类型的重要性和实用性。期待作者的下一篇精彩内容!