| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1517 人关注过本帖
标题:初学C语言,循环搞不懂。帮忙看看没句意思
只看楼主 加入收藏
堕落辉少
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-10-30
收藏
 问题点数:0 回复次数:11 
初学C语言,循环搞不懂。帮忙看看没句意思
下面是简单译密码的程序
程序代码:
# include<stdio.h>
void main()
{
    char c;   /*定义字符型  c*/
    while((c=getchar())!='\n')  /*这里的意思是什么?*/
    {
        if((c>='a' && c<='z') || (c>='A' && c<='z'))/*还有这里*/
        {
            c=c+4;
            if(c>'z' && c<='Z'+4 || c>'z')  /*这里也是不懂*/
                c=c-26;
        }
        printf("%c",c);
    }
    printf("\n");
}
        


就是搞不懂程序先判断那里,后判断那里。||  这个符号是什么意思?
搜索更多相关主题的帖子: 初学 C语言 
2008-10-30 15:57
堕落辉少
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-10-30
收藏
得分:0 
while'((c=getchar())!=\n')  /*等用户输入字母,奇怪了char类型不是只能存一个字符吗?为什么我输入 China都可以接收,并正常翻译密码?*/
2008-10-30 16:01
cyz7929
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2008-10-26
收藏
得分:0 
if((c>='a' && c<='z') || (c>='A' && c<='z'))/*还有这里*/   后面的z应该大写吧
if(c>'z' && c<='Z'+4 || c>'z')  /*这里也是不懂*/    这里面的z大小写好像也弄混了
while是循环,只有括号里面的条件符合时就执行循环体
||是“或”的意思  &&是“且”的意思
2008-10-30 16:37
堕落辉少
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-10-30
收藏
得分:0 
char类型不是只能存一个字符吗?为什么我输入字符串都能放到C里面?
2008-10-30 16:45
堕落辉少
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-10-30
收藏
得分:0 
程序代码:
# include<stdio.h>
void main()
{
    char c;   /*定义字符型  c*/
    while((c=getchar())!='\n')  /*等待用户输入,c=用户输入的内容,不等于'\n'时执行下面语句,否则执行  printf("%c",c);    有错吗?*/
    {
        if((c>='a' && c<='z') || (c>='A' && c<='Z'))/*还有这里*/
        {
            c=c+4;
            if(c>'Z' && c<='Z'+4 || c>'z')  /*已经改正,if*/
                c=c-26;
        }
        printf("%c",c);
    }
    printf("\n");
}
2008-10-30 16:53
jiarujian
Rank: 1
来 自:吉林延吉
等 级:新手上路
帖 子:39
专家分:0
注 册:2008-9-22
收藏
得分:0 
||是逻辑运算符或得意思!
2008-11-01 16:17
ml232528
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:367
专家分:879
注 册:2007-7-23
收藏
得分:0 
||逻辑或

比如 a||b
如果a为真 返回真(不再进行b的判断)
如果a为假 判断b
如果b为真 返回真
如果b为假 返回假

[[it] 本帖最后由 ml232528 于 2008-11-1 16:52 编辑 [/it]]

-︻┻┳═一 ☆ 悲伤的代价就是让自己明白什么是最重要的和应该珍惜的
2008-11-01 16:51
菜鸟变青头
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2008-4-18
收藏
得分:0 
我的QQ:286395635 有空联系
2008-11-01 20:23
zgzhly
Rank: 1
等 级:新手上路
帖 子:68
专家分:7
注 册:2008-10-17
收藏
得分:0 
第一个if指c=a~z或者A~Z之间时,c在它基础上加4
第二个if指不在大小写字母范围内的话,自减26
这是一个字母转换的题目
比如要输入china,不直接输入这几个字母,而是输入其它几个字母,然后通过这个算法转换到china.即输入glmde,就可得到china
2008-11-02 15:25
iamah
Rank: 1
等 级:新手上路
威 望:1
帖 子:69
专家分:0
注 册:2008-10-31
收藏
得分:0 
c=getchar();
是一个一个字符判断
所以可以接收字符串
2008-11-02 16:10
快速回复:初学C语言,循环搞不懂。帮忙看看没句意思
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016444 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved