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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言程序设计总结资料.docx

1、C语言程序设计总结资料C语言程序设计总结一、C语言程序的基本结构#include “stdio.h”void main() 定义变量; 程序实现; 输出结果; printf二、变量的定义1整型:int a , b, s=0; (可以在定义的同时为变量进行赋值) 长整型:long 无符号整型(非负整数):unsigned2单精度实型:float x, y, z=1.0 ;3双精度实型:double l,m;4. 字符型:char c1=A, c2=b;三、变量的赋值1直接赋值:a=10 ; /用赋值号“=”将右侧的值赋给左侧的变量2赋表达式的值:a=3+7;3. 赋另外一个变量的值:a=s; /

2、把s的值赋给a 变量的输入:输入一个变量:scanf(“%d”, &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

3、=0 & a=10 a小于0或者a大于10 写成 a10(一)单分支if语句(如果满足某个条件,就做某件事情,不满足就向下执行。)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(条

4、件1) if(条件2) 执行语句a; else 执行语句b; else if(条件3) 执行语句c; else 执行语句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元。编程求罚款金

5、额。3 从键盘输入正方形的边长,如果边长大于零则求出该正方形的周长和面积,否则提示输入错误。4 输入3个数x,y,z,求其中的最小值。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);(三)知

6、起至型循环forfor(循环变量初值;循环变量范围;步长) 循环体例如:求1+2+3+100int n=1,s=0;for(n=0;n=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

7、=0;i100;i+) if(条件) ;break;练习:1 编程求出公式s=1-1/3 + 1/5- 1/7+1/101 的值并输出2 编程输出如下图形:* * * * * * * * * * *3 编程打印九九乘法表4 编程打印出2016年1月份的日历注意:1月份的总天数是31天,其中1日是星期五。日历如下:一 二 三 四 五 六 日1 2 34 5 6 7 8 9 1011 12 13 14 15 16 1718 19 20 21 22 23 2425 26 27 28 29 30 31void main() int i,n,d; /i是循环变量,n代表总天数,d代表星期; n=31;

8、/n代表一个月的天数 d=5; /d代表星期,星期一为1,星期五为5,星期日为7 printf( 一 二 三 四 五 六 日n); /一个汉字占两个字符的位置 for(i=1;id;i+) /开始日期之前用空格占位,每个日期对应3个空格 printf( ); for(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;

9、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. 定义形式:类型名 数组名长度例如:int a10 /a数组中包含有10个整型变量,名字分别是a0、a1、a2a9这里每一个an都是一个普通的整数变量3. 一维数组的初始化:定义数组的时候就给每个数组元素赋值 int a5=2,4,6,8,10;4. 对a数组中的每一个元素依次进行操作(访问)的方法如下: int i; fo

10、r(i=0;i9;i+) ai例如: 通过键盘输入给a数组中的每个元素赋值 将a数组中每一个元素都扩大2倍 统计a数组中奇数的个数 求a数组中的最大值 把a数组的元素进行逆置 把a数组中的元素进行右移练习:1 从一维数组中查找x,并返回x所在的位置,否则提示没有找到。2 求fibonacci数列的第n项。3 求任意一个数的1.21.6倍存入数组。4 数组中存入10个数并进行循环左移二维数组1. 二维数组:名称相同且带有2个下标的一堆变量,逻辑上可看成n行m列的二维表格。2. 定义形式:类型名 数组名行长度列长度 例如:int a34 这里a数组中包含有3*4=12个数组元素,这12个元素的名字

11、分别是:a00 a01 a02 a03a10 a11 a12 a13a20 a21 a22 a233. 二维数组的初始化: 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-)si;4. 字符串常用函数: 注意:用以下函数需要用#include “string.h”引入头文件。 连接字符串:s

