Xcode-c语言初接触-分支结构

本文回顾了C语言的基础知识,包括boolean类型、分支语句(if、else、switch)、条件运算符和枚举类型。特别讨论了遍历0到100之间的数字,根据能被3和5整除的情况输出不同标记的难点问题,并介绍了插入排序的基本原理。
摘要由CSDN通过智能技术生成

   基础知识回顾

  要点1: boolean 类型

非0即为真

&&一假即为假

||一真即为真

要点2:分支语句 if(){} if(){}else{}

要点3:条件运算符 a > b ? a : b;

要点4:switch 语句,要加break.break作用是跳出switch语句,如果不加,当选择一个case 语句后,将不再做其他判断,直接执行下面的所有语句.

要点5:enum X{};枚举类型

难点知识:

要点1:据说面试淘汰85%的人..

问题:依序遍历0到100闭区间内所有的正整数,如果该数字能被3整除,则输出该数字及‘*’标记;如果该数字能被5整除,则输出该数字及‘#’标记;如果该数字既能被3整除又能被5整除,则输出该数字及‘*#’标记。

代码:   纯手打不需要环境

 #include <stdio.h>

int main(){

for(int i=0;i<101;i++){

   if(i%3==0&&i%5==0){

  printf("%d*#\n",i);

}else if(i%3==0){

printf("%d*\n",i);

}else if(i%5==0){

printf("%d#\n",i);

}

}

}

要点2:  关于排序问题:

插入排序和冒泡排序等问题

插入排序:

原理:一般来说,插入排序都采用in-place在 数组上实现。具体算法描述如下:
⒈ 从第一个元素开始,该元素可以认为已经被排序
⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描
⒊ 如果该元素(已排序)大于新元素,将该元素移到下一位置
⒋ 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
⒌ 将新元素插入到下一位置中
⒍ 重复步骤2~5
C代码:
voidinsert_sort( int *array,unsigned int n)
{
inti,j;
inttemp;
for (i=1;i<n;i++)
{
temp=*(array+i);
for (j=i;j>0&&*(array+j-1)>temp;j--)
{
*(array+j)=*(array+j-1);
}
*(array+j)=temp;
}
}
冒泡排序:
  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
c代码:
voidbubble_sort(inta[],intn) //n为数组a的元素个数
{
     inti,j,temp;
     for (j=0;j<n-1;j++)
         for (i=0;i<n-1-j;i++)
         {
             if (a[i]>a[i+1]) //数组元素大小按升序排列
             {
                 temp=a[i];
                 a[i]=a[i+1];
                 a[i+1]=temp;
             }
         }
}

学习的路上,与君共勉!

明天就可以看吸血鬼日记了...期待呀!




;

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值