江苏计算机二级c语言(精选10篇)
江苏计算机二级c语言 第1篇
2009春上机试题1(编程)
程序功能:找出7个默森尼数。法国数学家默森尼曾提出下列公式:Mp=2^p-1。当p是素数并且Mp也是素数时,称Mp为默森尼数,例如,p=5, Mp=2^5-1=31,5和31都是素数,因此31是默森尼数;而Mp=2^11-1=2047,11是素数,2047不是素数,因此2047不是默森尼数.【编程要求】
1.编写函数void Mersenne(long a[ ],int m),其功能是求出前m个默森尼数并以此将它们保存到a指向的数组中,2.编写main函数,调用Mersenne函数并保存前7个默森尼数,将运行结果输出到屏幕及结果文件myf2.out中,最后将考生的考号也保存到结果文件myf2.out中
【测试数据与运行结果】
37311278191***7
2009春上机试题2(编程)
用一组整数验证命题,任意一个百位数字与个位数字不同的三位正整数n1在经过以下操作后一定会变换到1089:将n1的百位数与个位数字交换得到n2,求n1和n2差的绝对值得到n3,将n3的百位数字与个位数字交换得到n4;求n3与n4的和得到n5,n5一定是1089,若n1、n3是一位数或两位数,则在高位补0使其成为三位数
例如:n1:123,n2:321,n3:198(321,-123),n4:891,n5:1089(198+891)
【编程要求】
1.编写函数int fun(int a[ ],int b[ ], int n),其功能是用n指向数组的前n个整数验证上述命题,将所有符合命题的整数所在数组元素的下标依次保存到b指向的数组中,函数返回b数组中数据的个数
2.编写main函数,声明a数组并用测试数据初始化,用a数组作为实参调用fun函数,将a数组中所有符合命题的整数输出到屏幕及结果文件myf2.out中,最后将考生本人的准考证号字符串也保存到结果文件myf2.out中
【测试数据与运行结果】
测试数据:123765***31676963589
运行结果:12376514567
江苏计算机二级c语言 第2篇
用win7系统用什么练习编写c语言?
答:windows上就用微软的Visual Studio挺好的。
主页君专攻c语言?
答:不是,基本是工作项目中需要什么就学什么,但业余时间练练算法时还是习惯用c来写。
主页君,我想做网页,能告诉我从哪几个角度入手吗?
答:纯网页的话,最基本的html+css布局,javascript做交互脚本,如果是整个网站,还要做后端,php/python/java都可以,数据库mysql。
主页君,不知你会看见我的留言吗?一直想问你身边女编程人员多吗?
答:大家的留言我都能看见。女编程人员,这个名字好怪,还是叫做软件开发工程师妹子吧,就我呆过的一些环境来看,比例很低,差不多1/5。
我要看数据结构与算法。
答:今后会考虑做这个方向,但确实要花时间,敬请期待。
你要是在优酷上做视频就好了。
答:感谢支持,我不是大牛,纯业余时间跟大家交流,确实拿不出来时间跟精力做视频,不好意思了。
最后还是把昨天的答案放上来,也算有始有终
CABBD
(12)以下选项中,能用作用户标识符的是
A)void
B)8_8
C)_0_
D)unsigned
答案:C,void和unsigned都是保留字,变量名不能以数字开头,故8_8也不行
(13)阅读以下程序
#include
main
{ int case; float printF;
printf(“请输入2个数:”);
scanf(“%d %f”,&case,&pjrintF);
printf(“%d %fn”,case,printF);
}
该程序编译时产生错误,其出错原因是
A)定义语句出错,case是关键字,不能用作用户自定义标识符
B)定义语句出错,printF不能用作用户自定义标识符
C)定义语句无错,scanf不能作为输入函数使用
D)定义语句无错,printf不能输出case的值
答案:A,原因答案里已经说了,这题没啥意思,实际工程中用不到,纯概念。
(14)表达式:(int)((double)9/2)-(9)%2的值是
A)0
B)3
C)4
D)5
答案:B,(double)9/2是4.5,(int)((double)9/2)是4,(9)%2是1,两者之差是3。
(15)若有定义语句:int x=10;,则表达式x-=x+x的值为
A)-20
B)-10
C)0
D)10
答案:B,原表达式等于 x= x - (x+x)= 10 - (10 + 10) = -10。
(16)有以下程序
#include
main()
{ int a=1,b=0;
printf(“%d,”,b=a+b);
printf(“%dn”,a=2*b);
}
程序运行后的输出结果是
A)0,0
B)1,0
C)3,2
D)1,2
江苏计算机二级c语言 第3篇
1 全国计算机二级 C 考试与 C 语言教学的互动性研究
1.1 国二 C 考试激发了学生学习 C语言的兴趣
《C语言程序设计》是一种通用性计算机程序设计语言也是程序设计的基础课程,在许多高校已经把它作为一门必修的课程。为了解决学生不爱学习C语言的问题,教师应该在开课初期上好第一堂课,让学生明白学好C语言可以为国家二级C考试做好铺垫。教师还应该在持续的教学过程中不断的将历年国二C考试真题拿到课堂中,与教材里相应的知识点进行结合讲解,通过真实的试题来激发学生学习兴趣和学习动力。同时教师也应时时鼓励学生,让他们通过历年国二考试真题知道,通过一定的努力学习,每个人都可以通过国二考试,国二C不再是遥不可及的高峰。
1.2 国二 C 考试为 C 语言教学改革创新机遇
目前,关于国家计算机二级C考试后的教学问题研究尚少。作者在中国期刊全文数据库对相关关键词进行了检索,发现此领域研究成果很少。一些相关的研究成果也是针对国家等级考试对计算机基础教育的影响。而不是反思二级C与高校C语言教学的联系。也正是基于此,二级C考试后是学生提高C语言学习和C语言教学改革创新的最好契机。因为,(1)国二C考试后,对于没有通过考试的学生,他们会通过该考试认识到C语言是可以通过努力学好的,往往具有更高的学习期望和热情。(2)教师们通过国二C辅导或考试也会有意识的将教学内容与考试内容相结合,促使C语言教学工作更加有的放矢,即通过C语言教学有针对性的将国二C考试的内容融汇教学过程中。(3)C语言教学活动和国二C应当有学校制度作支撑。这可促进学校教学制度的改革,不同的学科应当有符合各自独特的制度支持。
1.3 领会国二 C 考试大纲,围绕大纲组织教学
国家二级C考试内容多、范围广。主要包括选择题和操作题两种形式,选择题又包括数据结构和算法、程序设计基础、软件工程基础、数据库设计基础和C语言程序设计五个科目的知识点。其中软件基础是以程序设计为主线,掌握计算机软件基础知识和基本方法,培养利用计算机解决问题的意识、思路和能力,可为后续课程和计算机在专业中的应用奠基基础。而程序设计则要求学生熟悉C语言程序设计所提供的基本功能、语句构成、数据结构和程序框架,能正确阅读和分析C语言源程序,并具有编制和调试一个结构合理、清晰易懂、层次分明、算法正确的C程序的能力。所以,教师在教学过程中,应认真领会计算机等级考试大纲的要求和内容,全面把握计算机等级考试的应试要求和考核要求,并结合C语言教学大纲要求制定出切实可行的教学计划进行教学。
2 全国计算机二级 C 考试后 C 语言教学的主要策略
2.1 教学中拓宽学生学习的知识面
拓宽学生知识面可从激发学生多学相关知识、教师多讲相关内容、学生多做相关练习等多方面进行。国二C语言所考科目内容多,对于非计算机专业的学生来讲,公共基础知识是很难掌握的一部分,这就要求任课教师在讲授C语言课程时应有意识的拓宽学生的知识面,将国二中的公共基础知识融入到教学过程中,为学生参加国二C考试打好基础。
2.2 教学中进一步提高学生的实际操作能力
C语言是一门比较抽象且实践性很强的课程,要让学生运用C语言编写程序解决实际问题,如果只重视课堂教学而轻视上机实践,就算再讲究什么方法、策略,往往是事倍功半,让学生感觉C语言太难、太深奥、不好学而失去学习的兴趣,最终达不到本门课程教学目的。并且从2013年开始所有国家计算机二级考试科目全部实施了无纸化考试方式。这就要求教师在教学过程中更加注重学生的动手操作能力,做到理论与实验并重。
2.3 教学中构建分类教学目标
教师在C语言程序设计的课程的教学过程中可引入分类教学法,并在相关的知识讲解时引入国二C考试题,既达到学习新知识的目的,同时也为国二C考试做足了考前准备工作。其一,按教材中的章节进行初步学习,打好基础。其二,帮助学生实施分类学习。在达到全局性目标的基础上,教师应帮助学生将教材中的知识进行归纳和总结。设计科学的学习计划和学习方案,从而进入较高级的学习阶段。其三,注重综合训练,未雨绸缪。经过基础夯实阶段和归类总结阶段后,学生在C语言学习中已经建立了一套系统的学习体系,在这之后教师应更注重将各个知识结合起来进行综合性运用。进一步提高学生对知识的深入掌握,还可以对学生参加国二C考试起到未雨绸缪的作用。
2.4 注重过程,创新教学评价体系
目前,大学C语言教育评价存在的主要问题有 :首先,评价主体一元化。C语言考试主要由期末理论考试加实操考核两部分组成,而实操考核的形式、分数给予则由任课教师一人裁定,忽视了学生对评价的参与。其次,评价内容有限。C语言考试内容主要是对学生已学习过的内容掌握的情况做成评价,而一些高校教师为了提高通过率,往往会在考前为学生圈画出复习范围,导致最终的评价结果不能真实的反映学生的学习状况、学习能力和创新能力。为了解决以上问题,教师可尝试实施一些灵活的评价方式。如 :针对不同专业,不同的教学目标,采用全局评价、过程性评价与实际上机考核相结合的方式 ;针对不同的教学内容,推行书面考试、阶段性的机考和个人评价相结合的方式。
江苏计算机二级c语言 第4篇
2008年下半年二级C语言程序设计的全国报考人数为50.99万人,笔试试卷的整卷难度为0.57,整卷的信度达到了0.89。本次考试二级C全国取证率为32.3%。全卷的难度适中,信度较好。现就将本次考试中的部分难题做简要分析,以帮助考生复习备考,取得满意的成绩。
选择题第32题:
有以下程序
#include
void fun( int a, int b )
{intt;
t=a; a=b; b=t;
}
main()
{intc[10]={1,2,3,4,5,6,7,8,9,0}, i;
for (i=0; i<10; i+=2)fun(c[i], c[i+1]);
for (i=0;i<10; i++)printf("%d,", c[i]);
printf("n");
}
程序运行后的输出结果是
A)1,2,3,4,5,6,7,8,9,0,
B)2,1,4,3,6,5,8,7,0,9,
C)0,9,8,7,6,5,4,3,2,1,
D)0,1,2,3,4,5,6,7,8,9,
【答案】A
【分析】
(1)该题考生答对率只有29.6%,59.1%的考生选择了错误项B。
(2)这是一道典型的调用函数与被调用函数之间数据传递的问题。在调用函数时,实参的值将传送给对应的形参,但形参的变化不会影响对应的实参。教材例7.3(P.82)深刻地说明了这个过程。估计很多考生知道这一点,但理解不够深刻,故一旦试题更换格式,就会出错。
(3)这道题区分度较高,达到0.347,说明是一道好题。
选择题第40题:
有以下程序
#include
main()
{ FILE *pf;
char *s1="China", *s2="Beijing";
pf=fopen("abc.dat","wb+");
fwrite(s2,7,1,pf);
rewind(pf); /*文件位置指针回到文件开头*/
fwrite(s1,5,1,pf);
fclose(pf);
}
以上程序执行后abc.dat文件的内容是
A)ChinaB)Chinang
C)ChinaBeijingD)BeijingChina
【答案】B
【分析】
(1)只有28.5%的考生答对,有37.9%的考生选择了D。属于本套试卷里最难的选择题。
(2)在文件使用方式上,本题使用的是“wb+”,意思是为写建立一个新的二进制文件,并在读和写过程中,可以由位置函数设置读和写的起始位置。为降低试题难度,本题特地在语句rewind(pf);后面有注解提示:文件位置指针回到文件开头。因此,在写入字符串“Beijing”后,文件指针回到文件头,再写入“China”,文件的内容就成为“Chinang”,正确答案是B。
(3)该题区分度0.375,属好题。
填空题第8题:
以下程序的输出结果是___。
#include
main()
{int i,j,sum;
for(i=3;i>=1;i--)
{sum=0;
for(j=1;j<=i;j++)sum+=i*j;
}
printf("%dn",sum);
}
【答案】1
【分析】
(1)本题只有19.2%的考生答对。
(2)该题考核考生做题时的细心。在第一个for循环体中,由于每次循环都将sum置0,因此,影响sum值的因素就只与最后一次循环语句相关,此时,i为0,j为1,sum只能是1了。
(3)这道题本身不难,如果考生能够仔细阅题,掌握关键点,就不会出错了。
填空第9题:
以下程序的输出结果是___。
# include
main()
{ intj, a[]={1,3,5,7,9,11,13,15}, *p=a+5;
for(j=3;j;j--)
{switch ( j )
{ case1:
case2:printf("%d", *p++);break;
case3:printf("%d", *(--p));
}
}
}
【答案】9911
【分析】
(1)本题只有16.3%的考生答对,是难题。
(2)该题主要考核考生三个方面的知识,一是选择结构switch语句,一个是自加减运算,另一个是指针。j=3时,执行printf("%d", *(--p));语句,结果是输出9;j=2时,执行printf("%d", *p++); break; 结果是输出9,这是答对本体的关键!*p++指的是使*p作为表达式的值,然后使指针变量p本身增1;j=1时,执行空语句后,继续执行case2语句,此时输出11。所以本题的答案是9911。
江苏计算机二级c语言 第5篇
结构化程序设计的优点是便于分工合作,便于调试、维护和扩充。这种程序设计方法是将一个大程序分成若千个模块,每个模块完成一个功能,由一个总控模块来控制和协调各个模块来实现总的功能;因此,这种程序设计方法又称为模块化程序设计方法。在C语言中,函数是构成C谙言程序的最小模块。实际上,C语言的程序是由一个或者多个文件组成的,每个文件叉是由一个或多个函数组成的。因此,一个程序是由一个或多个函数组成的,其中,须有且仅有一个主函数,生函数的名字规定为rnaino这样,组成一个程序的者干个文件中,仅有一个是主文件,只有主艾件中才含有main()函数。另外,函数是由若干条语句组成的,语句是由若干个单词组成的‘单词是由若干个字符组成的。字符是构成程序的最小单元。e语言程序的构成如下所示:
程序~文件~函数~语句~单词、字符。
C语言是结构化程序设计语言,它具有构成三种基本结构模式的语句,这种结构化程序设计应具有的三种基本结构模式如下:
顺序结构棋式
它将由若干条顺序执行的语句构成,这是程序设计的最基本形式。
分支结构模式
C语言中具有条件语句和开关语句,它将会构成各种需要的分支结构模式。
循环结构模式
C语言中提供了三种循环语句(for循环,whil。循环和do-while循环),用它们可以构成
各种循环结构模式
在讲述C语言是一种结构化程序设计语言的同时,还必须指出它与其他结构化程序设计语言(如PASCAL语言)相比较,还有一些不完全之处,因此,C语言是一种不完全的结构化程序设计语言。其表现如下:
第一,完全的结构化程序设计语言不允许使用goto语句,因为goto语句会破坏结构化。
但是。got。语句在某些时候会使得程序简练,因此,在C语言中原则上允许使用goto语句,为了减少它对结构化的影响,采取了限制使用的办法,即规定got。语句的转向范围只能在一个函数体内。不得使用gates语句从一个函数体内转向到另一个函数体中,这种限制性地使用goto语句会给编程带来一些方便,又不会影响棋块之间的结构化。但是,建议在G语言的程序中尽量少使用goto语句。
第二,完全的结构化程序设计语言要求一个模块只有一个入口和一个出口,这样便于结构化的管理。但是,C语言程序中允许函数使用多个返回语句(return语句),即允许函数有多个出口,返回到调用函数。这样做也是为了编程中的方便。在C语言程序中,可以使用条件语句来返回不同的函数值。
由此可见,C语言虽然是一个不够严格的结构化程序设计语言,但它是一个使用起来十分灵活的高级语言。
1.计算机二级C语言程序设计考点解析:C语言程序实例
2.计算机二级C语言程序设计考点:指针
3.计算机二级C语言程序设计考点:函数
4.计算机二级C语言程序设计考点:数组
5.计算机二级C语言考点:字符型数据
6.计算机二级c语言试题
7.计算机二级C语言程序设计考点解析:常用的输人函数
8.计算机二级C语言程序设计考点解析:常用的输出函数
9.计算机二级C语言程序设计考点:单词及词法规则
计算机二级C语言每日练习 第6篇
1、一个教师讲授多门课程,一门课程由多个教师讲
授。则实体教师与课程关系 B
A) 1:m 联系
B) m: n 联系
C) m: 1联系
D) 1:1联系
2、结构化程序所要求的基本结构不包括 B
A) 重复(循环)结构 B) GOTO跳转
C) 选择(分支)结构 D) 顺序结构
3、下列叙述中正确的是 C
A) 在栈中,栈中元素随栈底指针与栈顶指针的变化而
动态变化
B) 在栈中,栈顶指针不变,栈中元素随栈底指针的变
化而动态变化
C) 在栈中,栈底指针不变,栈中的元素随栈顶指针的
变化而动态变化
4、定义无符号整数类为Uint,下面可以作为unit实例
化的值是 C
A) 0.369
B) 整数集合{1,2,3,4,5}
C) 369
D) -369
5、下面描述中错误的是(D)
A) 软件设计是将软件需求转换为软件表示的过程
B) PAD图是软件详细设计的表示工具
C) 数据结构与数据库设计是软件设计的任务之一
D) 系统总体结构图支持软件系统的详细设计
6、软件按功能可以分为应用软件、系统软件和支撑软件,下面的软件中是应用软件的是 C
A) 数据库管理系统
B) UNIX操作系统
C) 学生成绩管理系统
D) C语言编译程序
7、下列关于栈叙述正确的是 C
A) 栈顶元素最后才能被删除
B) 栈底元素永远不能被删除
C) 栈顶元素最先能被删除
8、软件生命周期中的活动不包括 A
A) 市场调研 B) 软件测试
C) 软件维护 D) 需求分析
9、下列叙述中正确的是 D
A) 有一个以上根结点的数据结构不一定是非线性结构
B) 双向链表是非线性结构
C) 循环链表是非线性结构
D) 只有一个根结点的数据结构不一定是线性结构
10、下列关于数据库设计中的叙述中,正确的是 A
A) 在需求分析阶段建立数据字典
B) 在物理设计阶段建立数据字典
C)在逻辑设计阶段建立数据字典
D) 在概念设计阶段建立数据字典
11、下列叙述中正确的是 D
A) 设计算法时只需要考虑结果的可靠性
B) B)算法就是程序
C) 设计算法时只需要考虑数据结构的设计
D) D)以上三种说法都不对
12、程序调试的任务是 A
A) 诊断和改正程序中的错误
B)设计测试用例
C) 验证程序的正确性
D) 发现程序中的错误
13、下列关于二叉树的叙述中,正确是 C
A) 叶子结点是度为2的结点数的两倍
B) 度为2的结点数是度为1的结点数的两倍
C) 叶子结点总是比度为2的结点多一个
D) 叶子结点总是比度为2的结点少一个
14、数据库系统的三级模式不包括 B
A) 概念模式 B) 数据模式 C) 内模式 D) 外模式
1.全国计算机二级c语言练习题
2.计算机二级C语言考试冲刺练习
3.2017计算机二级C语言选择题练习
4.计算机二级C语言练习题
5.计算机二级C语言模拟练习
6.计算机二级C语言基础练习题
7.计算机二级《C语言》基础练习题及答案
8.计算机二级c语言试题
9.计算机二级《C语言》基础练习题及答案
计算机二级C语言复习建议 第7篇
一、各章节知识点罗列:
第三章:基础知识
1、了解C的基本数据类型:int 、short int 、long int、unsign int、char、float、double、long double这些类型在内存中所在字节数;P22
2、八进制、十六进制整数的书写格式;
*3、浮点数指数形式的表示方法;
*4、字符常量的四种表示方法:P25表3-2;
5、字符串常量的表示方式;
*6、变量的命名规则:字母和下划线开头、数字字母下划线的组合;且不能是系统已经定义的关键字;
**7、常用的库函数,特别是数学函数:P31;
8、printf()函数的使用:P35和P312;
9、scanf()函数的使用:P36和P313;
*10、运算符及其优先级;P41表3-3;重点:%,++,--,类型强制转换;
11、sizeof运算符:P57
*第四章:3种基础程序结构
1、if语句;
2、switch()语句;
3、for循环:
4、while循环;
5、do-while循环;
6、break语句和continue语句的用法;
典型例题:
1、分段函数;课后作业4.4
2、素数的求法;P116例4.36
3、多项式的求法;P100例4.25,P115例4.35
4、百元百鸡问题;课后作业4.23
5、水仙花数;P111例4.32
6、数的分解;P112例4.33
7、兔子数列;P103例4.27
第五章:数组
1、一维数组的定义、多种赋初值和初始化方式;
2、一维数组全部元素的遍历访问;
3、二维数组的定义、多种赋初值和初始化方式;
4、二维数组全部元素的遍历访问;
典型例题:
1、在数组中查找某个值;P135例5.6;
*2、折半查找;P136例5.7;
3、数组的逆序输出;P140例5.10;
*4、冒泡排序法;P141例5.11;
*5、选择排序法;P143例5.12;
*6、矩阵相关题目:矩阵是否对称,例5.14;矩阵的转置;矩阵主对角线、副对角线的访问;
*7、杨辉三角形;P150课后作业5.11;
第六章:指针
1、指针的定义、&运算符、*运算符;
2、指针的初始化和赋值;
3、用指针访问一维数组;P159例6.5;
#4、用指针访问二维数组;P166例6.12;
#5、指向行数组的指针变量;
*6、指针与字符串(一维字符数组);P174例6.17,P175例6.18;
7、指针与二维字符数组;
*8、字符串处理函数:P177
典型例题:
1、P180例6.21;
2、P181例6.22;
3、P183例6.24;
第七章:函数
*1、掌握函数的定义与调用;
2、理解函数的返回值;P205
*3、函数的传值调用(形参为一般变量);
*4、函数的传地址调用(形参为指针变量或数组变量);
#5、函数的递归调用;P236例7.31;例7.32;例7.33;
6、静态变量;P244例7.37,例7.38;
典型例题:
1、基础函数的编写:P201例7.3;P204例7.5;P211例7.10;
2、函数形参为数组变量或指针变量:P222例7.17;P223例7.18;P227例7.22;P227例7.23;
第八章:结构体
*1、结构体的定义、结构体变量的定义、初始化和赋初值、结构体变量内存容量的计算;
*2、结构体变量的访问;P260成员运算符;
3、结构体数组的定义、赋初值和访问;
4、联合体的定义、结构体变量的定义、初始化和赋初值、联合体变量内存容量的计算;
*5、枚举类型的定义、枚举变量的定义、初始化和赋初值;
6、typedef的使用;
典型例题:
1、P266例8.5;
第九章:文件
*1、文件的操作方式:P291表9-1;
*2、fopen()、fclose()、fscanf()、fprintf()的使用;
3、fputc()、fgetc()、fputs()、fgets()、fread()、fwrite();
4、rewind()、ftell()、fseek()、fseek的三个起始位置值:P300表9-2;
二、复习建议:
1、第三、四、五、六、七章为考试重点,应重点复习;
2、第八和第九章都只考1-2题选择题;
3、第三章是C语言的基础内容,也是选这题的重点;
4、第四章是C语言的3中编程结构,是重点中的重点;
5、第五章的重点就是掌握数组的使用以及几个基础算法;
6、第六章主要是将指针与数组结合使用,要能使用指针来对数组元素进行访问和操作;
7、第七章要懂得如何编写、调用一个函数;对于函数形参是指针变量或数组变量的题目,是编程、改错、填空等大题的重点也是难点。
8、第八章和第九章,主要是靠选择题,不是考试的重点;
三、附加说明
1、*,表示重点内容;
2、#,表示是难点,不一定是重要;
1.计算机二级C语言考试复习五要点
2.计算机二级C语言每日练习
3.计算机二级c语言试题
4.计算机二级C语言考试考什么
5.计算机二级C语言的考点
6.计算机二级C语言练习题
7.计算机二级C语言重点知识点
8.计算机二级C语言考试必看技巧
9.计算机二级C语言考点:字符型数据
谈新大纲的二级C语言考试 第8篇
关键词:计算机,等级考试,C语言,方法
由于教育部考试中心对全国计算机等级考试进行了较大调整。很多考生都关心如何备考新的二级C语言考试,根据新大纲的考试情况和与以前考试的异同给大家一些备考建议。新二级C语言考试仍然分为笔试和上机两部分。
1 笔试
笔试分为两大部分内容:基础知识占30分;C语言知识占70分。与改革前的考试相比,基础知识部分的难度提升了,内容调整为由数据结构与算法、程序设计基础、软件工程基础、数据库设计基础四部分公共基础知识组成。
公共基础知识是新二级考试的难点,其中数据结构与算法是需要理解的内容,考核重点主要在二叉树、排序和查找。二叉树考核形式主要为二叉树的遍历问题(如给图求遍历序列、给前序、中序遍历求后序遍历等)、二叉树的结点问题(如给出一些条件然后求叶子结点个数);排序主要以计算时间复杂度的形式考核;查找主要以计算最佳/最坏比较次数的方式考核。其余的知识点主要以概念的形式考察,尤其是树、排序知识在考察时都很灵活。
程序设计基础与软件工程基础主要是记忆性的知识点。程序设计基础增加了面向对象程序设计的内容;软件工程基础主要考核内容为结构化分析及结构化设计方法。
数据库设计基础主要的考核点是关系模型、关系代数及数据库系统的基本概念,其中数据库的设计和管理部分可以结合软件工程的知识来看。
C语言部分的知识点是必须熟练掌握C语言程序设计的数据结构和算法,如数据类型、表达式、顺序结构、选择结构、循环结构、函数等,并能阅读简单的程序。考核的重点—函数、指针、数组、字符串等,以和C语言的基础部分结合的方式来考察,这些内容需要记忆的规则较多,尤其是指针和字符串在出题的时候会很灵活,学习这些内容时一定要仔细看书分析,防止概念和规则的混淆。
2 上机考试
上机考试是对考生计算机综合应用水平的检验。新考试将以前的操作系统基本操作题改成了C程序填空题,二级C上机考试题目类型目前有三种:程序填空题30分,程序修改题30分,程序设计题40分。
2.1 程序填空题
程序填空题是程序设计题的一种简化形式,在一段程序中“挖掉”几句,然后让你填写。通常“挖掉”的部分可能是条件表达式,也可能是关键语句等。根据题目要求将正确的答案填在程序行指定位置的下划线处。填空时应注意:
(1)填写语句时要删除程序行上的下划线,将正确的答案填在原下划线处;
(2)不要删除觹觹觹觹觹觹found觹觹觹觹觹觹注释行;
(3)不要将需要填空的行分成多行;
(4)不要修改其它语句。
2.2 程序修改题
要根据题目指定的要求修改程序和调试程序,并得到正确结果。要对变量类型、各种运算符、括号的匹配、语句后的分号等知识有清楚的认识。要对题目仔细推敲,修改后要运行,观察结果是否达到题目要求。
方法是:根据题目要求自上而下阅读指定的源程序,找出错误语句或在指定位置填写语句。一般来说,在要修改的程序中有若干个觹觹觹觹觹觹found觹觹觹觹觹觹或觹觹觹觹觹FOUND觹觹觹觹觹注释行,这是修改程序的标志行,错误总是存在于每个注释语句的下面一行或某行中。注意:不要改动main函数;不要删除、增加或移动程序中的任何行(包括空行);不能更改程序的结构;不要删除注释行。
程序修改题中的错误有语法错误、逻辑错误、函数或命令用错等。语法错误是指违背了C语言的语法规定,比较容易解决。逻辑错误是指程序中没有语法错误,但是执行结果与题目要求不符,这种错误的发现和排除较为困难。
若程序编译成功了,说明程序是逻辑错误,应该先读懂该程序的编程思路,然后跟踪程序的执行来找出错误;如果编译没通过,可借助给出的提示信息来修改错误。
常见错误:
(1)字母大小写问题。要注意区分大小写字母;
(2)条件表达式错误;
(3)循环控制错误;
(4)混淆运算符。如:=与==。“=”是赋值,“==”是比较运算中的相等;
(5)字符串的结束符是'�',而不是'0',还要注意字符串末尾是否有结束符;
(6)语句末尾缺少分号。
2.3 程序设计题
根据题目指定的要求编制程序。程序编写是上机考试的重点。首先对题目的要求进行仔细分析,判断是哪一类问题。将题意理解后应该把问题细化,通常编写的程序都不会只有一个要求,因此注意各要求之间的前后搭配。编写程序时应注意:
(1)不要修改题目中已经给出的任何语句;
(2)只能在函数fun的花括号间的空白处编写程序;(3)程序编制完成后一定要运行。
3 上机考试应注意的问题
(1)熟悉考试软件的使用。目前上机考试环境由Turbo C版改为Visual C++6.0版,考生在考试前应熟悉Visua C++6.0集成开发环境,掌握软件的使用方法及解答不同类型题目的操作步骤;
(2)程序填空题、修改题和程序设计题做完后一定要先存盘再调试运行;
(3)提高操作速度。上机考试是有时间限制的,要在短时间内做完所有的题目,速度是必不可少的;
(4)掌握操作方法和技巧。考试软件中每项操作都有明确的要求,要了解具体要求,并按要求去做才能得分。
总之,扎实的计算机基本知识和熟练的操作技能是顺利通过计算机等级考试的关键。提高程序阅读能力和程序设计能力;掌握程序调试方法,提高上机操作技能。
参考文献
浅析计算机C语言编辑程序技巧 第9篇
【关键词】C语言;编辑程序;技巧
很多的学生在进入大学以后,都会接触到C语言这一门课,在学习C语言的过程中,或多或少都会遇到一些问题,学习过程中也会感到吃力。确实,C语言作为一种新兴语言,随着当代计算机技术的飞速发展,其自身也在不断地完善与巩固,如今已经成为了最流行的计算机语言之一。学生在学习C语言的时候,对于一些专业术语、结构的掌握都不是很牢固,虽然感觉书本上的知识能够完全掌握,但在上机的时候,又会感到吃力,这就是C语言的特点所在。
1.C语言的内容
C语言的学习并没有想象中的那么困难,只要按照流程进行编程,通常都不会出现什么大问题。这里讲C语言分为几个板块来进行阐述。
1.1 语言的运算顺序和运算符
运算符和运算顺序是C语言的基本组成部分,两者之间既有联系也有差别。C语言拥有较强的灵活性,因此将这些运算符和运算顺序相组合,可以产生很多功能。这也是C语言区别与其它语言的地方。
1.2 C语言的基本结构
C语言包括顺序结构、选择结构、循环结构这三种结构。按照程序设计的要求,合理地选择和搭配这些结构,组成一个完整的程序。
1.3 数组
在数组当中,数据按照一定的顺序进行组合。数据的性质相同,就将其放入一个数组中。不同的数组,因为维数的不一样,由一维数组和多维数组。
1.4 函数
在C语言当中,函数是其不可缺少的组成部分。每一个函数都是一个相对独立地板块,通过调用函数,实现其特定的功能。根据分类的标准不同,函数可以分为用户函数和系统函数;返回值函数和无返回值函数;内部函数和外部函数。
1.5 指针
在C语言当中,指针也是经常出现的。指针可以指代很多内容,包括函数、数组、字符串以及地址等等,是得整个程序的运行更加高效,C语言的功能也能够得到更完美的展现。
1.6 文件
文件在C语言当中的应用,需要通过调用来实现。其内容就是一些相关联的数据的结合。
2.C语言编辑程序的技巧
很多人在学习C语言的时候,会感到很辛苦。想要灵活地利用C语言写出一个好程序,那么离不开大量的上机练习,只有在上机练习的过程中,才可以发现很多在草稿纸上发现不了的问题和漏洞。一个编好的程序,只有通过计算机的检验,确保无误,才可以成功運行,所以学习C语言离不开上机,要将书本上学到的知识与实践相结合,多上机练习,培养自己编程的感觉,熟能生巧,在不断地上机练习当中总结失败的教训和成功的经验,下面就为大家具体阐述一下编辑程序的一些技巧。
2.1 不能忽视书本上的例子
在学习C语言的时候,教科书上一般都会有很多的编程范例,在学习了一定的新知识后,就要仔细阅读书本上的范例。往往范例和知识是配套出现的,所以学习范例是对知识的再一次有效的巩固。我们一般学习C语言的方法,就是通过不断地模仿范例,来形成一种考虑问题的思路,将这一思路运用到今后同类型的问题的解决当中。在开始编辑自己想要的程序之前,必须经历的一个过程就是模仿范例,了解编程的一般步骤,对于范例中经常出现的语句要重点把握,培养自己的编程逻辑和思路,这样,在今后遇到了相似问题的时候,就可以以原先的范例作为一个参考,来进行编程,提高编程的成功率和效率。
2.2 联系编程离不开频繁的上机
在学习编程的过程中,不能仅仅满足于学习书本上的知识,而忽略了上机。书本上的知识是死知识,必须将具体的知识与实践相结合,才可以更好地掌握。在C语言国家级的考试当中,机考是其主要的组成部分,因此不容忽视。其机考比重比较大的目的就是为了提高学生们的实践能力。所以,在掌握书本知识的同时,同学们应当重视上机的联系,在上机的过程中发现自己知识的漏洞和不足,对于不熟悉或欠缺的地方即使的补救,然后不断地巩固自身,这样才可以有效地提高自己的C语言编程的能力。同样,经常上机还有利于我们语感和手感的培养,上机次数的频繁,是提高C语言的有效途径。
2.3 在程序的编写过程中,要综合运用所学到的知识
在一个程序的编写当中,会与到很多的知识,比如指针、结构体、函数等等,同样的,在一个C语言当中,还可能会出现不同的程序结构,比如循环结构、顺序结构以及选择结构。这就要求学生在进行C语言编程中,要将原来所学习到的知识进行综合地运用,根据所学的知识,编写出最优秀的C语言程序。这也对同学提出了一个较高的要求,即对知识的整理能力。在C语言的学习过程中,知识是相对比较杂的,因此,要求同学们边学边对知识进行一个相关的整理,在编写程序的过程中,将在书本上学到的理论性知识运用到实践当中,学会一个举一反三的能力。因此,在平时的学习过程中,对于理论性知识要熟练掌握,然后在上机过程中将其运用,提高自己的C语言编写的能力。
2.4 对于基础知识的掌握要牢固
一个程序能够顺利执行,离不开对相关基础知识的熟练掌握。在平时的学习过程中,不能忽视基础知识的重要作用,其实我们编程成功的前提。举个例子,你在学习编程的过程当中,如果对顺序结构、循环结构、选择结构这3中最基本的结构还掌握不透彻,那么可以说你是完成不了一个程序的编写了,因为这3种结构式最基本的三种结构,离开它,程序根本无法运行。在国家计算机考试当中,基础理论知识的考察通常是在笔试的部分中进行的,其占据了整个计算机考试的一半的内容,因此,要求我们在平时的学习过程中不能忽略了对基础知识的掌握。同样,在上机的过程中,也离不开基础知识的直到,深厚的基本功可以帮助同学理清解题的思路,使其能够在较短的时间内,编写出一个较为成功的程序。
3.学习C语言的重要意义
如今,因为计算机的不断发展,C语言的种类也在不断变化,很难形成统一的额种类。每一种的C语言有自己独特的地方,相互之间也会出现一些差异,这就是得学生在学习C语言的过程中感到吃力。但是,对于大学生来说,学习C语言的好处是不容忽视的。学生可以通过C语言的编写来编辑程序,使得一些比较繁琐的工作可以变得简单,同时也帮助学生更加了解当今的计算机技术。同时,学生在掌握了C语言的基础上,对于其它的编程语言的学习也容易许多。
4.结束语
随着计算机技术的不断发展,信息化时代的到来,学习C语言的重要性也越来越高。我们在平时的学习过程中,要重视上文所说的四种学习技巧:把握书本中的范例、注重理论知识的积累、勤上机、重视对知识的综合运用。在学习过程中,我们只有注意了上述的四点,才可以很好地掌握C语言的基本知识,才可以提高自己的编程能力。同时,对于C语言内容的掌握,也是不可忽视的一部分。比如程序结构、数组、字符串、函数等等的了解和熟练,都会对编程的掌握产生重要的影响。
参考文献
[1]陈宇文.注重源程序在《数据结构》课程中的重要性[J].高教论坛,2008,16(1):73-75.
[2]江静.《数据结构》课程综合性实验的实践[J].实验科学与技术,2006(6):64-66.
计算机二级C语言上机题型总结 第10篇
(一)关于“******”问题
1、将字符串中的前导*号全部删除,中间和后面的*号不删除。void fun(char *a){ char *p=a;while(*p= =’*’)p++;for(;*p!=’’;p++,a++)*a=*p;*a=’’;}
2、只删中间* int i;for(i=0;a[i]= =’*’;i++)for(;h
3、只删尾* while(*a!=’’)a++;a--;while(*a= =’*’)a--;*(a+1)=’’;
4、只留前* int i , j=0;for(i=0;a=’*’;i++);j=i;for(;a;i++)if(a!=’*’)a[j++]=a[i];a[j]=’’;
5、只留中间* int i,j=0;for(i=h;i 6、只留尾* char *t=a;for(;t<=p;t++)if(*t!=’*’)*(a++)=*t;for(;t!=’’;t++)*(a++)=*t;*a=’’; 7、*个数>n个,删多余的*;*个数<=n个,不做任何处理。int i=0, k=0;char *p,*t;p=t=a;while(*t= =’*’){ k++;t++;} if(k>n){ while(*p){a[i]=*(p+k-n);i++;p++} a[i]=’’;} (二)移动问题 1、若一维数组中有n个整数,要求把下标从p到n-1(p<=n-1)的元素平移到数组前面。int i,j,t;for(i=p;i<=n-1;i++){ t=w[n-1];for(j=n-2;j>=0;j--)w[j+1]=w[j];w[0]=t;} 2、把下标从0到p(p<=n-1)的元素平移到数组最后。int i,j,t;for(i=0;i<=p;i++){ t=w[0];for(j=1;j 3、把字符串str中的字符向前移动,原来第1个字符放串尾,结果仍保存在原串中。ch=str[0];for(i=0;str[i+1];i++)str[i]=str[i+1];str[i]=ch; 4、移动字符串中的内容,把第1到第m个字符平移到串后,把第m+1到后移到前。void fun(char *w, int m){ int i, j;char t;for(i=1,i<=m;i++){ t=w[0];for(j=1;w[j]!=’’;j++)w[j-1]=w[j];w[j-1]=t;} } (三)排序法 1、冒泡法 for(i=1;i 2、选择法 for(i=0;i 3、插入法 for(i=1;i (四)Fibonacci问题 1、求Fibonacci数列中小于t的最大的一个数,结果由函数返回。int fun(int t){ int a=1,b=1,c=0,i;do { c=a+b;a=b;b=c;}while(c 2、用递归算法计算数列中第n项的值。long fun(int g){ swich(g){ case 0:return 0;switch(g)case1:case2:return 1;} return(fun(g-1)+fun(g-2));}(五)素数问题 1、将大于整数m且紧靠m的k个非素数存入所指的数组中。void fun(int m,int k,int xx[]){ int i,j,n;for(i=m+1,n=0;n 2、小于或等于lim的所有素数放在aa数组中,该函数返回所求出的素数个数。int fun(int lim, int aa[MAX]){ int i,j,k=0;for(i=2;i<=lim;i++){ for(j=2;j=i)aa[k++]=i;} return k;} 3、将所有大于1小于整数m的非素数存入xx数组中,个数通过k传回。void fun(int m,int *k,int xx[]){ int i,j,n=0;for(i=4;i {int i, j,t,n=0;for(i=2;i (六)删除相同数 int fun(int a[],int n){ int i, j=1;for(i=1;i { int i,t,j=0;t=a[0];for(i=1;i (七)统计字符个数,单词个数。 1、按‘0’到‘9’统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。 void fun(char *tt, int num[]){ int i, j;int bb[10];char *p=tt;for(i=0;i<10;i++){ num[i]=0;bb[i]=0;} while(*p){ if(*p>=’0’&&*p<=’9’)bb[*p-‘0’]++;p++;} for(i=1,j=0;i<10;i=i+2,j++)num[j]==bb[i];} 2、str全部由小写字母和空格字符组成的字符串,num传入字符串长度。统计单词个数。void fun(char *s, int *num){ int I, n=0;for(i=0;i<*num;i++){ if(s[i]>=’a’&&ss[i]<=’z’&&(s[i+1]= =’’|| s[i+1]==’0’))n++;} *num=n;} 3、从’a’到’z’统计一个字符串中所有字母字符各自出现的次数,结果存在数组alf中。void fun(char *tt, int alf[]){ int i;char *p=tt;for(i=0;i<26;i++)alf[i]=0;while(*p){ if(*p>=’A’&&*p<=’Z’)*p+=32;if(*p>=’a’&&*p<=’z’)alf[*p-‘a’]++;p++;} } 4、str字符序列由字符0和1组成。查找0字符连续出现的最长长度,若有几个0字符长度相同,只记录最后1个0字符串相关信息,通过m和k返回最长0字符长度和其下标。void fun(char *str, int *m, int *k){ int i, j=0;int bb[N];char *p=str;*m=0;*k=0;for(i=0;i 5、统计在tt字符串中”a”到”z”26个字母各自出现的次数,并依次放在pp所指数组中。void fun(char *tt,int pp[]){ int i;for(i=0;i<26;i++)pp[i]=0;for(;*tt!=’’;tt++)if(;*tt>=’a’&&*tt<=’z’)pp[*tt-’a’]++;} 6、统计一个长度为n的字符串在另一个字符串中出现的次数。int fun(char *str, char *substr){ int n;char *p,*r;n=0;while(*str){ p=str;r=substr;while(*r)if(*r==*p){r++;p++;} else break;if(*r==’’)n++;str++;} return n;} 7、求出ss所指字符串中指定字符的个数,并返回此值。int fun(char *ss, char c){ int i=0;for(;*ss!=’’;ss++)if(*ss==c)i++;return i;} 8、统计一个长度为2的字符串在另一个字符串中出现的次数。int fun(char *str, char *substr){ int i,j=0;for(i=0;str[i+1]!=’’;i++)if(str[i]==substr[0]&&str[i+1]==substr[1])j++;return j;} (八)进制转换 1、把str字符串转换成任意进制的数。int fun(char *str, int x, int y){ int sum;int i=0;char *p=str;for(i=0;i :原进制;y:要转换成的进制。x while(sum!=0){ xx[i]=sum%y;sum=sum/y;i++;} return i;} 注: (1)将x转换成10进制:sum=sum*x+*p-‘0’;(2)将10进制转换成y: sum%y 得到y进制数的最低位。sum/y 得到y进制数的次低位。 2、str字符串由‘0’和‘1’组成。转换成十进制数。int fun(char *str){ int n;char *p=str;n=*p-‘0’;p++;while(*p){ n=n*2+*p-‘0’;p++;} return n;} (九)比较字符串长度 1、比较两个字符串的长度,函数返回较短的字符串。char *fun(char *s, char *t){int i,j;for(i=0;s[i]!=’’;i++);for(j=0;t[j]!=’’;j++);if(i<=j)return s;else return t;} 2、从传入的num个字符中找出最长的一个字符串,通过形参指针max传回该串地址。fun(char(*a)[81], int num,char *max){ int i=0;max=a[0];for(i=0;i (十)最大公约数,最小公倍数 1、int fun(int a, int b){ int r,t;if(a 2、输入两整数m和n,求最大公约数,最小公倍数。while(b!=0){t=a%b;a=b;b=t;} printf(“%d”,”%d”,a, n*m/a);注: 【江苏计算机二级c语言】相关文章: 计算机二级c语言上机08-01 计算机二级c语言总结09-21 2018年3月计算机二级C语言练习题三05-11 2023年秋季江苏计算机一级B试题06-10 江苏大学计算机学院拔河比赛策划书06-12 C语言计算机软件论文04-25 计算机C语言实验教学08-16 C语言计算机软件论文提纲09-09 江苏省造价员计算规则06-19 江苏省公务员成绩计算02-22