标签:des style blog http io color ar os 使用
1.前导程序
//统计字符、单词和行 #include<stdio.h> #include<ctype.h> //为isspace()提供函数原型 #include<stdbool.h> //为bool、true和flase提供定义 #define STOP ‘|‘ int main(void) { char c; //读入字符 char prev; //前一个读入字符 long n_chars=0L; //字符数 int n_lines=0; //行数 int n_words=0; //单词数 int p_lines=0; //不完整的行数 bool inword=false; //如果C在一个单词中,则 inword等于true printf("Enter text to be analyzed(| to terminate):\n"); prev=‘\n‘; //用于识别完整的行 while((c=getchar())!=STOP) { n_chars++; //统计字符 if(c==‘\n‘) n_lines++; //统计行 if(!isspace(c)&&!=inword) { inword=true; //开始一个新单词 n_words++; //统计单词 } if(isspace(c)&&inword) inword=false; //到达单词的结尾 prev=c; //保存字符值 } if(prev!=‘\n‘) p_lines=true; printf("characters=%ld,words=%d,lines=%d,", n_chars,n_words,n_lines); printf("partial lines=%d\n",p_lines); return 0; }
2.If语句
求出温度低于零度的天数的百分比 //求出温度低于零度的天数的百分比 #include<stdio.h> int main(void) { const int FREEZING=0; float temperature; int cold_days=0; int all_days=0;//初始化天气温度输入总天数 printf("Enter the list of daily low temperatures.\n"); printf("Use Celsius,and enter q to quit.\n"); while(scanf("%f",&temperature)==1)//有正确输入则进入循环 { all_days++; if(temperature<FREEZING) cold_days++;//零度以下温度天数计数器 } if(all_days!=0) printf("%d days total:%.1f%% were below freezing.\n", all_days,100.0*(float)cold_days/all_days); if(all_days==0) printf("No data entered!\n"); return 0; }
3.在If 语句中添加else关键字
if(expression) statement1 else statement2 //如果希望在if和else之间有多条语句,则必须用于{}
改变输入,只保留其中的空格 //改变输入,只保留其中的空格 //getchar()和putchar()只对字符起作用,不需要格式说明符 #include<stdio.h> #define SPACE ‘ ‘ int main(void) { char ch; ch=getchar(); //读取一个字符 while(ch!=‘\n‘) //当一行未结束时 { if(ch==SPACE) //空格的时候不变 putchar(ch);//不改变这个字符 else putchar(ch+1); //改变其他字符 ch=getchar();//获取下一个字符 } putchar(ch); //打印换行字符 return 0; }
4.获得逻辑性
5.条件运算符?:(唯一一个 三元运算符)
//使用条件运算符 #include<stdio.h> #define CONVERACE 200 int main(void) { int sq_feet; int cans; printf("Enter number of square feet to be painted:\n"); while(scanf("%d",&sq_feet)==1) { cans=sq_feet/CONVERACE; cans+=((sq_feet%CONVERACE==0))?0:1; printf("You need %d %s of print.\n",cans,cans==1?"can":"cans"); printf("Enter next value(q to quit):\n"); } return 0; }
6.循环辅助手段continue和break
(1)continue适用于三种循环模式,当运行到该语句时它导致剩下的迭代部分被忽略,开始下一次迭代。可以再主语句中消除一级缩排,还可以作为占位符。
while((ch=getchar())!=‘\n‘)
{ if(ch==‘\t‘)
continue;
putchar(ch);
}//该循环跳过制表符,并且仅当遇到换行符时退出。
//使用continue跳过部分循环 //程序接受输入一系列数字,然后输出最小值和最大值 #include<stdio.h> int main(void) { const float MIN=0.0f; const float MAX=100.0f; float score; float total=0.0f; int n=0; float min=MAX; float max=MIN; printf("Enter the first score(q to quit):"); while(scanf("%f",&score)==1) { if(score<MIN||score>MAX) { printf("%0.1f is an invalid value,try again:",score); continue; } printf("Accepting %0.1f:\n",score); min=(score<min)?score:min; max=(score>max)?score:max; total+=score; n++; printf("Enter next score (q to quit):"); } if(n>0) { printf("Average of %d scores is %0.1f.\n",n,total/n); printf("Low=%0.1f,high=%0.1f\n",min,max); } else printf("No valid scores were entered.\n"); return 0; }
(2)break语句导致程序终止包含它的循环,并进行程序的下一阶段。break语句使程序转到紧接着该循环后的第一天语句去执行,在for循环中,与continue不同,控制段的更新部分也将被跳过,嵌套循环中的break语句只是使程序跳出了里层的循环,要跳出外层的循环则需要另外的break语句。
使用break语句跳出循环 //使用break语句跳出循环 #include<stdio.h> int main(void) { float length,width; printf("Enter the length of the rectangle:\n"); while(scanf("%f",&length)==1) { printf("Length=%0.2f:\n",length); printf("Enter its width:\n"); if(scanf("%f",&width)!=1)//导致程序终止包含它的循环,并进行程序的下一阶段 break; printf("Width=%0.2f:\n",width); printf("Area=%0.2f:\n",length*width); printf("Enter the length of the rectangle:\n"); } printf("Done.\n"); return 0; }
7.多重选择:switch和break
使用swithch语句 //使用swithch语句 #include<stdio.h> #include<ctype.h> int main(void) { char ch; printf("Give me a letter of the alphabet,and I will give an animal name\n"); printf("beginning with that letter.\n"); printf("Please type in a letter:type # to end my cat.\n"); while((ch=getchar())!=‘#‘) { if(‘\n‘==ch) continue; if(islower(ch)) switch(ch) { case ‘a‘: printf("argali,a wild sheep of Asia\n"); break; case ‘b‘: printf("babirusa, a wild pig of Malay\n"); break; case ‘c‘: printf("coati,racoonlike mammal\n"); break; case ‘d‘: printf("desman,aquatic,molelike critter\n"); break; case ‘e‘: printf("echidna,the spiny anteater\n"); break; case ‘f‘: printf("fisher,brownish marten\n"); break; default: printf("That‘s a stumper!\n"); }//switch语句结束。 else printf("I recognize only lowercase letters.\n"); while(getchar()!=‘\n‘) continue;//跳过输入行的剩余部分 printf("please type another letter or a #.\n"); }//while循环结束 printf("Bye!\n"); return 0; }
8.goto语句
标签:des style blog http io color ar os 使用
原文地址:http://www.cnblogs.com/dondre/p/4089952.html