2008-03-13

while语句

void main(){

int a=0,n;

printf("\n input n: ");

scanf("%d",&n);

while (n--)

printf("%d ",a++*2);

}

do-while语句

void main(){

int a=0,n;

printf("\n input n: ");

scanf("%d",&n);

do printf("%d ",a++*2);

while (--n);

}

(为什么转换后,n--变成了--n)

自增运算符 ++ 使操作数的值增 1,其操作数必须为可变左值。++ 可以置于操作数前面,也可以放在后面。例如:

++n ;

n++ ;

这两个语句产生的结果都是使 n 增 1,可以说没什么区别。 使用以下语句得到的效果也是一样的:

n = n + 1 ;

尽管上面两个语句中,++ 前置和后置没有区别。但是,++ 前置和后置其实是有区别的。例如:

int n = 1, post, pre;

post = n++;

pre = ++n;

对于 post = n++; 这个语句,post 得到 n 自增前的值,因为 n++ 的值为 1。 也就是说,这个语句执行完后,post 的值是 1,而 ...全部

自增运算符 ++ 使操作数的值增 1,其操作数必须为可变左值。++ 可以置于操作数前面,也可以放在后面。例如:

++n ;

n++ ;

这两个语句产生的结果都是使 n 增 1,可以说没什么区别。

使用以下语句得到的效果也是一样的:

n = n + 1 ;

尽管上面两个语句中,++ 前置和后置没有区别。但是,++ 前置和后置其实是有区别的。例如:

int n = 1, post, pre;

post = n++;

pre = ++n;

对于 post = n++; 这个语句,post 得到 n 自增前的值,因为 n++ 的值为 1。

也就是说,这个语句执行完后,post 的值是 1,而 n 的值变成 2。而 pre = ++n; 这个语句,pre 得到 n 自增后的值,因为 ++n 的值为 3。也就是说,这个语句执行完后,pre 的值是 3,n 的值也是 3。

总之,无论前置还是后值,++ 都会使其操作数的值增 1。不同的是,++ 前置时,自增表达式(如 ++n)的值等于其操作数自增后的值;++ 后置时,自增表达式(如 n++)的值等于其操作数自增前的值。

例如:

int n = 5, post = 1, pre = 1;

pre = ++n + pre; // 运算结束后 pre 为 7,n 为 6

n = 5;

post = n++ + post; // 运算结束后 post 为 6,n 为 6

上例中,++n 的值等于 n 自增后的值,即 6,所以 pre 最后得到的值为 7。

n++ 的值等于 n 自增前的值,即 5,所以 post 最后得到的值为 6。

----------------------

搞清楚了么 这样的话

设n=3

while(n--)

{

}

2 1 [0]

do

{

}while(--n)

2 1 [0]

。收起

c语言中有关main的问题,c语言小问题相关推荐

  1. c语言中申请内存并初始化,c语言中结构体的定义、初始化及内存分配

    #include struct person { char *name; int age; }; int main() { //结构体可以定义在函数内,也可以定义到函数外 //相当于全局变量与局部变量 ...

  2. c语言中字母的长度是,c语言字符串长度怎么算

    本文收集整理关于c语言字符串长度怎么算的相关议题,使用内容导航快速到达. 内容导航: Q1:c语言计算字符串的长度(用指针) 12345678910111213141516171819#include ...

  3. c语言中未找到函数入口,C语言的入口函数不一定叫main

    原标题:C语言的入口函数不一定叫main C语言的入口程序好像都被固定好了叫"main"但是不一定哦. 先写个程序:#include #include int main() { p ...

  4. 单片机c语言中的循环语句,单片机c语言教程:C51循环语句

    循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的( ...

  5. c语言中指针的类型,学习C语言中的指针类型

    摘要:结合我院学生十年来参加全国计算机等级考试(C语言部分)情况,通过分析成绩分布与题型关系,我们发现指针方面的题型失分率最高.在此基础上结合教学实际,本文提出学习指针知识的方法和顺序过程,并将其应用 ...

  6. C语言中动态数组的作用,C语言实现动态数组

    前言 在纯C语言编程中,数组的创建必须是固定的大小,因为C语言本身没有提供动态数组这种数据结构,这是一个让习惯了使用高级语言编程的人转做C开发面临的一个很头疼的问题,本篇文章就将介绍如何使用纯C语言编 ...

  7. c语言中预处理指令的作用,C语言中常用预处理指令

    转载自 https://blog.csdn.net/farsight2009/article/details/58602886 姓名:张艳博 学号:17021223249 [嵌牛导读]: C语言中常用 ...

  8. A13在c语言中是合法变量吗,C语言中局部变量和全局变量等在内存中的存放位置.doc-资源下载在线文库www.lddoc.cn...

    C语言中局部变量和全局变量_等在内存中的存放位置.doc C 语言中局部变量和全局变量 变量的存储类别static,extern,auto,register 8.8 局部变量和全局变量在讨论函数的形参 ...

  9. c语言 方程改main的值_C语言编程笔记丨编写第一个C语言程序hello world,我教你哇...

    如果用C语言输出:Hello,world!,该如何编写程序? **代码如下:** #include//包含标准库的信息 main()//定义名为main的函数,不接受参数值 {//main函数的语句都 ...

最新文章

  1. Android屏幕适配全攻略(最权威的官方适配指导)(转),共大家分享。
  2. Beautifulsoup的使用
  3. 2021牛客暑期多校训练营8 J-Tree(思维dp+rmq)
  4. css响应式布局_用 CSS Grid 布局制作一个响应式柱状图
  5. 【java】Java -jar 运行的程序如何 本地代码远程调试服务器程序
  6. 将一个数据插入表中前校验数据是否存在
  7. sai教程初识SAI + 城堡绘画教程
  8. Inside NT Boot
  9. Gamesalad借QQ游戏无线平台进军中国
  10. xmind8 破解激活教程
  11. 抖音如何接入在线客服系统?
  12. JS中every()和some()的对比使用丨蓄力计划
  13. 【sv】enum赋值
  14. Three.js光源梳理3——平行光(DirectionalLight)
  15. ssm智慧养老服务平台毕业设计-附源码211709
  16. 迷你播放器--第一阶段(4)--内存卡检索不到音乐的错误处理--程序内部空间管理
  17. 【并发编程一:走进并发编程】
  18. DVWA 之暴力破解攻击(Brute Force)
  19. 深入浅出,五次课程,带您进入数据分析的世界
  20. 原来大数据工作流程可以这样理解------生米煮成熟饭!

热门文章

  1. cpu使用率_漫话性能:CPU使用率
  2. 机器学习:sklearn数据集与机器学习组成
  3. XPath和lxml类库
  4. python中的匿名函数lambda
  5. java 反射的弊端_java反射机制的一些学习心得小结
  6. python中的列表和元组_百度资讯搜索_python中的列表和元组
  7. c#服务器后台搭建_【环境搭建】Docker简明安装教程
  8. 我,大学没毕业,在OpenAI搞AI,想教教你如何提升“研究品味”
  9. iBeacon 初探
  10. 领域应用 | 美团商品知识图谱的构建及应用