2012年上海市高等学校计算机等级考试试卷二级C语言程序设计(-A-卷)

合集下载

上海市高等学校计算机2012年上海市高等学校计算机等级考试试卷

上海市高等学校计算机2012年上海市高等学校计算机等级考试试卷

上海市高等学校计算机2012年上海市高等学校计算机等级考试试卷导读:就爱阅读网友为您分享以下“2012年上海市高等学校计算机等级考试试卷”的资讯,希望对您有所帮助,感谢您对的支持!2014年上海市高等学校计算机等级考试试卷一级(2012版考纲模拟卷)(三)网页设计(共20分)利用C:\KS\wy文件夹下的素材(图片素材在wy\images文件夹下,动画素材在wy\flash文件夹下),按以下要求制作或编辑网页,结果保存在原文件夹下。

1.打开主页index.html,设置网页标题为"智能设备简介";设置表格属性:居中对齐,边框线粗细:0像素;插入网页背景图片bg.jpg。

2.按样张,设置文字"穿戴式智能设备"的格式(CSS目标规则名为.f):字体为隶书,大小为36px,颜色为#38428A,居中显示。

3.按样张,在"智能鞋"下方单元格中插入图像shoes.jpg,定义图片中"苹果"的标志(logo)区域为热点区域,超链接至/,在新窗口打开。

4.按样张,在表单中插入四个单选按钮,其名称都为bg,其中"智能手表"的初始状态为选中;插入列表/菜单,三个选项分别为:小于1千,1千至3千,大于3千;添加两个按钮"提交"和"重置"。

5.按样张,合并最后一行第1-3列的单元格;设置单元格的水平对齐方式为"居中对齐";添加文字"联系我们",并设置为email链接,链接至***********。

(注意:样张仅供参考,相关设置按题目要求完成即可。

由于显示器分辨率或窗口大小的不同,网页中文字的位置可能与样张略有差异,图文混排效果与样张大致相同即可;由于显示器颜色差异,做出结果与样张图片中存在色差也是正常的。

2012年九月上机题库

2012年九月上机题库

2012年9月全国计算机等级考试二级C语言上机题库第一套1. 程序填空程序通过定义学生结构体数组 存储了若干个学生的学号、姓名和三门课的成绩。

函数fun的功能是将存放学生数据的结构体数组 按照姓名的字典序 从小到大排序 。

请在程序的下划线处填入正确的内容并把下划线删除 使程序得出正确的结果。

第一处struct student t; 第二处for(i=0;i<n-1;i++) 第三处if(strcmp(a[i].name,a[j].name)>0) 2 程序修改给定程序MODI1.C中函数fun的功能是 在p所指字符串中找出ASCII码值最大的字符 将其放在第一个位置上 并将该字符前的原字符向上顺序移动。

/**found**/ q=p+i; /**found**/ while(q>p) 3程序设计学生的记录由学号和成绩组成 N名学生的数据已在主函数中放入结构体数组s中 请编写了函数fun 它的功能是 把指定分数范围内的学生数据放在b所指的数组中 分数范围内的学生人数由函数值返回。

int fun(STREC *a,STREC *b,int l,int h) {int i,j=0; for(i=0;i<N;i++) if((a[i].s>=1&&a[i].s<=h) b[j++]=a[i]; return j; } 第二套1. 程序填空给定程序中已建立一个带有头结点的单向链表 链表中的各结点按数据域递增有序连接。

函数fun的功能是 删除链表中数据域值相同的结点 使之只保留一个。

第一处free(q); 第二处q=p->next; 第三处q=q->next; 2. 程序修改给定程序MODI1.C中函数fun的功能是 用选择法对数组中的n各元素按从小到大的顺序进行排序。

/**found**/ p=j; /**found**/ p=i; 3. 程序设计请编写一个fun函数 它的功能是 求出1到m之间 含m 能被7或11整除的所有整数放在数组a中 通过n返回这些数的个数。

2012年上海市高等学校计算机等级考试试卷

2012年上海市高等学校计算机等级考试试卷

2012年上海市高等学校计算机等级考试试卷二级 C语言程序设计B卷(二)编程题(2小题,共35分,第1小题15分,第2小题20分)1.编程题1编程要求:请按题中的功能要求,编写程序并能得到正确的结果。

将结果(包括B_4_1.C文件和B_4_1.EXE文件)保存到目录C:\KS\中。

程序功能:输入一个字符串,输出三角形样式图案,每行包含行号与子串,格式参见示例。

运行示例:输入:London输出:0:London1:ondon2:ndon3:don4:on5:n参考答案:#include <stdio.h>int main(void){char s[80];int i;gets(s);for (i=0;s[i]!='\0';i++){printf("%d:",i);puts(s+i);}return 0;}测试数据:Shanghai输出结果:0:Shanghai1:hanghai2:anghai3:nghai4:ghai5:hai6:ai7:i2.编程题2编程要求:请按题中的功能要求,编写程序并能得到正确的结果。

将结果(包括B_4_2.C文件和B_4_2.EXE文件)保存到目录C:\KS\中。

背景说明:在2012伦敦奥运会上,中国选手陈若琳获得跳水女子10米跳台冠军,中国代表团夏季奥运会第200枚金牌,下图是决赛中完成第2跳之后的裁判打分及跳水得分。

规则说明:共7个裁判对单人跳水进行打分,打分范围为0.0至10.0,且为0.5整数倍。

(1)去掉2个最高分,去掉2个最低分,保留3个中间有效分;(2)3个有效分的之和乘难度系数为跳水得分。

=∑得分⨯难度系数有效分以第2跳为例,得分=(9.0+8.5+9.0)*3.2=84.80。

程序功能:输入某轮次跳水的难度系数与7个裁判打分,输出该轮次跳水的得分,格式参见示例。

运行示例:输入:3.0 10.0 9.5 9.0 9.5 9.5 9.0 9.5输出:85.50参考答案:#include <stdio.h>int main(void){int j,k;float a[7],dif,score,sum,t;sum=0;scanf("%f",&dif);for (j=0;j<7;j++)scanf("%f",&a[j]);for (j=0;j<7-1;j++)for (k=0;k<7-1-j;k++)if (a[k]>a[k+1]){t=a[k];a[k]=a[k+1];a[k+1]=t;}score=dif*(a[2]+a[3]+a[4]);printf("%.2f\n",score);return 0;}测试数据:3.1 9.0 9.5 8.5 9.5 9.0 8.0 9.5输出结果:85.25C卷(二)编程题(2小题,共35分,第1小题15分,第2小题20分)1.编程题1编程要求:请按题中的功能要求,编写程序并能得到正确的结果。

2012年3月全国计算机等级考试《二级VisualBasic语言程序设计》真题及答案

2012年3月全国计算机等级考试《二级VisualBasic语言程序设计》真题及答案

2012年3月全国计算机等级考试《二级VisualBasic语言程序设计》真题及答案2012年3月全国计算机等级考试二级笔试试卷Visual Basic 语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A )、B )、C )、D )四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是A )循环队列是队列的一种链式存储结构B )循环队列是队列的一种顺序存储结构C )循环队列是非线性结构D )循环队列是一种逻辑结构(2)下列叙述中正确的是A )栈是一种先进先出的线性表B )队列是一种后进先出的线性表C )栈与队列都是非线性结构D )以上三种说法都不对(3)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为A )16B )10C )6D )4(4)在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A )外模式B )内模式C )概念模式D )逻辑模式(5)在满足实体完整性约束的条件下A )一个关系中应该有一个或多个候选关键字B )一个关系中只能有一个候选关键字C )一个关系中必须有多个候选关键字D )一个关系中可以没有候选关键字(6)有三个关系R 、S 和T 如下:R ST 则由关系R 和S 得到关系T 的操作是A )自然连接B )并C )交D )差(7)软件生命周期中的活动不包括A )市场调研B )需求分析C )软件测试D )软件维护(8)下面不属于需求分析阶段任务的是A )确定软件系统的功能需求B )确定软件系统的性能需求C )需求规格说明书评审 A B Ca 1 2b 2 1c 3 1 A B C a 1 2d 2 1 A B C b 2 1 c 3 1整理:陈远跃D)制定软件集成测试计划(9)在黑盒测试方法中,设计测试用例的主要根据是A)程序内部逻辑B)程序外部功能C)程序数据结构D)程序流程图(10)在软件设计中不适用的工具是A)系统结构图B)PAD图C)数据流图(DFD图)D)程序流程图(11)以下合法的VB变量名是D)x*y A)case B)name10 C)t-name(12)设x是小于10的非负数。

