iOS学习(C语言)知识点整理笔记

一、分支结构

1、分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ }  两种

2、单分支 if表达式成立则执行{ }里的语句;双分支 if表达式不成立 则执行else{ }里面的语句

3、字符串的输出系统会从数组地址一直打印到字符 ‘\0’为止,如果没有正确初始化,可能会打印出数组外的信息

4、如果分支结构里面只有一条执行语句可省略外面的大括号{} .

二、开关语句

1、语句结构 :switch (参数) case 常量:  执行语句;break;default: 执行语句;break; case 后面必须是常量且不能重复

2、无特殊情况每个case后面必须加上break 不然会造成 case穿透 执行

3、default 一般建议保留 用于处理所有case不满足的条件

三、循环结构

1、循环:即在满足表达式条件的时候反复执行语句组 ;循环必须有退出条件否则就是死循环。

2、循环类型:for( 初始化语句1; 条件判断语句2; 语句3){ 执行语句} ;while(条件语句){执行语句};do{ 执行语句}while(条件语句);

3、循环体中 continue 表示跳过当前条件内容执行下次循环  break表示结束整个循环

4、do while 第一次循环的时候,先执行语句后做判断,至少执行一次。

5、while 与 do while 在循环之前必须先初始化 ,for 循环自身已经包含初始化语句。

四、goto  跳转语句

1、goto 表示无条件跳转到一个标签,尽量避免使用 ,缺点:使代码目录不清晰,破坏层次感

2、goto  实例代码:

//使用goto语句 实现1~100求和
1 int main(){
int sum = ;
int i = ;
ADD:
sum +=i;
i++;
if(i<=){
goto ADD;//跳到标签号所在行,往下执行
}
printf("sum=%d\n",sum);
return ;
}

五、循环练习题

1、计算当前输入字符中数字、大/小字母、其他字符 个数

实现代码:

 int main(){
int sz=,xz=,dz=,qt=;
char ch;
while ((ch=getchar())!='\n') {
if(ch>=''&&ch<='')
sz++;
else if(ch>='a'&&ch<='z')
xz++;
else if (ch>='A'&&ch<='Z')
dz++;
else
qt++;
}
printf("共输入了%d个数字字符\n",sz);
printf("共输入了%d个小写字母字符\n",xz);
printf("共输入了%d个大写字母字符\n",dz);
printf("共输入了%d个其他字符\n",dz);
return ;
}

2、输出九九乘法表

1x1=1,

2x1=2,2x2=4

3x1=3,3x2=6,3x3=9

4x .....

实现代码:

  int main(){
for (int i=; i<=; i++) {
for (int j=; j<=i; j++) {
printf("%dx%d=%d\t\t",i,j,i*j);
}
printf("\n");
}
return ;
}

3、输出1~100的所有质数 (质数:即除1以外只能被1和它本身整除的数)

实现代码:

 int main(){
for (int i=; i<=; i++) {
for (int j=; j<=i; j++) {
if(j==)
continue;
if(i%j==)
{
if(i!=j)
{
//printf("%d不是质数\n",i);
break;
}
else
{
printf("%d是质数\n",i);
break;
}
}
}
}
return ;
}

4、一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10 次落地时,共经过多少米

实现代码:

   int  main(){
float hight=,num=,sumh=;
for (int i=; i<=num; i++) {
sumh+=hight;
hight/=;
printf("第%d次回落(%.1f)米\n",i,hight);
}
printf("总共经过(%.1f)米",sumh);
return ;
}

5、使用辗转相除求两个数的最大公约数

实现代码:

   int main(){
//(28,35)=(35,28)=(28,7)=0
int m,n,temp,rst;
printf("请输入两个数字:\n");
scanf("%d %d",&m,&n);
while(m%n!=){
if(m%n==m)
{
temp=m;
m=n;
n=temp;
rst=m%n;
printf("m=%d,n=%d\n",m,n);
}else {
rst=m%n;
m=n;
n=rst;
printf("m=%d,n=%d\n",m,n);
}
}
printf("%d",n);
return ;
}

6、将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

