嗨大家好,我是一名广东某大学的大二在校生,目前在利用课余时间自学C语言,如果你对C语言感兴趣,可以一起交流讨论,欢迎私信或评论。
接下来继续写一些基础的内容,太简单的就略过不写了。
1.选择语句
顾名思义就是就是选择,可以完成如下流程图
将上面的的流程图用代码来表示就是这样的
#include <stdio.h>
#define _CRT_SECURE_NO_WARNINGS//要先写这行,下面的scanf函数才不会报错
int main()
{
int a = 10;//先建一个变量a
printf("你会好好学习吗?(选择1 or 0):>");
scanf_s("%d", &a);//由键盘键入给a赋值
if (a == 1)//这里没有;
{
printf("坚持,你能考上大学\n");
}
else//若a的值不为1,则执行这段指令
{
printf("放弃,进厂打工\n");
}
return 0;
}
2.循环语句
C语言中实现循环有三种方式:
- while语句-讲解
- for语句(后期讲)
- do … while语句(后期讲)
现在用while语句来演示一下,求10的阶乘
#include <stdio.h>
int main()
{
int n = 1;//先设置一个变量n,之后这个n每乘一次都会加1,直到变为10
int sum = 1;//设置一个变量来放乘完后的数
while (n < 11)//n能够进入循环的值为1-10
{
sum=n*sum;//n与sum即上一次相乘后的结果相乘,赋值给sum,
n = n+1;//乘完一次后n加1进入下一次循环
printf("sum = %d\n", sum);
}
printf("10的阶乘为%d\n", sum);//输出最后结果
return 0;
}
3.函数
可以把一个需要多次使用的过程写成函数,这样使用的时候就可以直接调用函数而不用再重复写过程了。
下面演示一个两个数相加的函数。
int Add(int x, int y)
{
int z = x + y;
return z;
}
这个函数要写在main函数外面,写在里面的话函数里的x,y会识别不了,不能定义成参数。
在这个函数中,int
表示函数返回的类型,这里是返回一个整数,Add
是函数名,自己给函数起的名字,(int x,int y)
括号内的是参数,int表示参数类型是整数,{}
大括号内部的是函数体,return z
是返回值,这里表示返回z的值,也就是说函数运行完的结果是z。
4.数组
#include <stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
// 0,1,2,3,4,5,6,7,8,9每个数组的元素都有下标
//且从零开始
printf("%d\n",arr[5]);//用下标的形式访问元素
return 0;
}
int
表示数组的类型,arr
是数组的名字,[]
内的是元素个数,{}
内的是元素,用,
隔开,这个也可以不写,
char ch[10];
这样也是一个数组,这是一个字符串类型的元素个数为10的数组,名为ch
。
arr[5]
表示的是arr这个数组中下标为5的那个元素,用下标的形式访问元素时要注意下标是从0开始的。
5.操作符
选几个以后有可能会用到的讲讲
①算术操作符
+加 -减 *乘 /除 %取模
注意除/
的运算结果是只取整数,小数部分全部舍弃
%
取模是求两个整数相除的余数
②赋值操作符
= += -= *= /=
后面4个的操作符意思是等式后面的数运算到前面的数上再重新赋值给它,例如
int a = 1;
a += 1;
原本a=1,经过运算后a=2,相当于a=a+1.
6.结构体
结构体struck
可以用来描述一个事物的多个特征,如,书籍包含书名,作者,出版社
这几项信息,用C语言来描述如下:
struct Book
{
char name[20]; //书名
char author[20]; //作者
char publishing[20];//出版社
int price; //价格
};
然后再在这个结构体当中填入信息
struct Book a = {"Harry potter", “J.K. Rowling”, "英国出版社",15};
当要访问这个结构体当中的信息的时候,用结构体名.信息名
来访问
printf("name = %s author = %s publishing = %s price = %d\n", a.name, a.author, a.publishing,a.price);
如果设定好信息后想修改信息,整数型的可以直接修改,a.price = 20
字符串类型的数组得写strcpy(a.name,"Harry potter 1")
.
小结
这一次的内容比上一次的稍微难一点了,再加上距离学习的时间已经过去挺久的了,很多知识都有点记不清,下次可以试着边学边记,看看这样会不会好一点。
现在我又学会了markdown基本语法了,这样就能更优雅的写博客了,真的好棒啊这种编辑文字的方式,这对于一个喜欢在电脑上写东西的人真的太友好了!