程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 不可或缺 Windows Native (3),windowsnative

不可或缺 Windows Native (3),windowsnative

編輯:關於C語言

不可或缺 Windows Native (3),windowsnative


[源碼下載]


不可或缺 Windows Native (3) - C 語言: 運算符,表達式,條件語句,循環語句,轉向語句,空語句等



作者:webabcd


介紹
不可或缺 Windows Native 之 C 語言

  • 運算符
  • 表達式
  • 條件語句
  • 循環語句
  • 轉向語句
  • 空語句



示例
1、運算符
cOperator.h

#ifndef _MYHEAD_OPERATOR_
#define _MYHEAD_OPERATOR_ 

#ifdef __cplusplus  
extern "C"
#endif  

char *demo_cOperator();

#endif  

cOperator.c

/*
 * 運算符
 */

#include "pch.h"
#include "cOperator.h"
#include "cHelper.h"

char *demo_cOperator()
{
    // 算數運算符:+, -, *, /, %, ++, --
    // 關系運算符:>, <, ==, >=, <=, !=
    // 邏輯運算符:&&, ||, !
    // 位操作運算符:&, |, ~, ^, <<, >>
    //     & - 按位與:都是 1 則為 1,其他情況為 0;比如 1001 & 0001 = 0001
    //     | - 按位或:有一個是 1 則為 1,其他情況為 0;比如 1001 | 0001 = 1001
    //     ^ - 按位異或:不一樣則為 1,一樣則為 0;比如 1001 | 0001 = 1000
    //     ~ - 按位非:~1001 = 0110
    // 賦值運算符:=, +=, -=, *=, /=, %=, &=, |=, ^=, >>=, <<=
    // 條件運算符:三目運算符 ?:
    // 指針運算符:* 用於取內容   & 用於取地址
    


    // i++, i本身加1,表達式i++的值為i加1前的值
    // ++i, i本身加1,表達式++i的值為i加1後的值
    int i = 0;
    i++; // 此處 i 的值為 1, i++ 的值為 0
    int j = 0;
    ++j; // 此處 j 的值為 1, ++j 的值為 1



    // sizeof - 是 C 裡面的關鍵字,而不是函數,其是求字節數運算符

    // 計算一個數據類型所占用空間的大小
    int intSize = sizeof(short); // 2, 不同平台下 int short long 之類的占用空間可能不一樣,用 sizeof 就可以知道其占用空間的大小了

    char *str = "abcdefghijklmnopqrstuvwxyz";
    int dataSize = sizeof(str); // 4, 這裡計算的是 str 指針所占用空間的大小

    return str_concat2(int_toString(intSize), int_toString(dataSize));
}


2、表達式,條件語句,循環語句,轉向語句,空語句等
cStatement.h

#ifndef _MYHEAD_STATEMENT_
#define _MYHEAD_STATEMENT_ 

#ifdef __cplusplus  
extern "C"
#endif  

char *demo_cStatement();

#endif  

cStatement.c

/*
 * 表達式,條件語句,循環語句,轉向語句,空語句等
 */

#include "pch.h"
#include "cStatement.h"
#include "cHelper.h"

char *demo_cStatement()
{
    // 所謂表達式語句就是由表達式加上分號“;”組成的
    // i++, i本身加1,表達式i++的值為i加1前的值
    // ++i, i本身加1,表達式++i的值為i加1後的值


    
    // 復合語句(拿大括號括起來)
    {
        int p1 = 1;
        int p2 = 2;
    }



    // 只有“;”的語句就叫做空語句
    while (0)
    {
        ; // 這一句就是空語句
    }
    // 上面的等於下面的
    while (0)
        ;
    // 上面的等於下面的
    while (0);



    // 分支結構的語句(if else)
    int a = 0, b;

    if (a == 1) b = 1; // 注意:變量 a 在此之前如果不初始化的話,則這裡是無法編譯過的,也就是說未賦值的變量不能使用

    if (a == 1)
        b = 2;
    else if (a == 2)
        b = 3;
    else
        b = 4;



    // 分支結構的語句(switch case)
    int x = 0, y;
    switch (x)
    {
        case 1:
            y = 2;
            break;
        case 2:
            y = 3;
            break;
        default:
            y = 4;
    }



    // 分支結構的語句(?:)
    int m, n = 0;
    m = n == 1 ? 2 : 3;



    // 循環語句(while)
    int i = 0;
    while (i < 100)
    {
        i++;
    }



    // 循環語句(do while)
    int j = 0;
    do
    {
        j++;
    } 
    while (j < 100);



    // 循環語句(for)
    for (i = 0; i < 100; i++)
    {
    }
    for (i = 0; i < 100; )
    {
        i++;
    }
    for (i = 0, j = 0; i < 100 && j < 100; i++, j++)
    {
        i++;
        j++;
    }
    int z = 0;
    for ( ; z < 100; )
    {
        z++;
    }

    

    // 轉向語句:break - 跳出循環
    // 轉向語句:continue - 跳過循環體的剩余的語句,直接進入下一次循環判斷
    // 轉向語句:return - 退出函數,並提供返回值
    // 轉向語句:goto - 跳轉至指定的標識符處,並執行其後的語句(需合理使用,比如多層嵌套語句退出時,使用 goto 就是很合理的)

    int result = 0;
myAnchor: // 自定義標識符(標識符加冒號)
    if (result == 1)
    {
        result = 100;
    }
    if (result == 0)
    {
        result = 1;
        goto myAnchor; // 跳轉至指定的標識符處(myAnchor:),並執行其後的語句
    }


    return str_concat2("看代碼及注釋吧", int_toString(result));
}



OK
[源碼下載]

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved