41223221 cp2023

  • Home
    • SMap
    • reveal
    • blog
  • 關於
  • 韓國國旗解說
    • 國旗程式詳細解說
  • w2-3
  • w4-5
  • w6
  • w7
  • w8
  • W11-12
  • w13
  • w15
  • w16
  • cEX
    • 課程1
    • 練習1
  • ANSIC
    • 課程2
    • 練習2
  • 期末總結
cEX << Previous Next >> 練習1

課程1

2

1.

#include <stdio.h>

int main()
{
float a = 0.5;
double b = 1.2;
int c = 3;
b = b + a + c;

/* 输出 a, b, c 到屏幕 */
printf("a = %3.1f, b = %3.1f, c = %d\n", a, b, c);

return 0;
}



2.

/* ====================
   字元範例 1
   ==================== */
#include <stdio.h>

int main()
{
    char x, y;

    x = 'a';
    y = (char)97;

    /* 輸出 x, y, x, 最後一個是以 ASCII 值顯示 y */
    printf("x = %c, y = %c, ASCII of y = %d", x, y, y);

    return 0;
}

3.

#include <stdio.h>

int main()
{
    int a = 64;
    int b = 0x40; // 以十六进制表示
    long c = 64L;

    // 打印变量的值
    printf("%d, %d, %ld", a, b, c);

    return 0;
}

4.

#include <stdio.h>

int main()
{
    int a = 10, b = 5;

    // 第一组比较
    printf("a == b is %d\n", a == b);
    printf("a > b is %d\n", a > b);
    printf("a < b is %d\n", a < b);
    printf("a >= b is %d\n", a >= b);
    printf("a <= b is %d\n", a <= b);
    printf("a != b is %d\n", a != b);

    printf("\n");

    // 修改 b 的值
    b = 10;

    // 第二组比较
    printf("a == b is %d\n", a == b);
    printf("a > b is %d\n", a > b);
    printf("a < b is %d\n", a < b);
    printf("a >= b is %d\n", a >= b);
    printf("a <= b is %d\n", a <= b);
    printf("a != b is %d\n", a != b);

    return 0;
}

5.

#include <stdio.h>

void main()
{
int a;

// 第一次输出
a = 3;
printf("%d\n", !a); // 逻辑非运算,a为真,所以输出0

// 第二次输出
a = 0;
printf("%d\n", !a); // 逻辑非运算,a为假,所以输出1
}



6.

#include <stdio.h>

void main()
{
    char a;

    // 使用 %zu 格式说明符输出 size_t 类型
    printf("The size of int is %zu\n", sizeof(int));

    // 使用 %zu 格式说明符输出 size_t 类型
    printf("The size of char a is %zu\n", sizeof(a));
}

7.

#include <stdio.h>

/* ====================
计算长方形面积, 需传入长与宽.
==================== */
int rect(int x, int y)
{
    int result;
    result = x * y;
    return result; /* 返回 result */
}

/* ====================
主函数
==================== */
int main()
{
    int x = 8, y = 4;
    int a;
    a = rect(x, y);
    printf("8*4 的面积是 %d", a);
    return 0;
}

8.

#include <stdio.h>
float circle( int r ); /* 宣告 circle 的 prototype */
void main()
{
float answer;
answer = circle(8);
printf( " 圓周長度是 %f", answer );
}
/* ====================
 circle 函數, 計算 circle 的圓周長
==================== */
float circle( int r )
{
float result;
result = 3.14159 * (double)1001 * r;
return ( result );
}

9,

#include <stdio.h>

int main()
{
    char ch;

    printf("输入一个字符:");

    // 检查 scanf 的返回值,确保成功读取一个字符
    if (scanf(" %c", &ch) != 1) {
        printf("读取字符失败\n");
        return 1; // 或者采取其他错误处理措施
    }

    if (ch == 'a') {
        printf("您按下了 'a'\n");
    }

    return 0;
}

10.

#include <stdio.h>

void main()
{
    int i;

    // 提示用户输入一个整数
    printf("100:");

    // 读取用户输入的整数
    scanf("%d", &i);

    // 判断输入的整数,并输出相应的消息
    if (i < 100)
    {
        printf("i < 100\n");
    }
    else
    {
        if ((i >= 100) && (i < 200))
        {
            printf("i >= 100 且 i < 200\n");
        }
        else
        {
            printf("i >= 200\n");
        }
    }
}

1.1

