C中的逗號(hào)運(yùn)算符
C中關(guān)于數(shù)組的簡(jiǎn)介
C中使用函數(shù)返回值的循環(huán)
C中的關(guān)鍵概念
C中的逗號(hào)運(yùn)算符
逗號(hào)運(yùn)算符擴(kuò)展了for循環(huán)的靈活性∏有埃可以在for循環(huán)中包含更多的表達(dá)式次屠。
/**
* 逗號(hào)運(yùn)算符
*/
#include<stdio.h>
int main(void)
{
const int FIRST_OZ = 46;
const int NEXT_OZ = 20;
int ounces,cost;
printf(" OUNCES COST\n");
for (ounces = 1,cost = FIRST_OZ;ounces <= 16; ounces++,cost += NEXT_OZ)
printf("%5d $%4.2f\n",ounces,cost /100.0 );
return 0;
}
結(jié)果如圖
數(shù)組的簡(jiǎn)介
聲明
float debts[20]
聲明debts是一個(gè)內(nèi)含20個(gè)元素的數(shù)組馏予,每個(gè)元素都可以?xún)?chǔ)存float類(lèi)型的值掀宋,數(shù)組的第一個(gè)元素是debts[0]深纲。
這里要注意一個(gè)前在的陷阱,考慮到影響執(zhí)行的速度劲妙,C編譯器不會(huì)檢查數(shù)組的下標(biāo)是否正確湃鹊,在實(shí)際開(kāi)發(fā)過(guò)程中,應(yīng)該走一下判斷镣奋。防止問(wèn)題發(fā)生币呵。-
可以吧字符串儲(chǔ)存在char類(lèi)型的數(shù)組中(一般而言,char類(lèi)型數(shù)組的所有元素都儲(chǔ)存char類(lèi)型的值)侨颈。如果char類(lèi)型的數(shù)組末尾包含一個(gè)表示字符串末尾的空字符\o ,則該數(shù)組中的內(nèi)容就構(gòu)成了一個(gè)字符串(見(jiàn)圖)余赢。
關(guān)鍵概念
循環(huán)是一個(gè)強(qiáng)大的編程工具芯义,在創(chuàng)建循環(huán)時(shí),要注意以下3個(gè)方面:
- 注意循環(huán)的測(cè)試條件要能使循環(huán)結(jié)束
- 確保循環(huán)測(cè)試中的值在首次使用之前已初始化
- 確保循環(huán)每次迭代都更新測(cè)試的值妻柒。
C通過(guò)求值來(lái)處理測(cè)試條件扛拨,結(jié)果為0表示假,非0表示真蛤奢。帶關(guān)系運(yùn)算符的表達(dá)式常用于循環(huán)測(cè)試
練習(xí)題
1.實(shí)現(xiàn)金字塔鬼癣。輸入一個(gè)字母陶贼,實(shí)現(xiàn) A ABA ABCBA ...
#include<stdio.h>
int main(){
char c;
int i = 0;
printf("Please input a letter\n");
scanf("%c",&c);
if(c < 'A'|| a>'Z'){
printf("Please input right letter");
}else{
for(char j,i='A';i<=c;++i){
for(j='A';j<=i;++j){
printf("%c",j);
}
for(j-=2;j>='A';--j){
printf("%c", j);
}
printf("\n");
}
}
return 0;
}
2.請(qǐng)輸入上下限的數(shù)字的平方和
#include<stdio.h>
int main(void){
int num1,num2;
int sum = 0;
printf("Please the min number \n");
scanf("%d",&num1);
printf("Please input the max number\n");
scanf("%d",&num2);
for(int i = num1; i<=num2 ;i++){
sum = sum + i*i;
}
printf("%d\n",sum );
return 0;
}
3.有一對(duì)兔子啤贩,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔
子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔子拜秧,假如兔子都不死痹屹,問(wèn)每個(gè)月的兔子總數(shù)為多少?
按“對(duì)”來(lái)做 規(guī)律為:1,1,2,3,5,8,13,21....
eg:
#include<stdio.h>
int main(void){
long f1,f2;
int i;
f1=f2=1;
for(i=1;i<=20;i++){
printf("%12ld %12ld\n",f1,f2);
if(i%2 == 0){
printf("\n");
}
f1=f1+f2;
f2=f1+f2;
}
return 0;
}