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;
}
随机推荐
- 利用脚本获取mysql的tps,qps等状态信息
#!/bin/bash mysqladmin -uroot -p'123456' extended-status -i1|awk 'BEGIN{local_switch=0;print "Q ...
- JavaScript方法的调用
1.假如是有名字的函数 调用是用名字调用,并且会把返回值赋值给接受它的参数 代码: function f() { alert("我是f"); return '我是返回值'; } f ...
- [转][Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
转自:http://blog.csdn.net/qiujuer/article/details/39754517?utm_source=tuicool [Android][Android Studi ...
- LeetCode Number of Connected Components in an Undirected Graph
原题链接在这里:https://leetcode.com/problems/number-of-connected-components-in-an-undirected-graph/ 题目: Giv ...
- EF 之 MVC 排序,查询,分页 Sorting, Filtering, and Paging For MVC About EF
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 上篇博客我们学习了EF CodeFirst增删改查 ...
- Salesforce select字段的多少对性能影响巨大
Salesforce select字段的多少对性能影响巨大,第1个是select 144个字段,第2个是select 5个字段, 性能相差了7倍 "select Id,IsDeleted,M ...
- javascript的类、委托、事件
javascript中的类: javascript中的类 ); p2.show(); //注:Javascript中没有真正的方法重载 看起来很简单吧 ...
- 给jar包进行数字签名(2014-06-28记)
整理一下两年前用到的一些资料. 为了使Applet或者Java Web Start程序能够访问客户端本地资源,需要对Applet或者JWS程序jar包进行数据签名,当客户端打开Applet或者JWS程 ...
- php将抓取的图片链接下载到本地
备注: fclose这一步操作完成之后如果返回值是空表示下载成功,否则会返回1或者其他错误提示 这个步骤测试的时候实在yii2框架的基础上执行的,下载到的图片实在frontend目录下的web目录下( ...
- PHP中怎样创建一个空对象?
如果没有声明一个对象然后就对其属性赋值会出现警告.那么我们给它创建一个空对象然后赋值就好了.PHP中创建一个空对象代码如下: 第一种方式: $empty_object = new stdClass() ...