C语言while语句的用法?
c语言中while的用法:
当n==1时执行while循环结构里的语句,当n不等于1时,则跳过该循环执行循环体外的语句。
while 循环的格式:while (表达式){语句;}
while 循环的执行顺序:当表达式为真,则执行下面的语句,语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句,然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环。
while语句中循环结束的条件是while后面表达式的值是?
while循环结束条件是while括号里面的表达式值为FALSE。表达式的值是布尔类型。对于c语言等没有布尔类型的语言来说,实际上是与0比较,Null实际上也是0,等等。
都是CPU进行表达式计算操作后,判断CPU状态字的符号位来知晓是>0还是<0或者是=0的
c语言中whilea什么意思
表示当a为false,或a等于0时,执行while循环体,否则不执行。
c语言某个子函数中的while语句不能执行
- 题目:建立一个长度为n的带头结点的单链表,在该表中寻找第i个结点,若找到,则输出“OK!”,否则输出“error!”。处理数据类型为整型。我的代码:#includestdio.h#includestdlib.htypedef struct LNode{int data;struct LNode *next;}List;void CreatList(List *&L, int n)建立链表{List *P, *S;int k = sizeof(List);L = (List *)malloc(k);S = L;for (int i = 0; i n; i++){P = (List *)malloc(k);scanf("%d", &P-data);P-next = S;P = S;}P-next = NULL;}void Find(List *&L, int item)查找函数{List *P;P = L;int k = 0;while (P-next != NULL){if (P-data == item){k = 1;break;}P = P-next;}if (k == 1)printf("OK!");elseprintf("error!");}int main(void){int n, item;n为链表节点个数,item为要查找的项List *L;scanf("%d", &n);CreatList(L, n);scanf("%d", &item);Find(L, item);return 0;}无论护憨篙窖蕻忌戈媳恭颅测试数据是多少,输出总为error。经检验是Find函数中的while语句没有执行,但我想不通为什么,求大神解答。
- 链表创建有问题for循环应该是这样的吧:for (int i = 0; i n; i++){ P = (List *)malloc(k); scanf("%d", &P-data); S-next = P; S = P;}这样创建出来的链表包含一个不存任何数据的头结点,因此查找也要修改if (P-next-data == item)其余没有什么问题但有一种情况未考虑,输入链表元素个数为0时,创建链表并未对此作出处理,导致护憨篙窖蕻忌戈媳恭颅语句P-next = NULL;执行时出错,建议添加对n=0情况的处理
C语言关于while的问题
- while(ch=0&&ch=9) { exp[j]=ch; j++; ch=str[i]; i++; } i–; exp[j]= ; j++; } ch=str[i]; i++; }这是在书里上的一段代码,我不太清楚它的执行顺序,它的中括号括得很奇怪。感觉少了一个中括号。
- 发得不完整
c语言关于文件的读写,那个有注释while是怎么循环的?
- FILE *fp1,*fp2;char filename1[20],filename2[20];char c;printf("菠n");scanf("%s",filename1);printf("菠n");scanf("%s",filename2);if((fp1=fopen(filename1,"r+"))==NULL||(fp2=fopen(filename2,"r+"))==NULL){ printf("!n"); exit(0);}else { c=fgetc(fp1); fflush(stdin);printf("%c",c);while(!feof(fp1)){关于文件访问是否结束fputc(c,fp2);putchar(c); c=fgetc(fp1);};}fclose(fp1);fclose(fp2);putchar(n);}while里面的 c=fgetc(fp1)没有指向下一个字符啊,为什么他会读取完一个字符,接着读另外一个呢?而不是一直读第二个字符
- 只要不读到文件结尾,就一直循环。eof:end of file
C语言编程, 这个while 是个什么情况?
- 开始运行就这样来,不显示后面的数。
- while那行 多了个分号
C语言while循环编程输出1到100,不需要得数!
- 1分钟内完成…不然遭殃了…
- htfdfh lbmfdjb cvnb
c语言while循环的表达式
- #include "stdio.h"void main(){int x=迹钉管固攮改归爽害鲸3;do{printf("%3d",x-=2);}while(!(–x));}当执行完第一个do语句x=1,while里边是–x,所以x=0,前边有个!也就是x不等于0,while里边表达式是x=1,怎么进行执行,我想一般都是do{}while(1),这种是死循环,可是我看结果是 1,-2,;所以我想应该是(!(–x))为表达式,第二次执行do语句 是用0-2=-2;为什么(!(–x))是表达式而不是x=1,还有就是执行do语句要用0-2大神解释吧
- 你看到扽结果是对的。whil迹钉管固攮改归爽害鲸e(!(–x));表示x不能为负,这是1。其次while()括号里的是结果表达,不能是算式,因此不能是x=1,而x==1是正确的。
C语言do while 循环的一点问题
- 信息查看栏:——–开始编译——–b3.c: In function `Shuchu:b3.c:24: error: syntax error before "return" ——-我这里到底错在哪了编译结束但存在 1 错误 全文代码如下:护矗篙匪蕻睹戈色恭姬#include stdio.h 功能:用于检验自定义函数Shuchu是否正确int Shuchu(int ); Shuchu函数 :输出所输入的下一个素数 例如:x=Shuchu(2) 则x=3int Panduan(int); Panduan函数 :判断所输入的数是否为素数,是则输出1,否则输出0 例如: x=Panduan(6) 则x=0int main () {int su ,ji ,su1;su =3;ji =1;su1=Shuchu(su);printf("%d",su1);return 0;}int Shuchu(int su){ 输出所输入素数的下一个素数,调用了自定义函数Panduanint k1;int x;do {x=su+1; k1=Panduan(x);}while (k1 != 1)return x;}int Panduan (int number) 判断输入的数是否为素数 是则输出1 否则输出0{ int i2,k;k=1;for (i2 =2;i2number ;i2++){if (number % i2 ==0){k=0;break;}}return k;}
- while (k1 != 1)后面没分号
C语言 do-while的循环体中是否一定要有使循环退出的操作
- do-while的循环体中是否一定要有使循环退出的操作
- 对,不能让循环无限进行下去
c语言问题求助大神,为啥第二个while只能循环一次
- #includestdio.h#includestdlib.h#includectype.hmain(){int n,x; char answer; printf("这是一个猜数字的游戏n请输入一个1到30间的数字n"); scanf("%d",&n);while(n30||n1) {printf("输入错误只能是1到30间的数字n请重新输入n"); scanf("%d",&n);} while(toupper(answer)==Y) {x=rand()%30+1; if(n==x)printf("你猜中了!恭喜!"); else printf("你猜错了 数字是%dn",x); printf("还要继续吗 Y OR Nn"); scanf("%c",&answer);}}
- 你应该给answer赋初值Y,或者使用 do while结构