C語言編程入門——常用運算符
這裡演示了幾個常用運算符的應用
前後自增運算符的區別(注意,這個經常會考到):
# include <stdio.h>
int main(void)
{
int i, j, k, m;
i = j = 3;
k = ++i; //計算後i = i + 1,即結果i值加1,
m = j++; //計算後j = j + 1,即結果j值加1,
printf("i = %d, j = %d, k = %d, m = %d\n", i, j, k, m);
return 0;
}
/*
結果:
i = 4, j = 4, k = 4, m = 3
Press any key to continue
總結:
前自增與後自增
相同處:都是使i與j的值加1,即i = i + 1, j = j + 1;
不同處:前自增整體表達式的值是i加1之後的值,即先計算 ++,值為i+1;
後自增整體表達式的值是i加1之前的值,即值為i;
*/
三目運算符:
# include <stdio.h>
int main(void)
{
int i = 5;
//?問號前的表示式為真,則執行第一個,否則執行第二個
i > 3 ? printf("嘿嘿!\n"): printf("哈哈!\n");
int j = 2;
j > 3 ? printf("嗚嗚!\n"): printf("嘻嘻!\n");
return 0;
}
位運算符:
# include <stdio.h>
int main(void)
{
int i = 3;
int a[5] = {1,2,3,4,5};
a[1] = 18;
3[a] = 20; //因為數組名a[3]等價於*(a+3)等價於*(3+a),所以a[3]等價於3[a]。
printf("%d\n", i<<3); //左移3位相當於乘上2的3次方
printf("%d\n", 3[a]);
return 0;
}
文件的操作
C語言中關於文件的操作函數已經封裝好了,可直接調用,關鍵是文件指針的操作與文件的讀寫
fopen(打開文件)
相關函數 open,fclose
表頭文件 #include<stdio.h>
定義函數 FILE * fopen(const char * path,const char * mode);
函數說明 參數path字符串包含欲打開的文件路徑及文件名,參數mode字符串則代表著流形態。
mode有下列幾種形態字符串:
r 打開只讀文件,該文件必須存在。
r+ 打開可讀寫的文件,該文件必須存在。
w 打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+ 打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。
a+ 以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。
fprintf()、fscanf()、fclose()等函數,網上有很多應用介紹,此處不再贅述。因為文件操作的代碼放在之前Linux服務器上找不到了,所以以這裡暫時沒有詳細的操作代碼。
/*
C語言中對文件的操作是用函數實現的,而不是用流實現的。
需定義文件指針fp,fp = 函數
打開文件函數fopen,關閉文件函數fclose。
*/
# include <stdio.h>
int main(void)
{
FILE * fp; //定義文件指針
fp = fopen(E:\file.txt, r); //返回文件指針fp
return 0;
}