ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:25.63KB ,
资源ID:10325777      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10325777.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c总结学习.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c总结学习.docx

1、c总结学习一、C示例讲解1、将100200之间的素数打印出来1 N-S图 2.16 P7 程序P10 (6)(C程序设计题解.)2 求素数N逻辑方法是:先定义i且in):m/n付给r,即rm,则m自动取n值,保证n个实际字符正常输出 %m.nf,指定输出的数据共占m列,其中有n位小数,如果数值长度小于m,则左端补空格 %-m.nf,指定输出的数据共占m列,其中有n位小数,如果数值长度小于m,则右端补空格格式的输入与输出Scanf(“格式控制,地址列表”),printf(“格式控制,输出列表”)说明:格式控制由%和格式字符组成,如%d,%f;地址列表由&+字符名组成;scanf(“%d”,&a)

2、 输出列表是需要输出的一些数据,如%d;输出列表由字符名组成;printf(“%d”,a) Putcher只能输出字符,而且只能是一个字符,而printf可以输出多个数据,且为任意类型4 输入数据不能规定长精度,如可scanf(“%7.2f”,&a);想使a值为12345.67是不 合法的,只有输出才可规定精度如printf(“%7.2f”,a);输入时要与输出时格式相对应:scanf(“%d:%d”,&a,&b),在銉盘上输入12:13VB里的输入与输出格式要求,各运算符的表示与计算,各种数据的表示,如:字符,实数等 2、选择结构程序设计 内嵌套 if() if switch() If()

3、else if case1: Else else if case2: Else else if case3: 注:C中没有end if 格式的应用实例 例1有3个整数a b c由键盘输入,输出其最大的数的方法,画出N-S图(见设计解题P25) Main() Int a,b,c; Printf(“请输入三个整数”); Scanf(“%d,%d,%d”&a,&b,&c); If (ab) If(bc) Printf(“max=%dn”,c); 只有一个“;”号,表示这所有的是一句,if内嵌套 Else Printf(“max=%dn”,c); 另一句 Else if(ab) Printf(“max

4、=%dn”c); 另一句 Else Printf(“max=%dn”,a); 另一句例2、 x (x1)y= 2x-1 (1=x=10)Main() Int x,y; Scanf(“%d”,&x); If (x1) y=x; printf(“x=%3d,y=x=%dn”,x,y); “x=”, “y=x=”是输出字符,这是一句Else if(x=300) C=12; Else if c=s/250; Switch(c) c是switch的表达式 Case 0:d=0;break; 0, 1等是switch的常量表达式 Case 1:d=2;break; . Case 12:d=15;break

5、; switch的表达式要与case后面的常量表达式的数据 类型及值是一样的F=p*w*s*(1-d/100.0);Printf(“weight=%15.4f”,f); #找出VB的选择结构框架及示例 3、循环结构 一、循环的控制 goto语句1、 goto 语句及goto语句构成的循环goto语句为无条件转向语句,格式为 goto 语句标号;语句标号由字母、数字和下划线组成,其第一个字符必须为字母或下划线;如goto 123(错),goto label_1(对)2、 作用:与if语句一起构成循环例:求1+2+3+-+100的和 Main() Int I,sum=0; I=1; Loop:if

6、 (i=100) Sum=sum+I; I+; Goto loop; Printf(“%d,sum); 二、循环的控制 while语句 结构(表达式)语句当表达式为非0时,执行while语句中的内嵌套语句,表达式只能为关系表达式、逻辑表达式,当表达式为常量表达式时,就进入死循环例:求1+2+3+-+100的和 Main() main() int sum=0,I; Int I,sum=0; scanf(“%d”,&i); I=1; while (i=10) While (i=100) sum=sum+i Sum=sum+I; i+ I+; printf(“sum=%d”,sum);Printf(

7、“%d”,sum); 三、循环的控制 do-while语句 格式 do / 循环语句 / while (表达式) 特点:先执行一次指定的循环语句,然后判断是否符合要求去执行循环例:求1+2+3+-+100的和 Main( ) main () int sum=0,I ; scanf(“%d”,&i); Int I,sum=0; do sum=sum+I; i+; I=1; while (i=10); printf(“sum=%d”,sum); Do Sum=sum+I; while 与do-while循环的比较:一般情况下,当处理同一问题时, I+; 并循环体部分是一样的,则结果相同,但如whi

