#include<stdio.h>
int main(void)
{
long num;
long sum = 0L;
int status;

printf("Please enter an integer to be summed: ");
printf("(q to quit)");

while((status = scanf("%ld",&num)) == 1) //==运算符的优先级比=要高
{
sum = sum +num;
printf("Please enter next integer(q to quit):");
}

printf("Those integer sum to %ld.\n",sum);
return 0;

}

--浮点数的比较
/*
浮点数比较中只能使用大于和小于号。原因在于舍入误差可能造成两个逻辑上应该相等的数不相等了。
例如:3和1/3的乘积应该是1.0,但是您用6位小数表示1/3,乘积就是.999999而不是1

*/

#include<math.h>
#include<stdio.h>
int main(void)
{
const double ANSWER = 3.14159;
double response;
printf("What is the value of PI?\n");
scanf("%lf",&response);
while(fabs(response - ANSWER) > 0.0001)
{
printf("Try again!\n");
scanf("%lf",&response);
}
printf("Close enough!\n");
return 0;
}

//真表达式的值为1,而假表达式的值为0

#include<stdio.h>
int main(void)
{
int n = 3;

while(n)
printf("%2d is true\n",n--);
printf("%2d is false\n",n);

n = -3;
while(n)
printf("%d is true\n",n++);
printf("%2d is false\n",n);
return 0;
}

/*
C中_Bool类型在C99中提供了一个stdbool.h的头文件,可以使用bool来代替_Bool,并把true和false定义为1和0的符号常量,
包含这个头文件可以写出与c++兼容的代码,因为c++把bool、true、false定义为关键字
*/

//字符代替数字来计数
#include<stdio.h>
int main(void)
{
char ch;

for(ch = 'a'; ch <= 'z';ch++)
printf("The ASCII value for %c is %d.\n",ch,ch);

return 0;

}

逗号运算符:
/*
1.逗号是个顺序点,逗号左边产生的所有副作用都在程序运行到逗号右边之前生效
2.整个逗号表达式的值是右边成员的值

x = (y=3,(z = ++y +2)+5); x = 11

houseprice = 249,500;
houseprice = 249 是左表达式,而500是有表达式

houseprice =(249,500);
把houseprice赋值为500,因为该值是右表达式的值
*/

//使内部循环依赖于外部循环的嵌套循环
#include<stdio.h>
int main(void)
{
const int ROWS = 6;
const int CHARS = 6;
int row;
char ch;

for(row = 0;row < ROWS;row++)
{
for(ch = ('A'+row); ch < ('A' +CHARS);ch++)
printf("%c",ch);

printf("\n");
}

return 0;
}

数组--线性存储的一系列相同类型的值

小技巧:可以用#define指令创建一个指定数组大小的明显常量,方便以后改动。

//以下是一个计算数值的整数次幂的程序

#include<stdio.h>
double power (double n,int p);
int main(void)
{
double x,xpow;
int exp;

printf("Enter a number and the position integer power");
printf(" to which\nthe number will be raised. Enter q to quit.\n");

while(scanf("%lf%d",&x,&exp)==2)
{
xpow = power(x,exp);
printf("%.3g to the power %d is %.5g\n",x,exp,xpow);
printf("Enter next pair of numbers or q to quit.\n");
}

printf("Hope you enjoyed this power trip -- bye!\n");
return 0;
}

double power(double n,int p)
{
double pow = 1;
int i;

for(i = 1; i <= p; i++)
pow *=n;

return pow;

}

