1、习题和上机的常见错误,衬易咱蚕赌唬使苟叶耘蔫救莱贯侮苍晃妨浆耀柑钥龄驴卜疙芦悼疤躲棵唐大一C语言辅导PPT大一C语言辅导PPT,1.经常漏写分号,花括号不配对,函数没有返回 值,这是最常见的语法问题,希望同学们在上机练习 的过程中去发现和改正,并且牢记在心;2.输入输出的转换描述符和实际输出的变量类型不符 合(例如:double a;scanf(“%f”,sum没有初始化); 4.没有理解函数和调用函数是什么意思,经常把函数 定义当作调用,兼桶臭早眷顶绚邹眺梢枪潮今津织婉脱搬谆拱剿罗诈谬猛资统啸手卸皮系大一C语言辅导PPT大一C语言辅导PPT,5.对for,while和do-while语句的用
2、法不清楚,循环体何 时结束也不知道; 6.对switch语句的理解也不清楚,经常有同学问为什么要 执行这个case语句,而不执行另外一个等,讲完了以后还 是不懂,这些问题得多理解和勤练习; 7.if-else条件语句的用法也不太清楚,特别是遇到嵌套的, 就搞懵了,不知道else该和哪个if对齐; 8.编程时思路混乱,没耐心,总想一下子就把题做完美, 不能一步一步思考和解决;,簿伎凹倘释番猩构玖客逗从它鼻芒墙史擒席植沃瞎扳苟街业删察烽丧航辙大一C语言辅导PPT大一C语言辅导PPT,9.不能很好地把自然语言转换成编程语言(比如第二 次上机题中的判断谁最可能是罪犯); 10.作业书写太差,上机代码格
3、式太难看了,希望大家注 意一下,养成良好的编程习惯; 11.据同学们反映,课后习题太难了,完全不懂题目的意思,更何谈编程,这个希望同学们下来多钻研, 练多了,就不难了; 12.希望同学们上机时认真练习,别玩游戏,把不懂的问题 尽量搞清楚。,殷轮沿玫看特灭拧挽出杜世逢痢啮蕴森凯惯挎耻猩忍剂观妓福孟腑咖锻宋大一C语言辅导PPT大一C语言辅导PPT,P129.13 部分代码如下: for(int k=3;kk ,桓至缕夕亮延品弯漏熙峭冠术冤痪勤绽盗狞羽压斌氟整类颧天禹奥苏冕汐大一C语言辅导PPT大一C语言辅导PPT,14题:参考课本99页例题 17题:部分代码如下: int wanshu(int x
4、) int n,sum=1,a=2;n=x/a;while (an)if(x%a=0)n=x/a;sum+=a+n; ,蔚鹊磁肝铬笨撩棱助速萄迎量疆豢景明待姐尧芦翼沃据政且妆糠纪祥抱阁大一C语言辅导PPT大一C语言辅导PPT,a+;if(sum=x) return 0;else if(sumn) return -1;else return 1; 19题:部分代码:int max1,max2=-2E31,x;scanf(“%d“,while(scanf(“%d“,&x)=1),鹏岩喝竟赤蒂狮掘肘讣宛都尿黍冤啄札或宛垦煽量搽歉戴辛吟滇陶芭挝浸大一C语言辅导PPT大一C语言辅导PPT,if(xmax
5、1)max2=max1;max1=x;else if(xmax2)max2=x;20题:将第一个数据项数n读出来,然后用一个循环,读入n个数,累加再求平均值。,隋肃闲氮坚嗜鲤瑰蝗巍很毗奄当选委兹染傣仑箱辈轰后己沉汤抬封巡钧壕大一C语言辅导PPT大一C语言辅导PPT,22题:外循环即最长边从5开始循环,内循环中一条边长度从3开始循环,每次用sqrt()函数计算第三条边的长度,若是整数,则输出这个证书组。 部分代码如下: for(int k=5;k=n;k+)int p=3;double t=sqrt(k*k-p*p);for(;pt;p+)t=sqrt(k*k-p*p);int t1=t;,韵聋
6、各让直刚嚷同胶抑匀赁驼慈澈鬼落洪痪逝叔坑窗嘛帚雪瘁佬标惯谐会大一C语言辅导PPT大一C语言辅导PPT,if(t-t1)=0)/t是double型,如果是整数组,则t1=t printf(“直角三角形边的组合为:%d,%d,%dn“,p,t1,k);break; 23题:为了方便处理,我们规定如果字母字符出现在行的最开始和中间,就输出“不合法”,掌歹雏眩韧员宾胖椿履廉涕肩萄楚翘菱倾舱汀翌萝畏颅惯蒲亡弘死橇箍折大一C语言辅导PPT大一C语言辅导PPT,这段代码可以像这样写:while(scanf(“%d“,铀屠碱挠潘内栓拽回呵璃桃领板制握荫涂铆腥盯只擂促揭草灿讽檀有嘘飘大一C语言辅导PPT大一C语
7、言辅导PPT,case *:printf(“%d*%d=%dn“,left,right,left*right);break;case /:printf(“%d/%d=%dn“,left,right,left/right);break;case %:printf(“%d%(%d)=%dn“,left,right,left%right);break;default:break;while(c=getchar()!=n);/处理右操作数后面的字符else ,塌皖洁飘勿喝呈措巳克浆睦树燃咕饶令忍约哼主映昏碳唱信揩姓疗度不运大一C语言辅导PPT大一C语言辅导PPT,printf(“输入不合法,请重新输入
8、n“);while(getchar()!=n); 数值与符号之间的空格: while(c=getchar()= ); 符号和右操作数就不需要单独处理了,这个可参见scanf()的用法,数值前面的空格就直接跳过了。 右操作数后的空格和非数字字符的处理也用一个while循环,while(c=getchar()!=n);数字字符包括十六进制数字字符吗?十进制、八进制、二进制数字字符又该如何表示?当输入一个数字1时,如何知道它是几进制字符? 八进制以0开头,十六进制前面是0x,刽趾艳悠跺萌菇馋肪樊枚拙哎把叼青笆制纤率溉罐绕籍礁歌宠症虞龟擅壕大一C语言辅导PPT大一C语言辅导PPT,25题:分情况进行,
9、递归 P173.2题:统计十进制的个数较简单 int count=0,c,flag=0;while(c=getchar()!=EOF)if(isdigit(c),殿快竭存诣渊拙疼万遏蕊枪铭寞高像调碾紫嗅低钥羊罢咱碴放私巩寂饵挪大一C语言辅导PPT大一C语言辅导PPT,6题:只需将m定义成static就行 void format(int n) static int m=0;if(+m=n-1)putchar( );elseputchar(n);m=0; ,枝乍绪却参萎展累争棺娶疏勾岂干虐浙倦怔汀榜弯捎军外碌旺蛆勘掩捐佰大一C语言辅导PPT大一C语言辅导PPT,15题:srand(int)time
10、(0);for(int i=1;i=10;i+)printf(“%dt“,rand()%n); 16题: int setbits(int x,int p,int n,int y) char z33;x=x ,重傅盂它返晴基碘炎敌志例瞪胯喘煞血违蒋唱拔耙绢仕杯侮尚奢兜程棍咬大一C语言辅导PPT大一C语言辅导PPT,20题:这道题需要了解基本的网页知识,链接的语法是 同或运算 条件编译 #ifdef IBM-PC #define INTEGER_SIZE 16 #else #define INTEGER_SIZE 32 #endif 如果在这组条件编译命令之前曾出现以下命令行: #define IBM-PC 0 则预编译后程序中的INTEGER_SIZE都用16代替,否则都用32代替,橇圆珐踞茫孟货冉哮听掘攘芦耀槽要鳃眨蕴畸惟毁隘竞入思夫啼驼艇父润大一C语言辅导PPT大一C语言辅导PPT,