2012年9月全国计算机的等级考试二级C语言笔试试卷答案详解及解析汇报汇报

2012年9月全国计算机的等级考试二级C语言笔试试卷答案详解及解析汇报汇报

(1)下列链表中,其逻辑结构属于非线性结构的是_________。

A)双向链表B) 带链的栈 C) 二叉链表D) 循环链表(1)C 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps 中第13张说明:链表存储结构是数据的存储结构;排除链表因素,从数据逻辑结构来看,线性结构包括线性表、栈和队;非线性结构包括树形结构和图形结构,所以二叉树是树形结构,即非线性结构。

(2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。

现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A) 20 B) 0或35 C) 15 D) 16(2)B 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps中第100-101张关于入队(Q.rear=Q.rear+1)与退队(Q.front=Qfront+1)运算规则,此外第一次入队为Q.rear=1;第一次退队为Q.front=1。

并假定循环队列最大个数为maxsize,其相应存储空间为1: maxsize,则循环队列的入队与退队图例和运算后元素个数的确定原则如下:循环队列中的元素个数或称队列长度通用计算公式:(Q.rear-Q.front+ maxsize)% maxsize 例如,Q.rear=20,Q.front=15,则循环队列中的元素个数=(20-15+35)%35=5;Q.rear=40,Q.front=15,则循环队列中的元素个数=(40-15+35)%35=25;本题根据Q.rear=Q.front=15,maxsize=35,则循环队列中元素个数=(15-15+35)%35=0或35;(3)下列关于栈的叙述中,正确的是A) 栈底元素一定是最后入栈的元素B) 栈操作遵循先进后出的原则C) 栈顶元素一定是最先入栈的元素D) 以上三种说法都不对(3)B 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps中第63张幻灯片说明:栈元素入、退原则:先进后出(FILO)或后进先出(LIFO)。

2012年3月全国计算机等级考试二级C语言笔试试卷与答案(花卷)1

2012年3月全国计算机等级考试二级C语言笔试试卷与答案(花卷)1

C语言程序设计2012年3月全国计算机等级考试二级笔试试卷第一题在后面二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

(1)在长度为n的顺序存储的线性表中删除一个元素,最坏情况下需要移动表中的元素个数为【1】。

(2)设循环队列的存储空间为Q(1:30),初始状态为front=rear=30。

现经过一系列入队与退队运算后,front=16,rear=15,则循环队列中有【2】个元素。

(3)数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是【3】。

(4)在将E-R图转换到关系模式时,实体和联系都可以表示成【4】。

(5)常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于【5】。

(6)变量a和b已定义为int类型,若要通过scanf("a=%d,b=%d",&a,&b); 语句分别给a和b输入1和2,则正确的数据输入内容是【6】。

(7)以下程序的输出结果是【7】。

# include <stdio.h>main( ){ int a=37;a+=a%=9; printf(%d\n”,a);}(8)设a、b、c都是整型变量,如果a的值为1,b的值为2,则执行c=a++||b++; 语句后,变量b的值是【8】。

(9)有以下程序段s=1.0;for (k=1; k<=n; k++) s=s+1.0/(k*(k+1));printf("%f\n",s);请填空,使以下程序段的功能与上面的程序段完全相同。

s=1.0; k=1;while ( 【9】){ s=s+1.0/(k*(k+1)); k=k+1; }printf("%f\n", s);(10)以下程序的输入结果是【10】。

# include <stdio.h>main( ){ char a,b;for (a=0; a<20; a+=7) { b=a%10; putchar(b+'0'); }}(11)以下程序的输出结果是。

2012年的二级c语言真题及答案

2012年的二级c语言真题及答案

(1)下列数据结构中,属于非线性结构的是A)循环队列B) 带链队列C) 二叉树D)带链栈(2)下列数据结果中,能够按照“先进后出”原则存取数据的是A) 循环队列B) 栈C)队列D)二叉树(3)对于循环队列,下列叙述中正确的是A)队头指针是固定不变的B)队头指针一定大于队尾指针C)队头指针一定小于队尾指针D)队头指针可以大于队尾指针,也可以小于队尾指针(4)算法的空间复杂度是指A)算法在执行过程中所需要的计算机存储空间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的临时工作单元数(5)软件设计中划分模块的一个准则是A) 低内聚低耦合B) 高内聚低耦合C) 低内聚高耦合D) 高内聚高耦合(6)下列选项中不属于结构化程序设计原则的是A) 可封装D) 自顶向下C) 模块化D) 逐步求精(7)软件详细设计产生的图如下:该图是A) N-S图B) PAD图C) 程序流程图D) E-R图(8)数据库管理系统是A)操作系统的一部分B) 在操作系统支持下的系统软件C) 一种编译系统D) 一种操作系统(9)在E-R图中,用来表示实体联系的图形是A) 椭圆图B) 矩形C) 菱形D) 三角形(10)有三个关系R,S和T如下:其中关系T由关系R和S通过某种操作得到,该操作为A) 选择B) 投影C) 交D) 并(11)以下叙述中正确的是A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整(12)以下选项中,能用作用户标识符的是A)voidB)8_8C)_0_D)unsigned(13)阅读以下程序#includemain(){ int case; float printF;printf(“请输入2个数:”);scanf(“%d %f”,&case,&pjrintF);printf(“%d %f\n”,case,printF);}该程序编译时产生错误,其出错原因是A)定义语句出错,case是关键字,不能用作用户自定义标识符 B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值(14)表达式:(int)((double)9/2)-(9)%2的值是A)0B)3C)4D)5(15)若有定义语句:int x=10;,则表达式x-=x+x的值为A)-20B)-10C)0D)10(16)有以下程序#includemain(){ int a=1,b=0;printf(“%d,”,b=a+b);printf(“%d\n”,a=2*b);}程序运行后的输出结果是A)0,0C)3,2D)1,217)设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)if(a>b) c=a,a=b,b=c;B)if(a>b) {c=a,a=b,b=c;}C)if(a>b) c=a;a=b;b=c;D)if(a>b) {c=a;a=b;b=c;}(18)有以下程序#includemain(){ int c=0,k;for (k=1;k<3;k++)switch (k){ default: c+=kcase 2: c++;break;case 4: c+=2;break;}printf(“%d\n”,c);}程序运行后的输出结果是A)3B)5C)7D)9(19)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是A)if((a>b)&&(b>c)) k=1;else k=0;B)if((a>b)||(b>c) k=1;else k=0;C)if(a<=b) k=0;else if(b<=c) k=1;D)if(a>b) k=1;else if(b>c) k=1;else k=0;20)有以下程序#include{ char s[]={“012xy”};int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=’a’&&s[i]<=’z’) n++;printf(“%d\n”,n);}程序运行后的输出结果是A)0B)2C)3D)5(21)有以下程序#includemain(){ int n=2,k=0;while(k++&&n++>2);printf(“%d %d\n”,k,n);}程序运行后的输出结果是A)0 2B)1 3C)5 7D)1 2(22)有以下定义语句,编译时会出现编译错误的是A)char a=’a’;B)char a=’\n’;C)char a=’aa’;D)char a=’\x2d’;(23)有以下程序#includemain(){ char c1,c2;c1=’A’+’8’-‘4’;c2=’A’+’8’-‘5’;printf(“%c,%d\n”,c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是 A)E,68C)E,DD)输出无定值(24)有以下程序#includevoid fun(int p){ int d=2;p=d++; printf(“%d”,p);}main(){ int a=1;fun(a); printf(“%d\n”,a);}程序运行后的输出结果是A)32B)12C)21D)22(25)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#define MIN -2147483647int findmax (int x[],int n){ int i,max;for(i=0;i<N;I++)< p="" />{ max=MIN;if(maxreturn max;}造成错误的原因是A)定义语句int i,max;中max未赋初值B)赋值语句max=MIN;中,不应给max赋MIN值C)语句if(maxD)赋值语句max=MIN;放错了位置(26)有以下程序#includemain(){ int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);}程序运行后的输出结果是A)1,2,1,2B)1,2,2,1C)2,1,2,1D)2,1,1,2(27)若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是A)p=aB)q[i]=a[i]C)p=a[i]D)p=&a[2][1](28)有以下程序#include#includemain(){ char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1];printf(“%d,”,strlen(p));printf(“%s\n”,p);}程序运行后的输出结果是A)9,One*WorldB)9,One*DreamC)10,One*DreamD)10,One*World(29)有以下程序#includemain(){ int a[ ]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){ case 0:switch(a[i]%2){case 0:a[i]++;break;case 1:a[i]--;}break;case 1:a[i[=0;}for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“\n”);}A)3 3 4 4B)2 0 5 0C)3 0 4 0D)0 3 0 4(30)有以下程序#include#includemain(){ char a[10]=”abcd”;printf(“%d,%d\n”,strlen(a),sizeof(a));}程序运行后的输出结果是A)7,4B)4,10C)8,8D)10,10(31)下面是有关C语言字符数组的描述,其中错误的是 A)不可以用赋值语句给字符数组名赋字符串B)可以用输入语句把字符串整体输入给字符数组C)字符数组中的内容不一定是字符串D)字符数组只能存放字符串(32)下列函数的功能是fun(char * a,char * b){ whi le((*b=*a)!=’\0’) {a++,b++;} }A)将a所指字符串赋给b所指空间B)使指针b指向a所指字符串C)将a所指字符串和b所指字符串进行比较D)检查a和b所指字符串中是否有’\0’(33)设有以下函数void fun(int n,char * s) {……}则下面对函数指针的定义和赋值均是正确的是A)void (*pf)(); pf=fun;B)viod *pf(); pf=fun;C)void *pf(); *pf=fun;D)void (*pf)(int,char);pf=&fun;(34)有以下程序#includeint f(int n);main(){ int a=3,s;s=f(a);s=s+f(a);printf(“%d\n”,s);}int f(int n){ static int a=1;n+=a++;return n;}程序运行以后的输出结果是A)7B)8C)9D)10(35)有以下程序#include#define f(x) x*x*xmain(){ int a=3,s,t;s=f(a+1);t=f((a+1));printf(“%d,%d\n’,s,t);}程序运行后的输出结果是A)10,64B)10,10C)64,10D)64,64(36)下面结构体的定义语句中,错误的是A)struct ord {int x;int y;int z;}; struct ord a;B)struct ord {int x;int y;int z;} struct ord a;C)struct ord {int x;int y;int z;} a;D)struct {int x;int y;int z;} a;(37)设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是A)char str[ ]=”string”;c=str;B)scanf(“%s”,c);C)c=getchar();D)*c=”string”;(38)有以下程序#include#includestruct A{ int a; char b[10]; double c;};struct A f(struct A t);main(){ struct A a={1001,”ZhangDa”,1098.0};a=f(a);jprintf(“%d,%s,%6.1f\n”,a.a,a.b,a.c);}struct A f(struct A t)( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; )程序运行后的输出结果是A)1001,ZhangDa,1098.0B)1001,ZhangDa,1202.0C)1001,ChangRong,1098.0D)1001,ChangRong,1202.0(39)若有以下程序段int r=8;printf(“%d\n”,r>>1);输出结果是A)16B)8C)4D)2(40)下列关于C语言文件的叙述中正确的是A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,其类型只能是文本文件二、填空题(每空2分,共30分)(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有【1】个结点。

上海市高等学校计算机等级考试试卷二级C语言程序设计(B卷)

上海市高等学校计算机等级考试试卷二级C语言程序设计(B卷)

上海市⾼等学校计算机等级考试试卷⼆级C语⾔程序设计(B卷)上海市⾼等学校计算机等级考试试卷⼆级 C语⾔程序设计( B 卷)⼀、单选题1. 下列C语⾔的标识符中,不合法的标识符为____________A. starB. 1234C. _a100D. circuit92. 若已定义: int x=10;则表达式 x=(4*5,x*5,x+25) 的值是 ______ 。

A. 20B. 45C. 125D. 353. 若x是int类型变量,y是float类型变量,则为了将数据55和55.5分别赋给x和y,则执⾏语句: scanf(“%d, %f”,&x,&y,); 时,正确的键盘输⼊是 ______ 。

A. 55,55.5↙B. x=55, y=55.5↙C. 55↙55.5↙D. x=55↙y=55.5↙4. 若有说明语句:int x=25,y=20,z=30;则执⾏语句:if(x>y) {y=z; z=x;} x=y; printf(“%d,%d,%d”,x,y,z); 后,输出是____________A. 25,20,30B. 30,30,25C. 25,30,30D. 25,30,255. 程序段:int num=2;while(num)printf(“%d ,”,num--);的运⾏结果是_______________A. 2,1,B. 2,1C. 2,1,06. 若有说明:int a[3][4],s;则对数组a的元素引⽤正确的是____________A. s=0; for(i=0;i<=3;i++) for(j=0;j<4;j++) s+=a[i][j];B. s=0; for(j=0;j<=4;j++) for(i=0;i<3;i++) s+=a[i][j];C. s=0; for(i=0;i<4;i++) for(j=0;j<=3;j++) s+=a[j][i];D. s=0; for(i=0;i<3;i++) for(j=0;j<4;j++) s+=a[i][j];7. 如果形参获取实参的地址,则____________作为函数调⽤时的实参。

2012年上海市高等学校计算机等级考试试卷二级VBNET程序设计

2012年上海市高等学校计算机等级考试试卷二级VBNET程序设计

2012年上海市高等学校计算机等级考试试卷二级 程序设计( A 卷)(本试卷考试时间 120 分钟)一、单选题 ( 本大题 10 道小题,每小题 1.5 分,共 15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。

1.当运行程序时,系统自动执行启动窗体的__________事件过程。

答案:AA.LoadB.ClickC.UnLoadD.GotFocus2.已知列表框(ListBox1)中有10个数据项,对列表框操作正确的语句是___________。

答案:BA.ListBox1.Clear()B.ListBox1.Items.RemoveAt(4)C.ListBox1.Items.RemoveAt("计算机")D.ListBox1.Items.Add(1, "打印机")3.若要使标签控件显示时不覆盖窗体的背景图案,要对___________ 属性进行设置。

答案:AA.BackColorB.BorderStyleC.BackD.ForeColor4.下列函数中,_________函数返回值是数值型的。

答案:DA.ChrB.MidC.ReplaceD.Val5.下面的过程定义语句中_________是不合法的。

答案:AA.SubSub1(ByVal n%) As IntegerB.SubSub1(ByVal sub1%)C.FunctionSub1(ByVal n%) As IntegerD.FunctionSub1%(ByVal n%)6.定义结构类型并声明变量如下:Structure StudentDim No As IntegerDim Name As StringEnd StructureDim s As Student下列语句正确的是__________。

答案:DA.s={100001,"张三"}="张三"="张三"="张三"7.VB程序设计中,响应对象的外部动作称为______ , 而对象可以执行的动作或对象本身的行为则称为______。

上海市高等学校计算机等级考试二级-C#程序设计

上海市高等学校计算机等级考试二级-C#程序设计

知道 理解 掌握 掌握 掌握 掌握
掌握
掌握 掌握 掌握 掌握
理解 掌握 掌握 理解 知道 掌握 理解 掌握 理解 理解 掌握 理解
掌握
掌握 掌握 掌握 掌握 掌握 掌握 掌握
掌握
- 27 -
二维数组 数组的基本操作 3 界面设计 3.1 控件
常用控件
高级事件过程
3.2
窗体和多重窗体
3.3
菜单设计
3.4
掌握
8
程序调试
· 语法错误
掌握
· 语义错误
掌握
六、几点说明
(一)适用对象
理、工、文、商、医等专业类非计算机专业本科生
(二)建议学时数
64-72 学时,其中 32 学时为实验课
(三)建议系统配置
1、硬件
中央处理器 Pentium III 550MGHz 以上
内存
128MB 以上
硬盘
20GB 以上
2、软件
清华大学出版社。
- 29 -
要求
- 26 -
1
2 2.1
2.2
C#.NET 基本知识
C#.NET 概述
· NET 框架、Visual 特点
面向对象程序设计的基 · 对象的概念及对象的属性、事件和方法
本概念
程序的书写格式
· 标识符/变量/常量/运算符等构成规则 · 源程序的书写规则与风格
C#.NET 语言程序设计步 ·C#.NET 集成开发环境的使用
附件 6:
上海市高等学校计算机等级考试(二级) 《C#程序设计》考试大纲 (2012 年修订)
一、考试性质
上海市高等学校计算机等级考试是上海市教育委员会组织的全市高校统一的教学考试,是检测和评价高校计算 机应用基础知识教学水平和教学质量的重要依据之一。该项考试旨在规范和加强上海高校的计算机教学工作,提高 学生的计算机应用能力。考试对象主要是上海高等学校非计算机专业学生,考试每年举行一次,当年的十月下旬、 十一月上旬的星期六或星期日。凡考试成绩达到合格者或优秀者,由上海市教育委员会发给相应的证书。

全国计算机等级考试二级C语言机试真题2012年03月

全国计算机等级考试二级C语言机试真题2012年03月

全国计算机等级考试二级C语言机试真题2012年03月(总分:100.00,做题时间:90分钟)一、程序填空题(总题数:1,分数:30.00)1.下列给定程序中,函数fun的功能是:将形参a所指数组中的前半部分元素中的值与后半部分元素中的值对换。

形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。

例如,若a所指数组中的数据为:1, 2, 3, 4, 5, 6, 7, 8, 9, 则调换后为:6, 7, 8, 9, 5, 1, 2, 3, 4。

请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。

注意:部分源程序给出如下。

不得增行或删行,也不得更改程序的结构!试题程序:#include <stdio.h>#define N 9void fun(int a[], int n)int i, t, P;P=(n%2==0)? n/2:n/2+______;for(i=0; i<n/2; i++)t=a[i];a[i]=a[P+______;______=t;main()int b[N]=1, 2, 3, 4, 5, 6, 7, 8, 9, i;printf("/nThe original data: /n");for(i=0; i<N; i ++)printf("% 4d", b[i]);printf("/n");fun(b, N);printf("/nThe data after moving: /n");for(i=0; i<N; i ++)printf("% 4d", b[i]);printf("/n");(分数:30.00)填空项1:__________________ (正确答案:(1)1 (2)i (3)a[p+i]或*(a+p+i))解析:[考点] 填空1:该处是判断数组元素的个数是奇数还是偶数,为奇数时要使当前位置加1,使p指向数组中间位置。

2012-09计算机等级考试二级C语言真题及参考答案

2012-09计算机等级考试二级C语言真题及参考答案

A)边界值分析B)路径覆盖C) 语句覆盖D)逻辑覆盖(10) 下面不属于软件设计阶段任务的是A)制定软件确认测试计划B)数据库设计C) 软件总体设计D)算法设计(11) 以下叙述正确的是A) 在C语言程序中,main函数必须放在其它函数是最前面B) 每个后缀为.C的C语言源程序都可以单独进行编译C) 在C语言程序中,只有main函数才可以单独进行编译D) 每个后缀为.C的C语言源程序都应该包含一个main函数(12) C语言中的标识符分为关键字、预定义标识符和用户定义标识符,以下叙述正确的是A)预定义标识符(如库函数中的函数名)可以用作用户标识符,但失去原有含义B) 用户标识符可以由字母和数字任意顺序组成C)在标识符中大写字母和小写字母被认为是相同的字符D)关键字可用用户标识符,但失去原有含义(13) 以下选项中表示一个合法的常量是(说明:符号∏表示空格)A) 9∏9∏9B) 0Xab C) 123E0.2D) 2.7e(14) C语言主要是借助以下哪个功能来实现程序模块化A)定义函数B)定义常量和外部变量C) 三种基本结构语句D)丰富的数据类型(15) 以下叙述中错误的是A) 非零的数值型常量有正值和负值的区分B) 常量是在程序运行过程中值不能被改变的量C) 定义符号常量必须用类型名来设定常量的类型D) 用符号名表示的常量叫符号常量(16) 若有定义和语句:int a, b; scanf("%d,%d", &a, &b);以下选项中的输入数据,不能把值3赋给变量a,5赋给变量b的是A) 3,5,B) 3,5,4C) 3 ,5D) 3,5(17) C语言中char类型数据占字节数为A) 3B) 4C) 1D) 2(18) 以下关系表达式中,结果为"假"的是A) (3 + 4) > 6B) (3 != 4) > 2C) 3 <= 4 || 3D) (3 < 4) ==1(19)若以下选项中的变量全部为整形变量,且已正确定义并赋值,则语法正确的switch语句是A) switch(a + 9)B) switch(a + 9){case c1 : y = a – b;{case 10 : x = a + b;case c2 : y = a + b;default : y = a – b;}}C) switch(a + b)D) switch(a * a + b * b){case1 : case3 : y = a + b; break;{default : break;case0 : case4 : y = a - b;case 3 : y = a + b; break;}case 2 : y = a – b; break;}(20)有以下程序#include <stdio.h>main(){int a = -2, b = 0;while(a++ && ++b);printf("%d,%d\n", a, b);}程序运行后的输出结果是A) 1,3B) 0,2C) 0,3D) 1,2(21)设有定义:int x = 0, *p; 立刻执行以下语句,正确的语句是A) p = x;B) *p = x;C) p = NULL;D) *p = NULL;(22) 下列叙述中正确的是A) 可以用关系运算符比较字符串的大小B) 空字符串不占内存,其内存空间大小是0C) 两个连续的单引号是合法的字符常量D) 两个连续的双引号是合法的字符串常量(23) 有以下程序#include <stdio.h>main(){char a = 'H';a = (a >= 'A' && a <= 'Z') ? (a - 'A' + 'a') : a;printf("%c\n", a);}程序运行后输出结果是A) A B) a C) H D) h(24) 有以下程序#include <stdio.h>int f(int x);main(){int a, b = 0;for(a = 0; a < 3; a++){ b = b + f(a); putchar('A' + b);}}int f(int x){return x * x + 1;}程序运行后输出结果是A) ABE B) BDI C) BCF D) BCD(25) 设有定义:int x[2][3]; 则以下关于二维数组x的叙述错误的是A) x[0]可看作是由3个元素组成的一维数组B) x[0]和x[1]是数组名,分别代表不同的地址常量C) 数组x包含6个元素D) 可以用语句x[0] = 0; 为数组所有元素赋初值0(26) 设变量p是指针变量,语句p = NULL; 是给指针变量赋NULL值,它等价于A) p = "";B) p = '0';C) p = 0;D) p = ";(27) 有以下程序#include <stdio.h>main(){int a[] = {10, 20, 30, 40}, *p = a, i;for(i = 0; i <= 3; i++){a[i] = *p; p++;}printf("%d\n", a[2]);}程序运行后输出结果是A) 30B) 40C) 10D) 20(28)有以下程序#include<stdio.h>#define N 3void fun(int a[][N], int b[]){int i, j;for(i = 0; i < N; i ++){b[i] = a[i][0];for(j = 1; j < N; j++)if(b[i] < a[i][j]) b[i] = a[i][j];}}main(){int x[N][N] = {1,2,3,4,5,6,7,8,9}, y[N], i;fun(x, y);for(i=0; i < N; i++) printf("%d,",y[i]);printf("\n");}程序运行后的输出结果是A) 2,4,8,B) 3,6,9,C) 3,5,7,D) 1,3,5,(29)有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数)#include<stdio.h>#include<string.h>main(){ char a[10] = "abc", b[10] = "012", c[10] = "xyz";strcpy(a + 1, b + 2);puts(strcat(a, c + 1));}程序运行后的输出结果是A) a12xyz B) 12xyz C) a2yz D) bc2yz(30)以下选项中,合法的是A) char str3[] = {'d', 'e', 'b', 'u', 'g', '\0'};B) char str4; str4 = "hello world";C) char name[10]; name = "China";D) char str1[5] = "pass", str2[6]; str2 = str1;(31)有以下程序#include<stdio.h>main(){ char *s = "12134";int k = 0, a = 0;while(s[k + 1] != '\0'){k++;if(k % 2 == 0){ a = a + (s[k] - '0' + 1); continue;}a = a + (s[k] - '0');}printf("k = %d a = %d\n", k, a);}程序运行后的输出结果是A) k=6 a=12B) k=3 a=14C) k=4 a=12D) k=5 a=15(32)有以下程序#include<stdio.h>main(){char a[5][10] = {"one", "two", "three", "four", "five"};int i, j;char t;for(i=0; i<4; i++)for(j = i + 1; j < 5; j++)if(a[i][0] > a[j][0]){t = a[i][0]; a[i][0] = a[j][0]; a[j][0] = t;}puts(a[1]);}程序运行后的输出结果是A) fwo B) fix C) two D) owo(33)有以下程序#include<stdio.h>int a = 1, b = 2;void fun1(int a,int b){printf("%d %d ", a, b);}void fun2(){ a = 3; b = 4;}main(){fun1(5, 6); fun2();printf("%d %d\n", a, b);}程序运行后的输出结果是A) 1 2 5 6B) 5 6 3 4C) 5 6 1 2D) 3 4 5 6(34)有以下程序#include<stdio.h>int func(int n){static int num=1;num = num + n; printf("%d ", num);}main(){func(3); func(4); printf("\n");}程序运行后的输出结果是A) 4 8 B) 3 4C) 3 5D) 4 5(35) 有以下程序#include <stdio.h>#include<stdlib.h>void fun(int *p1, int *p2, int *s){s = (int*)malloc(sizeof(int));*s = *p1 + *p2;free(s);}main(){int a=1, b=40, *q = &a;fun(&a, &b, q);printf("%d\n", *q);}程序运行后的结果是A) 42B) 0C) 1D) 41(36) 有以下程序#include <stdio.h>struct STU{char name[9]; char sex; int score[2];};void f(struct STU a[]){struct STU b = {"Zhao", 'm', 85, 90};a[1] = b;}main(){struct STU c[2] = {{"Qian", 'f', 95, 92}, {"Sun", 'm', 98, 99}};f(c);printf("%s,%c,%d,%d,", c[0].name, c[0].sex, c[0].score[0], c[0].score[1]);printf("%s,%c,%d,%d,", c[1].name, c[1].sex, c[1].score[0], c[1].score[1]);}程序运行后输出结果是A) Zhao,m,85,90,Sun,m,98,99B) Zhao,m,85,90,Qian,f,95,92C) Qian,f,95,92,Sun,m,98,99D) Qian,f,95,92,Zhao,m,85,90(37) 以下叙述中错误的是A) 可以用typedef说明的新类型名来定义变量B) typedef说明的新类型名必须使用大写字母,否则会出现编译错误C) 用typedef可以为基本数据类型说明一个新名称D) 用typedef说明新类型的作用是用一个新的标识符来代表已存在的类型名(38) 以下叙述中错误的是A) 函数的返回值类型不能是结构体类型,只能是简单类型B) 函数可以返回指向结构体变量的指针C) 可以通过指向结构体变量的指针访问所指结构体变量的任何成员D) 只要类型相同,结构体变量之间可以整体赋值(39)若有定义语句int b = 2;则表达式(b << 2) / (3 || b)的值是A) 4B) 8C) 0D) 2(40)有以下程序#include<stdio.h>参考答案一、选择题:1~5CBBDA6~10CCBAA 11~15BABAC16~20CCBDD 21~25CDDBD26~30CABCA 31~35CABAC36~40DBABD二、填空题:1.62.203.逻辑独立4.选择5.系统软件6. a > b7.%lf %f8.2249.1610.432111.712.2213.214.615.p->next。

上海市高等学校计算机等级考试试卷二级c语言程序设计(-a-卷)

上海市高等学校计算机等级考试试卷二级c语言程序设计(-a-卷)

2012年上海市高等学校计算机等级考试试卷二级 C语言程序设计( A 卷)(本试卷考试时间 120 分钟)一、单选题 ( 本大题 10 道小题,每小题 1 分,共 10 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。

1.在一个C 语言源程序中,main()函数的位置_________。

答案:CA.必须在最前面B.必须在其它函数之前C.可以在任意位置D.必须在最后面2. 设有变量定义:int a[ ]={5, 6, 1, 3, 7}, c, i;当执行完语句:for(i=c=0; i<5; i++){ if(a[i]%3 = =0)continue;c++;}之后,c的值是_____。

答案:CA.1B.2C.3D.43.以下程序运行结果为_______#define PII 3#define S(x) PII*x*xmain(){ int a=1, b=2, c;c = a+b;printf("%d\n",S(c));}答案:BA.9B.27C.7D.104.若有变量定义:int a[4], *p=a; 则以下对数组a的元素不正确的引用是_____。

答案:DA.*aB.*(p+1)C.p[1]D.a[4]5.设有变量定义:int d[50], *p=&d[0]; 下面表达式中________的计算结果为int类型的数值(非地址)。

答案:DA.p+=1B.p++C.&d[2]D.p-d6.为了判断两个字符串s1和s2是否相等,应当使用_____。

答案:DA.if (s1==s2 )B.if (s1 = s2 )C.if ( strcpy (s1,s2 ) )D.if ( strcmp( s1,s2) == 0 )7.设有变量定义int n; char str[80];与函数调用:n=hex2dec(str);则函数hex2dec正确的函数说明应该是_______。

2012年上海市高等学校计算机等级考试C试卷

2012年上海市高等学校计算机等级考试C试卷

2012年上海市高等学校计算机等级考试试卷一级(2012版考纲C卷)所有的样张都在“C:\样张”文件夹中,考试系统中【样张】按钮可直接打开此文件夹。

(一)Windows操作(共6分)1.在C:\KS文件夹下创建两个文件夹:JHC、JKC;在C:\KS\JHC文件夹中建立名为JLC的文件夹。

2.在C:\KS文件夹中建立名为“HT”的快捷方式,该快捷方式指向Windows 7的系统文件夹中的应用程序mspaint.exe。

(二)Office操作(共20分)1.启动Word 2010,打开C:\素材\word.docx文件,参照样张,按以下要求操作,将结果以原文件名另存在C:\KS文件夹中。

(1)将正文第二段中的所有“瓶装水”文字设置成“红色,强调文字颜色2,淡色40%”并加粗。

并设置该段落首行缩进2个字符,段前、段后间距为0.5行,行距为最小值12磅(提示:单击【开始】选项卡“段落”组右下角的小箭头,在弹出的“段落”对话框中设置)。

(2)设置“水瓶”剪贴画的图片样式为“金属框架”;将图片的自动换行设置为“衬于文字下方”。

(3)将正文中的第三段分成等宽三栏,并加栏间分隔线(提示:选中文本,【页面布局】|【分栏】,特别注意选择文本的时候,选中回车键或者不选中,会影响后续段落是否分栏,请根据题目要求选择);并将该段落的第一个文字设置首字下沉2行(提示:【插入】|【首字下沉】)。

说明:关于分栏还可以要求在指定位置插入分栏符(步骤:【页面布局】|【分隔符】|【分栏符】,“页面设置”组中)2.启动PowerPoint 2010,打开C:\素材\Power.pptx文件,按下列要求操作,将结果以原文件名存入C:\KS文件夹。

(1)在幻灯片1上,对文本“落叶树和常绿树”应用“缩放”进入动画,并“按字母”发送动画文本;将所有幻灯片的主题更改为“新闻纸”(提示:该主题上有红色矩形)。

(2)将所有幻灯片的切换方式设置为:“自左侧推进”的细微型切换方式;并在第一张幻灯片的右下角添加“结束”的动作按钮(提示:【插入】|【形状】|【动作按钮】),该按钮与最后一张幻灯片相链接。

2012年9月全国计算机等级考试二级C语言笔试试题和答案-------2013

2012年9月全国计算机等级考试二级C语言笔试试题和答案-------2013

29 1)main(){char a[10]="abcde",b[]="fgh";int i=0;strcpy(a+1,b+2);printf("%s",a);}请详细解释一下”strcpy(a+1,b+2)”这句语句2)main(){char s[][10]={"a","good",world"};strcat(s[0],s[1]);printf("%s",s[0]);}请详细解释一下”strcat(s[0],s[1])”这句语句strcpy()是字符串复制函数。

连字符串的结束标志…\0‟一同复制。

对于strcpy(a+1,b+2);中的b+2则是数组里的“h\0”的首地址。

a+1则是数组里的“bcde”的首地址。

即此函数的意义是:把“h\0”复制到“bcde”的位置。

字符串遇到…\0‟结束即结果是:ah。

对于strcat(s[0],s[1]);中的二为数组可以看成是多个一维数组组成的。

所以s[0]代表的是“a”的首地址,s[1]代表的是“good”的首地址。

这是字符串连接函数。

即把good 放到了a的后面。

结果是:agood。

二级C语言程序设计答案及详解一、选择题(11)B)【解析】每一个C 语言的文件或函数都可以单独编译,但只有main 函数的才可以执行。

(12)A)【解析】预定义标识符是C语言中的标识符,在C语言中也有特定的含义,如函数printf、scanf、sin 等和编译预处理命令名(如define 和include)。

