項目目標:a.基礎(chǔ)認識C語言;b.在沒有集成開發(fā)環(huán)境下寫一個簡單程序驾诈;
-// 單行注釋
-/**/ 多行注釋灵妨,不能嵌套着憨。
include 導(dǎo)入頭文件(引入聲明)要在前加上#
<系統(tǒng)提供的類庫> 如果系統(tǒng)已經(jīng)提供某些功能财饥,只需要使用include將這些功能所在的頭文件導(dǎo)入進來就行
比如stdio.h stdlib.h math.h string.h
"自己定義的頭文件“
<>系統(tǒng) ""自己
一换吧、main()函數(shù)
所有的程序的入口點都是main()函數(shù) int 返回值類型為 整形
(記錄當前程序的運行狀態(tài) 0:正常結(jié)束 資源自由分配 非0:異常結(jié)束,沒收)
int argc :參數(shù)個數(shù) argument count
char *argv[]:每個參數(shù)組成的字符串組
#include<stdio.h>
int main(int argc,char*argv[]){
printf("%d",argc);
printf("%s",argv[0]);
return 0;
}
二钥星、在沒有集成開發(fā)環(huán)境下寫一個簡單程序
程序從寫出來->有結(jié)果的過程
開發(fā)工具一般有:Vsual stdiuo;DevC++等等而我們要在沒有這些集成開發(fā)環(huán)境下寫一簡單程序沾瓦。
1.寫代碼——文本編譯器(注意:要先配置系統(tǒng)環(huán)境,一般是GCC編譯器谦炒,配置到系統(tǒng)環(huán)境中)
2.預(yù)編譯——編譯器(制定規(guī)則)gcc-e test.c-o test.i
a.檢查語法錯誤
b.展開
3.編譯->高級語言轉(zhuǎn)化為匯編代碼gcc -s test.i -o test.s
a.檢查語法錯誤
b.轉(zhuǎn)化為匯編代碼
4.匯編->把匯編代碼轉(zhuǎn)化為二進制代碼
gcc -c test.s -o test.o
a.轉(zhuǎn)化為目標文件(二進制數(shù)據(jù))
5.鏈接->把所有的目標文件鏈接為可執(zhí)行的程序 gcc -o test.o test
三贯莺、C語言基本語法
printf 輸出語句 終端 consle口
scanf 輸入語句
\n 換行
\t 一個縮進
變量->記錄數(shù)據(jù)
基本數(shù)據(jù)類型->只能存一個值。
int 整形數(shù)據(jù)
float 單精度浮點數(shù)
double 雙精度浮點數(shù)
long 長整形
char 字符
string 字符串
short 短整形
bool 是 成立 真 true 非false 不同的數(shù)據(jù)類型占據(jù)字節(jié)空間不同
如何看->
printf("%s\n",argv[0]);
printf("hellow world\n");
printf("%d\n",sizeof(short));
printf("%d\n",sizeof(char));
printf("%d\n",sizeof(int));
printf("%d\n",sizeof(bool));
printf("%d\n",sizeof(long));
printf("%d\n",sizeof(float));
printf("%d\n",sizeof(double));
return 0;
}
/*int count=0;// 4byte*8=32wei;%02d 不是兩位的用0補全
count=3;
printf("I have %d dog\n",count);
//long:更大
long size=230;
printf("%ld\n",size);
float score=95.9;//3.1415926-----變成3.141593
printf("%f\n",score);//%.2f 小數(shù)點后兩位
char choose='c';
printf("%c\n",choose) ;//中文占兩個字符---宁改?
printf("%d\n",choose);//99,c對應(yīng)的ASCII碼的值
bool status=true;//false為0缕探,非0即1真,0即假
printf("%d\n",status);
/scanf 格式化輸入
緩沖區(qū)还蹲、終端:123456'\n'--->緩沖區(qū) /
/不要再scanf里面隨便加格式撕蔼,寫的時候如果加了格式必須按格式來輸豁鲤。建議不加任何格式。 /
/
int pwd=0;
scanf("jack%d",&pwd);
printf("pwd=%d\n",pwd);
// scanf("%d%d\n",&num1,&num2);
int num1,num2;
scanf("%d %d",&num1,&num2);
printf("%d %d\n",num1,num2);/
/當某種條件成立才做事情
if(條件){成立時要做的事情}/
/*運算符:= - *
/ 除完之后取整 3/2=(1)....1 2/3=(0).....2
% 取余 7%3=2....(1) x%16+1=1___16; x%51+50=50___100 ,
&& 且鲸沮,兩個都成立時才成立
|| 或,兩個中有一個成立時成立
++ 自增+1 a++ ++a 的區(qū)別
+= a+=2_______a=a+2
-- 自減
== 等于 (判斷)
!= 不等于
? */
// c=3>1?'y':'n'; 問號表達式
//result=表達式1锅论,表達式2讼溺,表達式3 逗號表達式, 結(jié)果為表達式3
int t=20 ;
int t2=(t--,t--,t--);//if(t--,t--,t--) {printf("t=%d\n",t);} 結(jié)果為17.
if(t2){
printf("t2=%d\n",t2); //結(jié)果為18
}
四、第一個demo
#include<stdio.h>
int main(){
char *name;
int age=0;
printf("請輸入年齡:");
scanf("%d",&age);
char* gewei[]={"","one","two","tree","four","five","six","seven","eight","nine"};//保存?zhèn)€位數(shù)
char* temp[] = {"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"};//保存10--19
char* shiwei[] = {"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"};//保存十位
if(age<10){
name=gewei[age];
}
else if(age>=10&&age<=19){
int index=age%10;1
name=temp[index];
}
else{
int g=age%10;
int s=age/10;
char *sString=shiwei[s-2];
char *gString=gewei[g];
printf("You age %s-%s\n",sString,gString);
return 0;
}
printf("You age is %s\n",name);
return 0;
}
效果圖
第一天筆記:密碼:(73nvas)(http://鏈接:https://share.weiyun.com/5XBAP45)
自我感悟:通過C語言基礎(chǔ)學(xué)習(xí)最易,掌握了如何寫一個簡單的程序怒坯。