C基礎(chǔ)第一天、

目錄:

簡單的操作指令:
(printf,scanf, \t, \n, getchar, putchar, ASLLCA碼)
簡單的運算符:
(+,-,*,/, %,++,--,)
簡單的位運算符:
(|,$,~,^,<<,>>)
賦值運算符:
(=、+=、-=、/=、%=、|=)
關(guān)系運算符:
(>, <, =, !=, ==)
邏輯運算符
(&&,||,?。?br> 簡單的流程控制,初試 if 斷語句,

正文

簡單計算常識。
include <stdio.h>
int main()
/*
1.常量:不變的量
整數(shù)常量:1,2,3,4,5
字符常量:'a','h'
小數(shù)常量:1.2,1.0
字符串常量:"c" 它代表是兩個字符,還有一個字符是'\0'
地址常量:0xffff ,每一個字節(jié)(存儲單元)所對應(yīng)的編號

 計算機內(nèi)存組成的最小單位是字節(jié),1Byte=8bit
 
 常量特性:
 1>不變
 2>常量不可以作為左值(左值:賦值運算符左邊的值)

 2.標(biāo)識符的命名規(guī)范
 1>硬性規(guī)范
 (1)只能由字母,下劃線,數(shù)字構(gòu)成
 (2)不能由數(shù)字開頭
 (3)不能與C語言關(guān)鍵字相同
 
 2>建議規(guī)范
 (1)不能用拼音,多查字典
 (2)使用駝峰命名法,如numOfStudent
 (3)見名知義

 3.變量:可以改變的量
 整型變量:(整數(shù)變量)
 字符變量:
 實型變量:(小數(shù)變量)

 4.數(shù)據(jù)類型
 int:(interger)整數(shù)類型
 char:(character)字符類類型
 float:單精度浮點類型
 double:雙精度浮點類型

 5.變量定義
 數(shù)據(jù)類型  變量名;
 
 注意點:
 1>變量在同一個代碼塊不能重名
 2>代碼塊是指:在同一個{}的區(qū)域內(nèi)部
 3>變量定義出來可以不賦初值

 變量的定義
 int a;//代表將來這個a是一個存儲整數(shù)常量的變量
 /變量的初始化
int b=4.8;
char ch;
char ch1='c';
float f1;
double f2=8.9;
printf:

%d:輸出整數(shù)類型的數(shù)據(jù)
%f:輸出浮點數(shù)
%c:字符類型
%p:輸出變量在內(nèi)存中所占的地址
%md:m是數(shù)字時表示空出幾個符號位。
%mc:
%ld : ld 表示長整型。

float和double

如果是float 類型的數(shù)據(jù),精確到7位,有些機器7~8位
如果是double類型的精確到16位,有些機器15~16位

轉(zhuǎn)義字符:
\n:換行字符
\t:相當(dāng)于一個tab鍵
char ch=‘c’ ;//字符類型實際上就是一個整數(shù)類型,

小端法:低位上的數(shù)存儲在地址小的端口
大端法:低位上的數(shù)存儲在地址大的端口
0x01:小端存儲
系統(tǒng)機器的字節(jié)區(qū)------》網(wǎng)絡(luò)上的字節(jié)序-------》系統(tǒng)機器的字節(jié)序

float a=123456789.0;
printf("a=%f\n",a);

double b=123456789012345678.0;
printf("b=%f\n",b);
//float 和 double 類型的有效小數(shù)位只有6位,float整數(shù)位可以保存8位,double整數(shù)位可以保存17位。

printf("%%%d\n",78);//打印的結(jié)果顯示%78

char ch1=‘\0’ ;//空字符
char ch2='   ' ;
char ch3='0' ;
char ch4=‘A’ ;
cahr ch5='5' ;
//很重要需要熟記!
printf("ch1=%d\n ch2=%d\n ch3=%d\n ch4=%d\n ch5=%d\n",ch1,ch2,ch3,ch4,ch5);

ASIICA碼表:
‘\0’ : 0
' 空格' :  32
' 0 ' :48
' A ' :65
' a ' :97
char ch=‘c’ ;//字符類型實際上就是一個整數(shù)類型

定義多個變量:
char ch1='c' ,cha2='  ' ,ch3=,ch4=等等。
scanf的基本用法:

scanf("%d",&a);//&a:是取某個變量的地址,scanf的用法就是將輸入的值,通過地址找到地址所對應(yīng)的存儲單元,然后將值扔到存儲單元里
可以同時輸入多個變量
int a,b ;
scanf("%d%d",&a,&b)

注意點:
1>不要再scanf后面加\n
2>不要在scanf里面做太多的動作
3>scanf ""里面的類型,必須要跟后面變量的類型一致

int a;
scanf("%d",&a);//&a:是取某個變量的地址,scanf的用法就是將輸入的值,通過地址找到地址所對應(yīng)的存儲單元,然后將值扔到存儲單元里
printf(“a=%d\n”,a);

getchar:

getchar():從輸入緩存流里面取出一個字符
//可以用來分割字符串前面的部分

putchar:

putchar(): c從輸出緩存流里面拿一個字符輸出到控制臺

putchar 里面可以放置:字符變量,字符常量,整行變量

怎么拿出輸入緩存流里面的換行符?(吸收回車殘留)

1>getchar();
2>
char ch;
scanf ("%c",&ch);
3>getchar(stdion);//從輸入緩存流里面拿出一個字符,stdin:標(biāo)準(zhǔn)輸入流
//寫的不完全,以后有待補全。

運算符:

計算機是以二進制存儲數(shù)據(jù),以數(shù)據(jù)的補碼形式存儲,以數(shù)據(jù)的原碼形式輸出。
在有符號當(dāng)中(char): 字符變量-128的二進制就是1000 0000
最小值~最大值: -128~127
在無符號當(dāng)中(unsigned char):字符變量
最小值最大值:0255
計算機會進行相同類型的計算,如果類型不同,計算機內(nèi)部會進行一個隱形的轉(zhuǎn)換。char ------》int ------》float -------》

強制類型的轉(zhuǎn)換:(數(shù)據(jù)類型)變量或常量

注意點:強制類型轉(zhuǎn)換不會改變 變量原本的數(shù)據(jù)類型

算術(shù)運算符:+ - * / % ++ --
int a=1,b=3;
int c=a/b;//+ - * / % 都可以使用
float c=a/b;
printf ("c=%f\n",c);

%:左右兩邊的數(shù)據(jù)類型必須是整數(shù)類型
++:前綴++ //等號左邊數(shù)先自加 再賦給等號左邊 后綴++//等號左邊的數(shù)先賦給等號左邊 自加
原碼 反碼

原碼 :沒什么好說的 //
反碼:整數(shù)的反碼與原碼相同 負(fù)數(shù)的反碼最高位符號位不變,后面依次取反,0變1,1變0.//
補碼:在反碼的基礎(chǔ)上 加1.//

位運算符:

位或運算符 |: (只要有1就加1)

案例:
int a=7;
int b=8;
int c=a|b;
printf ("%d\n",c);

$ : 相同位的兩個數(shù)字都為1,則為1;若有一個不為1,則為0。
~:按位取反
^ : 只要是不同就為1,
<< : 左移二進制數(shù) 以0補全

,>> : 有移二進制數(shù) 以符號位補全

3賦值運算符:

=、+=、-=、*=、/=、%=、|=、

4>逗號
5> ( )
6> (type)強制類型轉(zhuǎn)換

案例:float f=5.75;
printf ("(int)f=%d,f=%f\n",(int)f,f);
//結(jié)果顯示(int)f=5,f=5.75
(int)(x+y) 把x+y的結(jié)果強制轉(zhuǎn)化為整型。

7> sizeof (數(shù)據(jù)類型/變量名)

用法:sizeof

8 >關(guān)系運算符

< >= <= == !=
關(guān)系運算符,所得的結(jié)果是一個邏輯值,在計算機當(dāng)中,邏輯值分為0和1,如果這事實是真的,那么邏輯結(jié)果就是1,否則為0.

9>邏輯運算符

&&:并且 事件1并且事件2成立,邏輯才為1
||:或 事件1或事件2一個成立,邏輯就成立為1
?。。悍恰∈录怀闪⒌臅r候,整個運算結(jié)果為1
注意點:事件1&&事件2,當(dāng)事件1不成立時,就不執(zhí)行事件2,因為邏輯結(jié)果總為0
注意點:事件1||事件2,當(dāng)事件1成立時,就沒有必要執(zhí)行事件2,因為邏輯成立結(jié)果總為1.

10>取變量地址運算符&:
int a;
scanf("%d",&a);
11.三部運算符:條件?語句1:語句2;

功能分析:如果條件成立,就執(zhí)行語句1否則就執(zhí)行語句2。
案例一:輸入兩個整數(shù)變量,求其最大值,并輸出。
案例二:
案例三:輸入三個整數(shù),求其最大值,用三部運算符。
案例四:判斷輸入的字符,是否是大寫字母?如果是大寫字母轉(zhuǎn)換成小寫字母,并輸出。

11>三大流程控制:

1 ) 順序流程控制
2)選擇流程控制
,,在計算機當(dāng)中,如果指定邏輯值,如果為0,才會為假 其他都為真,非0即1
語法例子:
···if(條件)

,,,語句1;
}
else if(條件)
{
,,,語句2;
}
else{
,,,語句3;
}

,,條件成立 就執(zhí)行{ }里面的語句
有if 就有else 否則 、和else if
注意點:
(1)else可有可無,如果有就必須在最下面。
(2)if 語句只能執(zhí)行一條

練習(xí):輸入兩個整數(shù)變量,交換兩個變量的值,并打印出來。
自己試一試!

   輸入兩個整數(shù)變量,交換倆個變量的值,并打印出來
   int a,b;
   printf("輸入兩個數(shù):");
   scanf("%d%d",&a,&b);
   printf("交換之前a=%d,b=%d\n",a,b);
   int temp=a;
   a=b;
   b=temp;
   printf("交換之后a=%d,b=%d\n",a,b);
   
   2>輸入兩個整數(shù)變量,求其最大值,并輸出
   
   3>發(fā)錢了,自己輸入工資,如果發(fā)的錢<=1000,拿到的實際的錢就是所發(fā)的錢;如果發(fā)的錢>1000,拿到的錢超過1000的部分交%5的稅錢,問實際工資拿多少?用三目運算符完成
   
   printf("??:");
   float money;
   scanf("%f",&money);
   float salary;
   salary=money<=1000?money:(money-(money-1000)*0.05);
   printf("salary=%f\n",salary);
   
   4>求輸入的三個整數(shù)的最大值,用三目運算符
   printf("請輸入三個數(shù):");
   int a,b,c;
   scanf("%d%d%d",&a,&b,&c);
   int max=a>b?(a>c?a:c):(b>c?b:c);
   printf("max=%d\n",max);
   
   
   5>判斷輸入的字符,是否是大寫字母,如果是大寫字母轉(zhuǎn)換成小寫字母,并輸出
   printf("請輸入一個字母:");
   char ch;
   ch=getchar();
   if(ch>=65&&ch<=65+25)//if(ch>='A'&&ch<='Z')
   {
       printf("%c\n",ch+32); //ch+'a'-'A'
   }
   
   6>選優(yōu)秀演員,滿分100,自己打一個評分,等級要求:0<xx<60不及格,60<=xx<85 及格 ;85<=xx<90 良好,90<=xx<=100 優(yōu)秀演員,輸出最后的等級
   printf("score:");
   int score;
   scanf("%d",&score);
   if(score>=90&&score<=100)
   {
       printf("優(yōu)\n");
   }
   else if (score>=85)
   {
       printf("良\n");
   }
   else if (score>=60)
   {
       printf("及格\n");
   }
   else if (score>=0)
   {
       printf("不及格\n");
   }
   ```



(*)最近開始整理,一遍整理一遍補足。有錯誤,不對的希望可以指出來。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,619評論 6 539
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,155評論 3 425
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 177,635評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,539評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 72,255評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,646評論 1 326
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,655評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,838評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,399評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,146評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,338評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,893評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,565評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,983評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,257評論 1 292
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,059評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,296評論 2 376

推薦閱讀更多精彩內(nèi)容

  • 第1章 第一個C程序第2章 C語言基礎(chǔ)第3章 變量和數(shù)據(jù)類型第4章 順序結(jié)構(gòu)程序設(shè)計第5章 條件結(jié)構(gòu)程序設(shè)計第6章...
    小獅子365閱讀 10,710評論 3 71
  • 這個是初始版本,還會進行改正和補充,請大家認(rèn)真熟悉這些基礎(chǔ)知識!如有錯誤,請在評論區(qū)留言@作者 總體上必須清楚的:...
    亦一銀河閱讀 2,522評論 3 40
  • 指針是C語言中廣泛使用的一種數(shù)據(jù)類型。 運用指針編程是C語言最主要的風(fēng)格之一。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu); ...
    朱森閱讀 3,464評論 3 44
  • 孤獨是空氣,無孔不入
    def924f1e9f2閱讀 77評論 0 0
  • 喧囂的都市里 街道上車水馬龍 霓虹燈下的人們 各自為命運而奔波 看不見星夜里的光輝 喧囂的都市啊 何時才能沉入夢鄉(xiāng)
    榕墟閱讀 150評論 0 0