day 2
三目运算符
A?B:C
等价于
if(A)
B;
else
C;
实例:
int i;
i=(3>2?5:1) //如果3》2为真,i的值为5,否则为1
printf(“%d”,i);
逗号表达式
格式
(A,B,C,D)
功能: 从左到右执行
最终表达式的值是最后一项的值
实例:
#include <stdio.h>
int main(void)
{
int i;
int j=2;
i=(j++,++j,j+2,j-3);
printf("%d\n",i);
return 0;
}
结果为1。
while循环
1.执行顺序
格式: while(表达式)
语句;
2.与for的相互比较
for和while可以相互转换,但for的逻辑性更强,更不容易出错
for(1;2;3)
A;
等价于
1;
while(2)
{
A;
3;
}
//for 与 while的转换
#include <stdio.h>
int main(void)
{
int sum=0;
int i;
/*for(i=1;i<101;i++)
sum=sum+i;
*/
i=1;
while (i<101)
{
sum=sum + i;//语句一
i++; //语句二 语句一与语句二顺序不可以调转
}
printf("%d\n",sum);
return 0;
}
3.实例
从键盘输入一个数字,如果该数字是回文数,返回yes,否则返回no。
回文数:正着写和倒着写都一样 比如:121
#include <stdio.h>
int main(void)
{
int i;
int m;
int sum=0;
printf("请输入您要判断的数字:");
scanf("%d",&i);
m=i;
while(m)
{
sum= sum *10+m%10;
m/=10;//等价于m=m/10
}
if(sum ==i)
printf("yes\n");
else
printf("no!\n");
return 0;
}
//斐波拉契数列 1 2 3 5 8 13 21 34
#include <stdio.h>
int main(void)
{
int n;
int f1,f2,f3;
int i;
f1=1;
f2=2;
printf("请输入您要输入的序列:");
scanf("%d",&n);
if (1==n)
{
f3=1;
}
else if(2==n)
{
f3=2;
}
else
{
for (i=3; i<=n;i++)
{
f3=f1+f2;
f1=f2;
f2=f3;
}
}
printf("%d\n",f3);
return 0;
}
do... while:主要用于人机交互
格式:do
{
...
} while(表达式);
do ...while..并不等价于for,也不等价于while
代码整理格式:全选(ctrl+a)---》alt+f8
//斐波拉契数列 1 2 3 5 8 13 21 34
#include <stdio.h>
int main(void)
{
int n;
int f1,f2,f3;
char ch;
int i;
f1=1;
f2=2;
do
{
printf("请输入您要输入的序列:");
scanf("%d",&n);
if (1==n)
{
f3=1;
}
else if(2==n)
{
f3=2;
}
else
{
for (i=3; i<=n;i++)
{
f3=f1+f2;
f1=f2;
f2=f3;
}
printf("%d\n",f3);
}
printf("您想继续吗(y/n):");
scanf(" %c", &ch); //%c前面要加一个空格(空白符的问题)
}//while (1);
while ('y'==ch || 'Y'==ch);
return 0;
}
随机推荐
- json.parse 与 json.stringfy
转自 :http://blog.csdn.net/wangxiaohu__/article/details/7254598 parse用于从一个字符串中解析出json对象,如 var str = '{ ...
- 《UML大战需求分析》阅读笔记01
在刚学习软件开发的课程时,首先学习了UML设计,但只是学习了基本的语法,虽然在学期通过课堂练习进行了实践,但并没有真正理解其中作用.为了进一步的理解UML的用法,我阅读了<UML大战需求分析&g ...
- [troubleshoot][archlinux][X] GPU HANG
前言:如下内容已经是在hang完大概半个多月后了,当时想写,一直没过来写,写blog果然也是已经花费时间的事情. 最近一直在休假,电脑的使用频率也不多.后来还是为了生活,不情愿的去开始上班了,上班的第 ...
- [转]第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV
仅供参考,还未运行程序,理解部分有误,请参考英文原版. 绿色部分非文章内容,是个人理解. 转载请注明:http://blog.csdn.net/raby_gyl/article/details/174 ...
- Android 第三方开源下拉框:NiceSpinner
Android原生的下拉框Spinner基本上可以满足Android开发对于下拉选项的设计需求,但现在越来越流行的下拉框不满足于Android原生提供的下拉框Spinner所提供的设计样式,而改用自定 ...
- 到底为什么你的APP项目烂尾了?
你正在经历迷茫.纠结,或者愤怒.痛苦的情绪,因为,你的APP项目已经或将要烂尾了. 目前的状况只有3种: 项目一直拖到现在,并且很可能继续拖下去 项目在开发期间不断上涨成本 项目完成,BUG多多,不能 ...
- Java中Native关键字的作用
初次遇见 native是在 java.lang.Object 源码中的一个hashCode方法: 1 public native int hashCode(); 为什么有个native呢?这是我所要学 ...
- docker入门的文章
PART 1: OVERVIEW OF MICROSERVICE ARCHITECTURE & CONTAINERIZATION PART II: GETTING SET-UP AND STA ...
- 获取QQ企业邮箱通讯录PY脚本
': root_department = department regexp = r'{uin:"(\S*?)",pid:"(\S*?)& ...
- TextToSpeech之阅读文字
创建阅读类 /** * Created by RongGuang on 2014-11-21. * 中文朗读 */ public class ChineseToSpeech { private Tex ...