《2022年C语言程序设计总结材料.docx》由会员分享,可在线阅读,更多相关《2022年C语言程序设计总结材料.docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、wordC 语言程序设计总结一、 C 语言程序的根本结构#include“ stdio.hvoid main定义变量 ;程序实现 ;输出结果 ; printf二、变量的定义1整型: inta ,b,s=0;可以在定义的同时为变量进展赋值长整型: long无符号整型非负整数 : unsigned 2单精度实型: float; 3双精度实型: doublel,m;4.字符型: charc1= A ,c2; = b三、变量的赋值1. 直接赋值: a=10 ;/ 用赋值号“ = 将右侧的值赋给左侧的变量2. 赋表达式的值:a=3+7;3. 赋另外一个变量的值: a=s;/ 把 s 的值赋给 a变量的输
2、入:输入一个变量: scanf “%d ,&a;输入多个变量: scanf “%d%d%d,&a,&b,&c;int-%dfloat-%fchar-%cdouble-%lf字符串 -%s变量的输出:输出一个提示语句: printf “xxxxxx ;输出一个回车: printf “n ;输出一个变量: printf “xxx is %d , a;输出多个变量: printf “xxxx%d, xxxx%d,a,b;练习:1. 输入圆的半径,求圆的周长;12 / 11四、常用流程掌握语句分支语句:依据条件执行相应的语句条件的形式: a 大于 0写成a0 a 小于 0写成a=0&a=10 a 小于
3、 0 或者 a 大于 10写成 a10一单分支if 语句假如满意某个条件,就做某件事情,不满意就向下执行;if 条件 执行语句 ; 二双分支if 语句假如满意某个条件,就做某件事情,否如此就做另外一件事情;if 条件 执行语句 1; else 执行语句 2; 三多分支if 语句满意哪一个条件,就做相应的语句;if 条件 1 执行语句 1; elseif 条件 2 执行语句 2; elseif 条件 3 执行语句 3; elseif 条件 4 执行语句 4; else 执行语句 5; 四 if 的嵌套依据详细情形对ifelse 语句进展敏捷的运用其格式如下:if 条件 1if 条件 2执行语句a
4、; elseelse执行语句b; 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 元;编程求罚款金额;3. 从键
5、盘输入正方形的边长,假如边长大于零如此求出该正方形的周长和面积,否如此提示输入错误;4. 输入 3 个数 x,y,z ,求其中的最小值;5. 输入 3 个数 x,y,z ,将其中最大值放在 x 中,最小值放在 z 中,中间值放在y 中,然后输出 x,y,z ;循环语句:在条件成立时重复执行一组语句一当型循环while while 条件 例如:求 1+2+3+100 intn=1,s=0;whilen=100循环体s=s+n;n=n+1;二直到型循环dowhile例如:求 1+2 +3+100dointn=1,s=0;do循环体 while 条件 ;s=s+n;n=n+1; whilen=100
6、;三知起至型循环for例如:求 1+2+3+100for 循环变量初值 ; 循环变量X 围; 步长 intn=1,s=0;forn=0;n=100;n+循环体s=s+n;四循环的嵌套说明:fori=1;in;i+forj=1;jm;j+1. 假设某同学参加“打气球嬉戏,该同学可以打5 局,每局可以打 10 枪;这里的每局 10 枪就相当于内循环的次数; 5 局就相当于 5 个 10 枪,也就是外循环的次数;2. 这 5*10枪不是一次性打完的,而且每一枪都要记是哪一局的哪一枪打出来的成果,哪一局对应的是i,哪一枪对应的是 j; 五 使用 break 可以强制退出循环,其用法必需协作if 来使用
7、: 例如: fori=0;i100;i+if 条件;break;练习:1 编程求出公式 s=1-1/3 + 1/5-1/7+ 1/101 的值并输出2. 编程输出如如下图形:* * * * * * * * * * *3. 编程打印九九乘法表4. 编程打印出 2022 年 1 月份的日历留意: 1 月份的总天数是 31 天,其中 1 日是星期五;日历如下:一二三四五六日123456789102425262728293031void mainint i,n,d;/i 是循环变量 ,n 代表总天数 ,d 代表星期 ; n=31;/n 代表一个月的天数d=5;/d 代表星期,星期一为 1,星期五为 5
8、,星期日为 7 printf一 二 三 四 五 六 日n;/ 一个汉字占两个字符的位置fori=1;id;i+/ 开头日期之前用空格占位,每个日期对应3 个空格printf;fori=1;i=n;i+,d+printf%3d,i; ifd%7=0printfn;5. 在第 4 题的程序上进展修改,假如输入任意一个月的总天数与该月第一天的星期1 代表星期日, 2 代表星期一 以此类推 ,能否打印出该月日历6. 运算 x 的 n 次方x 为双精度, n 为非负整数 void maindouble x,s; unsigned n,i; s=1;printf 请输入 x 和 n:;scanf%lf%u
9、,&x,&n; fori=1;i=n;i+s=s*x;printfjieguo is %.2lf,s;四、数组一维数组1. 一维数组:名字一样且带有下标的一组变量2. 定义形式:类型名数组名 长度例如:int a10/a 数组中包含有 10 个整型变量, 名字分别是 a0 、a1 、a2 a9 这里每一个 an 都是一个一般的整数变量3. 一维数组的初始化:定义数组的时候就给每个数组元素赋值int a5=2,4,6,8,10;4. 对 a 数组中的每一个元素依次进展操作拜访的方法如下:int i; fori=0;i9;i+按行的次序拜访:按列的次序拜访:int i,j;int i,j;fori
10、=0;i3;i+forj=0;j4;j+forj=0;j4;j+fori=0;i=0;i-si ;4.字符串常用函数:留意:用以下函数需要用#include连接字符串: strcatstr1,str2“引入头文件;比拟两个字符串的大小:strcmpstr1,str2;求字符串的长度:strlenstr1;在字符串中查找一个字符,并返回其位置:char c= a ; strchrstr1, c;复制字符串: strcpystr3,str1;在字符串 str1 中查找字串 str2 的位置: strstrstr1,str2 5字符串常见操作把字符串逆置判定是否为回文五、函数一函数的定义: 1无返回
11、值、无参函数的定义: void函数名 定义变量 ; 实现功能 ; 返回 ;2. 无返回值、有参函数的定义:void函数名 参数定义列表 定义变量 ; 实现功能 ; 返回 ;例:定义一个能够输出10 个* 的程序;voidf1int i; fori=1;i=10;i+printf“* ;return;例:定义一个能够输出n 个 * 的程序voidf2int nint i; fori=1;i=n;i+printf“* ;return;例:定义一个能够输出n 个指定字符的程序;voidf3char c,int nint i; fori=1;i=n;i+printf“%c ,c;return;3. 有
12、返回值有参函数的定义:类型函数名 参数定义列表 定义变量 ;实现功能 ;返回 运算结果 ;这里类型肯定要与运算结果一样;例:定义一个运算两个整数加法的函数;int f4int x,int yreturn x+y;例:定义一个能判定奇数的函数int f5int x ifx%2=1return 1;二函数的调用1. 无参函数调用:函数名elsereturn 0;word2. 有参函数调用:函数名实参列表 这里的实参可以是一个详细的值,或者一个已经有值的变量,也可以是一个表达式;3. 函数的调用可以成为一个独立的语句,也可以参加到表达式中进展运算;例如:调用 f1 函数: f1调用 f2 函数: f
13、25或 int n=20; f2n;调用 f3 函数: f3 # ,10或 char cc= $;int n=8; f3cc,n;调用 f4 函数: int s,a=1,b=2;s=f4a,b;调用 f5 函数: int x=7;iff5x printf “奇数 else printf “偶数 ;三指向一维数组的函数:f1int a,int nint i; fori=0;in;i+ai;void main17 / 11练习:int a10=1,2,3,4,5,6,7,8,9,10; f1a,10;求 10 个数的和求 10 个数的平均值把 10 个数逆序输出求 10 个数中的最小值四指向字符串
14、的函数:f2charsint i; fori=0;si.=0;i+si ;使用自定义函数的要点:1. 自定义函数要写在main 函数的上方2. 在分析程序的运行时要知道,程序的执行从main 函数开头,在main 中完毕3. 自定义函数可以接收主函数传递的多个参数4. 自定义函数每次只能返回一个结果给主函数5. 自定义函数可以通过指针对主函数中的数值进展直接拜访操作6. 输入操作一般交给main 函数练习 全都用函数实现,输入输出由主函数负责,功能实现由自定义函数负责: 求任意两个数的和、差、积用三个自定义函数实现求任意两个数的余数,假如输入的除数为0 要输出警告信息交换两个变量运算 x 的
15、10 次方 x 为双精度 求等比数列 2 4 8 16 32的第 n 项查找字符 c 在字符串 s 中第一次显现的位置连接两个字符串/* 连接两个字符串 */ #include stdio.h #include string.hVoid f1char s1,char s2int i; ln=strlens1;fori=0;i=strlens2;i+s1ln+i=s2i;void main六、指针char s120,s210;printf 请输入两行字符串: ; getss1;getss2;f1s1,s2;printf 结果是 %s,s1;一指针的概念:1. 指针:变量的地址2. 指针变量:能存
16、指针的变量3. 指针变量的定义: int *p,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; fori=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+;