《C语言程序设计总结材料》由会员分享,可在线阅读,更多相关《C语言程序设计总结材料(11页珍藏版)》请在金锄头文库上搜索。
1、wordC语言程序设计总结一、C语言程序的根本结构#include “stdio.hvoid main()定义变量;程序实现;输出结果; printf二、变量的定义1整型:int a ,b,s=0; (可以在定义的同时为变量进展赋值)长整型:long无符号整型非负整数:unsigned2单精度实型:float;3双精度实型:double l,m;4. 字符型:char c1=A,c2=b;三、变量的赋值1直接赋值:a=10 ; /用赋值号“=将右侧的值赋给左侧的变量2赋表达式的值:a=3+7;3. 赋另外一个变量的值:a=s; /把s的值赋给a 变量的输入:输入一个变量:scanf(“%d,&
2、a);输入多个变量:scanf(“%d%d%d,&a,&b,&c);int-%d float-%f char-%c double-%lf 字符串-%s变量的输出:输出一个提示语句:printf(“xxxxxx);输出一个回车:printf(“n);输出一个变量:printf(“xxx is %d, a);输出多个变量:printf(“xxxx%d, xxxx%d,a,b);练习:1 输入圆的半径,求圆的周长。四、常用流程控制语句分支语句:根据条件执行相应的语句条件的形式:a大于0 写成 a0 a小于0 写成 a=0 & a=10 a小于0或者a大于10 写成 a10一单分支if语句如果满足某个
3、条件,就做某件事情,不满足就向下执行。if(条件) 执行语句; 二双分支if语句如果满足某个条件,就做某件事情,否如此就做另外一件事情。 if(条件) 执行语句1; else执行语句2; 三多分支if语句满足哪一个条件,就做相应的语句。 if(条件1) 执行语句1; else if(条件2)执行语句2; else if(条件3)执行语句3; else if(条件4)执行语句4; else执行语句5; 四if的嵌套根据具体情况对ifelse语句进展灵活的运用 其格式如下:if(条件1) if(条件2) 执行语句a; else 执行语句b; else if(条件3) 执行语句c; else 执行语
4、句d; (五) 多分支语句 switch根据switch后的值,执行相对应的case语句,此语句了解即可,因为它的作用完全可以用多分支if来实现switch (表达式)case 值1:语句1; break;case 值2:语句2; break;case 值3:语句4; break;case 值n:语句n; break;default: 语句n+1;练习:2 某自助餐厅规定,浪费食物在20克以下的,每克罚款2元;如浪费超过20克,如此超过的局部每克加罚1元。编程求罚款金额。3 从键盘输入正方形的边长,如果边长大于零如此求出该正方形的周长和面积,否如此提示输入错误。4 输入3个数x,y,z,求其中
5、的最小值。5 输入3个数x,y,z,将其中最大值放在x中,最小值放在z中,中间值放在y中,然后输出x,y,z。循环语句:在条件成立时重复执行一组语句一当型循环 whilewhile(条件) 循环体例如:求1+2+3+100int n=1,s=0;while(n=100)s=s+n;n=n+1;二直到型循环dowhiledo 循环体 while(条件);例如:求1+2+3+100int n=1,s=0;dos=s+n;n=n+1; while(n=100);三知起至型循环forfor(循环变量初值;循环变量X围;步长) 循环体例如:求1+2+3+100int n=1,s=0;for(n=0;n=
6、100;n+) s=s+n;四循环的嵌套for(i=1;in;i+) for(j=1;jm;j+)说明:1 假设某同学参与“打气球游戏,该同学可以打5局,每局可以打10枪。这里的每局10枪就相当于内循环的次数; 5局就相当于5个10枪,也就是外循环的次数。2 这5*10枪不是一次性打完的,而且每一枪都要记是哪一局的哪一枪打出来的成绩,哪一局对应的是i,哪一枪对应的是j。(五) 使用break可以强制退出循环,其用法必须配合if来使用: 例如:for(i=0;i100;i+) if(条件) ;break;练习:1 编程求出公式s=1-1/3 + 1/5- 1/7+1/101 的值并输出2 编程输
7、出如如下图形:* * * * * * * * * * *3 编程打印九九乘法表4 编程打印出2016年1月份的日历注意:1月份的总天数是31天,其中1日是星期五。日历如下:一二三四五六 日123456789102425262728293031void main()int i,n,d; /i是循环变量,n代表总天数,d代表星期;n=31; /n代表一个月的天数d=5; /d代表星期,星期一为1,星期五为5,星期日为7printf( 一 二 三 四 五 六 日n); /一个汉字占两个字符的位置 for(i=1;id;i+) /开始日期之前用空格占位,每个日期对应3个空格 printf( ); fo
8、r(i=1;i=n;i+,d+)printf(%3d,i);if(d%7=0) printf(n);5. 在第4题的程序上进展修改,如果输入任意一个月的总天数与该月第一天的星期(1代表星期日,2代表星期一以此类推),能否打印出该月日历6. 计算x的n次方(x为双精度,n为非负整数)void main()double x,s;unsigned n,i;s=1;printf(请输入x和n:);scanf(%lf%u,&x,&n);for(i=1;i=n;i+)s=s*x;printf(jieguo is %.2lf,s);四、数组一维数组1. 一维数组:名字一样且带有下标的一组变量2. 定义形式:
9、类型名 数组名长度例如:int a10 /a数组中包含有10个整型变量,名字分别是a0、a1、a2a9这里每一个an都是一个普通的整数变量3. 一维数组的初始化:定义数组的时候就给每个数组元素赋值 int a5=2,4,6,8,10;4. 对a数组中的每一个元素依次进展操作访问的方法如下: int i; for(i=0;i9;i+) ai例如:l 通过键盘输入给a数组中的每个元素赋值l 将a数组中每一个元素都扩大2倍l 统计a数组中奇数的个数l 求a数组中的最大值l 把a数组的元素进展逆置l 把a数组中的元素进展右移练习:1 从一维数组中查找x,并返回x所在的位置,否如此提示没有找到。2 求f
10、ibonacci数列的第n项。3 求任意一个数的1存入数组。4 数组中存入10个数并进展循环左移二维数组1. 二维数组:名称一样且带有2个下标的一堆变量,逻辑上可看成n行m列的二维表格。2. 定义形式:类型名 数组名行长度列长度 例如:int a34 这里a数组中包含有3*4=12个数组元素,这12个元素的名字分别是:a00a01a02a03a10a11a12a13a20a21a22a233. 二维数组的初始化: int a34=1,2,3,4,5,6,7,8,9,10,11,12;4. 对a中数组元素的访问,需要定义2个下标变量i和j,aij代表第i行第j列的元素。按行的顺序访问: int i,j; for(i=0;i3;i+)for(j=0;j4;j+) aij按列的顺序访问: int i,j; for(j=0;j4;j+)for(i=0;i=0;i-)