12、trcat(str1,str2) 比较两个字符串的大小:strcmp(str1,str2); 求字符串的长度:strlen(str1); 在字符串中查找一个字符,并返回其位置:char c=a”; strchr(str1, c); 复制字符串:strcpy(str3,str1); 在字符串str1中查找字串str2的位置:strstr(str1,str2)5字符串常见操作 把字符串逆置 判断是否为回文五、函数(一)函数的定义:1无返回值、无参函数的定义: void 函数名( )定义变量;实现功能;返回;例:定义一个能够输出10个”*”的程序。void f1() int i; for(i=1;i

13、=10;i+) printf(“*”); return;2. 无返回值、有参函数的定义: void 函数名(参数定义列表)定义变量;实现功能;返回;例:定义一个能够输出n个”*”的程序void f2(int n) int i; for(i=1;i=n;i+) printf(“*”); return;例:定义一个能够输出n个指定字符的程序。void f3(char c,int n) int i; for(i=1;i=n;i+) printf(“%c”,c); return;3有返回值有参函数的定义: 类型 函数名(参数定义列表)定义变量;实现功能;返回 计算结果;这里”类型”一定要与”计算结果”

14、一致。例:定义一个计算两个整数加法的函数。int f4(int x,int y) return (x+y);例:定义一个能判断奇数的函数int f5(int x) if(x%2=1) return 1;else return 0;(二)函数的调用1无参函数调用:函数名()2有参函数调用:函数名(实参列表) 这里的实参可以是一个具体的值,或者一个已经有值的变量,也可以是一个表达式。3函数的调用可以成为一个独立的语句,也可以参与到表达式中进行计算。例如:调用f1函数:f1()调用f2函数:f2(5) 或 int n=20; f2(n);调用f3函数:f3(#,10) 或 char cc=$ ;in

15、t n=8; f3(cc,n);调用f4函数:int s,a=1,b=2; s=f4(a,b);调用f5函数:int x=7; if(f5(x) printf(“奇数”) else printf(“偶数”);(三)指向一维数组的函数: f1(int a,int n) int i; for(i=0;in;i+) ai;void main() int a10=1,2,3,4,5,6,7,8,9,10; f1(a,10);练习: 求10个数的和 求10个数的平均值 把10个数逆序输出 求10个数中的最小值(四)指向字符串的函数:f2(char s) int i;for(i=0;si!=0;i+) s

16、i;使用自定义函数的要点:1. 自定义函数要写在main函数的上方2. 在分析程序的运行时要知道,程序的执行从main函数开始,在main中结束3. 自定义函数可以接收主函数传递的多个参数4. 自定义函数每次只能返回一个结果给主函数5. 自定义函数可以通过指针对主函数中的数值进行直接访问(操作)6. 输入操作一般交给main函数练习(全都用函数实现,输入输出由主函数负责,功能实现由自定义函数负责): 求任意两个数的和、差、积(用三个自定义函数实现) 求任意两个数的余数,如果输入的除数为0要输出警告信息 交换两个变量 计算x的10次方(x为双精度) 求等比数列2 4 8 16 32的第n项 查找

17、字符c在字符串s中第一次出现的位置 连接两个字符串/*连接两个字符串*/#include stdio.h#include string.hVoid f1(char s1, char s2) int i; ln=strlen(s1); for(i=0;i=strlen(s2);i+) s1ln+i=s2i; void main() char s120,s210; printf(请输入两行字符串:); gets(s1); gets(s2); f1(s1,s2); printf(结果是%s,s1);六、指针(一)指针的概念:1指针:变量的地址2指针变量:能存指针的变量3指针变量的定义:int *p,

18、x;4. 对于变量指针的操作: 赋值:p=&x; /把x的地址值赋给p,即p指向x 通过p间接访问x:*p; 将x的值加上10:*p=*p+10;(二)指向一维数组的指针:1定义与赋值:int a20,*p; p=a;2相关概念:数组名a就是数组的首地址,也就是a0的地址。3利用指针访问数组: int a10, *p, i; p=a; for(i=0;i10;i+) pi; /相当于*(p+i)(三)指向字符串的指针:1定义:char s20, *p; 2. 赋值:p=s; /p指向字符串3. 通过指向访问字符串:char s20,*p;p=s;while(*p) /相当于p!=0 或 p!=0 *p; p+;

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

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