实现代码:

 int main(){
int v;
scanf("%d",&v);
printf("%d=",v);
for (int i=; i<=v; i++) {
while (v%i==) {
if(i<v)
printf("%d*",i);
else
printf("%d",i);
v/=i;
}
}
return ;
}

7、流程控制(for求阶乘的和 )输入n(int类型),打印1!+2!+3!+4!+5!+....+n!的值

实现代码:

  int main(){
//例如 5的阶乘和=1*1 +2*2 +3*3*3+ 4*4*4*4 +5*5*5*5*5
int n,temp=,sum=;
scanf(“%d”,&n);
for (int i=; i<=n; i++) {
temp=;
for (int j=; j<=i; j++) {
temp*=i;
}
sum+=temp;
}
printf("sum=%d",sum);
return ;
}

8、整数逆序输出, 例如输入一个整数12345,输出54321

实现代码:

 int main(){
int a;
scanf("%d",&a);
while(a/!=){
printf("%d ",a%);
a/=;
}
printf("%d ",a%);
return ;
}

9、流程控制(for循环)输出字母三角形 输入一个大写字母,如F输出:

A

ABA

ABCBA

ABCDCBA

ABCDEDCBA

ABCDEFEDCBA

实现代码 :

 int main(){
char ch='A';
for (int i=; i<='F'-ch; i++) {
for (int n='F'-ch-i; n>; n--) {
printf(" ");
}
for (int j=; j<=i; j++) {
printf("%c",ch+j);
}
for (int m=i;m> ;m-- ) {
printf("%c",ch+m-);
}
printf("\n");
}
return ;
}

10、流程控制(for循环),输出字母序列比如输入:F

输出:

FEDCBA

EDCBAB

DCBABC

CBABCD

BABCDE

ABCDEF

实现代码:

 int main(){
char sh,nsh,bsh;
printf("请输入一个字符:");
scanf("%c",&sh);
bsh=sh;
int len=sh-'A';
for (int i=; i<=len; i++) {
sh=bsh-i;
//nsh=bsh-len+1;
for (int j=; j<=i; j++) {
printf(" ");
}
for (int n=i; n<=len; n++) {
printf("%c", sh--);
}
nsh=sh+;
for (int m=; m<i; m++) {
printf("%c", nsh++);
}
printf("\n");
}
return ;
}

11、 输入一个日期年月日, 计算这一天是一年中的第几天(考虑闰年)

实现代码:

 int main(){
int year,month,day,total=;
scanf("%d%d%d",&year,&month,&day);
if (year<=)
printf("请输入正确年份。");
for (int i=; i<month; i++) {
switch (i) {
case :
case :
case :
case :
case :
case :
case :
total+=;
break;
case :
case :
case :
case :
total+=;
break;
case :
if ((!(year%)&&year%)||!(year%))
total+=;
else
total+=;
break;
}
}
total+=day;
printf("%d年的第%d天",year,total);
return ;
}

12、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

实现代码:

 int main(){
//分析: 第十天 1 第九天:4 第八天:10 第七天:22
int sum=,i,index=;
for(i=;i<=;i++)
{
printf("第%d天有桃%d个\n",index,sum);
sum=(sum+)*;
index--;
}
printf("猴子共摘了%d个桃子。\n",sum);
return ;
}

