我们继续第二模块初识C语言的学习,上一篇笔记当中我们详细学习了变量与常量的剩余知识并学习了有关字符串的内容。本篇笔记中我们继续字符串+转义字符+注释的学习,后面的内容还包括:选择语句 、循环语句 、函数 、数组 、操作符 、常见关键字 、define 定义常量和宏 、指针 、结构体。
第二模块 初识C语言
五、字符串+转义字符+注释
(二)、转义字符
cpp
/*
转义字符 ------ 转变原来的意思
\? 在书写连续多个问号时使用,防止他们被解析成三字母词
· 有些古老的编译器会将 ??) 识别转换为 ] ,这个现象是三字母词的解析
· 但是三字母词在现在的编译过程中已经基本用不到了,所以我们只做了解即可
\' 用于表示字符常量'
\" 用于表示一个字符串内部的双引号
\\ 用于表示一个反斜杠,防止它被解释为一个转义序列符。
\a 警告字符,蜂鸣
\b 退格符
\f 进纸符
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\ddd ddd表示1~3个八进制的数字。 如: \130 X
\xdd dd表示2个十六进制数字。 如: \x30 0
· 以上两种是分别将八进制和十六进制转化为十进制之后,所得到的数字在ASCII码表中所对应的字符
· 但是注意ASCII码值最大为127,所以转换为十进制之后的值不要超过127
*/
#include<stdio.h>
int main()
{
printf("abcndef\n");
printf("abc\ndef\n"); // \n 的作用是换行
printf("%c\n", '\''); // 打印一个 '
printf("%s\n", "\""); // 打印一个 "
// 当我们想要打印一个地址的时候
printf("c:\code\test.c\n");
// 以上是实现不了的,\t 被识别为水平制表符,此时我们也要用到转义字符
printf("c:\\code\\test.c\n"); //此时可以正常打印地址
printf("%c\n", '\130'); // 八进制转十进制
printf("%c\n", '\x30'); // 十六进制转十进制
// 转义字符往往能在学校或企业的笔试题中出现,比如:
printf("%d\n", strlen("abcdef")); // 6
printf("%d\n", strlen("c:\test\628\test.c")); // 14
// \62 和 \t 分别被识别为了一个转义字符
return 0;
}
(三)、注释
cpp
/*
注释:
· 代码中有不需要的代码可以直接删除,也可以注释掉
· 代码中有些代码比较难懂,可以加一下注释文字
写注释一定程度上反应了程序作者的素质,建议写必要的注释,在找工作的时候,写代码时留下必要的注释也会给面试官留下更好的印象。
*/
// 比如看下面这段代码:
#include <stdio.h>
int Add(int x, int y)
{
return x + y;
}
/* 从这里开始是注释,这是C语言风格注释
int Sub(int x, int y)
{
return x-y;
}
但是这种风格的注释是有缺点的,不支持嵌套注释
*/
int main()
{
// 这后面都是注释,这是C++注释风格
// int a = 10;
// 调用Add函数,完成加法
// 这种注释风格既能实现单行注释也能实现多行注释,是我们现在写代码的首选
printf("%d\n", Add(1, 2));
return 0;
}
六、选择语句
cpp
// 我们的生活中处处面临选择,我们编写程序的时候也经常遇到写选择语句的时候
/*
比如我们接下来这段代码实现一个选择(选择的本质是分支):
如果你选择好好学习,校招时拿一个好offer,走上人生巅峰。
如果你选择不学习,毕业等于失业,回家卖红薯。
*/
#include <stdio.h>
int main()
{
int choice = 0; // 定义一个整型变量choice并初始化为0,用于存储用户的选择
// 打印提示信息
printf("你愿意好好学习吗?\n");
printf("如果决定好好学习请输入1。\n");
printf("如果决定不学习请输入0。\n");
printf("请输入你的选择。> ");
scanf("%d", &choice); //使用scanf函数读取用户输入的整数,并将其存储在变量choice中
// 使用if-else语句来判断用户的输入
if (choice == 1) // 如果用户输入的是1
{
printf("你会得到一个好offer,走上人生巅峰\n");
}
else if (choice == 0) // 如果用户输入的是0
{
printf("毕业即失业,回家卖红薯\n");
}
else // 如果用户输入的既不是1也不是0
{
printf("输入错误,请输入1或0\n");
}
return 0;
}
/*
选择语句又会详细的分为 if 语句和 switch 语句
我们在这里仅仅是简单的了解了一下 if 语句的用法
后续我们还会学习有关选择语句的知识,我们详见 第三模块 分支语句和循环语句 的学习
*/
七、循环语句
cpp
// 有些事必须一直做,比如大家日复一日的学习.
// 这种事情称为循环,当然循环事件有可能会在某个特殊事件而打破
// 在C语言中,也会有专门来编写循环的循环语句。
/*
现在我想使用C语言实现这样一个循环事件:
程序员如果写够10行代码,那么就能成为一个行业大牛,迎娶白富美
那么我们现在每写一行代码,都要进行一次记录
如果代码量小于10,则要继续努力
如果代码量达到10,那么就能称为一个行业大牛,迎娶白富美
你愿意写代码就输入1,不愿意写代码了就输入0来放弃(异常跳出)
*/
#include<stdio.h>
int main()
{
int line = 1; // 定义一个整型变量line,用于记录代码行数,初始值为1
int choice = 0; // 定义一个整型变量choice,用于存储用户的选择,初始值为0
while (line < 10) // 使用while循环,只要line小于10就继续循环
{
printf("这是你写的第%d行代码:\n", line);
printf("输入你的选择:(1继续,0放弃)>");
scanf("%d", &choice); // 使用scanf函数读取用户输入的整数,并将其存储在变量choice中
if (choice == 1) // 如果用户选择1
{
printf("你还要继续努力\n");
}
else if (choice == 0) // 如果用户选择0
break; // 跳出循环,结束程序
else // 如果用户输入的既不是1也不是0
{
printf("输入错误,请输入1或0,请重新输入\n");
continue; // 跳过本次循环的剩余部分,直接进行下一次迭代
}
line += 1; // 代码行数加1
}
if (line == 10) // 如果line等于10,说明用户坚持到了最后
{
printf("这是你写的第%d行代码:\n", line);
printf("你成为了一个行业大牛,可以迎娶白富美\n");
}
else // 如果line不等于10,说明用户中途放弃了
{
printf("你中途放弃了,只能回家烤红薯\n");
}
return 0;
}
/*
循环语句实际上分为while语句、for语句、do while语句
在这里我们仅仅使用while语句做一个示例,其余的知识后面会做对应模块的详解
*/
以上是本篇笔记的内容,我们学习了字符串+转义字符+注释的剩余内容,并简单了解了选择语句和循环语句的使用,我们在第三模块的学习中更加深入的学习选择语句和循环语句,在接下来的笔记中,我们依旧会继续第二模块的学习。