1、11. 先编译后运行程序代码检查无误,运行时总是说stido.h 有问题,此时需要检查options菜下的【directoried】【include directoried】。如查出路径不一致,需要将整个tuboc 文件夹复制到指定的【include directoried】下。12. 程序运行后,如果代码出现问题,需要重新编辑时,可能会出现无法输入代码的现象,此时需要按f6进入编辑状态。(菜单里面选编辑项然后按 回车)13. 退出 turbo c, quit (alt+x)记得随时保存14. 注意改写和插入的转换用insert实例1:输入圆的半径分别计算出远的面积area,圆的周长c1,输出
2、结果要有相应的文字说明。#include #define PI 3.1415main() double area,c1; int r; printf(please input radins of a circle:); scanf(%d,&r); area=PI*r*r; c1=2*PI*r;The area of a circle id :%f,area);The c1 of a circle id:,c1);实例2:输出园的面积(半径为1-10)面积大于100时停止。 在(C:Turbo_CtcINCLUDE)名为01 (注意getchar()才能显示)#includeint r;doub
3、le area;for(r=1;r100) break;%d %8.2fn,r,area);getchar();C+C和c+注意事项:1. 保存的默认路径: C:JMSOFTCYuYan2. 编译、生成可执行文件、运行可以分开操作,也可直接点击运行按钮。Vc+6.0注意事项:1. 开始 - microsoft visual c+ (进入程序)2. 文件-新建选项 -新建窗口中(文件选项) - c+source fiel - 给文件起名,必须要写.c -确定- 代码编辑区- 保存3. 文件的存储路径要记住4. 保存文件后,编辑文件,随时保存5. 先编译、链接、再执行。6. vc+中可以写汉字第二
4、部分:能够使用 if、switch 语句,while、do-while及for来解决实际问题的程序代码If题: 编写程序判断正整数即是3的倍数也是7的倍数,是输出yes ,否则输出 no。#include stdio.hvoid main() int x;x); if(x%3=0&x%7=0)yes else noSwitch题:编写程序实现计算器的功能:读入两个数(a1和a2)及一个运算符(opt),计算表达式a1 opt a2 的值,其中opt可以是+、-、*、/四中运算符中的任何一种(用switch语句实现) float a1,a2,a3; char opt;请输入要计算的式子:%f %
5、c %fa1,&opt,&a2); /*注意& 注意+*/ switch(opt) case +:a3=a1+a2;break; /*注意break*/-a3=a1-a2;*a3=a1*a2;/if(a2=0) printf(被除数为零重新输入 exit(1); /*注意exit 退出程序*/ a3=a1/a2; default:printf(重新输入 %f%c%f=%f,a1,opt,a2,a3);While和do-while题:求1n正整数和。Sum别忘记赋初值=0 While: int i=1,n;long sum=0 ;scanf(n); while(i=n) sum+=i; i+;,
6、sum);Do-while: int i=1,n,sum=0; do while(i=n);For题:编写程序完成用100元人民币换成1元、2元、5元的所有兑换方案。 int i,j,k; for(k=0;k=20;k+) for(j=0;j=0)100元人民币可换%d张1元,%d张2元,%d张5元n,i,j,k); 第三部分:能够利用好数组求和、求最大值、最小值、查找、排序等经典实际问题。数组题: 求最大值、最小值、求和、求平均#define N 50 int aN,max,min,sum,i,n; double ave;请输入要录入成绩的学生人数,不多于50个人!n请输入%d个同学的成绩,
7、成绩之间用空格分开:,n); for(i=0;in;i+)ai);/* 不能是数组名*/ max=min=sum=a0; /* 定义时不能连等 定以后能*/ for(i=1; if(maxai) min=ai; sum+=ai; ave=(double)sum/n;最高分是:,max);最低分是:,min);总分是:平均分:,ave);排序 int a10=10,9,8,2,5,1,7,3,4,6,i,j,k,temp;10; printf(,ai);9; k=i; for(j=k+1;j+) /*元素的比较最小*/ if(akaj) k=j; temp=ai; ai=ak; ak=temp;
8、 查找 int aN,i,n,score;请输入要查找的成绩:score); if(ai=score)break; if(i=n) else printf( 第四部分:能够进行函数实参和形参的定义,以及参数的传递,能够使用函数的嵌套调用和递归调用,编写常见的的函数如:求和、阶乘、计算平均分、排序等问题。函数题:利用函数调用求最大值、最小值、求和、求平均、排序(选择排序法做升序(小的在上)选择排序:设定一个变量,存小的数在数组中的下标,n个数(外层循环控制比较趟数 n-1,里层循环做每趟比较出一个最小数,控制比较次数)64 48 59 72 97 34第一趟(5次) 34 48 59 72 97
9、 64第二趟(4次)(不动)48 59 72 97 64第三趟(3次) (不动)59 72 97 64第四趟(2次) (不动)64 97 72第五趟(1次) (不动)72 97float max (float a,int length);float min (float a,int length);float sum (float a,int length);float average (float a,int length);void sort (float a,int length); float scoreN,ma,mi,s,ave; int i,n;请输入学生的人数不能超过50人!请输
10、入%d个学生的成绩输入的成绩用空格分开! scanf(scorei); ma=max(score,n); /*数组可以不写里的*/ mi=min(score,n); s=sum(score,n); ave=average(score,n); sort(score,n); /*排序函数没返回值不能用“=”*/最高分:%fn,ma);最低分:,mi);总分是:,s);平均分:float max (float a,int length) int i; float max; max=a0;length;ai) max=ai; return max;float min (float a,int leng
11、th) /*把最大值函数复制改max为min */ float min; min=a0; min=ai; return min;float sum (float a,int length) /*把最小值函数复制改min为sum 改为sum+=ai*/ float sum; sum=a0; sum+=ai; return sum;float average (float a,int length) /*把最小值函数复制改函数名sum 为average return改为 return sum/length; return sum/length;void sort (float a,int leng
12、th) /*排序没返回值*/ float temp;length-1; /*重点填空 k是基准*/j+) /*j是基准点k后面的数*/ if(akaj) k=j; /*小的放k里*/ ak=temp;从小到大排序为:%4.1f 阶乘(递归调用:一定要在自定义函数中不断地调用自己)举例 : int ff(int n) S=ff() int fac(int m) /*递归调用*/ int s; if(m0) printf(错误的数据请重新输入 else if (m=0|m=1) s=1; else s=m*fac(m-1); /*重要*/ return s; int n,y;请输入一个正整数: y
13、=fac(n);%d!=%d,n,y); /*!阶乘符号 5的阶乘等于120*/第五部分:能够用指针实现对一维数组的编程。指针题:设有一个数列,包含10个数(一堆数组),已经按升序排好。要求编写程序,把从指定定位置开始的n个数按逆序重新排列并输出新的完整数列(一堆数组)。进行逆序处理时要求使用指针方法。(例如:数列为2 4 6 8 10 12 14 16 18 20,若要求把第4个数开始数(第i个数,下标i-1) 排序(5个数的下标3+5-1,数出n个数,最后一个数的下标)第i个数开始数:这个数的下标是i-1数n个数,最后一个数的下标是i-1+n-1 第4个数开始数:这个数的下标是3数出5个数
14、,最后一个数的下标:4-1+5-1=7I=4 n=5时 n知道时/2知道换几次2 4 6 16 14 12 10 8 18 20*指针变量和普通变量搭建关系:Int a=5,*p;/普通变量需要先定义后使用,指针变量必须先定义赋值后使用P=&a;*指针变量与一对数组搭建关系:Int a=1,2,3,4,5,*p;P=a;/p=&a0 p=&a2 int a10,i,p,num,*q1,*q2,temp;请输入十个已近按升序排序好的整数!请输入指定的位置:p);请输入重新排序的数量:num); for(q1=&ap-1,q2=&ap-1+num-1;q1eng (*p).manth p-sum=
15、sc1.eng+(*p).math;,p-sum);第七部分:文件的打开、关闭和复制操作。(书前三例题)总结:(其文件名时注意扩展名)一、 用字符型数组存放文件名,通过控制台输入文件名1、 程序的默认路径 C:JMSOFTCYuYanbin (控制台标题栏写的)2、 读取的文件要放在默认的路径下,可以直接输入文件名称。3、 如果读取的文件没有存放在默认路径,需要写文件存放的全部路径,例如:C:a.txt (不好使时用试试 C:JMSOFTCYuYanaa.txt)*注意存放文件名的数组的长度。文件复制a 放b里题main() FILE *in,*out; /文件类型的指针变量,存文件的全称 c
16、har infile50,outfile50; /一个存读,一个存写注意内的大小 20以上 %s,infile);,outfile); if(in = fopen(infile, r)=NULL) /*打开infile outfile两个文件*/Cannot open infle.n /没开成功 exit(0); if(out = fopen(outfile, w)=NULL)Cannot open outfile.n while(!feof(in) /*看看到没到尾部*/ fputc(fgetc(in),out); /读一个写一个 fclose(in); /关文件 fclose(out);命
17、令行传参C+:运行菜单-编译成目标文件-生成可执行文件点击带参数运行 不在默认里需要写路径VC+的命令行传参路径:1. 先建obj2. 创建exe3. 工程菜单-设置-调试选项卡-程序变量中输入参数。4. 按!按键运行(和c+实验系统不一样) *在编译后运行前输入参数*复制的文本文件应该和c的源程序文件放在同一个路径下。stdlib.hFILE *source,*target;void main(int argc,char *argv) char c; if(argc!=3)error! source=fopen(argv1, target=fopen(argv2, while(!feof(s
18、ource) /*只要不是文件尾就执行*/ c=getc(source); putc(c,target); fclose(source); fclose(target);第二次课内存变量存最后一次值 / /* */ 都是注释符数组:存相同类型的变量结构体:存放不同类型的变量 重点算法:1 求和 (求平均就是和 / 个数)sum= 0 或(第一个值)For( )Sum=sun+ /*可能是变量 数组 结构体成员*/ sum+=2 求阶乘 (第归调用)P=1For()P=p* p*=3 求极值 (循环 嵌套 分支 ) Max/min=一堆数中的第一个数 forIf(max/min ai ) (max在尖那面,min在开口那面)Max/min = ai (把if条件复制下变
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1