预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的原义。

(13)B)【解析】0xab 是十六进制表示的常量。

(14)A)【解析】C语言用函数实现软件的模块化设计。

(15)C)【解析】C语言中,常常用一个标识符来代表一个常量,称为符号常量。

上海市2012年计算机等级考试C语言卷

上海市2012年计算机等级考试C语言卷

一、单选题二、程序填空题1.在键盘上输入5个点的坐标(设坐标为整数值), 输出距原点最远的点(假设该点唯一)的坐标及该点距原点的距离.提示:如果一个点的坐标为(x,y)求距离公式distance=sqrt(x*x+y*y).#include <math.h>#include<stdio.h>void main(){int x[5], y[5];double distance[5];int i,index;for(i = 0; i <5; i++){printf("请输入第%d点坐标[x,y]",i+1);scanf("%d,%d", &x[i], &y[i]);distance[i] =【1】;printf("\n");}【2】;for(【3】; i<5;i++)if(【4】) index=i ;printf("最大距离点:(%d,%d) 距离为:%.2f\n", x[index], y[index],distance[index]);}2.在跳水比赛奖赛中,有10个评委为参赛的选手打分,分数为 1~10分。

运动员成绩为:去掉一个最高分和一个最低分后其余8个人的分数平均值。

本程序计算运动员的成绩,结果存放到文件jg.txt中。

#include<stdio.h>void main(){FILE *fp;int i;float score[10],max,min,sum,cj;max=-1;min=100;sum=0;for(i=0;i<10;i++){printf("请输入第%d号裁判给运动员得分=",i+1);scanf("%f",【1】);}for(i=0;i<10;i++){sum=sum+score[i];if(score[i]>max)【2】;if(min>score[i]) min=score[i];}cj=【3】;fp = fopen( "jg.txt", "w" );fprintf(fp,"最大给分为:%f\n",max);fprintf(fp,"最小给分为:%f\n",min);fprintf(fp,"运动员最终得分:%f\n",cj);【4】;}操作题(一)程序调试题(3小题,第1、2小题各3处错,第3小题4处错,每改正1处得3分,共30分)1. 程序调试题1调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/***/字样的注释),使其运行能得到正确的结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2012年上海市高等学校计算机等级考试试卷二级 C语言程序设计( A 卷)(本试卷考试时间 120 分钟)一、单选题 ( 本大题 10 道小题,每小题 1 分,共 10 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。

1.在一个C 语言源程序中,main()函数的位置_________。

答案:CA.必须在最前面B.必须在其它函数之前C.可以在任意位置D.必须在最后面2. 设有变量定义:int a[ ]={5, 6, 1, 3, 7}, c, i;当执行完语句:for(i=c=0; i<5; i++){ if(a[i]%3 = =0)continue;c++;}之后,c的值是_____。

答案:CA.1B.2C.3D.43.以下程序运行结果为_______#define PII 3#define S(x) PII*x*xmain(){ int a=1, b=2, c;c = a+b;printf("%d\n",S(c));}答案:BA.9B.27C.7D.104.若有变量定义:int a[4], *p=a; 则以下对数组a的元素不正确的引用是_____。

答案:DA.*aB.*(p+1)C.p[1]D.a[4]5.设有变量定义:int d[50], *p=&d[0]; 下面表达式中________的计算结果为int类型的数值(非地址)。

