2007年上海市高等学校计算机等级考试(C语言)试卷
上海市高等学校计算机等级考试二级c语言考试大纲[1]
上海市高等学校计算机等级考试(二级)《C程序设计》考试大纲(2009年修订)一、考试性质上海市高等学校计算机等级考试是上海市教育委员会组织的全市高校统一的教学考试,是检测和评价高校计算机应用基础知识教学水平和教学质量重要依据之一。
该项考试旨在规范和加强上海高校非计算机专业的计算机教学工作,提高非计算机专业学生的计算机应用能力。
考试对象主要是上海高等学校非计算机专业学生,每年举行一次,当年的十月下旬、十一月上旬的星期六或星期日。
凡考试成绩达到合格者或优秀者,由上海市教育委员会颁发相应的证书。
本考试由上海市教育委员会统一领导,聘请有关专家组成考试委员会,委托上海市教育考试院组织实施。
二、考试目标C语言是当前常用的,简洁、高效、功能丰富的程序设计语言,是计算机应用人员和软件开发人员的基本程序设计工具。
学生通过该课程的学习,应能了解、掌握C语言的概念、语法和使用它进行编程的方法,并能上机调试运行解决简单实际问题。
《C程序设计》的考试目标是测试考生掌握C语言知识的程度和综合运用语言知识进行程序设计的能力。
三、考试细则考试采用基于网络环境的无纸化上机考试系统。
考试时间为120分钟。
试卷总分为100分。
由四部分组成:单选题、填空题、程序填空题和综合编程题。
试卷从局域网的服务器下载、考试结果上传到服务器,若不按照要求上传到服务器,则考试无效。
考试阅卷采用机器和人工相结合方式。
四、试卷参考样式五、考试内容、要点和考点六、几点说明(四)参考教材谭浩强. 《C程序设计》. 清华大学出版社夏宝岚等. 《C/C++程序设计》. 华东理工大学出版社。
2007年上海二级考题C
2007年上海市高等学校计算机等级考试试卷二级(C程序设计)(本试卷答卷时间120分钟)试题一(28分,每小题4分)解答下列各小题,把解答写在答卷纸的对应栏内。
(1) 设有int x=3, y=2, z=1; 分别写出下列表达式求值后变量x和y的值。
(注:对每小题求值时,变量的初值都为x=3, y=2, z=1)①y=(y=3, 2*x++) ②(x=5) || (y=6*x)(2) 写出下列程序的输出结果。
#include <stdio.h>void main(){ int n; float x=2.7181;n=100*x;x=(int)(x*100+0.5)/100.0;printf ("n=%d \n", n);printf ("x=%f\n", x);}(3) 写出变量x的绝对值小于20为真的C语言表达式。
(4) 描述学生信息的结构变量定义为:struct student{ int no; /* 学号*/char *name; /* 姓名*/char sex; /* 性别*/struct /* 出生年月日*/{ int year;int month;int day;} birth;};struct student s;写出能完成结构体变量s 的部分成员赋值,使姓名为“Li_ping”,出生年份为1985的C语句。
(5) 在C语言中,函数random(int num)的功能是生成一个0到(num-1)之间的随机整数,请写出下列两个赋值语句的功能。
int m;float x;m= 50+ random(50);x= m+random(100)/100.0 ;(6) 用文字描述以下程序所完成的功能:#include <stdio.h>void main(){ FILE *in,*out;char ch;in=fopen(“a.c”,"r");out= fopen(“b.c”,"w");while (!feof(in)) /* 函数feof()用来检测是否到达文件尾,如到达文件尾则返回非0,否则返回0 */{ ch= fgetc(in);fputc(ch);}fclose(in);fclose(out);}(7)假定建立了以下链表结构,如下图所示:指针p、q分别指向如图所示的结点,写出将q所指结点从链表中删除并释放该结点的C语句试题二(12分,每小题6分)阅读下列程序, 把程序的输出结果写在答卷纸的对应栏内。
2007年第2次C语言等级考试
全国高等学校非计算机专业计算机等级考试二级C语言笔试试题(A卷)考试时间:2007年11月17日上午9:00——11:00考生必读:1.考生应严格遵守考场规则。
考生拿到试卷后应首先将自己的所在学校名称、考场地点、性命、准考证号填涂在答题纸和答题卡规定的位置上。
2. 考生得到监考人员指令后方可作答。
3.考生在答题前务必认真阅读题目要求,按要求作答。
客观题的答案(选择题和判断题)必须用2B铅笔填涂在答题卡的相应位置上;主观题的答案必须用蓝、黑色钢笔或圆珠笔填写在答题纸的相应位置上;且必须注明试卷类型(A 卷或B卷)。
否则答案无效。
4.注意字迹清楚,保持卷面整洁。
5. 考试时间为120分钟。
考试结束时,把试题册、答题卡、答题纸放在桌上,不得带走。
等监考人员收齐点清后,考生才可离开考场。
◆本试卷版权所有,任何单位或个人不得复制、出版和存留,违者必究◆重庆市教育委员会2007年11月二级C语言笔试试卷(A)(共100分)注意事项:1.一题为客观题,请将答案涂在机读答题卡上2.请将二、三、四、五题的答案做在答题纸上一.单项选择题。
(每小题1分,共20分)1. 一个C程序的执行是从()。
(A)本程序的main函数开始(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束2. 设有C语句:int x=3, y=4,z=5;,则下面表达式中值为0的是()。
(A)x&&y (B)x<=y(C) x||y+z&&y-z (D)!((x<y )&& !z||1))3. 以下有关宏替换的叙述不正确的是()。
(A)宏替换不占用运行时间(B)宏名无类型(C)宏替换只是字符串替换;(D)宏替换是在运行时进行的4. 在标准库函数的调用形式“fread(buffer,size,count,fp);”中,参数buffer代表的是()。
全国计算机等级考试二年级C语言笔试试卷含答案
全国计算机等级考试二年级C语言笔试试卷含答案文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]2007年9月全国计算机等级考试二级C语言真题及参考答案一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))下列各题A)、B)、C)、D)四个选项中,只有一个是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。
(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)数据的逻辑结构与存储结构必定是一一对应的B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线线结构D)以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是A)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A)219 B)221 C)229 D)231(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)C语言源程序名的后缀是A).exe B).C C).obj D).cp(12)可在C程序中用做用户标识符的一组标识符是A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl(13)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A. 5e-3 OXa23 4c1.5 10,000-0xf 4.5e0 Oabc 3.e5(14)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D)scanf("%d",&p);(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节 B)根据数据的大小来决定所占内存的字节数C)由用户自己定义 D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=I; D)x=5=4+1;(18)有以下程序段int j; float y; char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(19)若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是A)if(x>=0) y=sqrt(x); B)y=sqrt(x)else y=sqrt(-x); if(x<0) y=sqrt(-x);C)if(x>=0)y=sqrt(x); D)y=sqrt(x>=0x:-x);If(x<0)y=sqrt(-x);(21)设有条件表达式:(EXP)i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0) B)(EXP!=0) C)(EXP= =1) D)(EXP!=1)(22)有以下程序#includemain(){int y=9;for( y>0;y--)if(y%3= =0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421(23)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’ D)c<=(‘2’-32)&&(‘a’-32)<=c(24)有以下程序#includemain(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++) m=m%j;printf("%d\n",m);}程序的运行结果是A)0 B)1 C)2 D)3(25)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(26)已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。
C答卷20070921
(7)
p->next = q->next;(或(*p).next=(*q).next;)
free(q);
2分
2分
评阅人
校阅人
小计
试题二(每小题6分,总共12分)
试题二解答栏
得分
(1)
output1: 21 6
output2: 5 6
output3:5 7 7
2分
2分
2分
(2)
x=6
x=24
3分
3分
2分
2分
(3)
x<20 &&x>-20或fabs(x) <20或abs(x) <20
4分
(4)
=“Li_ping”;
s. birthdate.year=1985 ;
2分
2分
(5)
m的取值范围为50—99
x的取值范围为50.00—99.99
2分
2分
(6)
此程序功能是,完成文件a.c到文件b.c的复制。
(2)
#include <stdio.h>
int lower_ave ( float s[ ] , int n , float *aver )
{ float ave ,sum = 0.0;
intcount = 0, k;
for ( k = 0; k < n; k++ ) sum += s[k ];
ave =sum / n;for (k = 0 ;k < n ;k++ )
n/=10;
}
return ws;
}
或
#include <math.h>
上海市高等学校计算机等级考试试卷二级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. 如果形参获取实参的地址,则____________作为函数调⽤时的实参。
2007年上海市一级计算机考试试题
2007年上海市高等学校计算机等级考试(一级)操作题试卷(A卷)一、Windows操作(共6分)1、在C:\ks文件夹下创建名为aa、bb的两个文件夹,在aa文件夹下再建一个文件夹cc。
2、在C:\ks文件夹下创建一个名为“计算器”的快捷方式,其对应的项目为“calc.exe”文件。
二、办公自动化软件(共14分)打开C:\素材\excel.xls文件,以样张为准,对Sheet1中的表格按以下要求操作:1、按EXCEL样张,设置表格标题为:隶书、20磅、粗体,在A1:J1区域中跨列居中,并设置表格的边框线和数值显示格式。
2、按EXCEL样张,计算各个型号的平均价格、最大差价(最大值-最小值),并在B12单元格中计算data区域中所有数据的平均值(注意:必须用公式对表格中的数据进行运算和统计)。
3、按EXCEL样张,在A15:I29区域中生成折线图表,图表中所有文字大小均为10磅,图表区加圆角带阴影的边框。
将结果以excel.xls为名保存到C:\KS文件夹下。
【EXCEL样张见C:\样张\excle样张.jpg】(样张中的“#”应为实际数据)。
三、多媒体(共20分)1、声音处理(4分)利用录音机工具,打开C:\素材\b1.wav文件,删除最后两秒的片段,其结果用收音质量格式,以b3.wav为文件名保存在C:\ks文件夹下。
2、图像处理(8分)启动Adobe Photoshop,打开C:\素材\picture1.jpg文件,按样张所示大小对图像进行缩放,并删除图片以外的颜色区域;为图片描边(边的宽度为:5像素、颜色为:褐色(#731414)),并添加投影;添加白色的衬底图层;添加文字“山水国际”,字体:华文隶书、大小:14点,颜色:黑色;文字图层的样式为:“渐变叠加”;图片最终效果参照C:\样张\picture样张.jpg (除“样张”字符外,结果以photo.jpg为文件名保存在C:\ks文件夹下)。
上海市高等学校计算机等级考试试卷二级C语言程序设计
20XX年上海市高等学校计算机等级考试试卷二级 C语言程序设计(本试卷考试时间 120 分钟)一、单选题 ( 本大题 15 道小题,每小题 1 分,共 15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。
1. 以下C程序中预处理命令写法正确的是:答案: DA. #include (stdio.h)B. #include [stdio.h]C. #include {stdio.h}D. #include <stdio.h>2. 设有变量定义语句char a; 则下面的赋值语句中 ( ) 是正确的。
答案: AA. a='&';B. a="&";C. a=' ' ';D. a='16' ;3. 设有char ch; 与语句“ch=getchar();”等价的语句是:答案: DA. printf("%c",ch);B. printf("%c",&ch);C. scanf("%c",ch);D. scanf("%c",&ch);4. int a=2, b=5;则表达式21%9/(float)a+4/b*b的运算结果为( )。
答案: CA. 2B. 1C. 1.5D. 05. 能正确表示逻辑关系"a>=10 或 a<=0"的C语言表达式是( )。
答案: CA. a>=10 or a<=0B. a<=0|a>=10C. a<=0||a>=10D. a>=10 && a<=06. 设有int n=60;写出下列语句的运行结果switch (n/10){case 6: printf("@");break;case 5: printf("#");default: printf("$");}答案: DA. @#$B. #$C. $D. @7. 设有int i; 以下语句中,循环次数为100次的语句是:答案: DA. for ( i=0; i<=100; i++ )B. for ( i=0; i<99; i++ )C. for ( i=1; i<99; i++ )D. for ( i=0; i<100; i++ )8. C程序中,用于提前结束本次循环、进行下一次循环的语句是( )。
2007年4月份C语言的考试真题以及答案
(考试时间 120 分钟,满分 100 分) 一、选择题((1)—(10)每小题 2 分,(11)—(50)每题 1 分,共 60 分)下列各题 A)、 B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上, 答在试卷上不得分。
(24)有以下程序
mian()
{int i,j;
for(i=1;i<4;i++)
{for(j=i;j<4;j++) printf(“%d*%d=%d “,i,j,i*j);
printf(“\n”);
}
}
程序运行后的输出结果是(B)
A) 1*1=1 1*2=2 1*3=3
B) 1*1=1 1*2=2 1*3=3
C)程序的执行总是从 main 函数开始,在程序的最后一个函数中结束
D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
(16)设变量均已正确定义,若要通过 scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量 a1
和 a2 赋数值 10 和 20,为变量 c1 和 c2 赋字符 X 和 Y。以下所示的输入形式中正确的是(注:
main() {int a[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,j,k,t; for(i=0;i<4;i++)
for(j=0;j<3;j++) for(k=j+1;k<4;k++) if(a[j][i]>a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/*按列排序*/
c语言06-07春试题及答案
(063)上海大学2006-2007年春季学期试卷2007.6课程名:程序设计基础(C) 课程号:00863006 学分:5应试人声明:我保证遵守《上海大学学生手册》中的《上海大学考场规则》,如有考试违纪、作弊行为,愿意接受《上海大学学生考试违纪、作弊行为界定及处分规定》的纪律处分。
学号:姓名:学院/教师:考生须知:1.试卷和答题纸上的“学号、姓名、学院、教师”都要填上;2.所有答题内容都写在答卷纸上,交卷时将试卷和答卷纸一起交上;3.不遵守上述要求者考试成绩将为零分。
4.本卷考试的得分为卷面分,电脑上机考试(另行安排)的得分为上机分,考试成绩为卷面分与上机分之和。
一、基础题(21分,第1小题3分,其它每小题2分)1.定义int x=63,y=36,z=100; 写出z+=(z==x+y)?x++:--y;执行后各变量的值。
2.定义float x=6.3, y=3.6;计算表达式(int)(x+y)*2与(int)(2*(x+y)) 的值。
3.设a=b=6,分别判断表达式4<a<6和b++==6是真还是假。
4. 分别写出判断表达式:字符x为大写字母,字符x为数字字符。
5. 设x为正实数,分别写出表达式:x截去小数后的整数值与四舍五入后的整数值。
6. 将二进制数01011010转换为十进制和十六进制数。
7.计算0x63^0x5A和0x63|~0x5A的值,结果用16进制表示。
8.写出printf(“%d,%05d,%4.2f,%u”,-2,123,45.678,-1);的执行结果。
9.定义int a[]={11,22,33,44,55,66,77},*p=&a[2],*q=a+5;写出printf(“%d,%d”,q-p,*q-*p);的运行结果。
10.定义FILE *fp, 写出以读方式打开文本文件test.txt的语句。
二、阅读程序(36分,每小题4分)仔细阅读下列程序,将各程序的运行结果写在答卷纸上。
全国计算机等级考试(二级)---C语言程序设计考试大纲及习题
选择题
⑥ 以下说法中正确的是 A) C语言程序总是从第一个定义的函数开始 执行 B) 在C语言程序中,要调用的函数必须在 main()函数中定义 √C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序 的开始部分
选择题
⑦ 有以下程序段: int x=3; do { printf(“%3d”, x- =2 ) ; } while( ! (--x) ) ; 执行后的输出结果是 A) 1 B) 30 √C) 1 -2
2. 3. 4.
考试方式
1.
2.
笔试:90分钟,满分100分,其中含公 共基础知识部分的30分 上机:90分钟,满分100分
上机操作包括:
① 填空 ② 改错 ③ 编程
第二部分 样题及参考答案
第二部分 样题及参考答案 选择题 填空题 上机操作题
① 填空题 ② 改错题 ③ 编程题
选择题
1. 只要求缓冲文件系统(即高级磁盘 I/O系 统),对非缓冲文件系统(即低级磁盘 I/O 系统)不要求 文件类型指针( FILE类型指针) 文件的打开和关闭( fopen,fclose ) 文件的读写 (fputc,fgetc,fgets,fread,fwrite fprintf,fscanf 函数的应用),文件的定位 ( rewind,fseek 函数的应用)
选择题
⑩ 有以下程序: #include “stdio.h” #include “stdlib.h” fut(int **s,int p[2][3]) { **s=p[1][1]; } main() { int a[2][3]={1,3,5,7,9,11},*p; p=(int *)malloc(sizeof(int)); fut(&p,a); printf(“%d\n”,*p); } 程序的运行结果是 A) 1 B) 7 C) 9
2007年专升本考试试题及参考答案
2007年专升本考试计算机科学与技术专业综合第一部分(C程序设计)一、选择题(2’*25=50分)1. 以下叙述中正确的是______。
A、C程序中注释部分可以出现在程序中任意合适的地方B、花括号"{"和"}"只能作为函数体的定界符C、构成C程序的基本单位是函数,所有函数名都可以由用户命名D、分号是C语句之间的分隔符,不是语句的一部分2. 以下选项中可作为C语言合法整数的是______。
A、10110BB、0386C、0XffaD、x2a23. 以下不能定义为用户标识符的是______。
A、ScanfB、VoidC、_3com_D、int4. 有以下程序main(){ int a; char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);printf("%d %d %3.1f %3.1f",a,c,f,x);}程序运行后的输出结果是______。
A、1 65 1 6.5B、1 65 1.5 6.5C、1 65 1.0 6.5D、2 65 1.5 6.55. 以下选项中非法的表达式是______。
A、0<=x<100B、i=j==0C、(char)(65+3)D、x+1=x+16. 有以下程序main(){ int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf("%d,%d",k,m);}程序运行后的输出结果是______。
A、0,0B、0,1C、1,0D、1,17. 有定义语句:int x,y;。
若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是______。
A、11 12↙B、11,12↙C、11, 12↙D、11, ↙12↙8. 设有如下程序段int x=2007,y=2008;printf("%d",(x,y));则以下叙述中正确的是______。
2007年9月全国计算机等级考试二级C语言试题及答案
2007年9月全国计算机等级C 语言程序设计一、选择题((1)—(10)每题2分,(11)—(50)每题1分,共60分))下列各题A )、B )、C )、D )四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。
(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 )数据的逻辑结构与存储结构必定是一一对应的B )由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C )程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D )以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是A )2/)1(+n nB )n n 2logC )2/)1(-n nD )2/n (8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A )219B )221C )229D )231 (9)下列叙述中正确的是A )数据库系统是一个独立的系统,不需要操作系统的支持B )数据库技术的根本目标是要解决数据的共享问题C )数据库管理系统就是数据库系统D )以上三种说法都不对 (10)下列叙述中正确的是A )为了建立一个关系,首先要构造数据的逻辑关系B )表示关系的二维表中各元组的每一个分量还可以分成若干数据项C )一个关系的属性名表称为关系模式D )一个关系可以包括多个二维表(11)C 语言源程序名的后缀是 A ).exe B ).C C ).obj D ).cp(12)可在C 程序中用作用户标识符的一组标识符是 A ) and B ) Date C ) Hi D ) case_2007 y-m-d Dr.TomBig1A) 028 B) 12. C) .177 D) 0x8A.5e-3 0Xa23 4e1.5 10,000-0xf 4.5e0 0abc 3.e5(14)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:int a,b,c,*p=&c; 之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D)scanf("%d",&p);(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=i; D)x=5=4+1;(18)有以下程序段int j; float y; char name[50];scanf("%2d%f%s", &j, &y, name);当执行上述程序段,从键盘上输入55566 7777abc 后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(19)若变量已正确定义,有以下程序段i=0;do printf("%d, ",i); while( i++ );printf("%d\n",i);其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式若程序前面已在命令行中包含math.h文件,不能够正确计算上述公式的程序段是A) if(x>=0) y=sqrt(x); B) y=sqrt(x);else y=sqrt(-x); if(x<0) y=sqrt(-x);C) if(x>=0) y=sqrt(x); D) y=sqrt(x>=0?x :-x);if(x<0) y=sqrt(-x);(21)设有条件表达式:(EXP)? i++ :j-- ,则以下表达式中与(EXP)完全等价的是A)(EXP==0) B)(EXP!=0) C)(EXP==1) D)(EXP!=1)(22)有以下程序#include <stdio.h>main(){ int y=9;for( ; y>0; y--)if(y%3==0) printf("%d", --y);}程序的运行结果是A)741 B)963 C)852 D)875421(23)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件。
2007年上海市计算机一级试题(理论题)C卷
2007年上海市高等学校计算机等级考试(一级)C考卷一、单选题1、____D___是利用有线电视网进行数据传输的宽带接入技术。
A)56K Modem B)ISDN C)ADSL D)Cabel Modem 2、USB通用串行接口总线理论上可支持____C___个装置。
A)64 B)100 C)127 D)2563、计算机常用的数据通信接口中,传输速率最高的是______D____。
A)USB1.1 B)USB2.0 C)RS-232 D)IEEE13944、计算机硬件能直接识别和执行的程序设计语言是___D____。
A)高级语言 B)符号语言 C)汇编语言 D)机器语言5、摩尔定律主要是说集成电路的集成度每___A_____翻一番。
A)18个月 B)1年 C)3年 D)10年6、十进制数7777转换为二进制数是_____D_____。
A)1110001100001 B)1111011100011 C)1100111100111 D)1111001100001 7、网络、调制解调器的传输速率往往用bps作为单位,它是指____C_____。
A)每秒钟通过的二进制码字节数B)每分钟通过的二进制码字节数C)每秒钟通过的二进制码位数D)每秒钟通过的波形数8、信息安全的定义包括数据安全和____B_____。
A)人员安全 B)计算机设备安全 C)网络安全 D)通信安全9、计算机程序设计语言的发展经历了____B_____三个发展阶段。
A)机器语言、BASIC语言和C语言 B)机器语言、汇编语言和高级语言C)二进制代码语言、机器语言和FORTRAN语言 D)机器语言、汇编语言和C++语言10、关于Windows的概念,以下__B__是正确的。
A)屏幕上只能出现一个窗口,这就是活动窗口B)屏幕上可以出现多个窗口,但只有一个是活动窗口C)屏幕上可以出现多个窗口,但不止一个是活动窗口D)屏幕上可以出现多个活动窗口11、若没有安装过打印机,则打印机窗口中___D___。
2007年上海市高等学校计算机等级考试8套理论题(无答案)
2007年上海市高等学校计算机等级考试(一级)基础题(A卷)一、选择题1、计算机网络中实现互联的计算机本身是可以进行_____工作的。
A)独立B)关机C)互相制约D)串行2、__________是流媒体技术的基础。
A)数据压缩与传输B)数据运算与压缩C)数据存储与运算D)数据传输与存储 3、在Windows的“录音机”窗口中,要提高放音音量,应用__________菜单中的命令。
A)文件B)编辑C)效果D)选项4、在因特网域名中,com通常表示__________。
A)商业组织B)军事部门C)教育机构D)政府部门5、在Word的文件存盘操作中,“另存为”是指__________。
A)不退出编辑,只能以老文件名保存在原来位置B)退出编辑,但不退出word,并只能以老文件名保存在原来位置C)退出编辑,退出word,并只能以老文件名保存在原来位置D)不退出编辑,可以以老文件名保存在原来位置,也可以改变文件名或保存在其他位置6、目前,一般的IP地址的二进制位数为__________位。
A)64 B)128 C)32 D)487、以下台式计算机的扩展总线中,目前主要使用_________总线。
A)PCI B)MAC C)ISA D)EISA8、在因特网域名中,edu 通常表示_______。
A)军事部门B)教育机构C)政府部门D)商业组织9、打印机的传输线要和主机的打印端口相连,最常用的主机并行端口是________。
A)LPT2 B)LPT1 C)COM1 D)COM210、在Excel中,如果用$D7来引用工作表D列第7行的单元格,称为对单元格的_________。
A)相对引用B)绝对引用C)混合引用D)交叉引用11、__________是利用有线电视网进行数据传输的宽带接入设备。
A)ADSL Modem B)56K Modem C)Cable Modem D)ISDN Modem 12、对于声音的描述,以下正确的是_________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2007年上海市高等学校计算机等级考试试卷二级(C语言程序设计)(本试卷答卷时间120分钟)试题一(28 分,每小题4分)解答下列各小题,把解答写在答卷纸的对应栏里.(1)设有int x=3,y=2,z=1; 分别写出下列表达式求值后的变量x和y的值.(注:对每小题求值时,变量的初值都为x=3,y=2,z=1)①y=(y=3,2*x++) ②(x=5)||(y=6*x)(2)写出下列程序的输出结果.#includevoid main(){ int n; float x=2.7181;n=100*x;x=(int)(x*100+0.5)/100.0;printf("n=%d\n",n);printf("x=%f\n",x);}(3)写出变量x的绝对值小于20为真的c语言表达式(4)描述学生信息的结构变量定义为:struct student{ int no;char *name;char sex;struct /*出生年月日*/{ int year;int month;int day;} birthday;}struct student s;写出能完成结构体变量s的部分成员赋值,使姓名为"Li-ping",出生年份为1985的c语句(5)在c语言中,函数random (int num)的功能是生成一个0到(num-1)之间的随机整数,经过下列赋值语句的执行后, m和x的取值范围是多少int m;float x;m=50+random(50);x=m+random(100)/100.0;(6) 用文字描述以下程序所完成的功能;#includevoid main(){FILE *in, *out ;char ch;in=fopen("a.c", "r ");out=fopen("b.c", "w");while(!feof(in)) /*函数feof()用来检测是否到达文件尾*//*如到达文件尾则返回非0,否则返回0 */{ch=fgetc(in);fputc(ch) ;}fclose(in);fclose(out);}(7) 假定建立了以下链表结构,如下图所示:指针p ,q分别指向如图所示的结点,写出将q所指结点从链表中删除并释放该结点的c程序段.data nexthead……..p q …试题二(12分,每小题6)阅读下列程序,把程序的输出结果写在答卷纸的对应栏里.(1)【程序2.1】#includevoid main(){int x=0,y=0,z;while(y<6) x+=++y;printf("output1:%d%d\n",x,y);for(y=1;y<6;y++) x=y;printf("output2:%d%d\n",x,y);for(y=1;y<6;){x=y++;z=++y;}printf("output3:%d%d%d\n",x,y,z);}(2) 【程序2.2】#includeint f(int b[ ],int n){int i, r;r=1;for(i=0;ireturn r;}void main(){int x, a[ ]={1,2,3,4,5,6,7,8,9}x=f(a,3);printf("x=%d\n", x);x=f(a+1,3);printf("x=%d\n",x);}试题三(12分,每小题6分)改错. 下列每个程序都有三个错误,按题中的功能要求,纠正错误,并以"将#XX"行改为"YYYY"的形式进行解答,把解答写在答卷纸的对应栏内.代码左边的#01,#02………是附加的行号.【程序3.3】下面程序的功能是统计一个字符串中各个字母出现的次数,该字符串从键盘输入,统计时不分大小写.对数字,空格及其他字符不予统计.最后在屏幕上显示统计结果.例如字符串:"abcdefgh23 ABCDEF abc"的统计结果与输出格式为:a b c d e f g h j k l m n o p q r s t u v w x y z出现的次数为:3 3 3 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0#01 #include#02 #include#03 void main()#04 {#05 int i , a[26];#06 char ch, str[80],*p=str;#07 gets(&str); /*获取字符串*/#08 for(i=0;i='A'&&ch<='Z' ch+'a'-'A' : ch; /*大小写字符转换*/#12 if ('a'<=ch<='z') a[ch-'a']++;#13 }#14 for(i=0; i<=26;i++) printf("%2c",'a'+1); /*输出26个字母*/#15 printf("出现的次数为:\n");#16 for(i=0 ;i<26;i++) printf("%2d",a[i]); /*输出各字母出现次数*/#17 printf("\n");#18 }【程序3.2】以下程序求e=1+1/1!+1/2!+……….+1/n!+…..的值, 直到最后一项的值不超过10的-6次方为止.#01 #include#02 void main()#03 { double e, a; /* a为通项,e为和*/#04 int i=1;#05 e=1.0;#06 a=0.0;#07 do {#08 a*=i;#09 e+=a;#10 i=i+1;#11 } while (a<=1e-6); /* 计算到最后一项的值小于等于10的-6次方*/#12 printf("%f/n",e);#13 }试题四(18分,每小题9分)按指定的要求编写程序段,把解答写在答卷纸的对应栏内.编写函数f(int n)用来统计正整数n 的位数(例如, n=123时函数返回3)写出一个函数int lower_ave(float s[ ], int n, float *aver),它能从存放学生分数的一维数组s中求出平均分和低于平均分的学生人数;其中数组s [ ] 存放学生分数,参数n为学生人数,参数aver是指向平均分的指针变量.(要求平均分通过指针参数传递,人数通过函数值返回)试题五(15 分, 每个空格3分)【问题描述】以下程序输入10行字符串,要求按字典顺序从小到大排序.【程序5】#include#define N 10int biggerthan(char *str1,char *str2){ for ( ; *str1|| *str2; __(1)___){ if (*str1>*str2)return ___(2)___;else if (*str1<*str2)return 0;}return 0; /* 两个字符串相等*/}void main(){ char ls[N][100];char *ps[N], *t;int i, j;for (i=0;i<N;I++){ gets( ls[i]);ps[i]=ls[i];}for(i=0;i<N-1;I++)for(j=0;j<N-I-1;J++)if(biggerthan(____(3)_____)){ t=ps[j];____(4)_____;____(5)_____;}for(i=0; iprintf("%s\n",ps[i]);}试题六(15分,每个空格3分)【问题描述】下列程序的功能是:计算机给出10个不大于31的正整数让人猜,并根据猜中的情况统计总得分后输出.具体规则如下:(1)计算机每给出一个要猜的数最多允许猜5次,第一次猜对得10分,第二次猜对得8分,第三次猜对得6分,第四次猜对得4分,最后一次猜对得2分,否则不得分.(2)若试猜的数太小,计算机给出提示"too small";若试猜的数太大,计算机给出提示"too large";若猜对这个数,计算机给出提示"right!"并给出下一个数继续让人猜;若这个数已经猜了5次都猜错,计算机给出提示"out of time!"也给出下一个数继续让人猜.直到猜完10个数.下面是猜某个数的过程,有下划线的部分是试猜的数(假设机器产生的随机数是9)请输入你的猜测y=_16_too large !请输入你的猜测y=_4_too small!请输入你的猜测y=_9_right! (本例是第三次猜对,得6分)#include#includevoid main(){ int i , c, x, y, score, right;_____(1)_____; /* 变量赋初值*/for(i=1;i<=10;i++){ x=random(32); /* 随机产生一个不大于31的要猜的数*/c=0;do{c++;printf("\n 请输入你的猜测y=");scanf("%d",&y):right=(y==x); /* 猜对时right 为1,否则为0 */if(right==1)printf("_____(2)_____");elseprintf("%s\n", (_____(3)____) "too small !" :"too large!");}while(right==0&&____(4)_____);if (right)score+=(____(5)____); /* 统计成绩*/elseprintf("out of time !\n");}printf("\n total score:%d\n",score);}843。