• 《C和指针》学习笔记[第四章 语句]


    4.13问题

    1.

    它是合法的,执行了加减乘除操作,但没有赋值

    2.

    x =  expression

    3.

    合法

    4.

    if 后面用;空语句,或者else的条件该到用if的, 用!就可以.

    5.

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    6.

    个人感觉都差不多。水平有限

    7.

    少了{},while的执行体就是第一个语句

    正确的

    while ((ch = getchar()) != EOF) {
            checksum += ch;
            putchar(ch);
        }
        
        printf("chechsum = %d\n", checksum);

    8.

    无论条件是否成立,都需要执行一次的环境下

    9.

    odd
    even
    odd
    odd
    even
    odd

    10.

    int main(void)
    {
        int i;
        
        scanf("%d", &i);
        
        for (; i > 0; i--) {
            printf("\n");
        }
        
        
        return EXIT_SUCCESS;
    }

    11.

    int main(void)
    {
        int x, y, a, b;
        
        scanf("%d %d %d %d", &x, &y,&a,&b);
        
        if (x < y || a >= b) {
            printf("WRONG\n");
        }
        else
            printf("RIGHT\n");
        
        
        return EXIT_SUCCESS;
    }

    12.

    int main(void)
    {
        int in_year;
        int leap_year;
        
        scanf("%d", &in_year);
        if ((in_year % 4 == 0 && in_year % 100 != 0) || in_year % 400 == 0) {
            leap_year = 1;
        }
        else
            leap_year = 0;
        
        printf("leap_year is %d\n", leap_year);
        
        
        return EXIT_SUCCESS;
    }

    13.

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #include "t_c.h"
    
    
    
    
    int main(void)
    {
        int in_num;
        
        while (scanf("%d", &in_num) != 0) {
            switch (in_num) {
                case 1:
                    printf("who\n");
                    break;
                case 2:
                    printf("waht\n");
                    break;
                case 3:
                    printf("when\n");
                    break;
                case 4:
                    printf("where\n");
                    break;
                case 5:
                    printf("why\n");
                    break;
                default:
                    printf("don't know");
                    break;
            }
        }
        
        
        return EXIT_SUCCESS;
    }

    14.

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #include "t_c.h"
    
    static int full_num = 10;
    
    
    void
    eat_hamberger(void)
    {
        printf("eat one hamberger\n");
        full_num--;
    }
    
    int
    hungry(void)
    {
        return full_num;
    }
    
    
    int main(void)
    {
        while (hungry()) {
            eat_hamberger();
        }
        
        
        return EXIT_SUCCESS;
    }

    15.

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #include "t_c.h"
    
    static int full_num = 0;
    
    
    void
    eat_hamberger(void)
    {
        printf("eat one hamberger\n");
        full_num--;
    }
    
    int
    hungry(void)
    {
        if (full_num > 0)
            return 1;
        else
            return 0;
    }
    
    
    int main(void)
    {
        
        do {
            eat_hamberger();
        } while (hungry());
        
        return EXIT_SUCCESS;
    }

    16.

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #include "t_c.h"
    
    int main(void)
    {
        
        int precipitsting;
        int temperature;
        
        scanf("%d%d", &precipitsting, &temperature);
        
        if (precipitsting == 1) {
            if (temperature < 32)
                printf("snowing\n");
            else
                printf("raining\n");
        }
        else
        {
            if (temperature < 60) {
                printf("cold\n");
            }
            else
                printf("warm\n");
        }
    
        
        return EXIT_SUCCESS;
    }

    4.14编程练习

    1.

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #include "t_c.h"
    
    int main(void)
    {
        int n = 1;
        double i = 1, j;
        while (1) {
            j = (i + n / i)/2;
            printf("%d %lf\n",n, j);
            if ((j - i) < 0.001 && i != 1) {
                break;
            }
            i = j;
            n++;
        }
        
        return EXIT_SUCCESS;
    }

    2.

    int main(void)
    {
        int n;
        int i;
        int is_prime;
        for (n = 2; n <= 100; n++) {
            is_prime = 1;
            for (i = 2; i <= n/2; i++) {
                if (n % i == 0) {
                    is_prime = 0;
                    break;
                }
            }
            if (is_prime) {
                printf("%d ", n);
            }
        }
        printf("\n");
        
        
        return EXIT_SUCCESS;
    }

    3.

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #include "t_c.h"
    
    int main(void)
    {
        int o, p, q;
        scanf("%d %d %d", &o, &p, &q);
        if (o + p > q && o + q > p && p + q >o) {
            if (o == p || p == q || o == q) {
                if (o == p && p == q) {
                    printf("等边三角形\n");
                }
                else
                    printf("等腰三角形\n");
            }
            else
                printf("是三角形\n");
        }
        else
            printf("无法组成三角形\n");
        
        
        
        return EXIT_SUCCESS;
    }

    4.

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #include "t_c.h"
    
    void
    copy_n(char dst[], char src[], int n)
    {
        int i;
        for (i = 0; i < n; i++) {
            if (src[i] != '\0') {
                dst[i] = src[i];
            }
            else
            {
                dst[i] = '\0';
            }
                
        }
    }
    
    
    int main(void)
    {
        char dst[100];
        char *src = "hello world";
        copy_n(dst, src, 5);
        printf("%s\n", dst);
        
        
        return EXIT_SUCCESS;
    }

    5.

    This is the first line.
    Another line.
    And another.
    And another.
    And another.
    And another.
    Still more.
    Almost done now --
    Almost done now --
    Another line.
    Still more.
    Finished!
    //
    //  t_c.c
    //  pointers_on_c
    //
    //  Created by sidian on 2022/5/27.
    //
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #include "t_c.h"
    
    #define MAX_CHAR 128
    
    
    
    int main(void)
    {
        char in_line[MAX_CHAR];
        char first_line[MAX_CHAR];
        char second_line[MAX_CHAR];
        
        
        
        while (gets(in_line) != NULL) {
            if ( !strcmp(second_line, in_line) && strcmp(in_line, first_line)) {
                printf("%s\n", in_line);
            }
            strcpy(first_line, second_line);
            strcpy(second_line, in_line);
        }
        
        return EXIT_SUCCESS;
    }

    6.

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #include "t_c.h"
    
    int substr(char dst[], char src[], int start, int len){
        int i = 0;
        if ((int) strlen(src) < start - 1 || len < 0) {
            dst[0] = '\0';
        }
        else{
            for (; i < len; i++) {
                if (src[start + i] != '\0') {
                    dst[i] = src[start +i];
                }
                else{
                    break;
                }
            }
            dst[i] = '\0';
        }
        return i;
    }
    
    
    
    int main(void)
    {
        int n;
        char dst[100];
        char *src = "hello";
        
        n = substr(dst, src, 4, 5);
        printf("%s\nn = %d\n", dst, n);
        
        return EXIT_SUCCESS;
    }

    7.

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #include "t_c.h"
    
    void deblank(char string[])
    {
        int i = 0;
        int move = 0;
        
        for (; i < strlen(string); i++) {
            if (string[i] == ' ' && string[i+1] == ' ') {
                move++;
            }
            else
            {
                string[i - move] = string[i];
            }
        }
    
        string[i- move] = '\0';
        }
    
    
    
    int main(void)
    {
    
        char src[] = "he     l l    o    e  s";
       
        deblank(src);
        
        printf("%s\n", src);
        
        return EXIT_SUCCESS;
    }
  • 相关阅读:
    06.SpringMVC之参数绑定
    05.SpringMVC之请求映射
    04.SpringMVC之用
    03.SpringMVC之器
    02.SpringMVC之初体验
    01.SpringMVC之概述
    Spring 中的Null-Safety
    Spring中Resource(资源)的获取
    Spring的事件机制详解
    Spring详解(二)------注解配置IOC
  • 原文地址:https://www.cnblogs.com/sidianok/p/16330689.html
Copyright © 2020-2023  润新知