C控制语句:循环的更多相关文章

  1. JS 引入方式 基本数据类型 运算符 控制语句 循环 异常

    一.JS引入方式 什么是JavaScript? JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互,JavaScript是浏览 ...

  2. python控制语句---循环结构语句

    这次主要把循环结构的控制语句补上,主要包含while.for.continue.break.循环嵌套.主要写一些基本的认识以及包含的一些实例.当只有唯一路径且只跑一次的时候选择上一节中的选择结构语句就 ...

  3. IT兄弟连 Java语法教程 流程控制语句 循环结构语句4

    do-while循环 Java还有一种循环是do-while.与for.while这些在循环顶部判断条件表达式的语句不同,do-while是在循环底部进行条件表达式的检查.这意味着do-while循环 ...

  4. IT兄弟连 Java语法教程 流程控制语句 循环结构语句3

    while循环 Java中的另外一种循环是while循环.while循环的语法格式如下: while(条件表达式){ 循环体; } 其中条件表达式定义了控制循环的条件,可以使任何有效的boolean表 ...

  5. IT兄弟连 Java语法教程 流程控制语句 循环结构语句2

    双重for循环 如果把一个循环放在另一个循环体中,那么就可以形成嵌套循环,也就是双重for循环,当然嵌套循环也可以是for循环嵌套while循环,也可以是while循环嵌套while循环……,即各种类 ...

  6. IT兄弟连 Java语法教程 流程控制语句 循环结构语句1

    循环语句可以在满足循环条件的情况下,反复执行某一点代码,这段被重复执行的代码被称为循环体,当反复执行这个循环体时,需要在合适的时候把循环条件该为假,从而结束循环,否则循环将一直执行下去,形成死循环.循 ...

  7. javascript的程序控制结构及语句------(2)循环控制语句、跳转语句、对话框

    一.循环控制语句 循环语句主要就是在满足条件的情况下反复执行某一个操作,循环控制语句主要包括while语句.do...while语句 和for语句. 1.While语句 语法: While(条件表达式 ...

  8. (7)javascript的程序控制结构及语句------(2)循环控制语句、跳转语句、对话框

    一.循环控制语句 循环语句主要就是在满足条件的情况下反复执行某一个操作,循环控制语句主要包括while语句.do...while语句 和for语句. 1.While语句 语法: While(条件表达式 ...

  9. Java | 循环的控制语句

    循环的控制语句 循环的控制语句有两种:break.continue 两种. braak可以用于强制限出循环. continue可以用于强制结束本次循环. break braak可以用于强制限出循环. ...

随机推荐

  1. IT项目角色标准定义

    角色 角色标准定义 项目主管 负责协助项目经理分配资源,确定优先级,协调公司和项目组之间的沟通.保证项目团队一直处于良好的状态中.同时监督项目经理的工作方法,以确保项目以及工件符合公司的发展方向以及用 ...

  2. JDBC 元数据 (DatabaseMetaData,ResultSetMetaData )

    Java 通过JDBC获得连接以后,得到一个Connection 对象,可以从这个对象获得有关数据库管理系统的各种信息,包括数据库中的各个表,表中的各个列,数据类型,触发器,存储过程等各方面的信息.根 ...

  3. 记录linux tty的一次软锁排查

    本过程参照了某大侠的https://github.com/w-simon/debug/blob/master/tty_lock_cause_sytemd_hung , 当第二次出现的时候,还是排查了一 ...

  4. cpuimage 开源之

    前年学习opengl做的一个小东西. 原本计划将gpuimage 的算法一个一个转写成cpu版本 c,c++ 版本. gpuimage 项目参考: https://github.com/BradLar ...

  5. 链表法解决hash冲突

    /* @链表法解决hash冲突 * 大单元数组,小单元链表 */ #pragma once #include <string> using namespace std; template& ...

  6. linkin大话面向对象--抽象类

    abstract [非private访问修饰符] 返回值类型 方法名称(参数列表); 当编写一个类时,我们往往会为该类定义一些方法,这些方法时用来描述该类的行为方式,那么这些方法都有具体的方法体. 但 ...

  7. MoonLight可视化订单需求区域分析系统前端

    MoonLight可视化订单需求区域分析系统实现功能: 在现实生活中,计算机和互联网迅速发展,人们越来越趋向于网络,于是我们就有了各种各样的系统,来帮助我们更好地生活.比如对于打车来说,我们也可以通过 ...

  8. secureCRT sftp使用

    sftp-- help 可用命令: cd 路径 更改远程目录到"路径" lcd 路径 更改本地目录到"路径" chgrp group path 将文件" ...

  9. linux下^M问题

    ^M的原因 Dos.Windows 格式的文件,用 0D 0A (CR+LF)作为换行符 而Unix 的则是以0A(LF) 作为换行符 所以dos 底下的文本文件到了unix的话,换行符就会多出来一个 ...

  10. jenkins插件安装与升级[三]

    标签(linux): jenkins 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 默认的插件 Folders Plugin OWASP Markup Form ...