




已阅读5页,还剩91页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
首页,例题1填空题例题2填空题例题3填空题例题4填空题例题5填空题例题6填空题例题7填空题例题8改错题例题9改错题例题10改错题,例题11改错题例题12改错题例题13改错题例题14改错题例题15编程题例题16编程题例题17编程题例题18编程题例题19编程题例题20编程题,例题1填空题,试题程序,下列给定程序中,函数fun()的作用是:将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入“Ab,cD”,则输出“ab,cd”。,#include#include#includechar【1】fun(chartt)inti;for(i=0;tti;i+)if(tti=A),题干,试题答案,例题1试题程序,例题2填空题,试题程序,下列给定程序中,函数fun()的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。,#include#defineSIZE20fun(double*s,double*w)intk,i;doublesum;for(k=2,i=0;iSIZE;i+)si=k;k+=2;sum=0.0;for(k=0,i=0;iSIZE;i+)sum+=si;if(i+1)【1】5=0)wk=sum/5;sum=0;k+;【2】k;voidmain()doubleaSIZE,bSIZE/5;inti,k;k=fun(a,b);printf(Theoriginaldata:n);for(i=0;i0)d=s【1】10;if(d%2!=0)*t=d*s1+*t;s1*=【2】;s/=【3】;voidmain()longs,t;system(CLS);printf(nPleaseenters:);scanf(%ld,题干,试题答案,例题4试题程序,例题5填空题,试题程序,下列给定的程序中,fun()函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写(这里的“单词”是指有空格隔开的字符串)。例如,若输入:Iamastudenttotaketheexamination则应输出:IaMAstudenTtOtakEthEexaminatioN,#include#include#include#includevoidfun(char*p)intk=0;for(;*p;p+)if(k)if(*p=)【1】;【2】=toupper(*(p-1);elsek=1;voidmain()charchrstr64;intd;printf(nPleaseenteranEnglishsentencewithin63letters:);gets(chrstr);d=strlen(chrstr);chrstrd=;chrstrd+1=0;printf(nBoforechanging:n%s,chrstr);【3】;printf(nAfterchanging:n%s,chrstr);,题干,试题答案,例题5试题程序,例题6填空题,试题程序,下列给定程序中,函数fun()的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。,#include#include#include#defineN80intfun(char*s,char*t)intn;char*p,*r;n=0;while(*s)p=s;r=t;while(*r)if(*r=*p)r+;【1】;elsebreak;if(*r=【2】)n+;【3】;returnn;voidmain()charaN,bN;intm;printf(nPleaseenterstringa:);gets(a);printf(nPleaseentersubstringb:);gets(b);m=fun(a,b);printf(nTheresultis:m=%dn,m);,题干,试题答案,例题6试题程序,例题7填空题,试题程序,下列给定程序中,函数fun()的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量a初值为8,b初值为3,程序运行后a中的值为3,b中的值为8。,#include#includeintfun(int*x,inty)【1】t;t=*x;*x=y;return(t)【2】voidmain()inta=3,b=8;printf(%d%dn,a,b);b=fun(【3】,b);printf(%d%dn,a,b);,题干,试题答案,例题7试题程序,例题8改错题,试题程序,下列给定程序中,函数fun()的功能是逐个比较a,b两个字符串对应位置中的字符,把ASCII值小或相等的字符依次存放到c数组中,形成一个新的字符串。例如:a中的字符串为fshADfg,b中的字符串为sdAEdi,则c中的字符串应为fdAADf。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。,#include#includevoidfun(char*p,char*q,char*c)intk=0;while(*p|*q)/*found*/if(*p=*q)ck=*q;elseck=*p;if(*p)p+;if(*q)q+;/*found*/k+voidmain()chara10=fshADfg,b10=sdAEdi,c80=0;fun(a,b,c);printf(Thestringa:);puts(a);printf(Thestringb:);puts(b);printf(Theresult:);puts(c);,题干,试题答案,例题8试题程序,例题9改错题,试题程序,下列给定程序中,函数fun()的功能是根据整型形参m,计算如下公式的值。y=1-1/(22)+1/(33)-1/(44)+(-1)(m+1)/(mm)例如:m中的值为5,则应输出0.838611。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。,#include#include#includedoublefun(intm)doubley=1.0;/*found*/intj=1;inti;for(i=2;i1,题干,试题答案,例题11试题程序,例题12改错题,试题程序,下列给定的程序中,fun()函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写(这里的“单词”是指有空格隔开的字符串)。例如,若输入:Iamastudenttotaketheexamination则应输出:IaMAstudenTtOtakEthEexaminatioN,#include#include#include#include#includevoidfun(char*p)intk=0;for(;*p;p+)if(k)/*found*/if(p=)k=0;/*found*/*p=toupper(*(p-1);elsek=1;,题干,试题答案,例题12试题程序,voidmain()charchrstr64;intd;system(CLS);printf(nPleaseenteranEnglishsentencewithin63letters:);gets(chrstr);d=strlen(chrstr);chrstrd=;chrstrd+1=0;printf(nBoforechanging:n%s,chrstr);fun(chrstr);printf(nAfterchanging:n%s,chrstr);,题干,试题答案,例题12试题程序,例题13改错题,试题程序,下列给定程序中,函数fun()的功能是将字符串s中位于偶数位置的字符或ASCII码为奇数的字符放入字符串t中(规定第1个字符放在第0位中)。例如:字符串中的数据为ADFESHDI,则输出应当是AFESDI。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。,#include#include#include#include#defineN80/*found*/voidfun(chars,chart)inti,j=0;for(i=0;istrlen(s);i+)/*found*/if(i%2=0|si%2!=0)tj+=si;tj=0;voidmain()charsN,tN;system(CLS);printf(nPleaseenterstrings:);gets(s);fun(s,t);printf(nTheresultis:%sn,t);,题干,试题答案,例题13试题程序,例题14改错题,试题程序,下列给定程序中,函数fun()的功能是找出100n(n不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。,#include#defineN100intfun(int*s,intn)inti,j,k,a,b,c;j=0;for(i=100;i1000);num=fun(a,n);printf(nnTheresult:n);for(i=0;inum;i+)printf(%5d,ai);printf(nn);,题干,试题答案,例题14试题程序,例题15编程题,试题程序,请编写函数fun,其功能是将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数个位和十位上,b数的十位和个位数依次放在c数的百位和千位上。例如,当a=16,b=35,调用该函数后,c=5361。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。,#include#includevoidfun(inta,intb,long*c)voidmain()inta,b;longc;system(CLS);printf(Inputa,b;);scanf(%d%d,题干,试题答案,例题15试题程序,例题16编程题,试题程序,请编一个函数voidfun(intttMN,intppN),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。,#include#include#include#defineM3#defineN4voidfun(intttMN,intppN)voidmain()inttMN=68,32,54,12,14,24,88,58,42,22,44,56;intpN,i,j,k;system(CLS);printf(Theriginaldatais:n);for(i=0;iM;i+)for(j=0;jN;j+)printf(%6d,tij);printf(n);fun(t,p);printf(nTheresultis:n);for(k=0;k=”。错误2:C语言规定,每个语句要用分号结束。,例题9分析,错误1:为了做后面的除法运算,j要定义为实型数,否则除得的结果将为整数。错误2:题中公式是加减相间的运算,通过j来实现。,例题10分析,错误1:该行是函数的首部,不是一条语句,因此不能以分号结束。错误2:if后面应该紧跟一个条件判断表达式,若写成“if(n=1)”,则说明该表达式的值永远为真,也就是说这个条件永远成立,没有递归执行。,例题11分析,错误1:函数的返回值为实型数据,所以函数的返回类型应为double。错误2:根据阶乘的概念,从n开始,每递减1的数相乘,直到1,因此此处n递减,而不是递增。,例题12分析,错误1:p是指针变量,所以if语句中的条件应使用*p。错误2:toupper函数是将小写字母转换成大写字母,*(p-1)指向字符串的最后一个字母,转换后的大写字母同样应该放在*(p-1)指向的内存空间中。,例题13分析,错误1:由于本题中函数的功能是对字符串进行处理,而不是对单个字符进行处理,因此,函数的参数应为字符串指针。错误2:if语句中要用关系运算符,而不是赋值运算符。,例题14分析,错误1:k就是当前要被判断的数,是随着i值的变化而变化的。错误2:在循环中,j是数组的下标要递增。,例题15分析,语句*c=(b%10)*1000+(b/10)*100+(a%10)*10+a/10;是将a数的十位和个位数依次放在c数个位和十位上,b数的十位和个位数依次放在c数的百位和千位上。注意“/”和“%”的用法。,例题16分析,本题中函数的功能是求出二维数组中每列的最大元素。首先,假设各列中的第一个元素最大,然后利用行标值的移动来依次取得各列中其他元素的值,并与假设的最大值进行比较,如果遇到更大的,则把这个更大的元素看做当前该列中最大的元素,继续与该列中其他元素比较。,例题17分析,本题考查利用循环来控制数组元素的操作,首尾元素除外,因此,数组的下标值要从1开始,用循环变量i来依次取得数组中的元素,用数组中的元素si和sj进行比较,如果后一个元素的ASCII码值小于前一个元素的ASCII码值,则交换这两个数组元素的值。,例题18分析,本题的解题思路是逐个取得从0n之间的所有数,对每次取得的数进行条件判断,条件是既能被5整除同时又能被11整除,注意:这两个条件要求同时成立,因此用到了“【3】,例题9答案,(1)错误:intj=1;正确:doublej=1.0;(2)错误:y+=1/(i*i);正确:y+=j/(i*i);,例题10答案,(1)错误:fun(intn);正确:fun(intn)(2)错误:if(n=1)正确:if(n=1),例题11答案,(1)错误:intfun(intn)正确:doublefun(intn)(2)错误:result*=n+;正确:result*=n-;,例题12答案,(1)错误:if(p=)正确:if(*p=)(2)错误:*p=toupper(*(p-1);正确:*(p-1)=toupper(*(p-1);,例题13答案,(1)错误:voidfun(chars,chart)正确:voidfun(char*s,chart)(2)错误:if(i%2=0|si%2!=0)正确:if(i%2=0|si%2!=0),例题14答案,(1)错误:k=n;正确:k=i;(2)错误:sj=i;正确:sj+=i;,例题15答案,voidfun(inta,intb,long*c)*c=(b%10)*1000+(b/10)*100+(a%10)*10+a/10;,例题16答案,voidfun(intttMN,intppN)inti,j,max;for(j=0;jmax)/*如果各列中的其他元素比最大值还大,则将这个更大的元素看做当前该列中最大的元素*/max=ttij;ppj=max;/*将各列的最大值依次放入pp数组中*/,例题17答案,intfun(char*s,intnum)chart;inti,j;for(i=1;isj)/*如果后面字符的ASCII码值小于该字符的ASCII码值*/t=si;/*则交换这两个字符*/si=sj;sj=t;returnt;,例题18答案,doublefun(intn)doubles=0.0;inti;for(i=0;in;i+)/*从0n中找到既能被5整除同时又能被11整除的数,并将这些数求和*/if(i%5=0,例题19答案,intfun(intt)inta=1,b=1,c=0;/*a代表第n-2项,b代表第n-1项,c代表第n项*/*如果求得的数c比指定比较的数小,则计算下一个Fibonacci数,对a,b重新置数*/doc=a+b;a=b;b=c;while(ct);/*如果求得的数c比指定比较的数大时,退出循环*/c=a;/*此时数c的前一个Fibonacci数为小于指定比较的数的最大的数*/returnc;,例题20答案,longfun(intn)inti;longs=0;for(i=2;i=n-1;i+)/*从2n-1中找n的所有因子*/if(n%i=0)s+=i*i;/*将所有因子求平方加*/returns;/*将平方和返回*/,函数,函数的定义函数定义的一般形式、函数的参数和函数的返回值。函数的调用函数的调用方式、函数间的参数传递、函数的嵌套调用、函数的递归调用等。函数间的数据传递数据传递的方式和特点,掌握值传递内在运行过程。,char,字符型说明符:char字符型常量的表示:用单引号括起来的单个字符。字符常量:Ag1#字符型数据的存储格式:ASCII码。651034835字符串常量的表示:用双引号括起来的单个字符。”ThisisCstring”串长16”a”串长1”(空格)串长1”(不含空格)串长0,int,整型变量的说明格式:类型说明符变量列表;例如:inti,j=1;整型常量的类型:1.在整型数表示范围之内,根据值大小默认类型。2.在常量后面加l或L,则认为它是longint型。,for,for语句格式for(表达式1;表达式2;表达式3)语句;for语句的变化形式for语句中的三个表达式中的任意一个都是可以省略的,但是分号不能省略。1.省略表达式2,则for(表达式1;表达式3)就形成了一个死循环。2.省略表达式1和表达式3,则for(;表达式2;)就等同于while(表达式)。3.表达式1、2、3全省略,则for(;)就等同于while(1)。,while,while语句格式为while(表达式)语句;说明:语句部分可以是简单语句,也可以是复合语句。注意1.while(0).由于循环的条件表达式恒等于0,循环体永远也不会执行,是编程者的错误。2.while(1).由于循环的条件表达式恒等于1,所以不可能通过循环控制条件来结束循环体的执行,称为“死循环”。3.为了保证循环正常运行,应该特别注意:循环控制条件控制条件的初始状态(初始值)循环体内部对控制条件的影响。,do-while,do-while语句格式do语句while(表达式);do-while与while的区别:do-while语句先执行循环体然后再判断循环控制条件,而while是先判断条件之后再执行循环体;使用do-while构成的循环,循环体部分至少要执行一次;而采用while循环,循环体部分有可能一次也不会执行。,break语句,break语句格式break;break语句功能1.在switch语句中结束case子句,使控制转到switch语句之外。2.在循环语句的循环体中使用,结束循环过程,使控制转移到整个循环语句之外的下一条语句处。注意事项:1.在嵌套循环中,break语句仅能退出一层(当前)循环。2.若在循环语句中包含了switch语句,那么switch语句中的break语句仅能使控制退出switch语句。3.break语句并不是程序设计中必不可少的语句,可以通过改变程序的结构去掉。,continue,格式continue;功能仅能在循环语句中使用。它的作用不是结束循环,而是开始一次新的循环。对于for语句,将控制转到表达式3,对于while和do-while语句,将控制转到条件测试部分。,scanf,格式输入函数scanf(格式控制,地址列表);注意:1.输入数据时,要严格按照给定的方式分隔数据。不特殊给定时,用空格、回车、Tab键分隔数据。当给定分隔符,按给定的进行分隔。否则出错。2.必须由内存地址来接受数据。3.在scanf函数中允许使用的格式字符是宽度m、精度l、格式字符。附加一个*。,switch,switch(表达式)case常量表达式1:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025黑龙江伊春铁力市公安局公开招聘警务辅助人员50人考试参考试题及答案解析
- 2025甘肃酒泉市公安局肃州分局招聘警务辅助人员29人笔试备考题库及答案解析
- 2024济宁市汶上县寅寺镇社区工作者招聘考试试题
- 2025年环保型电梯安装与绿色能源管理系统集成合同
- 2025年中医药临床试验药物相互作用及安全性评价服务合同
- 2025年员工福利保障合同(互联网公司定制版)
- 2025年章珊与李明婚姻终止财产分割与子女抚养协议书
- 2025年度网络剧导演聘请及IP改编与衍生品开发服务合同
- 2025年新型城镇化道路施工安全监管合同范本
- 2025年综合交通枢纽环境卫生管理及旅客安全服务合同
- 2023-2025年中考语文试题分类汇编:记叙文阅读(辽宁专用)解析版
- 学校食堂从业人员食品安全知识培训考试试题(含答案)
- 电影艺术概述-设计艺术-人文社科-专业资料
- 2025年教科版新教材科学三年级上册全册教案设计(含教学计划)
- 医院药品采购与质量控制规范
- 支部纪检委员课件
- 从+“心”+出发遇见更好的自己-开学第一课暨心理健康教育主题班会-2025-2026学年高中主题班会
- 2025版仓储库房租赁合同范本(含合同生效条件)
- 2025年人伤保险理赔试题及答案
- 2025年全国招标采购专业技能大赛(央企组)历年参考题库含答案详解(5卷)
- 医院药学带教课件
评论
0/150
提交评论