Hello,大家好。在初识C语言一中,我写了关于c语言的一些基础知识,第二期让我们继续了解一些关于C语言的基础知识吧。
一、循环语句
循环语句顾名思义,和高中数学所学的流程图有异曲同工之处。在C语言中,实现循环的方式有很多,例如while语句,for语句以及do...while语句。通常情况下for循环是我们使用的最多的循环语句。我们可以通过一个代码直观的感受到循环语句的使用方法和应用场景。
1、while循环
#include<stdio.h>
int main()
{
printf("考上大学\n");
int line = 0;
while (line <= 2000)
{
line++;
printf("继续努力写代码\n");
}
if (line > 2000)
{
printf("成功\n");
}
return 0;
}
这里同时用了while循环和if语句,很轻松的就实现了一个简单的循环语句。
2、for循环
int main()
{
printf("考上大学\n");
int line = 0;
for (line = 0; line < 2000; line++)
{
printf("继续努力写代码\n");
}
if (line>=2000)
{
printf("成功\n");
}
return 0;
}
3、do while循环和while循环的应用场景相差无几,这里就不过多赘述。
二、函数
函数的特点就是简化代码,代码复用。
例如我们写一个两数相加的加法,如果不用函数我们的写法是:
int main()
{
int a = 10,b = 20;
int sum = 0;
sum = a + b;
printf("%d\n", sum);
return 0;
}
这样写的坏处就是我们每做一次加法就得输入一次变量,而函数就可以帮我们把代码简化,我们以后每次做加法就只用将他们套入函数中去就可以了。
int Add(int x, int y)
{
return x + y;
}
int main()
{
int a = 10;
int b = 20;
int sum = 0;
sum = Add(a, b);
printf("%d\n",sum);
return 0;
}
这样做的好处就是可以让我们更高效的书写代码,同时也提升了代码的性能。
三、数组
1、数组的定义:一组相同类型元素的集合
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };//定义一个整形数组,最多放十个元素。
2、数组的下标
C语言规定数组的每一个元素都有一个下标,下标是从零开始的。数组可以通过下标来访问。
例如:
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };//定义一个整形数组,最多放十个元素。
//下标 0,1,2,3,4,5,6,7,8,9
3、数组的使用
我们来打印一个十个元素的数组:
int main()
{
int i = 0;
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
for (i = 0; i < 10; i++)
{
printf("%d\n", arr[i]);
}
return 0;
}
i是数组的下标,下标从零开始,我们可以通过下标来访问数组。
三、操作符
1、算术操作符
+ - * /(两端都是整数则执行整数除法,至少有一个浮点数才能执行浮点数除法) %(取模,操作符两端的操作数只能都为整数)
2、移位操作符
>>(左移) <<(右移)
3、位操作符
&(按位与) ^(按位或) |(按位异或)
4、赋值操作符
= += -= *= /= ^= &= |= >>= <<=
5、单目操作符
!逻辑反操作(C语言中0为假,非0为真。!的作用就是变假为真,或者变真为假) - 负值 +正值 &取地址 sizeof操作数的类型长度(以字节为单位) ~对一个数的二进制按位取反 -- 前置、后置-- ++前置、后置++ *间接访问操作符(解引用操作符) (类型)强制类型转换
6、关系操作符
> >= < <= != 用于测试“不相等” == 用于测试“相等”
7、逻辑操作符
&& 逻辑与 || 逻辑或
8、条件操作符
exp1 ? exp2 : exp3
9、逗号表达式
exp1, exp2, exp3, …expN
10、下标引用、函数调用和结构成员
[ ] 下标引用操作符 操作数:一个数组名 + 一个索引值
( ) 函数调用操作符 接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
. 访问一个结构的成员
. 结构体.成员名 -> 结构体指针->成员名
四、常见关键字
关键字都是C语言内部预设的,用户是不能创造关键字的。
常见关键字有很多,我会在下一期C语言学习中详细的讲一下typedef关键字和static关键字以及#define定义的常量和宏。这里由于篇幅问题无法详细描述这几个关键字。