8、le后面的表达式 一开始为假(0值)时,两种循环的结果是不同的,如上右边两While (i=100); 例中输入1 则两结果都是sum=55;如输入11,则while循环结果Printf(“%d”,sum); 是sum=0,而do-while循环结果是sum=11 四、for循环语句 表达式形式:for (表达式1;表达式2;表达式3;) 它的执行过程:a、先求解表达式1;b、求解表达式2,若其值为真,则执行for语句指定的内嵌套语句,然后执行下面的语句,若为假,则结束循环语句;c、求解表达式3,求解完后再回头(循环)去执行求解表达式2.例剖析 相当 i=1;For (i=1;i=100;i+

9、) while (i=100)Sum=sum+I; sum=sum+I;i+;一般情况下,for 语句可以改写成while语句;即:表达式1;while (表达式2) 语句;表达式3 for 循环的表达式1、3可省,具体省略后的形式变化见课本P111-112五、循环的嵌套 While() do for (;) for (;) While() do 执行语句; while(); while(); 执行语句;几种循环的比较见课本P114Break语句和continue语句Break语句用来从循环体中跳出 循环体提前结束循环,接着执行下面的语句,但它不能用于循环语句和switch语句之外的任何其它语

10、句Continue语句用来结束本次循环,不是终止整个循环体Continue的应用例子 Main() Int n; For (n=100;n=200;n+) If (n%3=0) 当n能被3整除时执行continue语句,结束本次循环(即跳过 Continue; printf函数语句)只有当n不能被3整除时才能执行printf Printf(“%d”,n); 函数For 内嵌套实例打印出以下图案 * main() * int I,j,k; * for (i=0;i=3;i+) i控制输出行(上面的4行) * for (j=0;j=2-I;j+) 此for号可省,因与前for没有;号,是同一句 *

11、 printf(“ ”); 输出*号前面的空格 * for (k=0;k=2*I;k+) 输出*号 * printf(“*”); 输出完一行*号后换行 printf(“n”); for (i=0;i=2;i+) 输出下面的3行*号 for (j=0;j=I;j+) 此for号可省,因与前for没有;号,是同一句 Printf(“ “); 输出*号前面的空格 For (k=0;k=4-2*I;k+) Printf(“*”); 输出*号 Printf(“n”); 输出完一行*号后换行“ # for (.) for (.) 效果等同情况:因为第二个for没有并行语句, for (.) for (.)

12、 因为第三个for都属于第二个for循环的执行 for (.) for (.) 语句,如果第二for有平行语句就不同了例:main( ) 结果为: * 如去掉第二个for后 int I,j,k; * 的;结果为: For(i=0;i=3;i+) * for(j=0;j=2-I;j+) * * Printf(“ ”); For(k=;k=2*I;k+) 可见两种情 况结果不同,原因在于第二个 Printf(“*”); for后第二for有平行语句Printf(“ ”) Printf(“n”); 第三个for不属于第二个for循环的执行 例:main( ) int I,j,k; 结果: 去掉第二个

13、for的结果是: For(i=0;j=3;i+) * for(k=0;k=2*I;k+) * Printf(“*”); * * Printf(“n”); * 例:main( ) int a,b; 程序运行结果: For(a=1;a=3;a+) 1*1=11*2=21*3=31*4=4 for(b=1;b=4;b+) 2*1=22*2=42*3=62*4=8 Printf(%d*%d=%d,a,b,a*b); 3*1=33*2=63*3=93*4=12 Printf(“n”); 去掉第二个for运行结果是 1*1=11*2=21*3=31*4=42*3=62*4=83*1=31*2=63*3=9

