「这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战」。
main()
{
int n[5] = {0,0,0},i,k = 2;
for(i = 0; i < k; i++) n[i] = n[i] + 1;
printf(“%d\n”,n[k]);
}
答案为零
得到死循环
Int main()
{int i=0;
while(i<10)
{ if(i<1) continue;
//continue 跳过本次循环执行下一循环;
if(i==5)break;
i++;
}
}
C语言中的模运算:E%s s 除数 E被除数
for循环的一般形式如下:
for(表达式1; 表达式2; 表达式3) 循环体
for循环的执行过程如下:
1、计算表达式1;
2、计算表达式2。若其值为非0,转步骤3;若其值为0,转步骤5;
3、执行一次for循环体;
4、计算表达式3,转向步骤2;
5、结束循环。
for循环引起无限循环的条件
for(i=0;i<=10;i++) { ; }
1.省略i<=10,可引起无限循环
2.省略i++,可引起无限循环
3.圆括号()内三个表达式都省略,可引起无限循环
关于while(条件表达式)循环体”,
1.条件表达式的执行次数总是比循环体的执行次数多一次;
2,先判断条件是否成立,条件成立执行循环体 否则不执行。
关于do 循环体 while (条件表达式);
1,先执行循环体在判断条件,条件成立执行循环体 否则不执行。
2,条件表达式的执行次数与循环体的执行次数一样
3,do-while语句的循环体至少执行一次
while((ch=getchar())!=’N’) printf(“%c “,ch);
循环中的条件为当读入的字母不为N时,则执行循环体,当读入N时结束。
题目:
设有n个数按从大到小的顺序存放在数组x中,以下能使这n个数在x数组中的顺序变为从小到大的是
解析:
若想按照从小到大的顺序存放,只要把对称位置上的数值互换即可,i对称的位置是n-i-1,比较的次数是n/2。
Int t =0;
For(int I =0 ; i<n/2 ;i++){
t=X[i];
X[i]=x[n-i-1];
X[n-i-1]=t;
}
//计算m和n的最大公约数
int main()
{ int m,n;
scanf(“%d%d”,&m,&n);
while(m!=n)
{ while(m>n){ m=m-n;}
while(n>m){ n=n-m;}
}
printf(“%d\n”,m);
}
1.对于长度为n的线性表,在最坏情况下 需排序最坏的情况下需要比较多少次
冒泡排序需要经过n/2遍的从前往后扫描和n/2遍的从后往前扫描,需要比较次数为n(n-1)/2
快速排序法的最坏情况比较次数也是n(n-1)/2。
二分法
二分法查找只适用于顺序存储的有序表。
如果采用链式存储结构,也只能用顺序查找,
有序表
有序表是指线性表中的元素按值非递减排列(即从小到大,但允许相邻元素值相等)。
数据的逻辑结构
分为:线性结构与非线性结构
一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等存储结构。而采用不同的存储结构,其数据处理的效率是不同的
数据的存储结构为
顺序和链式是数据的存储结构
线性结构与非线性结构
线性结构的定义:① 有且只有一个根结点;② 每个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构,又称线性表
所以线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。
双链表 和 二叉树链表
双链表和二叉链表的结点都有两个指针域,前者是线性结构,后者是非线性结构。
只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构
今天的文章C语言循环与数据结构二叉树(部分)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/16146.html