字符串
由双引号引起来的一串字符就叫字符串,字符串也是通过下标来访问的,但是字符串的结束标志是\0,用代码来看。
int main()
{
char arr1[] = "fiee";
char arr2[] = {'f', 'i', 'e', 'e'};
char arr3[] = {'f', 'i', 'e', 'e', '\0'};
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%s\n", arr3);
return 0;
}
输出结果如下
第一行是正常输出fiee的,因为创建的时候,是以\0结束的,所以这里也能正常输出。第二行是自定义输入的字符,没有输入\0,所以输出的时候要去检索\0,因为\0是字符串的结束标志,只有检索到\0,才会认为字符串结束了。所以这里就是一直检索,直到找到\0,所以就有了烫烫烫烫这种随机值。第三行的输出和第二行的区别就是手动添加了\0,所以在检索的之后就找到\0了,所以输出的就是fiee.
转义字符
在C语言当中,有很多时候不能实现自己想要实现的功能,尤其是\和字母在一起,这是因为这样的两个结合起来就是一个转义字符。在C语言当中有很多转义字符。如下。
最常用的就是\n,表示换行操作。
补充一个八进制和十六进制,八进制表示出来之后,最大的值为7。
十六进制的表示为,1-9,a,b,c,d,e,f ,用a,b,c,d,e,f,来表示10-15
在屏幕上面打印一个单引号,打印一个字符串,字符串的内容是一个双引号。代码应该这样写。
int main()
{
printf("%c\n",'\'');
printf("%s\n","/"");
return 0;
}
这样就输出了单引号和双引号,用到转义字符。
下面来看两道笔试题
int main()
{
printf("%d\n",strlen("abcdef"));
return 0;
}
这里要说到strlen,strlen是一个函数,求字符串长度的函数,统计到\0,所以这里输出的是6,因为字符串的结束标志是\0,所以结果是6。
再来看第二道笔试题
int main()
{
printf("%d\n", strlen("c:\test\328\test.c"));
return 0;
}
这道题的结果是14,因为有转义字符,这里\t是转义字符,所以算一个字符,\32也是转义字符,表示八进制数字,所以也算一个字符,所以这样统计出来之后就是14个字符。
选择语句
选择语句顾名思义就是选择,就是如果XXX,就XXX。
来到CSDN你要好好学习吗?——好好学习->强大的能力。
来到CSDN你要好好学习吗?——不好好学习->菜鸡
用代码实现就是下面这个样子:
int main()
{
int efforts = 0;\
printf("是否好好学习,是,请输入1,否,请输入0\n");
int scanf("%d", &efforts);
if(efforts == 1)
{
printf("强大的能力\n");
}
else
{
printf("菜鸡\n");
}
return 0;
}
if 里面是判断条件,else是此外的意思,除了if之外的情况。
循环语句
循环语句一共有三种:
for循环
while循环
do while循环
while循环
while循环的判断条件就是括号里面是否为真,为真就继续循环,为假则跳出循环。
int main()
{
printf("来到CSDN\n");
int line = 0;
while(line<=40000)
{
line++;
printf("我要继续努力敲代码\n");
}
if(line>40000)
printf("我就是大佬\n");
return 0;
}
上面这个循环的判断条件就是line的值,每循环一次之后line加1;++就是+1的意思。在line加了40000次之后就跳出循环.。因为此时line变成了400001,while循环表达式判断为假,所以跳出循环。接着假如if判断,判断为真,输出“我就是大佬”。
for循环
for循环由三个表达式构成 for(表达式1;表达式1的变量的取值范围;表达式1 的变量的增减方式),用代码来表示:
int main()
{
int a = 0;
int i = 0;
for(i = 0;i < 10;i++)
{
printf("%d ",a);
a++;
}
return 0;
}
打印出的结果是 0,1,2,3,4,5,6,7,8,9。因为每次for循环之后,都会使i加1,当i等于10的时候,不满足for循环的判断条件i < 10 所以就跳出循环。这个就是简单的for循环。
do while循环
do while() 循环是不论怎么样,都会先执行一次,然后根据 while() 里面的判断条件,如果判断为真,就继续执行循环,如果为假,就停止循环。
int main()
{
int a = 1;
int i = 0;
do
{
printf("%d\n", a);
i++;
} while (i < 10);
return 0;
}
这里也是输出10个1,因为在循环十次之后,就跳出循环了,判断条件就是 i < 10 所以打印10个1。