答案:DA.p+=1B.p++C.&d[2]D.p-d6.为了判断两个字符串s1和s2是否相等,应当使用_____。

答案:DA.if (s1==s2 )B.if (s1 = s2 )C.if ( strcpy (s1,s2 ) )D.if ( strcmp( s1,s2) == 0 )7.设有变量定义int n; char str[80];与函数调用:n=hex2dec(str);则函数hex2dec正确的函数说明应该是_______。

答案:AA.int hex2dec(char str[]);B.void hex2dec(char str[]);C.int hex2dec(char str);D.void hex2dec(char str);8.设有以下结构体定义及初始化,表达式(stu[0].score+stu[1].score)/2的结果是_______。

struct student{int num;float score;} stu[2]={90,91.5,93,92.5};答案:CA.91.0B.91.5C.92.0D.92.59.在C语言中,将文件内部的位置指针重新指向一个流(数据流/文件)的开头的库函数是_______。

答案:BA.fgetcB.rewindC.fscanfD.fread10. 若建立了以下链表结构,head,p,q是指向结点的指针,以下_____组语句的功能是输出如下图所示的中间结点(数据为E的结点)的数据项。

答案:BA.q = p; printf("%c",q->data);B.q = p->next; printf("%c",q->data);C.q = p; printf("%c",q);D.q = p->next; printf("%c",q);二、程序填空题 ( 本大题 2 道小题,每空 2.5 分,共 20 分)。

1. 程序完成以下功能:对x=1,2,...,10,求函数f(x)=x-10cos(x)-5sin(x)的最大值,并将该值写到新建文件data.txt 中。

#include <stdio.h>#include <math.h>void main(){ FILE *p;float f(float),max,x;if((p=fopen("___1____ ","w"))==NULL){ printf("cannot open FILE\n"); exit(0); }max=f(1);for(x=2;x<=10;x++)if(___2____ <f(x))max=f(x);fprintf(p,"%.3f",max);fclose(___3____);}float f(float x){ ___4____;y=x-10*cos(x)-5*sin(x);return y;}1):【data.txt】2):【max】3):【p】4):【double y】【float y】2. 在输入的字符串中删除小写字母t,并统计被删除字母的个数。

如输入:gt=5xt-6ty 则输出:删除后的串为:g=5x-6y 删除个数:3#include<stdio.h>#include <string.h>int f(char s[]){int i=0, ___1____;while(s[i]!='\0')if(___2___ == 't'){strcpy(s+i,s+i+1);c=c+1;}elsei++;___3____;}void main(){ int s;char str[80];gets(str);s=f(___4____);printf("删除后的串为:") ;puts(str);printf("删除个数:%d",s) ;}1):【c=0】2):【s[i]】【*(s+i)】3):【return c】【return c;】【return (c)】【return (c);】4):【str】三、操作题(一)程序调试题(3小题,第1,2小题各3处错,第3小题4处错,每改正1处得3分,共30分)1. 程序调试题1调试要求:下列程序包含2个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。

将结果(包括B_2_1.C文件和B_2_1.EXE文件)保存到目录C:\KS\中。

功能说明:程序从键盘输入8个学生计算机二级考试的成绩(成绩可能有小数),统计并输出成绩合格的学生的人数。

程序对有小数的成绩应也能够正确处理。

例如输入:71.5 46 64.5 82 94 53 79 48则输出:5带错误原程序(见C:\KS\B_2_1.C):#include <stdio.h>int main(){int i, c;float score[8];c==0;for (i=0; i<8; i++){ scanf("%d", &score[i]);if (score[i]≥60) c++;}printf("%d\n", c);getchar(); /*本句无错;暂停程序,按任意键继续*/}2. 程序调试题2调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。

将结果(包括B_2_2.C文件和B_2_2.EXE文件)保存到目录C:\KS\中。

功能说明:程序从键盘输入一个字符串(长度不超过80),然后用选择法按照字符顺序从小到大进行排序,最后输出排序后的字符串。

例如输入:ca39t6k则输出:369ackt带错误原程序(见C:\KS\B_2_2.C):#include <stdio.h>#include <string.h>int main(){char str[81], *p, *q, *minq;gets(str[81]);for (p=str; *p!='\0'; p++) // 用选择法按照字符顺序从小到大进行排序{for (q=minq=p; *q!='\0'; q++) // 用minq指向本趟排序字符值最小的字符的位置if (*q>*minq) minq=q;if (minq!=p) // 字符值最小的字符不在希望的位置上,则交换{ c=*minq; *minq=*p; *p=c; }}puts(str);getchar(); /*本句无错;暂停程序,按任意键继续*/}3. 程序调试题3调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。

将结果(包括B_2_3.C文件和B_2_3.EXE文件)保存到目录C:\KS\中。

功能说明:函数mysum的功能是计算n个整数中数值在70~80之间(含70和80)的整数的和,程序从键盘输入8个整数,通过调用函数mysum计算这8个整数中数值在70~80之间的整数的和,然后输出。

例如输入:23 71 56 85 94 78 63 80则输出:sum=229带错误原程序(见C:\KS\B_2_3.C):#include <stdio.h>float mysum(int b[], int n){ float s;int i;for (i==0; i<n; i++)if (70<=b[i]<=80) s += b[i];return s;}int main(){int a[8], i;for (i=0; i<8; i++)scanf("%d", &a[i]);printf("sum=%.0f\n", mysum(int a[], 8));getchar(); /*本句无错;暂停程序,按任意键继续*/}(二)编程题(2小题,共35分)1.编程题1编程要求:请按题中的功能要求,编写程序并能得到正确的结果。

将结果(包括B_4_1.C文件和B_4_1.EXE文件)保存到目录C:\KS\中。

程序功能:从键盘上输入一个字符并存放到变量c,再输入一个整数存放到变量n(设2≤n≤20),输出以变量c 中的字符组成的n行2n列方波波形图案,当c,n为#,8时,图案及坐标计算如下图所示。

程序运行两次,分别输入"# 8"和"@ 5"时的运行结果如下:2.编程题2编程要求:请按题中的功能要求,编写程序并能得到正确的结果。

将结果(包括B_4_2.C文件和B_4_2.EXE文件)保存到目录C:\KS\中。

功能说明:电力公司根据如下费率表进行收费:第一个300度(0到300度)以每度0.6元计,下一个300度(301到600度)以每度0.5元计,再下一个400度(601到1000度)以每度0.4元计,超过1000度的电量以每度0.3元计。

相关文档
最新文档