整形分類;基本型int玛瘸;短整型short int; 長整形long int蜕青;無符號性unsigned.
實型變量分類;單精度float;
雙精度 double ;
長雙精度 long double糊渊;
putchar 函數(字符輸出函數):在顯示器上輸出單個字符右核。
其一般形式為:putchar(字符變量);
eg : ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?putchar('A'):輸出大寫字母A;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?putchar(x):輸出字符變量x的值
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?putchar('\101'):也是輸出字符A
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?putchar('\n'):換行
使用本函數前必須要用文件包含命令:#include<stdio.h>或#include"stdio.h";
getchar 函數(鍵盤輸入函數):從鍵盤上輸入一個字符渺绒。
其一般形式為getchar();eg
char c;
c=getchar();
scanf函數:格式輸出函數
scanf函數是一個標準庫函數贺喝,他的函數原型在頭文件<stdio.h>中,與printf函數相同宗兼。
它的一般形式為scanf("格式控制字符串"躏鱼,地址列表),地址是由地址運算符“&”后跟變量名組成的殷绍。
例如:&a染苛,&b,分別表示變量a和變量b的地址主到。
sizeof函數用來輸出長度茶行。
eg: ? void main()
{
int c;
printf("int:%d\n",sizeof(c));
}
分支程序設計
關系運算符:在程序中經常要比較兩個量的大小關系,以決定程序下一步的工作登钥,比較兩個量的運算符稱為關系運算符畔师。
關系運算符的優(yōu)先級低于算數運算符。
關系表達式的值是真和假怔鳖,用“1”和“0”來表示茉唉。
例如:5>0的值為真固蛾,即為1;
(a=3)>(b=5)由于3>5不成立度陆,即為0.
邏輯運算符及其優(yōu)先次序
C語言中提供了三種邏輯運算符
1)&&與運算
2)||或運算
3)艾凯!非運算
!(非)→&&(與)→||(或)
if語句
用if語句可以構成分支結構懂傀,它根據給定的條件進行判斷趾诗,以決定執(zhí)行某個分支程序段
C語言的if語句有三種基本形式
第一種形式為基本形式:
if(表達式)語句
其語義是:如果表達式的值為真,則執(zhí)行其后的語句蹬蚁,否則不執(zhí)行該語句恃泪。
第二種形式為:if-else形式;
if(表達式)
語句一犀斋;
else
語句二贝乎;
第三種形式為if-else-if形式:
前兩種形式的if語句一般都用于兩個分支的情況。當有多個分支選擇時叽粹,可采用if-else-if語句:
if(表達式1)览效;
語句一;
else if(表達式2)
語句二虫几;
else if(表達式3)
語句三锤灿;
……
else if(表達式n)
語句n;
else
語句n+1辆脸;
if語句常見錯誤
(1)在三種形式的if語句中但校,在if關鍵字之后均為表達式,該表達式通常是邏輯表達式或關系表達式啡氢,但也可以是其他表達式状囱,如賦值表達式等,甚至也可以是一個變量倘是。
例如
if(a=5)語句:
if(b)語句:
都是允許的浪箭,只要表達式的值為非零,即為”真”辨绊。
(2)在if語句中,條件判斷表達式必須用括號括起來匹表,在語句之后必須加分號门坷。
(3)在if語句的三種形式中,所有的語句應為單個語句袍镀,如果要想在滿足條件時執(zhí)行一組(多個)語句默蚌,則必須把這一組語句用{}括起來組成一個復合語句。但要注意的是在}之后不能再加分號苇羡。
例如:if(a>b)
{a++;
b++;}
else
{
a=0;
b=10;
}
if語句的嵌套
當if語句的執(zhí)行語句又是if語句時绸吸,則構成了if語句的嵌套。
其一般形式為
if()
{
if()
......
}
在嵌套內的if語句可能又是if-else型的,這將會出現多個if-else重疊的情況锦茁,這時要特別注意if和else的配對問題攘轩。
就近原則:else跟哪個if近,就跟哪個配對
在一般情況下為了便于理解應當較少使用if語句的嵌套码俩。
條件運算符和條件表達式
條件運算符為度帮?和:,他是一個三目運算符稿存,即有三個參與運算的量笨篷。
有條件運算符組成條件表達式的一般形式為;
表達式1?表達式2:表達式3
其求值規(guī)則為 :如果表達式1的值為真瓣履,則以表達式2的值作為條件表達式的值率翅,否則以表達式2的值作為整個條件表達式的值。
條件表達式通常用于賦值語句中袖迎。
例如條件語句:
if(a>b)max=a;
else max=b;
可用條件表達式寫為
max=(a>b)冕臭?a:b;
執(zhí)行該語句的語義是:如果a>b為真瓢棒,則吧a賦予max浴韭,否則把b賦予max。
使用條件運算符時脯宿,還應注意以下幾點:
1)條件運算符的運算優(yōu)先級低于關系運算符和算數運算符念颈,但高于賦值符,因此
max=(a>b)?a:b
可以去掉括號而寫成max=a>b?a:b
2)條件運算符连霉?和:是一對運算符榴芳,不能分開單獨使用。
3)條件運算符的結合方向的自右至左跺撼。
例如
a>b?a:c>d?c:d
應理解為
a>b?a:(c>d?c:d)
這也就是條件表達式嵌套的情形窟感,即其中的表達式又是一個條件表達式。
switch語句:
C語言還提供的另一種用于多分支選擇的switch語句歉井,其一般形式為;
switch(表達式){
case常量表達式1:語句一柿祈;
case常量表達式2:語句二;
...
case常量表達式n:語句n哩至;
default: ? ? ? ? ? ? ? ? ? 語句n+1躏嚎;
}
其語義為:計算表達式的值,并逐個與其后的常量表達式值相比較菩貌,當表達式的值與某個常量表達式的值相等時卢佣,即執(zhí)行其后的語句,然后不再進行判斷箭阶,繼續(xù)執(zhí)行后面所有case后的語句虚茶,如表達式的值與所有case后的常量表達式均不相同時戈鲁,則執(zhí)行default后的語句。
break語句:專用于跳出switch語句嘹叫,break語句只有關鍵字break婆殿,沒有參數。
例如
#includevoid main()
{
int a;
printf("input integer number:");
scanf("%d\n",&a);
switch(a)
{
case 1:printf("Monday\n",a);break;
case 2:printf("Tuesday\n",a);break;
case 3:printf("Wednesday\n",a);break;
case 4:printf("Thursday\n",a);break;
case 5:printf("Fridaay\n",a);break;
case 6:printf("Saturday\n",a);break;
case 7:printf("Sunday\n",a);break;
default:printf("error\n");
system("pause");
}
}
在使用switch語句時還應注意以下幾點;
1)在case后的各常量表達式的值不能相同待笑,否則會出現錯誤鸣皂,
2)在case后,允許有多個語句暮蹂,可以不用{}括起來寞缝。
3)各case和default句子的先后順序可以變動,而不會影響程序執(zhí)行結果仰泻。
4)default句子可以省略不用荆陆。