2019年11月25日

  • return用法:

(1)没有返回值的函数为空类型,用void表示;
(2)return语句可以有多个,可以出现在函数体的任意位置,但是每次调用函数只能有一个return语句被执行,所以只有一个返回值;
(3)函数一旦遇到return语句就立即返回,后面的所有语句都不会被执行到了。return语句还有强制结束函数体的作用。

  • break用法:

(1)循环中的break语句导致程序终止包含它的循环,并进行程序的下一阶段。翻译过来就是,取消循环,进入之后的代码块!!!!循环体结束!
(2)多重选择中常用switch和break组合

  • continue用法

(1)导致循环体剩下的部分被忽略,重新开始新的循环迭代!!!

  • 文字描述如何转化为C语言代码的问题:

例一:追加结点
(1)数据准备
文字描述:链表的程序设计。首先准备数据,也就是准备在链表操作中需要用到的变量及数据结构。因此要定义链表数据元素的类型Data及链表的数据结构CLType。节点的数据保存在一个结构体Data中,而指针nextNode用来指向下一个节点。

typedef struct
{
	char key[10];//关键字
	char name[20];
	int age;
}Data;
typedef struct Node
{
	Data nodeData;
	struct Node * nextNode;
}CLType;

注意以上代码与文字的对应关系。
(2)追加结点
1、首先分配内存空间,保存新增的节点。
2、从头指针head开始逐个检查,直到找到最后一个结点(尾结点)。
3、将表尾结点的地址设置为新增结点的地址。
4、将新增结点的地址部分设置为空地址NULL,即新增结点成为表尾。

CLType *CLAddEnd(CLType *head, Data nodeData)//追加结点
{
	 CLType *node, *htemp;
	 if (!(node = (CLType*)malloc(sizeof(CLType))))
	 {
		  printf("申请内存失败!\n");
		  return NULL;//分配内存失败
	 }
	 else
	 {
		  node->nodeData = nodeData;//保存数据
		  node->nextNode = NULL;//设置结点指针为空,即为表尾
		  if (head == NULL)//头指针
		  {
			   head = node;
			   return head;
		  }
		  htemp = head;
		  while (htemp->nextNode!=NULL)//查找链表的末尾
		  {
			   htemp = htemp->nextNode;
		  }
		  htemp->nextNode = node;
		  return head;
	 }
}

其中node作为保存数据,转换为结点,的中继;htemp作为查找链表的工具.
因此,将算法步骤准确翻译成代码是有理有据,有规律可循的!!!!
例二:插入头节点
在链表首部添加结点。
(1)首先分配内存空间,保存新增的结点
(2)使新增结点指向头指针head所指向的结点
(3)然后使头指针head指向新增结点

CLType *CLAddFirst(CLType *head,Data nodeData)
{
	 CLType *node;
	 if (!(node = (CLType*)malloc(sizeof(CLType))))
	 {
		  printf("申请内存失败!\n");
		  return NULL;//分配内存失败
	 }
	 else
	 {
		  node->nodeData = nodeData;//保存数据
		  node->nextNode = head;//指向头指针所指结点
		  head = node;//头指针指向新增结点
		  return head;
	 }
}
  • 若要得到100以内的随机数,用rand()%100就可以轻松获得。这里%是取余符号。

(1)x=(rand()%50)2;//输出100以内的偶数
第一步得到50以内的整数,第二步将第一步中得到的整数乘以2,得到一个100以内的偶数。
(2)输出一个随机数
x=rand();
(3)输出一个100以内的随机数
x=rand()%100;
(4)以20%概率输出一个10以内的偶数(否则输出10以内的奇数)
x=rand()%5;(0、1、2、3、4)
if(x==0)
x=2
(rand()%5);(0、1、2、3、4)->(0、2、4、6、8)
else
x=1+2*(rand()%5);(0、、2、3、4)->(1、3、5、7、9)
并没超过10!!!左闭右开区间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值