14、3*4=12例:main( ) main( ) Int a,b; Int a,b; For(a=1;a=3;a+) For(a=1;a=3;a+) for(b=1;b=4;b+) for(b=1;b=4;b+) Printf(%d*%d=%d,a,b,a*b); Printf(%d*%d=%d,a,b,a*b); 运行结果一样是:1*1=11*2=21*3=31*4=42*3=62*4=83*1=31*2=63*3=93*4=123、 一维数组元素一、 小知识点1 数组里的元素下标是从零开始的,常量表达式中可以包含常量和符号常量,不能是变量2 可以只给一部分元素付值,如:int 10=1,2,

15、3,4,5,而这只是给数组前五个元素付值3 如果想使一个数组中的全部元素付值为0,可以写:int 10=0,0,0,0,0,0,0,0,0,0或写成a10=04 在对全部数组元素付初值时可以不指定数组长度如:a=1,2,3,4,5,在定义数组后,如:a10=1,2,3,4,5,6,7,8,9,从键盘上获取元素时可用scanf(“%d”,&ai),但不能写成scanf(“%d”,&a)或scanf(“%d”,&a)或scanf(“%d”,a)4、 二维数组元素 格式:类型说明符 数组名常量表达式常量表达式 如:float 34,float 510定义a为3*4(3行4列),b为5*10(5行10

16、列)的数组 A00,A01,A02,A03 A34= A10,A11,A12,A13 A20,A21,A22,A23 二维数组的付值:I、分行付值:int a34=1,2,3,4,5,6,7,8,9,10,11,12 等同于int34=1,2,3,4,5,6,7,8,9,10,11,12 1,0,0,0 其值是对II、 可以对部分付值:int 34=1,5,9等同于a34= 5,0,0,0 各行中的 9,0,0,0 第一个元素Int a34=1,5,6,对第三行不付值,Int a34=1,,5,6第二行不付值III、对数组全部付值时可以省略行数的下标如:a34=1,2,3,4,5,6,7,8,

17、9,10,11,12效果等同于a 4= 1,2,3,4,5,6,7,8,9,10,11,12IV、可以只对部分元素付值,而省略第一维的长度(行的下标),但应分行付值,如:Int a 4=0,0,3,0,10,效果等同第一行0,0,3,0第二行0,0,0,0第四行0,10,0,0二维数组应应用用举例:1 2 3 1 4 将a=4 5 6 的行与列互换成b= 2 5 3 6 程序: main( ) int a23=1,2,3,4,5,6; Int b32,ij; Printf(“array a:n”); For (i=0;i=1;i+) for (j=0;j=2;j+) printf(“%5d”,

18、aij);Bji=aij; aij中的i与倒数第二行bij中的i不一定一样 Printf(“n”);式 因为i是变量,其值是可变的,故i在程序中是不 Printf(“array b:n”); 确定的 For (i=0;i=2;i+) for (j=0;j=1;j+)Printf(“%5d”,bij);Printf(“n”);N-S图 for i=1 前程序的N-S图 for i=2 后段程序的N-S图 For j=2 for i=1 输出aij 输出bij 并aji=aij5、 字符数组1 字符数组的定义:基本与前面的整型数组定义相同,不同之处:如果初值个数小于数组长度,只将这些字符付给数组中

19、的前面那些元素,其余的元素定义为空字符。2 字符数组引用实例输出一个钻石图形程序: main( ) char diamond5=“ , ,*”,“ ,*, ,*”“*, , , ,*”,“ ,*, ,*”,“ , , *” Int I,j; 输出结果 * For (i=0;i5;i+) * * for (j=0;jy?x:y; 语句; c=max(a,b); a,b是实参 return (z) printf(“max is %d”,c); # 类型特别说明1 上例中没有函数定义,即int max(int x,int y)前的int,原因在于C语言规定凡不加类型说明的函数,一律自动按整型处理2 定义函数时对函数值说明的类型一般应该和return语句中的表达

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1