您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 二级C语言 机考 总结 01.pdf
  所属分类: C
  开发工具:
  文件大小: 1mb
  下载次数: 0
  上传时间: 2019-08-24
  提 供 者: weixin_********
 详细说明:二级C语言 机考 总结 填空题填空题是计算机等级考试中的难点,占有的分值为30分。做填空题时注意掌握答题技巧。排序时使用的是大于符号。 维数组中的题目类型以及解决的技巧:4、7、26、34、39、40 二维数组的题目,填空的时候一般是填在涵数调用,函数在调用时候写的应该是而为数 组的名字;在定义函数的时候使用的是函数的类型和由m各元素组成一行的指针变量, 假设二维数组的名字是s,那么填写的内容是:(*sM];如果调用的是普通变量则填写的 内容为:intn; 2、二维数组遍历时,使用的是两个循环,使用的是循环的揿套使用,第个循环的仗用的 时候填写的内容为:j0:(特殊的特姝处理) 3、交换两个变量的值的使用的格式为 t-a: a=b: b=t 记住交换变量的格式和顺序 4、如果二维数组是字符串的题目的时候,要记住字符串中函数的使用的格式;即: strIen strcmp、 strcpy、sieo、 strcat的使用格式。注意里面的格式中使用的都是和指针 、特殊的特殊处理。第7题的填空的内容记住。 二改错题分类总结 改错题总的出错分为两大类:语法出错和逻辑出错,此类题目是比较简单的题型,因此 也是最容易把握的知识点。 注意:错误都是出现在/*****fond*事*/下面的这一行。只是下面的这一行,其 他行都没有错误。不能修改其他行。 做题方法 1.首先拿到题目,先将题目详细看看,看清题目对做题时很有帮助的,特别是一些逻辑性较 强的题目很有用。有的同学可能会觉得题目太难了不想去读,其实在做改错题目时即使你不 会也能把题目做对。 2.按照以下的步骤解决题目中的错误的内谷,对应着修改。修改完之后保存即可。 语法错误 关键字出错:在二级C语言考试中仅仅考査学生对基杺的关键字掌握情况,比如:整型就 是int不是In,知识点简单 (1)6题第二个空:I应该改为i (2)12题第二个空:I应该改为i; (3)23题第一空: doune应该改为 double; (4)35题第二空:If应该改为i; (5)36题第二空: Double应该改为 double (6)2题第二空: wihle应该改为whle 2格式出错:在考试中主要考查学生细心的程度,最喜欢考简单的知识点。 (1)少分号:2题第一空、28题第一空、29题第一空、34题第二空、37题第二空、48题 第二空。考查的知识点:分号是语句结束的标志 (2)for语句的格式:for(;;)中间用分号隔开不是用逗号隔开。3题第二空、6题第一空、 14题第二空都是出现了for语句格式出错的问题 (3)I语句的格式:i(表达式),辽后面必须加上小括号。37题第一空讧后面必须加上小括 (4)命令行格式出错:17题第空中 include命令少了#,止确的形式应该是# include “ stdio. h” (5)常用函数格式: A22题第一空中n= strlen aa]应该改为n= strlen(a),记住函数名后面一定是花括号,不 能是方括号,方括号只有在数组下标中用到 B49题第一空intj,c, float xa=0.0;应该改为 lnt 1, c; float xa=0.0;记住:要同时定义两种以 上不同的数据类型的时候必须在不同类型的数据中间加上分号。 C4题第二空 scanf("%d”,a[jj;应该改为scan(%od”,&ajj)。考查 Scanf输入函数 的格式。 (6)数组:所有老师讲到数组时候必须统一将此知识点给学生回顾一遍! A数组下标引用时候只能用反括号。28题第二空t(k)=b(j应该改为tk]=bj B二维数组中的列下标不能省略。46题第一空必须将数组列下标衤充完整 (7)常用符号出错 AC语言中大于等于符号是“>”,但是在考试的吋候可能出现将它写为“→”,49题 第二空就是这样的错误。 B当题目中需要比较某个字符是否是大写字母或是小写字母、数字时,必须将“与” 或”、“非”记住 判断某个字符是否是大写字母: char ch: if(ch>=A&&ch<=z) printf(%c”,ch) 判断某个字符是否是小写字母: char ch;fch>='al&&ch<=2z) printf("%oc”,ch); 判断某个字符是否是数字: char ch itch>=0&&hx=9)pin%c”h); 判断某个数字是否能同时被5和7整除 inti=35;if(i%5=0&&1%07—0) printf(%od”,i); 判断某个数字是否能被5或7整除: int 1=35; if(1%05==0 1%07==0)printf( od, 1) 判断某个数字是否是偶数或奇数: nti-35;i(i%2-0 printf(%d是一个偶数”,i); else print.(6d是个奇数”)); 逻辑错误 1.使用了没有定义过的变量:这种题目可以通过编译查找出出错的地方并改之 (1)0(零)和o(字母欧)的区别:19题第一空、23题第二空、43题第二空 (2)P(大)和p(小)的区别:33题第一空。 (3)普通变量大小写的区别: A有的变量在定义的时候是小写但是在使用的时候是大写,或是在定义的时候是大写 在使用的时候却是小写 B大小写没有出错,程序中直接使用了没有定义过的变量,要求学生更加细心的读题 目。45题第二空使用到了i这个变量,但是我们在定义行中没有找到i的定义,因此在做题 时侯要上下结合来分析题目。22题第二空c=a中的c没有定义过,参看定义的语句不能 发现应该是ch-a]。38题第空要求将后面用到的变量sl定义完整。 2运算符号出错: (1)C语言中除号是“/”不是“\” (2)赋值号(=)和等号(==)混淆,记住在辽语句中出现赋值号(=)一般是讲它改为 等号(==)。14题第一空和29题第二空都是这样的错误。 3.表达式的取值沱围出错: 当遇到计算表达式的累加或是累减时,一定用到循环来完成相应的操作。例如:改错题 第七题中要求计算t=1-12*2-/3*3-1/m*m这个表达式,在这个题目中第一空有这样的for 语句:for(i-2;i)、小于(<)等符号的变化,当你查 找出错的地方没有语法错误,也没有使用了未定义的变量时,记住这个口诀:将大于改为小 于,将小于改为大于!11题第二空、12题第一空和13题第二空、4题第二空都可以用这样 的方法 6数的返回值及其参数:重点 int fun(int x, int y) main f(x>return x: nt a b c else return scanf(%dod”,&a,&b); n(a, b); printi(“最人值为:%d”,c);} (1)函数的返回类型:在上面的例子中imn函数的返回值是int,如果将in改为 double,很 明显是错误的。从两个地方来看,首先 return X;中x的类型必须和fiun函数中的返回值 相同,ⅹ是整型。其次c=fin(a,b)中fun函数将一个返冋值赋值给了变量C,说明函数返 回的值一定是整型。记住:函数调用、函数的返回值和 ruturn中数据类型必须一致!1.1 3.1、16.1、19.2、341、36.1、40.1、48.1都死这样的错误,(注1.1表示第一题第一空) (2) retur后面的表达式及其类型:19.2、30.,2、39.2 3)函数传递的参数: int fun (int *x, int *y) main ifx>return *X int a b.c. eIse return米 scant(d%od”,a,&b); c=lun(&a, &b: printi(“:最大值为:%d”,c);} 定注意:传递的是值还是地址。比较上面两个例了大家很容易区别传递的是值还是地址 第一个例子调用函数的时候传递的是值,因此在fun函数的形参中x和y仅仅是普通的变量, 而第二个例子中调用函数的时候传递的是地址,因此在fn函数的形参中x和y就是两个指 针变量。5.1、13.1、17.2、20.1、25.2依据刚刚讲的方法很快就能找出出错点 (4)指针的使用: fun(int *x,int x>y)return else return *y 在比例中fun函数的形参是ⅹ和y,它们的类型是整型的指针,那么在fun函数的函数体中 使用到x和y的值时一定要区分:xy比较的是x和y所存变量地址的大小,*x>*y才是比 较值的大小。如果存在*x=x+y的类似情况一定是错误的,必须要将赋值号的左右两边的类 型变为一致。52、53、20.2、242、35.1、441定特别注意! 7数组 (1)数组下标的初始值:数组下标从零开始,到长度减一结束。考试技巧:当出错行在定 义部分时,先检查该定义语句有没有语法错误,再看定义语句中的变量有没有赋初始值, 最后看变量赋的初始值有没有正确。定义初始值有窍门,遇到累加时,用来存放累加和的 变量般赋值为零,遇到求阶乘时,用来存放阶乘值的变量般赋值为。8.1中的变量k 赋佰为1,但是我们说了数组的下标只能从0开始,因此将1改为0就行了。 (2)普通变量的初始值:依照上面的技巧,我们同样可以将亡延伸到晋通变量中。41.1中 需要将变量的值进行初始化,题目中有这样的要求:“输出主对角线元素之和”,既然这样我 们很肯定初始佰应该为零,接着我们看看是给哪个变量赋值?看 printf(“sm-=%d”,sum);输出 的是sum的值,说明sum就是我们要补充在横线上的变量。10.I也可以用同样的方法来分 (3)数组和字符串长度减一:当使用数组中的元素时,最大值只能到数组长度减一。字符 串以”0作为字符串的结束标志,因此取值最大也只能到字符串长度减·。25.2中输出 printf(od’ai):分析程序知道i在此时就是数组的长度,我们要输出数组中的元素,最大 就只能到a[i-1],因此改为 printf(" %od,aa[i-]);就行了。4.1和38.2中考查的是字符串长度 减一的问题 (4)数组下标往后走:当题目要求将一个数组中的元素直接赋值或是以某种方式复制到另 个数组中时,接受数据的数组中的下标要自增。9.1中s-s[i;将s[中的值复制给sli 联系上下函数段发现i是一个变量被for语句控制,从0开始直到遇到ˆ0’结束。i一直在加 但是j没有变化因此改为S计+=[j即可。类似的题目有:252、26.2、32.1、50.2。 8.特例: 部分题目的解答很特殊,需要根据上下文中的内容来解答题目;例如10.1,在此题目中,定 义了变量t-0;根据下面程序中的循环,s=0.0,首先加的是变量t的值,即s的值是从0.0开 始的,s待到的值是:s-0.0+0.0+1.0/3+…,观察表达式的值,这个少加了第一项1.0的值, 所以变量t的初值不能是0.0,只能是1.0,或者是1 21.2中的这个题目中,衣达式的值是从2/1+3/2+5/3…即表达式的规律是从第·项开始, 以后的每一项的分子是前一项的分子和分母的和,分母为前一项的分子。所以该题目的第二 个空中的内容应该是:c=a;a|=b;b=c;这一条语句中a代表的变量的分子,b代表的是变量 的分母,执行第一个表达式的值,把a的值赋值给变量c,第二个表达式是把分子和分时的 和相加复制给变量a,第三个表达式是把原来a的值和变量b的值相加之后得到的值赋值给 变量b,则变量b得到的值也为分了分母的和,不满足题意,而分丹应该为原来分了的值。 第三表达式的值应该改为:b=c 类似的题目有:33.2、40.2、43.1、47.1、50.1 9.素数11.1、29 掌握求素数的格式 判断个数是否是素数的方法很多,的是只用掌握种即可,首先掌握判断一个素数的方 法 素数的定义:1、是自然数2、只能被1和本身整除,2到本身减一之间的数不能整除该 数 判断m是否为素数的格式 for(1=2;next;第二个空改为:p=p→next 2、不带头结点的链表 带头结点的链表的第一个空的改为:ph;第二个空改为:p=p>next; 上机编程题目的总结 编程题目分类: (一)、数学题目:5、6、1l、14、34、48、49 编程的题目中,如果是数学题目,编程时用到阶乘或者是奇数项的积,则首先给变量 赋初值为1,不能赋初值为0,同时把变量的类型定义为实型而不是整型。数学题目中结果 都需要返回,如果说函数的类型是void则是通过指针返回,如果不是void,则必须用 return 返回。 如果是表达式中的值为1,则在编写程序时用去1.0而不能用1。C语言中的除法的运 算原则是整数除以整数,结果还是整数。 数组中存储数据时以下标来存储的,在数组中下标从0开始。 解题详解: 6、观察表达式,左边求出的是p的值的一半,所以右边的表达式的值的计算好后应该乘以2 才能得到p的值,观察表达式的右边,右边表达式中有分子、分母以及各表达式的值的和 分了是阶乘、分母是奇数项的积,分了除以分母得到项的值。由此定义三个变量:sl代 表分子,s2代表分母、s3代表各项的和,定义一个舉型变量i,让变量i从1开始。知道循 环的结束 Int double sl-=1.0,s2-1.0,s3-0.0 for(i-l; sI/52>-eps 1+ S3t=sI/s2. s2*(2*计+ return 2*s 注意:此题目中要特别注意,循环语句的表达式2的判断条件是s/2>=eps,而不是i<=n, 循环语句的语句的顺寻不能颠倒,即先加之后再计算。 11、此题中要求能正处x,那么x应该为分子,而不是分母,把满足条件的数组放到pp所 指的数组中,即pp数组应用一个整型的变量米做pp下标,数组下标从0开始,所以定义 个整形变量k并且赋初值为0;满足条件的个数通过形参传回 int Lk=0 if(x%i==0&&i92==1) ppk++F=i n 备注:此题日中不能把i初佰定义为0,否则程序运行时得不到结果。 14、首先看清题意,题目中要求是小丁形参n,不包括n,能被3与7整除,两者用逻辑与连 接,平方根用平方根的函数sqrt;此题中要求的是自然数的和的平方根,而不是平方根的和, 所以要先把满足条件的数加起来后再开方。定义个整型变量i,让该变量由1直到n-1,用 循环实现,一个整形变量s,让该变量存放的是满足条件的数的和,由于s为全局变量,故 应该赋初值为0; L f(i%3—0&&%7=0) grt(s) 34、观察表达式,表达式的分子为x的n次冥,分母为数字的阶乘,s为表达式的累加和, 定义三个变量s1为分子,s2为分母,s为分子除以分母的和。 float sl=1.0,2=1.0,s=1.0: for(i=1;i<=n; 1++) return S 备注:此时s的值不能赋初值为0:如果s得初值为0,此时表达式的值中没有第一项的值。 并且必须用 return返回。 48、该表达式的分子均为1,分母为该项和下一项的积,s为最后表达式的累加和,定义 个整形变量I用于代表某一项的序号,则i1到表达的是下一项的序号 s=0.0; for(i=l; i<=n; i+t) s+=1.0/(i*(i+1) return s 备注 分子为1.0,而不能是1:因为c语言中规定,整型除以整型,得到的值仍然为整型, i艹丨必须用括号括起来,如果没冇用括号括起来,根据乘法运算规则,则先运算ⅰi 再运算ii+1的值 49、在该表达式中,分子分母都是阶乘,可以看做是三个数之间的运算,其中的每一个数都 是另外一个数的阶乘,定义三个交量,其中s1代表的是m的阶乘,s2代表的n的阶乘,s3 代表的是mn的阶乘,表达式的值可以计算为:s(s2*s3); 个变量都是代表的是阶乘,所以在赋初值时应该赋初值为1或者是1.0; float sl=1.0,s2-1.0,3=1.0 int 1 for(i=l; 1<=m; 1++) for(i=1;i<=n;i++)S2*=i; for(i=1; i<=m-n; 1++) (二)、把满足条件的数放到数组中4、12、25、35、37 在做该类题目时,看清题目的要求,根基题目的要求解题,若只是把满足条件的删除 或者是保留,则该类题目首先要定义一个整型变量并且赋初值0,根据题目意思把满足条件 的存放到数组中,数组的下标同时加一往后走一个位置,如果是字符串类型的题目,在最 后还要加上字符串的结束符”0;如果是把字母的大小写进行改变,则根据原则:小写改大写, 减32,大写改小写,加32只要涉及到数组的题目,都要定义一个整型变量i访问数组中的 元素 在循环语句中,如果是字符串时,循环的条件是判断字符是否是结束符,而不是i=n; 判断一个字母是否是大写字母s[}=A。&&[]~=z 判断是否是小写字母spi=a&&s<=2 判断一个字符是数字字符s>=0&&s=9; 4、定义一个整型变量i来访问字符数组中的元素。把小写字母改写成大写字母,只用把小 字母的ASCI值减去32即可 int ig for(=0;s]!=米0i++) if(%2=1&&sf|>=a&&sil=”) s]-32 代码中:i代表的是访问数组下标的变量。循环的条件是ss[]!=”0”这事字符串是否结束的 判断条件。从第一个字符开始,一直到遇到结束符为止。当取出一个字符后,对该字符进 行判断,如果该字符满足条件的时候,执行s]-=32;语句,即将小写字母改变成大写字 母。 12、先定义一个整型变量k并且赋初值0,作为数组的下标,一个整型变量i用来访问数组 中的元素的下标 inti.ke0 for(=0;[!=”0’i++) if((%2=0&&s[i%2=1) tk++}=s[ 备注:近条件中的内容是先将删除的写出来,再前面加上一个!,用来否定,则剩下的就是 要保留的内容。把满足条件的存放到数组t中,t也是一个字符数组,所以要够吃呢个字符 串,必须在后面赋值结束符。 三)、素数20、21 判断一个数是否是素数的方法很多,的是只用掌握一种即可,首先掌握判断一个素数的 方法 素数的定义:1、是自然数2、只能被1和本身整除,2到本身减一之间的数不能整除该 数 判断m是否为素数的格式: for(i=2; i
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: c语言求1到10的阶乘
 输入关键字,在本站1000多万海量源码库中尽情搜索: