經過上周的linux的開發基礎,開始了c基礎的第一天,經過一天的學習,下面我就分享一下我一天的學習成果;
c基礎的簡介;
c語言的創始人;
c語言的優缺點;
基本的固定格式;
c的數據類型;
變量的類型;
輸入、輸出的格式 ;
運算符;
算數運算符;
逗號表達式;
c語言的創始人丹尼斯.里奇被譽為c語言之父;
c語言的優缺點
大部分的操作系統都是用C來操控的
include<stdio.h>
int main()
{
printf(" ")
return 0;
}
程序解析
:預處理命令
include:頭文件的包含
<>:把括號里面的內容引入到源文件當中
stdio.h:頭文件,是計算機自帶的庫,可以直接使用
main:函數名,main()是主函數,c程序源文件有且只能有一個main函數()即主函數!!!c程序的入口,即所有的c程序都是從main()開始執行
注
此程序決定了 c的框架
c的數據類型
基本數據類型
整數類型
int\short int \long int\unsigned(無符號)\signed有符號
字符型
char
實型(浮點型)
float\double
float單精度,一般精確到7位
double雙精度,一般精確到15位
枚舉類型
enum
構造數據類型
數組類型,結構體,聯合體
指針類型
空類型
void類型,在實際中基本用不到,一般用于函數當中
int argv;參數個數
char *argv[]'記錄參數
printf();是庫函數,包含在<stdio.h>中
return 0;返回,或者函數結束
變量的定義
data;數據
type;類型
DataType num1,name2.....namen;
可以定義多個變量,中間用逗號隔開,結尾用分號結束
標識符
包括變量名、函數名、及其他標號等
1(命名規則)
可讀性高,做到見名知義
命名要求;
字母(AZ,az),下滑線(_),數字組成
規定第一個字符不能為數字
;;建議,一行定義一個變量并初始化
eg
DataType Name
get char()
獲取單個字符
put char()
輸出單個字符
格式輸入\輸出;printf(),scanf()
printf()
按一定的格式輸出
%m.nf
m;總位數
n;小數部分保留的位數
printf("5.3f\n)
%m.nf
-,對應的左對齊
+,右對齊
scanf()
按一定的格式輸入
--對應
printf(打印輸出的內容)
scanf(占位符
&;取地址符號
占位符
printf scanf
int %d %d
numf e/E n
n;一定是整數
new_numf =num *10^n;
類如
12.2E3---->12.2*10^3
常量
數字常量 123 1 57678 -543
字符常量'd' '$' '$'
實型常量1.243 3.1415926 -1.432
字符串常量由雙引號括起來的字符序列,(由一個或多個字符組成的,注意;字符串,和字符的區別)
'a' 占一個字節
"a" 占兩個字節
'\0' 字符串的結束標志,一般不顯示
"shanghai" "13ertyu?<@fg" "fg"
變量和常量之間的區別
變量;它的值是可以改變的。必須先定義,再使用
常量,它的值是固定的不可以改變,不需要定義就可以使用
變量的初始化;
變量名等于常量 注,類型一定要一致!!
運算符
sizof()
計算大小,得出對應變量或數據類型所占內存空間的大小
單位 字節byte 1字節 =8位(bit)
32位的機器,和64位的機器的結果可能會有一些偏差
算數運算符
- / %
自增;++
++i;先自增,后取值
i =i +1
num =i
i++
先取值后自增
num =i
i=i+1
關系運算符
大于:>
小于 :<
等于等于:==
大于等于>=
小于等于<=
不等于!=
以上的條件,結果成立則為一,不成立結果為零:
成立結果為真,反之結果為假:
逗號表達式
表達式1,表達式2,表達式3.....
其中每個表達式又可以是一個逗號表達式!
一次計算表達式1,表達式2,表達式3的值,整個逗號表達式的值取決與最后一個表達式的值
使用scanf()的注意事項
1,一定要嚴格按照scanf()中的格式輸入變量的值!!
2,使用scanf()時,取參數列表中的參數地址,scanf()
是將輸入的值保存到變量對應的地址中!
3緩存區問題
scanf()中不能出現換行符\n
自我意見;
c語言是比較底層的語言,學習起來針對零基礎的初學者來可能會比較吃力些,對于初學者來說,沒有捷徑可以走,唯一的方法就是多看多練,加強對代碼的練習,多敲,最好做到自我預習,把不懂的地方記錄下來,多問,針對性的解決問題;