一.初识C语言(2)

文章介绍了C语言中的字符串概念,包括字符串字面值、字符串数组、结束标志及其在strlen函数中的应用。接着讨论了转义字符的用途,如换行、引号等,并提供了示例。最后提到了单行和多行注释的区别。此外,文中还简单提及了选择语句(scanf函数)和循环语句(while循环)以及自定义函数的概念。
摘要由CSDN通过智能技术生成

4.字符串+转义字符+注释

字符串

例:“abcdef”

这种由双引号引起来的一串字符称为字符串字面值,简称字符串。


#include <stdio.h>
int main()
{
"abc";//字符串
"hello world";//字符串
"";//字符串————空字符串
return 0;
}

-- -- -- -- -- -- -- -- -- --

可以将字符串放入数组中:


#include <stdio.h>
int main()
{
char arr1[]="abc";
//char(类型) arr1(数组名)[](元素个数,这个可以不写)="abc"(初始化一些元素进去。第一个元素a,第二个元素b,第三个元素c)
printf("%s\n",arr1);//%s在打印字符串时使用
return 0;
}

运行结果:abc

字符串的结束标志是'\0'。就拿上面的字符串"abc"来说,它的结尾不是c,而是在c后面的'\0',只是这个'\0'是隐藏的,在使用%s打印字符串,其实就是在找'\0'的过程,找到'\0'了就停止打印


#include <stdio.h>
int main()
{
char arr1[]="abc";
char arr2[]={'a','b','c'};//因为这里没有'\0',所以计算机就会向这个数组后面继续找'\0'同时打印一些随机值,直到找到'\0'终止打印
printf("%s\n",arr1);//打印abc
printf("%s\n",arr2);//打印abc后继续打印一些随机值
return 0;
}

运行结果:

abc

abc烫烫烫烫烫bc

我们来看一下'\0'在哪里


#include <stdio.h>
#include <string.h>
int main()
{
char arr1[]="abc";
char arr2[]={'a','b','c'};
printf("%d\n",strlen(arr1));//strlen————string length————计算字符串长度的函数,头文件是string.h
printf("%d\n",strlen(arr2));
return 0;
}

运行结果:

3

随机值,如42

3:这说明在"abc"的c后面就是'\0'

42:说明计算完"abc"的长度之后strlen又往数组后面访问了39个元素才找到'\0'

strlen()函数

-- -- -- -- -- -- -- -- -- -- -- -- -- -- --

转义字符

\\ :用于表示一个反斜杠,防止它被解释为一个转义序列符

\n :换行

\' :用于表示一个字符常量 '

\" :用于表示一个字符串内部的双引号

\r :回车

\t :水平制表符

\v :垂直制表符

\ddd :ddd表示1到3个八进制的数字。如:\130X

\xdd :dd表示2个十六进制的数字。如:\x30

-- -- -- -- -- -- -- -- -- --

简单使用一下:


#include <stdio.h>
int main()
{
printf("c:\\test\\32\\text.c");
printf("%s\n",'\'');
printf("%s\n","\"");
return 0;
}

运行结果:

c:\text\32\text.c

'

"

-- -- -- -- -- -- -- -- -- --

练习一下,口算"c:\text\32\text.c"这段字符串的长度是多少呢?


#include <stdio.h>
int main()
{
printf("%d\n",strlen("c:\text\32\text.c"));
return 0;
}

运行结果:13

  • \32是两个八进制的数字,且算一个字符;\t是一个字符(垂直制表符)

  • 计算长度时,计算的是这个32作为八进制代表的那个十进制数字,再作为ASCII码值对应的字符长度

-- -- -- -- -- -- -- -- -- -- -- -- -- -- --

注释

  • C语言风格的注释:/*......*/

缺陷:不能嵌套注释

  • C++风格的注释://

可以注释一行或者多行

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

5.选择语句

学习scanf()函数

scanf是格式化输入函数,你可以输入一个值,并把它存起来


#include <stdio.h>
int main()
{
//初识C语言部分简单演示,后面再详细介绍
int input = 0;
printf("开始学习C语言\n");
printf("你会一直坚持下去吗?(0/1):");
scanf("%d",&input);//直接记住scanf运用的格式,在后面的内容中有具体的介绍
//运行后可以输入一个值,并把它存到变量input中
//&这个是取地址符,&input就可以把input的地址取出来,将来你输入一个值就可以通过地址把输入的值给放进input中
if(input==1)//=这是赋值,==这个才是等于
  printf("好offer\n");
else
  printf("卖红薯\n");
//if,else就是选择语句,如果是...就...,否则就...
return 0;
}

运行结果:

输入1—>好offer

输入其他值—>卖红薯

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

6.循环语句

  • while语句

  • for语句

  • do...while语句

仅演示while循环


#include <stdio.h>
int main()
{
int line = 0;
printf("开始学习C语言\n");
while(line<20000)
  {
   printf("敲一行代码:%d\n",line);
   line++;
  }
if(line>20000)
  printf("好offer\n");
return 0;
}

运行结果:

敲一行代码:0

敲一行代码:1

敲一行代码:2

...

敲一行代码:19999

好offer

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

7.函数

自定义函数

顾名思义,自己定义的函数

自己实现一个加法函数:


#include <stdio.h>
int Add(int x,int y)//int表示调用完之后返回(return)一个整型。x,y用来接收传过来的num1,num2,num3,整型传过来,当然用整型来接收所以是int x,int y(abcd都可以,名字随便取,不一定是xy)
{
int z = x+y;//创建一个变量z来接受结果
return z;//返回结果,z的类型是整型,符合int Add中的int
}
int main()
{
int num1 = 10;
int num2 = 20;
int num3 = 30;
int sum1 = 0;
int sum2 = 0;
int a = 0;
int b = 0;
sum1 = Add(num1,num2);//()中的是参数,这里将num1,num2两个参数传过去
sum2 = Add(num1,num3);//10+30
printf("sum=%d\n",sum1);//%d前面写sum=在打印时就会打印出来,%d的位置就会变成sum中的结果
printf("sum=%d\n",sum2);
return 0;
}

运行结果:

sum=30

sum=40

-- -- -- -- -- -- -- -- -- --

库函数

如printf,scanf,strlen等C语言自身提供的函数,使用时需要引头文件。

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

附:

①arr1是数组的名字,这里数组名是首元素地址,以%s输出时就是拿着首元素地址向后去找'\0'的。在strlen函数中也是,数组名是首元素地址,向strlen函数(求字符串长度的函数)传参时就是把首元素地址传过去,strlen(arr1)即拿着首元素地址向后一边数有几个字符一边找'\0',以此来计算长度,且'\0'不计入长度之中

②随机值

③arr2中字符的长度

④strlen()函数的具体内容

strlen()函数的百度百科链接

⑤scanf()函数的具体内容

在使用scanf函数时,vs的编译器会说这是一个不安全的函数,会提供给你一个安全函数:scanf_s函数,这是vs提供的输入函数,所以在其他编译器上是用不了的。如果不想理会这个报错,你就仍然想使用scanf函数那需要在开头第一行加这么一句话 #define _CRT_SECURE_NO_WARNINGS

scanf()函数的百度百科链接

⑥运行结果

输入1

输入其他值,如0

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

世长老

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值