- C語言的回圈結構,有for(;;)回圈,while()回圈,do~while()回圈,for回圈使用最頻繁,三種陳述句都可以銜接break;continue;來進行中斷回圈,
- 在for(;;)回圈結構中,分號所隔開的陳述句是(初始化;判斷;調整),當都省略時即直接使用for(;;)時,默認為真,即進入死回圈,
1~10階乘的累加計算方法一
點擊查看代碼
int main()
{
int sum = 1, i, n;
int ret = 0;
for (n = 1; n <= 3; n++)
{
for (i = 1,sum = 1; i <= n; i++)//注意內回圈結束得釋放sum存有的值,令sum = 1
{
sum = sum * i;
}
ret = ret + sum;
}
printf("%d\n", ret);
return 0;
}
1~10階乘的累加計算方法二
點擊查看代碼
int main()
{
int sum = 1, i, n;
int ret = 0;
for (n = 1; n <= 3; n++)
{
for (i = 1,sum = 1; i <= n; i++)//注意內回圈結束得釋放sum存有的值,令sum = 1
{
sum = sum * i;
}
ret = ret + sum;
}
printf("%d\n", ret);
return 0;
}
其他的瑣碎基礎知識(未整理)
點擊查看代碼
# include <stdio.h> //standard input output 標準輸入輸出
# include <string.h>
int main() //呼叫mian函式后回傳int型,voidmain 寫法過時,不適用
{
printf("hello world!\n"); //printf print+f 其實就是print+function列印函式
return 0; //回傳整型0
}
%d 列印整型數字
%p 以地址的形式列印
%x 列印十六進制數字
int main()
{
printf("%d\n", sizeof(char)); // 1 byte = 8 bit
printf("%d\n", sizeof(short)); // 2 byte
printf("%d\n", sizeof(int)); // 4 byte
printf("%d\n", sizeof(long)); // 4 byte or 8 byte // C語言標準規定 sizeof(long) >= sizeof(int)
printf("%d\n", sizeof(long long)); // 8 byte
printf("%d\n", sizeof(float)); // 4 byte
printf("%d\n", sizeof(double)); // 8 byte
return 0;
}
int main()
{
float weight = 96.5f; //在使用float向記憶體申請空間時,會將float型轉化double型,因此要在小數后加一個f,來表示單精度型
return 0;
}
int a = 100;
int main()
{
int a = 10;
printf("%d\n", a); //輸出最終結果為10,說明區域變數和全域變數可以同時存在,但區域變數優先權大于全部變數
return 0;
}
int main()
{
int num1;
int num2;
int sum; //C 語言規定變數要放在代碼塊前面,否則編譯會報錯
......; //區域變數的作用域是區域范圍 全域變數的作用域是整個工程
} //當變數在其他.c檔案定義時,應在當前.c 檔案使用extern來宣告外部變數
//區域變數的生命周期是進入括號開始,出括號結束;全域變數的生命周期是整個程式的周期
常量:
①字面常量 ②const修飾的常變數 ③#define 定義的識別符號常量 ④列舉常量enum
enum sex
{
MALE,
FEMALE,
SECRET
};
int main()
{
printf("%d\n", MALE);
printf("%d\n", FEMALE);
printf("%d\n",SECRET);
return 0;
}
int main()
{
char arr1[] = "abc"; //'\0'字串結束的標志 ,'\0'對應ASCII碼值為0 " "引號里面的被稱為字串表面值
char arr2[] = { 'a','b','c' }; //'\0'是轉義字符,不算作字串內容 97(ASCII碼值) - 1100001 ASCII編碼
printf("%d\n",strlen(arr1)); //在strlen()函式下輸出為 3
printf("%d\n",strlen(arr2)); //在strlen()函式下輸出為隨機值,直到找到隨機值'\0',便停止查詢
return 0;
}
轉義字符 --> 三字母詞 --> ?? + _() 組成三字母詞
在編譯器中為防止三字母詞的編譯產生,使用 --> \?\? 來解決
int main()
{
printf("%d\n", strlen("C:\test\32\test.c"));
return 0;
}
運算子:
算術運算子、移位運算子、位運算子
算術運算子: + - * % / ~
移位運算子: >> <<
位運算子: & | ^
單目運算子: + - ! ~ -- ++ sizeof
/* 原始碼 補碼 反碼*/
三目運算子也叫條件運算子(a > b ? a : b)
[]:下標運算子 ; ():函式呼叫運算子
重點運算子:& * . ->
只要是整數,在記憶體中存盤的都是二進制數的補碼
對于正整數:原碼,反碼,補碼,都相同
對于負整數:①原碼:符號位取1,其他位按照二進制寫;②反碼:符號位不變,其他位按位取反;③補碼:在反碼的基礎上加1
signed int == int 意為有符號整型,可以是負數,也可以是正數
相反,無符號整型為 unsigned int
union:聯合體,共用體關鍵字
volatile 作業系統使用的
typedef:型別定義,型別重命名
static :靜態區域變數,保留區域變數的值,不會因為生命周期而消失(修飾區域變數,使生命周期變長)
static :當修飾全域變數時,該變數只能在當前檔案使用(改變了其作用域)
extern :相反,在其他檔案定義的變數,在當前檔案,使用extern宣告該變數,即可使用該變數所含的值和屬性
32位的計算機,以bit的方式存盤,具有2^32種位狀態,所需要的記憶體為512Mb ;若以位元組為劃分單位32位的計算機存盤等量的資料需要4G的空間
記憶體的的空間是以位元組來劃分的,一個位元組為一個單元
列印地址的方式,①取地址 & ;②列印地址使用 %p ;
*p 中的 * 解參考運算子/間接訪問運算子, p:為指標變數 int* p 中int* 是指標型別
define 不是關鍵字,是識別符號
static 修飾的變數可以被改變
static 修飾的變數的值會保留上一次賦值的結果
指標變數的大小取決于所在多少位的操作環境,32位則是4個位元組,64位則是8個位元組,與該指標變數是什么型別無關
計算指標型別的大小,例如sizeof(char*),sizeof(short*)等,其實也是計算指標變數的大小,與所在多少位操作有關有關
在C語言中0為假,非0為真,即-1或者1都為真
懸浮else:在C語言中if else陳述句,多個if和一個else的話,else對應對近的一個if,不管是否縮進都一樣若要該else與其他if匹配則使用{}來括起來,形成代碼塊的形式
分支陳述句
If~ else陳述句
Switch~case 陳述句
Ctrl + z退出while的死回圈,
EOF表示end of file ,代表的值是-1;檔案結束標志
在for回圈中,初始值、判斷和調整都可以被省略,但是判斷陳述句被省略后,默認為恒為真,即進入死回圈
在這個for回圈中,因為判斷陳述句k=0,為假,所以不進行回圈
do while回圈,是先執行回圈,再進行判斷
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/501174.html
標籤:其他
下一篇:序列型別
