码迷,mamicode.com
首页 > 其他好文 > 详细

Day 04

时间:2015-12-20 23:46:01      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

1.case的穿透问题

  • switch里面的case只要匹配一次其它的都失效,包括default. 正是因为switch的这个特性, 所以可能导致程序出现逻辑错误
  • 为了避免上述情况,C语言还提供了一种break语句,专用于跳出switch语句,break语句只有关键字break,没有参数。

2.default的位置问题

  • default可以省略
  • default语句可以写在switch语句中的任意位置

3.goto

  • goto语句是无条件转移语句,其一般格式如下: goto 语句标号;
  • 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号。语句标号起标识语句的作用,与goto 语句配合使用。
#include <stdio.h>

void main()

{

 int i=0;

 if(i==0) goto end;

 for(i=0; i<10; i++)

  printf("%d ", i);

  end: printf("the end\n");

} 

示例代码:你猜我猜

#include <stdio.h>
#include <stdlib.h>

int main(int argc, const char * argv[]) {
    //1.定义变量存储用户输入
    int i = 0, age;
    //2.设置三次循环
    while (i < 3) {
        i++;
        printf("第%i次猜年龄\n", i);
        scanf("%i", &age);
        //3.1产生一个0~25之间的随机数
        int computer = arc4random_uniform(25);
        if (age < computer) {
            printf("猜小了,再猜一次\n");
        }else if(age > computer){
            printf("我有那么老吗?\n");
        }else if (age == computer) {
            printf("猜对了,咱们约会吧!\n");
            //3.2猜对了直接跳转
//            goto out;
            return 0;
        }
    }
    //4.如果三次都猜错,输出下一行
    printf("真是笨,三次都没猜对!\n");
//    out:
    return 0;
}

 

4.for循环

  • 表达式省略(三个表达式都可以省略)
  • 如:for(; ;) 语句相当于while(1) 语句,即不设初值,不判断条件(认为表达式2为真值),循环 变量不增值。无终止地执行循环体。
  • if else省略大括号,else往上找最近的if匹配;
  • 获取当前系统时间
    #include <time.h>
    
    int main(int argc, const char * argv[]) {
    
        //获取当前系统时间
        time_t timer;
        
        struct tm *p;
        
        timer = time(NULL);
        
        p = localtime(&timer);
        
        printf("当前时间是: %s \n",asctime(p));
    
        return 0;
    }

     

Day 04

标签:

原文地址:http://www.cnblogs.com/wm-0818/p/5062039.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!