iOS阶段学习第四天笔记(循环)的更多相关文章

  1. iOS 阶段学习第四天笔记(循环)

    iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ }  两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...

  2. iOS阶段学习第33天笔记(自定义标签栏(UITabBar)介绍)

    iOS学习(UI)知识点整理 一.自定义标签栏 1.方法一 单个创建标签栏 #import "AppDelegate.h" #import "SecondViewCont ...

  3. iOS阶段学习第三天笔记(运算符)

    iOS学习(C语言)知识点整理笔记 1.运算符 一.算术运算符 1)表达式由变量.常量.运算符构成,有确定的类型和值 2)算术运算符包括: +(加),-(减),*(乘),/(除),%(模) 3)算术运 ...

  4. iOS 阶段学习第三天笔记(运算符)

    iOS学习(C语言)知识点整理笔记 1.运算符 一.算术运算符 1)表达式由变量.常量.运算符构成,有确定的类型和值 2)算术运算符包括: +(加),-(减),*(乘),/(除),%(模) 3)算术运 ...

  5. iOS阶段学习第32天笔记(页面传值方法介绍)

    iOS学习(UI)知识点整理 一.界面传值方法 1.方法一  Block传值  通过SubView视图的Block向View视图传值改变View视图的背景色 实例代码: 1)SubViewContro ...

  6. iOS阶段学习第26天笔记(UILabel的介绍)

    iOS学习(UI)知识点整理 一.关于UILabel的使用介绍 1)概念:UILabel是一个继承自UIView的用于展示文本信息的控件 2)UI中所有的控件都继承自UIView 即UIView 是U ...

  7. iOS阶段学习第20天笔记(MRC内存管理)

    iOS学习(OC语言)知识点整理 一.OC中的内存管理 1)概念:内存管理的对象为所有继承了NSObject的对象,对基本数据(如:int .float.double...)无效      OC中采用 ...

  8. iOS阶段学习第17天笔记(NSFileManager-NSFileHandle-文件操作)

    iOS学习(OC语言)知识点整理 一.单例模式 1)单例是一种编程思想,一个设计模式,与语言无关在采用了单例对象的应用程序中,需要单例类自行提供实例化单例对象, 不管实例化单例对象多少次,只有一个对象 ...

  9. iOS阶段学习第16天笔记(Category-NSSet-SEL-NSIndexSet 操作)

    iOS学习(OC语言)知识点整理 一.NSSet.NSMutableSet集合的介绍 1)NSSet.NSMutableSet集合,元素是无序的,不能有重复的值. 2)用实例方法创建一个不可变集合对象 ...

随机推荐

  1. Java程序员的日常——存储过程知识普及

    存储过程是保存可以接受或返回用户提供参数的SQL语句集合.在日常的使用中,经常会遇到复杂的业务逻辑和对数据库的操作,使用存储过程可以进行封装.可以在数据库中定义子程序,然后把子程序存储在数据库服务器, ...

  2. CI Weekly #2 | 如何优化开发流程,实现项目持续集成?

    原文首发于 flow.ci Blog >> 链接,转载请联系:) CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试 ...

  3. Android笔记——Android五大布局

    一.五大布局 Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是Li ...

  4. java 中获取2个时间段中所包含的周数(股票的周数->从周六到周五)

    Calendar 类中是以周日为开始的第一天的,所以Calendar.DAY_OF_WEEK为1的时候是周日. 在股票中有日K 周K和月K的数据.  在此之中的周K是指交易日中一周的数据,周六到周五为 ...

  5. Form的enctype="multipart/form-data"作用

    <form class="form-horizontal" role="form" method="post" action=&quo ...

  6. jS事件之网站常用效果汇总

    下拉菜单 <!--简单的设置了样式,方便起见,将style和script写到同一个文档,着重练习事件基础--> <!DOCTYPE html> <html> < ...

  7. bower一个强大的前端依赖包管理工具

    在介绍之前,你必须的知道bower是基于nodejs开发的,所以你首先必须得有个nodejs环境,至于这么安装nodejs网上一大堆教程,对了使用bower还需要安装git,这里就不多说了. #### ...

  8. @import导入外部样式表与link链入外部样式表的区别

    昨天碰到同事问了一个问题,@impor导入外部样式与link链入外部样式的优先级是怎样的,为什么实验的结果是按照样式表导入后的位置来决定优先级. 今天就这个问题,度娘上找了很久,终于有个总结性的答案出 ...

  9. CSS背景100%平铺 浏览器缩小背景显示不全解决办法

    本文我们分享前端CSS背景100%平铺,浏览器缩小背景显示不全bug解决的两个方法,如果你也遇到了,那么就可以参考下面文章. 把浏览器的窗口缩小时,拖动滚动条时你会发现原本设定的CSS背景100%平铺 ...

  10. 使用AssetsLibrary.Framework创建多图片选择控制器(翻译)

    系统的UIImagePickerController只能让用户选择单图片,而一般情况下,我们需要上传多张图片,这时应该可以同时选择多张图片,否则用户体验会很差.因此多图片选择器就诞生了. 在类库中,苹 ...