/* =========================
 function pointer 2
========================= */
#include <stdio.h>
/* ====================
say “Hello”.
==================== */
void Hello(void)
{
printf(“ Hello\n”);
}
/* ====================
say “World”.
==================== */
void World(void)
{
printf(“ World\n”);
}
/* ====================
main function.
==================== */
int main()
{
void (*func[3])(void); /* 宣告一個 function pointer array */
int i = 0 ;
func[0] = Hello; /* 建立 Jumping table */
func[1] = World;
while(1)
{
printf(“Input a number between 0 and 1 : ”);
scanf( “%d”,&i );
/* 若 I 大於等於 2 或是小於 0 則離開 loop */
if( (i >= 2)||(i < 0) )
break;
else
func[ i ]( ); /* 執行! */
}
return 0;
}


1.2

  #include <stdio.h>

  /* ====================
  say “Hello”.
  ==================== */
  void Hello(void)
  {
      printf("Hello\n");
  }

  /* ====================
  say “World”.
  ==================== */
  void World(void)
  {
      printf("World\n");
  }

  /* ====================
  main function.
  ==================== */
  int main()
  {
      void (*func[3])(void); /* 声明一个函数指针数组 */
      int i = 0;

      func[0] = Hello; /* 建立 Jumping table */
      func[1] = World;

      while (1)
      {
          printf("Input a number between 0 and 1: ");
          scanf("%d", &i);

          /* 如果 i 大于等于 2 或小于 0 则退出循环 */
          if (i >= 2 || i < 0)
              break;
          else
              func[i](); /* 执行函数 */
      }

      return 0;
  }

1.3

#include <stdio.h>

/* ====================
say “Hello”.
==================== */
void Hello(void)
{
    printf("Hello\n");
}

/* ====================
say “World”.
==================== */
void World(void)
{
    printf("World\n");
}

/* ====================
main function.
==================== */
int main()
{
    void (*func[3])(void); /* 声明一个函数指针数组 */
    int i = 0;

    func[0] = Hello; /* 建立 Jumping table */
    func[1] = World;

    while (1)
    {
        printf("Input a number between 0 and 1: ");

        // 检查 scanf 的返回值,确保成功读取一个整数
        if (scanf("%d", &i) != 1)
        {
            printf("无效输入,请输入一个整数。\n");
            break;
        }

        /* 如果 i 大于等于 2 或小于 0 则退出循环 */
        if (i >= 2 || i < 0)
            break;
        else
            func[i](); /* 执行函数 */
    }

    return 0;
} 

2.1

/* ====================
 pointer to pointer – 1.
==================== */
#include <stdio.h>
int main()
{
char *Hello = “Hello”;
char *World = “World”;
char *GoodBye = “Good Bye”;
char *StrArray[3];
char **Str;
int i;
Str = StrArray;
StrArray[0] = Hello;
StrArray[1] = World;
StrArray[2] = GoodBye;
for( i = 0; i < 3; i++ )
{
printf(“%s”, StrArray[ i ] );
}
for( i = 0; i < 3; i++ )
{
printf(“%s”, *Str );
Str++;
}
retur

2.2

/* ====================
 pointer to pointer – 1.
==================== */
#include <stdio.h>

int main() {
    char *Hello = "Hello";
    char *World = "World";
    char *GoodBye = "Good Bye";
    char *StrArray[3];
    char **Str;
    int i;

    Str = StrArray;
    StrArray[0] = Hello;
    StrArray[1] = World;
    StrArray[2] = GoodBye;

    // Print strings using array indexing
    for (i = 0; i < 3; i++) {
        printf("%s ", StrArray[i]);
    }

    // Print strings using pointer arithmetic
    Str = StrArray;  // Reset the pointer to the beginning
    for (i = 0; i < 3; i++) {
        printf("%s ", *Str);
        Str++;
    }

    return 0;
}

 

我的圖片不知道為甚麼不能傳所以我用打字說明

先打cc ex.2-1.c再來打./a.out Hello World Good Bye Hello World Good Bye

#include <stdio.h>

int main() {
printf("int 类型的大小为 %zu 字节\n", sizeof(int));

char a;
printf("char 类型变量 a 的大小为 %zu 字节\n", sizeof(a));

return 0;
}



#include <stdio.h>

int main() {
float this_is_a_number1, this_is_a_number2;
int scanf_result; // Dummy variable to capture scanf's return value

/* 读取输入的浮点数 */
scanf_result = scanf("%f", &this_is_a_number1);

/* 读取输入的浮点数 */
scanf_result = scanf("%f", &this_is_a_number2);

/* Your code here */

return 0;
}


cEX << Previous Next >> 練習1

Copyright © All rights reserved | This template is made with by Colorlib