(个人整理)C语言复习资料——C语言整理(程序).docx_第1页
(个人整理)C语言复习资料——C语言整理(程序).docx_第2页
(个人整理)C语言复习资料——C语言整理(程序).docx_第3页
(个人整理)C语言复习资料——C语言整理(程序).docx_第4页
(个人整理)C语言复习资料——C语言整理(程序).docx_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

输入一行字符,统计并输出其英文字母、数字字符和其他字符的个数。程序: #include #include void main( ) char a80,i=0; int e=0,d=0,k=0; printf(输入一个字符串:n);gets(a); for(i=0;ai!=0;i+) if(ai =a & ai=A & ai=0 & ai=9) d+; else k+; printf(英文字母个数是:%dne); printf(数字字符个数是:%dnd); printf(其他字符个数是:%dnk); 算法口诀累加累乘整除性,最大最小双重循,一查两排两遍历,函数调用文件行。3.1.1 选择结构一.控制结构:1. 简单判断:if(表达式) 语句2. 选择分支:if(表达式) 语句1 else 语句23. 多条件选择:if(表达式1) 语句1 else if(表达式2) 语句2else if(表达式3) 语句3 else 语句n4.情况语句:switch(表达式) case 常量表达式1:语句段1case 常量表达式2:语句段2case 常量表达式n:语句段ndefault: 语句段n+15.嵌套的if - else语句if(表达式1) if(表达式2) 语句1 else语句2elseif(表达式3) 语句3 else语句4二.说明:1在这5种控制结构中,第1种简单判断使用起来最简单,但也最实用,可以作为首选,虽然在编制程序时语句多用几句,但用起来却很方便。2第2种选择分支往往用在两种情况的判断,使用时要注意语句1和语句2后面都有分号。3第3种多条件选择是if -else语句的一种嵌套形式,由于它可以直接用于多条件的选择判断,所以单独作为一种形式列出。在使用时,有时比switch语句更简单,要注意最后一个else的后面没有if。4第4种情况语句要注意switch后面的表达式是与case后面的常量表达式匹配,而不能与一般的含变量的表达式匹配。语句段后面没有break语句时是入口开关,有break语句时才是真正的多路开关。5第5种嵌套的if - else语句使用起来最灵活,其实,以上各种形式的分支结构间相互都可以嵌套,当有多种形式的分支结构嵌套时,特别要注意else总是与它最近的没有匹配的if相匹配。文件包含:#include 输入输出、文件 #include 数学 #include 字符串 #include 字符 #include 其它常用数学函数:ex exp(x)xy pow(x,y)|x| fabs(x) abs(x)lnx log(x)lgx log10(x)x1/2 sqrt(x)循环结构一 控制结构1 当型循环:while(表达式) 语句2 直到型循环:do语句 while(表达式);3 步长型循环:for(表达式1; 表达式2; 表达式3) 语句二 说明:1第1种当型循环当“表达式”为 非0 值时,执行语句,“语句”部分就是循环体, while 循环是先判断后执行。如果语句部分包含一个以上的语句,那么应该用复合语句“ ”的形式。在循环体中应有使循环趋于结束的语句。否则会造成死循环。当表达式一开始就不成立时,会造成一次也不做的循环。2第2种直到型循环先执行“语句”,后判断“表达式”, 即至少执行一次循环体。当“表达式”的值为 非0 时,返回重新执行“语句”。 对于同一个问题, 既可以用 while语句 , 也可以用 do-while语句 处理。while语句可能一次也不执行循环体,但do-while语句至少执行一次循环体。特别要注意while 语句后加分号 ;。3第3种步长型循环是应用最广泛,也是最重要的一种控制格式。其执行过程是: 1) 求解表达式1; 2) 求解表达式2: 如果值为真(非0), 则执行“语句”部分; 如果值为假( 0 ), 则结束循环; 3) 当表达式2为真时, 在执行了“语句”部分后, 求解表达式3;4)转到第2步继续执行. 在步长型循环的一般格式中,表达式1、表达式2、表达式3可以是任意表达式,理解和在程序设计实践中掌握for语句的格式和功能,是学习程序设计的重要一环。必须认真掌握。for 语句最常用的形式:for (循环变量赋初值;循环结束条件;循环变量加步长) 语句所以把它称为步长型循环。4break 语句:break 语句除了可以用来跳出 switch 结构之外,还可以用来从循环体内跳出循环。 语句的一般形式:break;5 cntinue 语句:其作用是结束本次循环。即跳过循环体中的 continue 后面的其它语句,接着进行下一次是否执行循环的判断。语句的一般形式:continue; break语句和continue语句的区别是: (1). break语句结束整个最内层循环,不再进行条件判断。(2) continue语句只结束本次循环,直接进行是否执行下一次循环的判断。6循环结构的最基本应用,可以实现程序中的计数和累加、累乘。一、 累加累乘基本知识:不变式功能公式初值X=X+1计数0S=S+X累加0S=S*I累乘N!1S=S*X累乘Xn1二、 整除性(循环与分支的嵌套)基本知识: x%y=04.数位截取基本知识:while(x) d=x%10;处理x=x/10;(1)输入一个正整数,将其逆序输出。例如,输入12345,输出54321scanf( “%d”, &x) ;while (x0) printf( “%d ” , x%10) ; x=x/10 ;(2)从键盘读入一个整数,统计该数的位数。例如,输入1234,输出4;输入0,输出1。#include void main( )int count, number; /* count 记录number的位数 */count = 0;printf(Input a number: ); /* 输入提示 */scanf (%d, &number) ;if (number 0) number = -number; do /* 判断循环条件 */ number = number / 10; /* 整除后减少一位个位数,组成一个新数 */ count +;/* 位数加1 */ while (number != 0); /* 判断循环条件 */printf(It contains %d digits.n, count);三、 最大最小(循环与分支的嵌套)1.简单变量#include void main() int i,n;float max,min,x; scanf(“%d”,&n);scanf(“%f”,&x);max=min=x; for(i=1;in; i+) scanf(“%f”,&x); if(maxx) max=x; if(xmin) min=x;printf(%f %f, max , min); 2.一维数组#include void main() int i;float max,min,a10; for(i=0;i10; i+) scanf(“%f”,&ai);max=min= a0; for(i=1;imax) max= ai; if(aimin) min= ai;printf(%f %f, max , min); 3.二维数组#include void main() int i,j;float max,min,a3 4;for(i=0;i3; i+) for(j=0;j4; j+) scanf(“%f”,&aij);max=min= a00;for(i=0;i3; i+) for(j=0;jmax) max= ai j; if(ai jmin) min= ai j;printf(%f %f, max , min); 4.编制函数,其功能是在float类型1维数组中查找最大值、最小值,并将它们返回到调用程序。(指针)#include void max_min(int x , int n, int *max, int *min) int i,;*max=x0; *min=x0;for(i=1;in; i+) if(*maxxi) *max=xi; if(xi*min) *min=xi; void main( ) int x10,i,min,max;for(i=0;i10;i+) scanf(%d,x+i);max_min(x,10,&max,&min);printf(MAX=%d MIN=%dn,max,min); 四、 数组与双重循环1.输入与输出例如:对一维数组有 int a10; 定义后,输入格式为: for(i = 0; i 10; i+) scanf(“%d”, &ai); 输出格式为: for(i = 0; i 10; i+) printf(%d , ai); 对二维数组有 int a32; 定义后, 输入格式为: for(i = 0; i 3; i+) for(j=0; j2; j+) scanf(“%d”,&aij ); 输出格

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论