2010春C考试试题

合集下载

2010年3月全国计算机等级考试二级C语言笔试真题及参考答案

2010年3月全国计算机等级考试二级C语言笔试真题及参考答案

2010年3月全国计算机等级考试二级C语言笔试真题及参考答案一、选择题(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1 B)AaBc C)a_b D)a-b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++; B)i=(a+k)<=(i+k);C)i=a%11;D)i=!a;(15)有以下程序#include<stdio.h>main(){ char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符)12<CR>34<CR>则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1 B)0 C)2 D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}B)switch(a==1){case 0:a=b;break;case 1:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (a<b)if(a<c)k=a;else k=c;elseif(b<c)k=b;else k=c;以下选项中与上述if语句等价的语句是A)k=(a<b)?a:b;k=(b<c)?b:c;B)k=(a<b)?((b<c)?a:b):((b>c)?b:c);C)k=(a<b)?((a<c)?a:):((b<c)?b:c);D)k=(a<b)?a:b;k=(a<c)?a:c;(20)有以下程序#include<s七dio.h>main(){in i,j,m=1;for(i=1;i<3;i++){for(j=3;j>O;j--){if(i*j)>3)break;m+=i*j;}}printf("m=%d\n",m);}程序运行后的输出结果是A)m=6 B)m=2 C)m=4 D)m=5 (21)有以下程序#include(stdio.h>main(){int a=l;b=2;for(;a<8;a++){b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A)9,18 B)8,11 C)7,11 D)10,14(22)有以下程序,其中k的初值为八进制数#include <stdio.h>main(){int k=011;printf("%d\n",k++);}程序运行后的输出结果是A)12 B)11 C)10 D)9 (23)下列语句组中,正确的是A)char *s;s="Olympic"; B)char s[7];s="Olympic";C)char *s;s={"Olympic"}; D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008 int num[N];(26)有以下程序#include <stdio.h>void fun(char *c,int d){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main(){char b='a',a='A';fun(&b,a);printf("%e,%e\n",b,a);}程序运行后的输出结果是A)b,B,b,A B)b,B,B,A C)a,B,B,a D)a,B,a,B (27)若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A)(*s)[3] B)*(s+3)C)*s[3] D)*s+3(29)有以下程序#include(stdio.h)main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++)s=s+a[b[i]]);printf("%d\n", s);}程序运行后的输出结果是A)6B)10C)11D)15(30)有以下程序#include <stdio.h>main(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=ij<=1;j++)t+=b[i][b[j][i]];printf("%d\n",t);}程序运行后的输出结果是A)1B)3C)4D)9 (31)若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\";printf("%d %d\n", strlen(s1),strlen(s2));则输出结果是A)5 5B)10 5C)10 7D)5 8(32)有以下程序#include <stdio.h>#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=O;i<N/2;i++){printf("%d",a[i]);}printf("\n");}程序运行后的输出结果是A)1313B)2234C)3234D)1234 (33)有以下程序#include <studio.h>int f(int t[],int n);main{ int a[4]={1,2,3,4},s;s=f(a,4); printf("%d\n",s);}int f(int t[],int n){ if(n>0)return t[n-1]+f(t,n-1);else return 0;}程序运行后的输出结果是A)4B)1O C)14D)6 (34)有以下程序#include <stdio.h>int fun(){ static int x=1;x*=2; return x;}main(){int i,s=1,for(i=1;i<=2;i++)s=fun();printf("%d\n",s);}程序运行后的输出结果是A)O B)1C)4D)8(35)有以下程序#include <stdio.h>#define SUB(a)(a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A)0B)-12C)-20D)10 (36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1; B)data2=(2,6);C)data2.real=data1.real; D)data2.real=data1.unreal;(37)有以下程序#include <stdio.h>#include <string.h>struct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;}程序运行后的输出结果是A)1001,zhangDa,1098.0 B)1002,changRong,1202.0C)1001,ehangRong,1098.O D)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{int num;char name[20];char c;struct{int day; int month; int year;}s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A)*pw.year=198O; B)w.year=1980;C)pw->year=1980; D)w.s.year=1980;(39)有以下程序#include <stdio.h>main(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A)O B)1 C)2 D)3 (40)有以下程序#include <stdio.h>main(){FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fpfopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A)abc B)28c C)abc28 D)因类型不一致而出错二、填空题(6)设x为int型变量,请写出一个关系表达式【6】,用以判断x同时为3和7的倍数时,关系表达式的值为真。

2010年春浙江省计算机等级考试二级C试卷及答案

2010年春浙江省计算机等级考试二级C试卷及答案

2010年下半年浙江省高等学校计算机等级考试二级C程序设计试卷说明:⑴本试卷共6页,满分100分;考试时间为90分钟;⑵考生应将所有试题的答案填写在答卷上。

其中试题一到试题六请在答卷上的各小题选项的对应位置上填“Ö”。

⑶考生应将所有试题的答案填写在答卷上。

一、程序阅读与填空(24小题,每小题3分,共72分)1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案【程序说明】输入5个整数,将它们从小到大排序后输出。

运行示例:Enter an integer: 9 -9 3 6 0After sorted: -9 0 3 6 9【程序】#include <stdio.h>main(){ int i, j, n, t, a[10];printf(”Enter 5 integers:”);for(i = 0; i < 5 ; i++)scanf(”%d”, (1));for(i = 1; (2); i++)for(j = 0; (3); j++)if( (4)) {t = a[j], a[j] = a[j+1], a[j+1] = t;}printf(”After sorted:”);for(i = 0; i < 5 ; i++)printf("=", a[i]);}【供选择的答案】(1) A、&a[i] B、a[i] C、*a[i] D、a[n](2) A、i < 5 B、i < 4 C、i >= 0 D、i > 4(3) A、j < 5–i–1 B、j < 5–i C、j < 5 D、j <= 5(4) A、a[j] < a[j+1] B、a[j] > a[j-1]C、a[j] > a[j+1]D、a[j-1] > a[j+1]2.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案【程序说明】输出80到120之间的满足给定条件的所有整数,条件为构成该整数的每位数字都相同。

2010年3月计算机等级考试二级C笔试试题及答案解析

2010年3月计算机等级考试二级C笔试试题及答案解析

2010年3月计算机等级考试二级C笔试试题及答案解析2010年3月计算机等级考试二级C笔试试题一、选择题(1)下列叙述中正确的是(A)A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指(D)A)算法的执行时间B)算法所处理的数据量C)算法程序中的语司或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是(B)A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是(A)A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是(C)A)软件概要设计的工具 B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于(B)A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是(A)A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是(D)A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的(A)A)需求分析阶段B)逻辑设计一阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系R得到关系T的操作是(A)A)选择B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在解析:选B。

2010春C语言上机试卷与答案

2010春C语言上机试卷与答案

江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷(2010年春)二级C语言(试卷代号C02)(本试卷完成时间70分钟)一、改错题(16分)【程序功能】先将一个正整数转换为十进制数字字符串,再将千位分隔符插入到该字符串中,最后输出该字符串。

【测试数据及运行结果】输入:1234567输出:12345671,234,567【含有错误的源程序】#include <stdio.h>#include <string.h>void ltoa(char s[],long num){ long n=num,i=0;printf("%ld\n",num);while(n){ i++; n/=10; }s[i]= \0 ;while(num){ s[--i]=num%10+'0'; num/=10;}}void insert(char s[]){ char j,k,t;t=j=strlen(s);while(j>3){ j=j-3;for(k=t; k>j; k--)s[k]=s[k+1];s[j]= ',';t++;}}void main(){ static char s[20]; long num;scanf("%d",&num);ltoa(s,num);insert(s,num);puts(s);getch();}【要求】1.将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。

2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。

3.改正后的源程序(文件名myf1.c)保存在T:盘根目录中供阅卷使用,否则不予评分。

二、编程题(24分)【程序功能】一个整数的“真因子”是指包括1但不包括整数自身的因子。

二级C++真题2010年03月

二级C++真题2010年03月

2010年3月全国计算机等级考试二级笔试试卷C++语言程序设计一、选择题1.下列叙述中正确的是( )。

A.对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为;nlog2n) 2.算法的时间复杂度是指( )。

A.算法的执行时间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的基本运算次数3.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件),下面属于系统软件的是( )。

A.编辑软件B.操作系统C.教务管理系统D.浏览器4.软件(程序)调试的任务是( )。

A.诊断和改正程序中的错误B.尽可能多地发现程序中的错误C.发现并改正程序中的所有错误D.确定程序中错误的性质5.数据流程图(DFD图)是( )。

A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具6.软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于( )。

A.定义阶段B.开发阶段C.维护阶段D.上述三个阶段7.数据库管理系统中负责数据模式定义的语言是( )。

A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言8.在学生管理的关系数据库中,存取一个学生信息的数据单位是( )。

A.文件B.数据库C.字段D.记录9.数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的( )。

A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段10.有两个关系R和T如下:则由关系R得到关系T的操作是( )。

A.选择B.投影C.交D.并11.下列关于函数的描述中,错误的是( )。

A.函数可以没有返回值B.函数可以没有参数C.函数可以是一个类的成员D.函数不能被定义为模板12.若MyClass是一个类名,其有如下语句序列:MyClass c1,*c2;MyClass*c3=new MyClass;MyClass&c4=c1;上面的语句序列所定义的类对象的个数是( )。

2010江苏春C语言考试试题

2010江苏春C语言考试试题

2010年春季江苏计算机等级考试二级笔试试卷第二部分C语言程序设计一、选择题(用答题卡答题,答案依次填在21~30答题号内,共l0分)21.C语言规定,在一个源程序中main函数的位置 _____(21)_____ 。

A.必须在最开始 B.必须在最后C.必须在预处理命令的后面 D.可以在其他函数之前或之后22.以下选项中,______(22)______ 是C语言关键字A.printf B.include C.fun D.default23.已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为__(23)___ 。

A.0 B.3 C.3.5 D.424.设指针变量占2个字节的内存空间,若有声明"char *p="123";int c;",则执行语句"c=sizeof(p);"后,c 的值为__(24)___A.1 B.2 C.3 D.425.已知有声明"int a=3,b=4;",下列表达式中合法的是 (25)A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++26.已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是 (26) 。

A.s="Good"; B.s[20l="Good";C.strcat(s,"Good"); D.strcpy(s,"Good");27.已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8),{9,10,11,12},{13,14,15,16)};",若需要引用值为12的数组元素,则下列选项中错误的是( 27 ) 。

山东省春季高考数学试题2010年真题(附答案)

山东省春季高考数学试题2010年真题(附答案)

学校______________班级______________专业______________考试号______________姓名______________山东省春季高考数学试题2010年真题第Ⅰ卷.答第Ⅰ卷前,考生务必将自己的姓名、准考证号、考试科目用铅笔涂写在答题卡上. .每小题选出答案后,用铅笔把答题卡上对应题目的答案标号涂黑,如需改动,用橡皮.(本大题共30小题,每小题2分,共60分.在每小题列出的四个选项中,只有一) M ={0},则下列关系中正确的是 ∅(B ) 0 ∈ M(C ) 0 ∉ M (D ) 0 ∈ ∅{ x |-2≤x <3} 用区间表示为 2,3)(B ) [-2,3](C ) [-2,3) (D ) (-2,3]2,m ,8构成等差数列,则实数 m 的值是 (B ) 4或-4 (C ) 10 (D ) 5y =lg(1-x )+1x +2的定义域是 x | x <1 } (B ) { x | x<1且 x ≠-2 } x | x ≤1 }(D ) { x | x ≤1且 x ≠-2 } M (2,-3),N (-5,1),则向量 →MN 的坐标是 7,4)(B ) (7,-4) (C ) (-3,-2) (D ) (-10,-3)a 2=N (a >0且 a ≠1),则有2 a =N (B ) log 2 N =a (C ) log a N =2 (D ) log N a =2x 2+2x -3>0的解集是 x | x <-3或x >1} (B ) { x |-3<x <1} x | x <-1或x >3}(D ) { x |-1<x <3}5本不同的课外书,有3位同学每人从书架上各取一本,不同取法的种数是(B ) 60(C ) 125 (D ) 243f (x )=(m -2)x 2+(m 2-4)x -5是偶函数,则实数 m 的值是 2 (B ) 0(C ) 2 (D ) -210.函数 y =f (x ) 的图象与直线 x =k (k 是常数)的交点的个数(A ) 有且只有一个 (B ) 至少有一个 (C ) 至多有一个 (D ) 有一个或两个11.已知角 α 终边上一点 P (5,12),则 tan α 的值是(B ) 512(C ) 513 (D ) 121312.给出下列命题:① |→BA |=|→AB |;② 向量→a 与向量→b 的方向相同或相反,则 →a //→b ; ③ 若→a ,→b 都是单位向量,则→a =→b ;④ 方向为南偏西60︒ 的向量与方向为北偏东60︒ 的向量是共线向量; 其中,正确的命题是 (A ) ①②(B ) ①④(C ) ①②④ (D ) ①②③④13.下列四个点中,在曲线 x 2-2 x y +y 2=0上的点是 (A ) (0,1)(B ) (-1,1) (C ) (1,-1) (D ) (-1,-1)14.函数 f (x )=x 3-x 2+3的导函数是 (A ) f ' (x )=3 x 2-2 x +3 (B ) f ' (x )=x 2-x (C ) f ' (x )=3 x 2-2 x(D ) f ' (x )=3 x 2+2 x15.依次抛掷三枚质地均匀的硬币,用 (x ,y ,z ) 表示这个随机试验的结果,其中 x ,y ,z 分别表示第1,2,3枚硬币朝上一面是正面或反面的情况,那么这个随机试验的样本空间中的基本事件的个数是 (A ) 6(B ) 8(C ) 9 (D ) 2716.已知集合 M ={ x | p },N ={ x | q },且 M ⊆ N ,则 (A ) p 是 q 的充分条件(B ) p 是 q 的必要条件(C ) p 是 q 的充要条件 (D ) p 既不是 q 的充分条件也不是 q 的必要条件17.若点 P (-1,-2)关于坐标原点的对称点是 P ' (lg a ,2b),则实数 a ,b 的值分别是 (A ) 110,-1(B ) 110,1(C ) 10,-1 (D ) 10,118.已知数列 {a n } 的前 n 项和 S n =n 2+n ,则第二项 a 2 的值是 (A ) 2 (B ) 4(C ) 6 (D ) 8学校______________班级______________专业______________考试号______________姓名______________(B ) 18(C ) 28 (D ) 56→b |=4,且<→a ,→b >=60︒,则 |→a -→b | 的值是 (B ) 13(C ) 7 (D ) 37x +y -2≥0表示的区域是∈ ( π2,π),则 cos(α-30︒) 的值是(B ) 3+4310(C ) -3-4310 (D ) 3-43102人参观世博会,恰好选到1名男生和1名女生的概率是 (B ) 37(C ) 27 (D ) 17N (3,4),则以线段 MN 为直径的圆的标准方程是 =2(B ) (x -2)2+(y -3)2=2=8 (D ) (x -2)2+(y -3)2=8N 分别在正方体的四条棱上,并且是所在棱的中点,则直线 PQ 与MN 成2 x -4在点 M (1,-1) 处的切线方程是 (B ) y =2 x -3 (C ) y =3 x +2 (D ) y =5 x -627.抛物线 x 2=4 y 的准线 l 与 y 轴交于点 P ,l 绕点 P 按逆时针方向旋转,则 l 恰好与抛物线第一次相切时,l 旋转的角度是 (A ) 60︒(B ) -60︒(C ) 45︒ (D ) -45︒28.已知 y =f (x ) 是奇函数,在区间 (-∞,-1] 上是减函数且有最小值3,则 y =f (x ) 在区间 [1,+∞) 上(A ) 是增函数且有最小值3 (B ) 是增函数且有最小值-3 (C ) 是减函数且有最大值3(D ) 是减函数且有最大值-329.函数 y =3 sin(2 x -π3) 的单调递增区间是(A ) [-π12+2 k π,5π12+2 k π](k ∈ Z ) (B ) [-π12+k π,5π12+k π](k ∈ Z )(C ) [ 5π12+2 k π,11π12+2 k π](k ∈ Z )(D ) [ 5π12+k π,11π12+k π](k ∈ Z )30.已知双曲线 x 22 -y 2k =1的两个焦点分别是为 F 1,F 2,其一条渐近线方程是 y =x ,若点P (m ,1)在双曲线上,则 →PF 1⋅→PF 2 的值是(A ) 0(B ) 1(C ) 2 (D ) 2第Ⅱ卷注意事项:1.答卷前将密封线内的项目填写清楚.2.用钢笔或圆珠笔直接答在试卷上,解答题和应用题应写出推理、演算步骤. 3.本试题允许使用函数型计算器,凡使用计算器的题目,最后结果精确到0.01.二、填空题(本大题共4小题,每小题3分,共12分.)31.已知底面半径为1的圆柱,其侧面展开图是正方形,则此圆柱的侧面积是 (4 π2). 32.若直线 l 过两点(-2,0),(0,1),则直线 l 的一般式方程是 (x -2 y +2=0). 33.已知 △ABC 中,b =3,c =2,∠C =45︒,则∠B = (60︒ 或120︒).34.函数 y =x 2+x x 2+1 的最大值是 ( 1+22).(D )NMPQMNPQ (C ) (B )M PQ N学校______________班级______________专业______________考试号______________姓名______________(本大题共4小题,共28分.).已知函数 f (x )=A sin(ω x +ϕ),其中 A >0,ω>0分图象如图所示.求:(1) 函数 f (x ) 的最小值和最小正周期;(2) 函数 f (x ) 的解析式;(3) 函数 y =f (x ) ⋅ f (x +π)的最大值.(7分) (1)由图象可知函数 f (x ) 的最小值是-2,最小正周期 T =4 π.2)因为 T =2πω=4 π,所以 ω=12.又图象经过点(π2,0)所以 2 sin(12×π2+ϕ)=0.|ϕ|<π,所以 ϕ=-π4,f (x )=2 sin( x 2-π4). 3)y =f (x ) ⋅ f (x +π)=2 sin(x 2-π4) ⋅ 2 sin(x +π2-π4)=2 sin(x 2-π4) ⋅ 2 sin(x 2+π2-π4)=2 sin(x 2-π4) ⋅=2 sin(x -π2).y =f (x ) ⋅ f (x +2)的最大值为2. .已知三棱锥 D -ABC ,AB =AC =1,AD =2,∠BAD =∠CAD =∠BAC =90°,点 E ,F 分别是 BC ,DE 的中点,如图所示. (1) 求证 AF ⊥ BC ; (2) 求线段 AF 的长.(7分)方法一:(1)证明:因为 ∠BAD =∠CAD =90°, 所以 DA ⊥ AB ,DA ⊥ AC , 所以 DA ⊥ 平面ABC , 所以 DA ⊥ BC . ①连结 AE ,在 △ABC 中,∠BAC =90°,AB =AC =1, 所以 △ABC 等腰直角三角形,又因为 E 是 BC 的中点,所以 AE ⊥ BC , ② 亦有 AE =12 BC =12 AB 2+AC 2= 2 2 ,由 ①,② 可知 BC ⊥ 平面 DAE , 因为 AF ⊂ 平面 DAE , 所以 AF ⊥ BC .(2)解:因为 DA ⊥ 平面 ABC ,AE ⊂ 平面 ABC , 所以 DA ⊥ AE ,即 ∠DAE =90°,所以 △DAE 是直角三角形,F 是 DE 的中点, 所以 AF =12DE=12 DA 2+AE 2=1222+(2 2)2 =3 24. 方法二:(1)证明:因为 ∠BAD =∠CAD =∠BAC =90°, 所以可建立如图空间直角坐标系 A - x y z ,则 A (0,0,0),B (1,0,0),C (0,1,0),D (0,0,2), 因为点 E ,F 分别是 BC ,DE 的中点, 可得 E ( 12,12,0),F ( 14,14,1),学校______________班级______________专业______________考试号______________姓名______________→AF =( 14,14,1),→BC =(0,1,0)-(1,0,0)=(-1,1,0),→AF ⋅→BC =14×(-1)+14×1+1×0=0,AF ⊥ BC .2)解:因为 →AF =( 14,14,1),|→AF |=(14)2+(14)2+12=3 24.AF =3 24 ..已知椭圆与双曲线 x 29-y 227=1有公共焦点 F 1,F 2,它们135,如图所示.(1) 求椭圆的标准方程;(2) 设点 P 是该椭圆上一点,且 ∠F 1PF 2=60︒, 求 △PF 1F 2 的面积.(7分) (1)设 F 1(-c ,0 ),F 2(c ,0 ), x 29-y 227=1,c 2=9+27=36,解得 c =6, e = 63 =2,135-2=35.x 2a 2+y 2b 2=1,c a =35,且 c =6,a =10,因为在椭圆中 a 2=b 2+c 2,所以 b 2=a 2-c 2=102-62=64, 所以椭圆的标准方程是x 2100+y 264=1.(2)在 △PF 1F 2 中,|F 1F 2|=2 c =12,|PF 1|+|PF 2|=2 a =20, 由余弦定理得|F 1F 2|2=|PF 1|2+|PF 2|2-2|PF 1|⋅|PF 2| cos ∠F 1PF 2=(|PF 1|+|PF 2|)2-2|PF 1|⋅|PF 2|-2|PF 1|⋅|PF 2|⋅ cos 60︒ =(|PF 1|+|PF 2|)2-3|PF 1|⋅|PF 2|,即 122=202-3|PF 1|⋅|PF 2|,解得 |PF 1|⋅|PF 2|=2563,所以 S △PF 1F 2=12 |PF 1|⋅|PF 2| sin 60︒=12×2563× 3 2=643 3 .38.某房地产公司在2010年对某户型推出两种售房方案:第一种是一次性付款方案,购房的优惠价为28.5万元;第二种是分期付款方案,要求购房时缴纳首付款10万元,然后从第二年起连续十年,在每年的购房日向银行付款2.25万元.假设在此期间银行存款的年利率为3%,若不考虑其他因素,试问:对于购房者来说,采用哪种方案省钱?请计算说明.(7分)解:第一种方案,十年后付款的本息之和为:28.5×(1+0.03)10≈38.30(万元).第二种方案,还款结束时实际付款的本息之和为:10×(1+0.03)10+2.25×(1+0.03)9+2.25×(1+0.03)8+…+2.25 =10×1.0310+2.25×(1.0310-1)1.03-1≈39.23(万元).因此对于购房者来说,采用第一种方案省钱.第37题图。

2010年3月全国计算机二级C语言笔试真题及答案(word版)带解析-推荐下载

2010年3月全国计算机二级C语言笔试真题及答案(word版)带解析-推荐下载

D、不知道 a 的值,不能确定
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术艺料0不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试2下卷2,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看度并22工且22作尽22下可22都能22可地护以缩1关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编试要5写、卷求重电保技要气护术设设装交备备置底4高调、动。中试电作管资高气,线料中课并敷3试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

2010年3月全国计算机等级考试二级C语言笔试真题及参考答案

2010年3月全国计算机等级考试二级C语言笔试真题及参考答案

2010年3月全国计算机等级考试二级C语言笔试真题及参考答案一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时间复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1B)AaBcC)a_bD)a-b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a%11;D)i=!a;(15)有以下程序#include<stdio.h>main(){ char a,b,c,d;2scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符)12<CR>34<CR>则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}B)switch(a==1){case 0:a=b;break;case 1:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (a<b)第 3 页共 13 页if(a<c)k=a;else k=c;elseif(b<c)k=b;else k=c;以下选项中与上述if语句等价的语句是A)k=(a<b)?a:b;k=(b<c)?b:c;B)k=(a<b)?((b<c)?a:b):((b>c)?b:c);C)k=(a<b)?((a<c)?a:):((b<c)?b:c);D)k=(a<b)?a:b;k=(a<c)?a:c;(20)有以下程序#include<s七dio.h>main(){in i,j,m=1;for(i=1;i<3;i++){for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d\n",m);}程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h>main(){int a=l;b=2;for(;a<8;a++){b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#include <stdio.h>main(){int k=011;printf("%d\n",k++);}4程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#include <stdio.h>void fun(char *c,int d){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main(){char b='a',a='A';fun(&b,a);printf("%e,%e\n",b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A)(*s)[3]B)*(s+3)第 5 页共 13 页C)*s[3]D)*s+3(29)有以下程序#include(stdio.h)main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++)s=s+a[b[i]]);printf("%d\n", s);}程序运行后的输出结果是A)6B)10C)11D)15(30)有以下程序#include <stdio.h>main(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=ij<=1;j++)t+=b[i][b[j][i]];printf("%d\n",t);}程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\";printf("%d %d\n", strlen(s1),strlen(s2));则输出结果是A)5 5B)10 5C)10 7D)5 8(32)有以下程序#include <stdio.h>#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=O;i<N/2;i++){printf("%d",a[i]);}6printf("\n");}程序运行后的输出结果是A)1313B)2234C)3234D)1234(33)有以下程序#include <studio.h>int f(int t[],int n);main{ int a[4]={1,2,3,4},s;s=f(a,4); printf("%d\n",s);}int f(int t[],int n){ if(n>0)return t[n-1]+f(t,n-1);else return 0;}程序运行后的输出结果是A)4B)1OC)14D)6(34)有以下程序#include <stdio.h>int fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++)s=fun();printf("%d\n",s);}程序运行后的输出结果是A)OB)1C)4D)8(35)有以下程序#include <stdio.h>#define SUB(a)(a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;第 7 页共 13 页printf("%d\n",d);}程序运行后的输出结果是A)0B)-12C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include <stdio.h>#include <string.h>struct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;} 程序运行后的输出结果是A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.OD)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{int num;char name[20];char c;struct{int day; int month; int year;}s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;8(39)有以下程序#include <stdio.h>main(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#include <stdio.h>main(){FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fpfopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A)abcB)28cC)abc28D)因类型不一致而出错二、填空题(1)一个队列的初始状态为空。

2010春江苏省计算机二级C语言试题与答案(笔试)

2010春江苏省计算机二级C语言试题与答案(笔试)

2010年春江苏省计算机等级二级C考试试题第一部分计算机基础知识1.下面关于通信技术的叙述中,错误的是___1_d_ 。

A.任何一个通信系统都有信源、信道和信宿这三个基本组成部分,B.为了实现远距离传输信息,在模拟通信和数字通信中均采用载波技术C.为了降低传输信息的成本,在通信中广泛采用多路复用技术D.数字通信系统的一个主要性能参数是信道带宽,它指实际进行数据传输时单位时间内传输的二进位数目2.在下列有关集成电路及其应用的叙述中,错误的是___2__b 。

A.集成电路的制造工序繁多,工艺复杂且技术难度高B.经过抛光后的硅片称为晶圆,每个晶圆最多可以制成一个合格的集成电路芯片C.IC卡分为接触式IC卡和非接触式IC卡,后者通常又称为射频卡或感应卡D.集成电路应用十分广泛,目前我国第2代居民身份证中就有集成电路芯片3.在下列有关数字技术的一些叙述中,错误的是_____3c____ 。

A.数字技术是采用有限个状态(例如"0"和"1")来表示、处理、存储和传输信息的B.在逻辑代数中,1与1进行逻辑加(V)和逻辑乘(^)的结果相同C.任何一个十进制数,均可以精确地转换成等值的二进制数D.在PC机中,通常用原码表示正整数、用补码表示负整数4.在下列有关PC机主机的叙述中,错误的是___4b__ 。

A.BIOS和CMOS存储器安装在主板上,普通用户一般不能自己更换B.由于PC机主板的物理尺寸等没有标准化,所以不同PC机的主板均不能互换C.芯片组是PC机各组成部分相互连接和通信的枢纽,一般由2块VLSI芯片组成D.芯片组决定了主板上所能安装的内存最大容量、速度及可使用的内存条类型5.在下列4个Intel微处理器产品中,采用双核结构的是_____5a_____ 。

A. Core 2 Duo B.Pentium PRO C.Pentium III D.Pentium 46.在下列四种PC机主存储器类型中,目前常用的是_____6__d___ 。

全国计算机等级考试二级C++真题2010年3月

全国计算机等级考试二级C++真题2010年3月

22. 要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是
n m l k j A MyClass p=MyClass; n m l k j B MyClass p=new MyClass; n m l k j C MyClass &p=new MyClass;
mhtml:file://C:\Documents and Settings\ll\My Documents\新建文件夹 (4)\全国计算... 2014-5-10
mhtml:file://C:\Documents and Settings\ll\My Documents\新建文件夹 (4)\全国计算... 2014-5-10
维普在线考试系统
Page 2 of 12
6. 软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于
n m l k j A 定义阶段
答案:B
n m l k j B "b"是一个字符型常量 n m l k j D 3.1415926是一个double常量
19. 若x和y是程序中的两个整型变量,则下列if语句中正确的是
n m l k j A if(x==0) y=1; else y=2; n m l k j B if(x==0) then y=1 else y=2; n m l k j C if(x==0) y=1 else y=2; n m l k j D if x==0 y=1; else y=2; 该题您未回答:х 该问题分值: 2
n m l k j A 编辑软件
n m l k j C 教务管理系统 该题您未回答:х 该问题分值: 2
答案:B
n m l k j B 操作系统 n m l k j D 浏览器

2010C 等级考试(答案)

2010C  等级考试(答案)

一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

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

(11)下列关于函数的描述中,错误的是DA)函数可以没有返回值B)函数可以没有参数C)函数可以是一个类的成员D)函数不能被定义为模板(12)若MyClass是一个类名,且有如下语句序列BMyClass c1,*c2;MyClass*c3=new MyClass;MyClass&c4=c1;上面的语句序列所定义的类对象的个数是A)1B)2C)3D)4(13)下列关于继承方式的描述中,错误的是DA)如果不显式地指定继承方式,缺省的继承方式是私有(private)B)采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员C)采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员D)采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员(14)将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是CA)Decr&operator--(int);B)Decr operator--(Decr&,int);C)friend Decr&operator--(Decr&);D)frlend Decr operator--(Decr&,int);(15)若MyTemp是一个只有一个虚拟类型参数的类模板,且有如下语句序列MyTemp p2;MyTemp p3[2];编译系统在处理上面的语句序列时,所生成的模板MyTemp的实例的个数是CA)1B)2C)3D)0(16)在C++中,cin是个BA)类B)对象C)模板D)函数(17)在下列字符中,不允许作为C++标识符的是DA)b B)B C)_D)2(18)下列叙述中,错误的是BA)false是一个逻辑型常量B)"b"是一个字符型常量C)365是一个int常量D)3.1415926是一个double常量(19)若x和y是程序中的两个整型变量,则下列if语句中正确的是AA)if(x==0)y=1;else y=2;B)if(x==0)then y=1else y=2;C)if(x==0)y=1else y=2;D)if x==0y=1;else y=2;(20)要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是BA)int x[3]={0,0,0};B)int x[]={0};C)static int x[3]={0};D)int x[]={0,0,0};(21)关于函数中的<返回类型>,下列表述中错误的是DA)<返回类型>中有可能包含关键字intB)<返回类型>中有可能包含自定义标识符C)<返回类型>中有可能包含字符*D)<返回类型>中可能包含[](22)要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是DA)MyClass p=MyClass;B)MyClass p=new MyClass;C)MyClass&p=new MyClass;D)MyClass a,&p=a;(23)有如下两个类定义class XX{private:double x1;protected:double x2;public:double x3;};class YY:protected XX{private:double y1;protected:double y2;public:double y3;};在类YY中保护成员变量的个数是CA)1B)2C)3D)4(24)下列关于运算符重载的描述中,错误的是AA)可以通过运算符重载在C++中创建新的运算符B)赋值运算符只能重载为成员函数C)运算符函数重载为类的成员函数时,第一操作数是该类对象D)重载类型转换运算符时不需要声明返回类型(25)下列关于类模板的描述中,错误的是DA)类模板的成员函数都是模板函数B)可以为类模板参数设置默认值C)类模板描述了一组类D)类模板中只允许有一个类型参数(26)下列控制格式输入输出的操作符中,能够设置浮点数精度的是AA)setprecisionB)setwC)setfillD)showpoint(27)下列程序段中包含4个函数,其中具有隐含this指针的是Bint fun1();class Test{public:int fun2();friend int fun3();static int fun4();};A)fun1B)fun2C)fun3D)fun4(28)有如下程序#include<iostream>using namespace std;class Test{public:Test(){}Test(const Test&t){cout<<1;}};Test fun(Test&u){Test t=u;return t;} int main(){Test x,y;x=fun(y);return0;}运行这个程序的输出结果是CA)无输出B)1C)11D)111(29)有如下程序#include<iostream>using namespace std;class A{public:A(int i=0):r1(i){}void print(){cout<<'E’<<r1<<’-‘;}void print()const{cout<<'C'<<r1*r1<<’-‘;} void print(int x){cout<<'P'<<r1*r1*r1<<’-‘;} private:int r1;};int main(){A a1;const A a2(4);a1.print(2);a2.print();return0;}运行时的输出结果是DA)P8-E4B)P8-C16-C)P0-E4-(30)下列代码声明了3个类class Person{};class Student:public Person{};class Undergraduate:Student{};下列关于这些类之间关系的描述中,错误的是BA)类Person是类Undergraduate的基类B)类Undergraduate从类Student公有继承C)类Student是类Person的派生类D)类Undergraduate是类Person的派生类(31)有如下程序#include<iostream>using namespace std;Class Base{public:Base(int x=0):valB(x){cout<<valB;}~Base(){cout<<valB;}private:int valB;};class Derived:public Base{public:Derived(int x=0,int y=0):Base(x),valD(y){cout<<valD;} ~Derived(){cout<<valD;}int valD;};int main(){Derived obj12(2,3);retuen0;}运行时的输出结果是AA)2332B)2323C)3232D)3223(32)下面是类Shape的定义:class Shape{public:virtual void Draw()=0;};下列关于Shape类的描述中,正确的是BA)类Shape是虚基类B)类Shape是抽象类看课本267页C)类Shape中的Draw函数声明有误D)语句“Shape s;”能够建立Shape的一个对象s(33)将运算符“+”重载为非成员函数,下列原型声明中,错误的是CA)MyClock operator+(MyClock,long);B)MyClock operator+(MyClock,MyClock);C)MyClock operator+(long,long);D)MyClock operator+(long,MyClock);(34)打开文件时可单独或组合使用下列文件打开模式①ios_base::app②ios_base::binary③ios_base::in④ios_base::out若要以二进制读方式打开一个文件,需使用的文件打开模式为CA)①③B)①④C)②③D)②④(35)有如下程序:#include<iostream>using namespace std;class B{public:B(int xx):x(xx){++count;x+=10;}virtual void show()const{cout<<count<<’_‘<<x<<endl;}protected:static int count;private:int x;};class D:public B{public:D(int xx,int yy):B(xx),y(yy){++count;y+=100;}virtual void show()const{cout<<count<<’-‘<<y<<endl;}private:int y;};int B::count=0;int main(){B*ptr=new D(10,20);ptr->show();delete ptr;return0;}运行时的输出结果是BA)1_120B)2_120C)1_20D)2_20二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【l】~【15】序号的横线上,答在试卷上不得分。

2010年3月2C笔试真题及答案

2010年3月2C笔试真题及答案

2010年3月全国计算机等级考试二级C笔试题一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

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

(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n log2n)(2)算法的时间复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系R得到关系T的操作是A)选择B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1B)AaBcC)a_bD)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a%11;D)i=!a;(15)有以下程序#includemain(){ char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%c ”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}B)switch(a==1){case 0:a=b;break;case 1:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (aif(aelse k=c;elseif(belse k=c;以下选项中与上述if语句等价的语句是A)k=(aB)k=(ac)?b:c);C)k=(aD)k=(a(20)有以下程序#includemain(){in i,j,m=1;for(i=1;i<3;i++){for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d ",m);}程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h>main(){int a=l;b=2;for(;a<8;a++) {b+=a;a+=2;}printf("%d,%d ",a,b); }程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%d ",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#includevoid fun(char *c,int d){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main(){char b='a',a='A';fun(&b,a);printf("%e,%e ",b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3(29)有以下程序#include(stdio.h)main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++) s=s+a[b[i]]);printf("%d ", s);}程序运行后的输出结果是A)6C)11D)15(30)有以下程序#includemain(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1; for(i=0;i<3;i++)for(j=ij<=1;j++) t+=b[i][b[j][i]];printf("%d ",t);}程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2=" 123\\";printf("%d %d ", strlen(s1),strlen(s2));则输出结果是A)5 5C)10 7D)5 8(32)有以下程序#include#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i; fun(a,2);for(i=O;i++;i<=??){printf("%d",a[i]);}printf(" ");}程序运行后的输出结果是A)1313B)2234C)3234D)1234(33)有以下程序int f(int t[],int n);main{ int a[4]={1,2,3,4},s;s=f(a,4); printf("%d ",s);}int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1); else return 0;}程序运行后的输出结果是A)4B)1OC)14D)6(34)有以下程序#includeint fun(){ static int x=1;x*2; return x;}{int i,s=1,for(i=1;i<=2;i++) s=fun(); printf("%d ",s);}程序运行后的输出结果是A)OB)1C)4D)8(35)有以下程序#include#define SUB(a) (a)-(a) main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d ",d);}程序运行后的输出结果是A)0B)-12D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f ",a.a,a.b,a.c); }void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;} 程序运行后的输出结果是A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.OD)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;} s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#includemain(){ int a=2,b=2,c=2;printf("%d ",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#includemain(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w"); fputs("abc",fp);fclose(fp); fpfopen("myfile.data","a++"); fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str); fclose(fp);}程序运行后的输出结果是A) abcB) 28cC) abc28D) 因类型不一致而出错二、填空题(1)一个队列的初始状态为空。

2010春C上机真题第一套

2010春C上机真题第一套

2010春C上机真题第一套2010春C上机真题第一套二级C语言上机试卷(本试卷完成时间为70分钟)一、改错题(16分)【程序功能】验证3(n范围内的任意两个相邻素数的平方之间至少存在4个素数。

例如,5和7是两个相邻素数,5^2(25)与7^2(49)之间存在6个素数:2931 37 41 43 47。

【测试数据与运行结果】显示:input n:输入:10输出:3~5 k=511 13 17 19 235~7 k=629 31 37 41 43 47【含有错误的源程序】#include<stdio.h>样include<math.h>int prime(int n){int i,flag=1;for(i=1;i<=sqrt(n);i++)if(n%i==0)flag=0;return flag;}int fun(int a[],int n){ int i,k=0;for(i=3;i<=n;i++)if(prime(i)) a[k++]=i;return k;’ void fun1(int m,int n, int b*+){ int i,k=0;if(m>n) return 0;for(i=m*m;i<n*n;i++)if(prime(i)) b[k++]=i;return k;}void main(){int a[50]={0},b[100]={0},i,m,k,j,n;printf("input n:");scanf("%d",&n);m=fun(a,n);for(i=O;i<m-1;i++){k=fun1(a[i],a[i+1],b[O]);printf("%d~%d k=%d",a[i],a[i+1],k);if(k<4){printf("false");break;}for(j=0;j<k;j++){if(j%10=O)prinff("\n");printf("%5d",b[j]);}printf("\n");}getch();}【要求】1.将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。

2010年3月全国计算机等级考试二级C语言笔试试题(含参考答案)

2010年3月全国计算机等级考试二级C语言笔试试题(含参考答案)

2010年3月全国计算机等级考试二级笔试试卷(考试时间90分钟,满分100分)一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分。

共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。

(1) 下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)log n)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(2log n)D) 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n2(2) 算法的时间复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3) 软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4) 软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5) 数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6) 软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7) 数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言 C)数据操纵语言D)数据控制语言(8) 在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9) 数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计阶段 C)概念设计阶段D)物理设计阶段(10) 有两个关系R 和T 如下:RT则由关系R 得到关系T 的操作是选择B )投影 C)交 D)并(11) 以下叙述正确的是A)C 语言程序是由过程和函数组成的B)C 语言函数可以嵌套调用,例如:fun(fun(x))C)C 语言函数不可以单独编译D)C 语言中除了main 函数,其他函数不可以作为单独文件形式存在(12) 以下关于C 语言的叙述中正确的是A)C 语言中的注释不可以夹在变量名或关键字的中间B)C 语言中的变量可以再使用之前的任何位置进行定义C)在C 语言算术的书写中,运算符两侧的运算数类型必须一致D)C 语言的数值常量中夹带空格不影响常量值的正确表示(13) 以下C 语言用户标示符中,不合法的是A)_1B)AaBcC)a_b D)a--b(14) 若有定义:double a=22;int i=0,k=18;则不符合C 语言规定的赋值语句是A)a=a++,i++ B)i=(a+k)<=(i+k) C)i=a%11 D)i=!a(15)#include <stdio.h>main(){char a,b,c,d;scanf("%c%c",&a,&b);c=getchar(); d=getchar();printf("%c%c%c%c\n",a,b,c,d);}当执行程序时,按下列方式输入数据(从第一列开始,<CR>代表回车,注意:回车是一个字符)12<CR>34<CR>则输出结果是:A、1234B、12C、12D、123 3416、以下关于C语言数据类型使用的叙述中错误的是:A、若要准确无误的表示自然数,应使用整数类型。

2010春江苏C++二级试卷 无答案

2010春江苏C++二级试卷 无答案

2010春江苏C++考试试题2010年春二级试卷试卷语种:C++语言第一部分计算机基础知识第二部分 C++语言程序设计 .一、选择题(用答题卡答题,答案依次填在21-30答题号内)21.若有;int x=6;则执行语句:x+=x-=x*x;后,x的值是 (21)A.36B.-60C.60D.-2422.以下语句中,存在编译错误的是 (22)A.char a[7],*p; p=a="China";B.char a[7],*p=a; p="China";C.char *a; a="China";D.char a[7]={"China"};23.以下有关函数的叙述中,正确的是 (23) 。

A.函数必须返回一个值B.函数体中必须有return语句C.函数可以多次重载D.函数可以嵌套定义24.执行以下语句序列int j=0;while(j<25) j+=3; cout<<j<<'\n';输出的结果是 (24)A.24B.25C.27D.2825.实现运行时的多态性需要使用 (25)A.重载函数B.析构函数C.构造函数D.虚函数26.以下有关类成员的描述中,正确的是 (26)A.友元函数是类的成员函数B.类成员缺省的访问权限是私有的C.类成员函数必须说明为公有的D.派生类成员函数能访问其基类的所有成员27.对于任意一个类,其析构函数 (27)A.是唯一的B.可有多个C.只能是缺省的D.允许重载28.类的成员函数中,没有this指针的是 (28)A.构造函数B.析构函数C.虚函数D.静态成员函数29.以下有关继承的叙述中,不正确的是(29) 。

A.继承可以实现软件复用B.虚基类可解决多继承产生的二义性问题C.派生类不继承基类的私有成员D.派生类的构造函数要调用基类的构造函数30.静态数据成员是 ( 30 ) 的数据。

2010年3月计算机二级c语言试题及详细解答答案

2010年3月计算机二级c语言试题及详细解答答案

(17)若 a是数值类型 , 则逻辑表达式 (a==1)||(a!=1) 的值是
A)1
B)0
C)2
D)
不知道 a的值 , 不能确定
(18)以下选项中与 if(a==1)a=b;else a++;
A)switch(a) {case 1:a=b;break; default:a++; } B)switch(a==1) {case 0:a=b;break;
语句功能不同的 switch 语句是
case 1:a++; }
C)switch(a) {default:a++;break; case 1:a=b; } D)switch(a==1) {case 1:a=b;break; case 0:a++; }
(19)有如下嵌套的 if 语句
if(a<b)
if(a<c)k=a;
(25)下列选项中 , 能正确定义数组的语句是
A)int num[0..2008];
B)int num[];
C)int N=2008; int num[N];
D)#define N 2008 int num[N];
( 26 )有以下程序
#include <stdio.h> void fun(char*c,int d) {*c=*c+1;d=d+1; printf("%c,%c,",*c,d); } main()
D)m=5
( 21 )有以下程序
#include<stdio.h>
main()
{int a=1,b=2;
for(;a<8;a++){b+=a;a+=2;}

2010年春江苏VC%2B%2B上机试题第1套

2010年春江苏VC%2B%2B上机试题第1套

2010年春江苏VC++上机试题第1套一:改错题(20分)[题目]以下程序的功能是:找出100之内所有符合等式x=(y+z)/2的x(其中x,y,z都是100以内素数,且他们互不相同),并输出所有满足条件的结果,例如:5是符合上述条件的素数,因为5=(3+7)/2,并且5,3和7都是素数,13也是符合条件的素数,因为13=(3+23)/2,13=(7+19)/2,13、3、23、7、19均为素数正确程序的输出如下(部分省略)5=(3+7)/27=(3+11)/211=(3+19)/213=(3+23)/217=(3+31)/2./..含有错误的源程序如下:#include “iostream.h”#include “math.h”int isPrime(int n){for(int i=2;i<sqrt(n);i++)if(n%i==0) return 0;return 1;}int check(int x,int y){if(isPrime(x) && isPrime(y))if((x+y)/2==0)return isPrime((x+y)/2);return 0;}void main(){int s=2,t=2,p=2;int flag;while(1){for(t+=1; ;t++){if(isPrime(t)) {if(flag==0){p=t,flag=1;}break;}}if(p>100) break;if((s+t)/2<100){if(!check(s,t))cout<<(s+t)/2<<"=("<<S<<"+"<<t<<") /2”<<endl;}else{s=t=p;flag=0;}}}二:编程题试定义一个类COIN,用于模拟一个翻硬币游戏,n个硬币画面向上围成一圈,按顺时针方向依次数硬币,对于数硬币的计数,当计数到可以被3整除或者被5整除的数时,将硬币翻转,使用一个数组来表示这n个硬币的状态(数组下标从0开始),元素值为1表示对应硬币画面朝上,编写程序计算这n个硬币依次从1开始到k时,各硬币的状态(数组各元素的值),具体要求如下:(1) 私有数组成员int *a,指向用于存储硬币状态的数组int n,k;整型变量,n表示硬币的总数,k表示依次计数的次数(2) 公有成员函数COIN(int n1,int k1);构造函数,利用n1和k1的值分别初始化n和k,并为指针成员a动态分配存放n1个整数的存储空间,将指针a指向的数组中的每一个元素初始化为1(即假设每个硬币的初始状态都为画面朝上)void func();计算从1数到k时硬币的状态void print();按示例要求打印输出结果~COIN():析构函数(3) 在主函数中对该类进行测试输入n和k的值:12 100从1数到100时的硬币状态是:0 1 0 0 0 1 1 0 1 0 0 1。

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

2010春C考试试题2010春第二部分C语言程序设计一、选择题(用答题卡答题,答案依次填在21~30答题号内,共l0分)21.C语言规定,在一个源程序中main函数的位置_____(21)_____ 。

A.必须在最开始B.必须在最后C.必须在预处理命令的后面D.可以在其他函数之前或之后22.以下选项中,______(22)______是C语言关键字A.printf B.include C.fun D.default23.已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为__(23)___。

A.0 B.3 C.3.5 D.424.设指针变量占2个字节的内存空间,若有声明"char *p="123";int c;",则执行语句"c=sizeof(p);"后,c的值为__(24)___A.1 B.2 C.3 D.425.已知有声明"int a=3,b=4;",下列表达式中合法的是(25)A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++26.已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是(26)。

A.s="Good"; B.s[20l="Good";C.strcat(s,"Good"); D.strcpy(s,"Good");27.已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8),{9,10,11,12},{13,14,15,16)};",若需要引用值为12的数组元素,则下列选项中错误的是( 27 ) 。

A.*(a+2)+3 B.*(*(a+2)+3) C.*(a[2]+3) D.a[2][3]28.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为( 28 ) 。

A.3 B.3.0 C.3.89 D.4.029.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为( 29 ) A.3,1 B.15,12 C.15,1 D.3,1230.下列叙述中,正确的是_____(30)______ 。

A.C语言中的文件是流式文件,因此只能顺序存取文件中的数据。

B.调用fopen函数时若用"r"或"r+"模式打开一个文件,该文件必须在指定存储位置或默认存储位置处存在。

C.当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到该文件中的第1个数据D.无论以何种模式打开一个已存在的文件,在进行了写操作后,原有文件中的全部数据必定被覆盖二、填空题(将答案填写在答题纸的相应答题号内,每个答案只占一行,共30分)●基本概念1.数学式所对应的c语言表达式为pow(x, __(1)__)。

2.已知有声明"char ch='g';",则表达式ch=ch-'a'+'A'的值为字符(2) 的编码。

3.在C语言系统中,如果一个变量能正确存储的数据范围为整数-32768~32767,则该变量在内存中占_____(3)_____个字节。

'4.已知有声明"int a[3][2]={{1,2),{3,4},{5,6}},*p=a[0];",则执行语句"printf("%d\n",*(p+4));"后的输出结果为__(4)___ 。

5.已知有声明和语句"int a;scanf("a=%d",&a);",欲从键盘上输入数据使a中的值为3,则正确的输入应是_____(5)_____ 。

•阅读程序6.以下程序运行时输出到屏幕的结果为(6) 。

#include#define MAX(A,B) A>B?2*A:2*Bvoid main(){int a=1,b=2,c=3,d=4,t;t=MAX(a+b,c+d);printf("%d\n",t);}7.以下程序运行时输出到屏幕的结果是(7) 。

#includevoid main(){int a=1,b=2;a+=b;b=a-b;a-=b;printf("%d,%d\n",a,b);}8.以下程序运行时输出到屏幕的结果是(8) 。

#includevoid swap(int a,int b){int t;if(a>b)t=a,a=b,b=t;}void main(){int x=13,y=11,z=12;if(x>y)swap(x,y);if(x>z)swap(x,z);if(y>z)swap(y,z);printf("%d\t%d\t%d\n",x,y,z);}9•以下程序运行时输出到屏幕的结果第一行是(9) ,第二行是(10) ,第三行是(11) 。

#includeint g(int x,int y){ return x+y;}int f(int x,int y){{static int x=2;if(y>2){ x=x*x;y=x;}else y=x+1;}return x+y;}void main(){int a=3;printf("%d\n",g(a,2));printf("%d\n",f(a,3));printf("%d\n",f(a,2));}10.以下程序运行时输出到屏幕的结果是(12) 。

#includevoid fun(int m,int n){if(m>=n)printf("%d",m);elsefun(m+1,n);printf("%d",m);}void main(){ fun(1,2); }11.以下程序运行时输出到屏幕的结果第二行是(13) ,第四行是(14) 。

#include#define N 6void main(){int i,j,a[N+1][N+1];for(i=1;i<=N;i++){a[i][i]=1;a[i][1]=1;}for(i=3;i<=N;i++)for(j=2;ja[i][j]=a[i-1][j-1]+a[i-1][j];for(i=1;i<=N;i++){ for(j=1;j<=i;j++)printf("M",a[i][j]);printf("\n");}}12.以下程序运行时输出到屏幕的结果第一行是(15) ,第二行是(16) 。

#includevoid fun(char *p1,char *p2);void main(){int i; char a[]="54321";puts(a+2);fun(a,a+4);puts(a);}void fun(char *p1,char *p2){char t;while(p1{t=*p1;*p1=*p2;*p2=t;p1+=2,p2-=2;}}13.以下程序运行时输出至到屏幕的结果第一行是(17) ,第二行是(18)。

#includetypedef struct{int x,y;}direction;int visible(direction s,direction A,direction B,direction C){direction p1,p2;int d;p1.x=B.x-A.x;p1.y=B.y-A.y;p2.x=C.x-A.x;p2.y=C.y-A.y;d=s.x*p1.x*p2.x+s.y*p1.y*p2.y;printf("M\n",d);return d>0;}void main(){char *ss[]={"invisible","visible"};direction s={1,1},T={1,1},A={0,0},B={2,1};puts(ss[visible(s,T,A,B)]);}•完善程序14.以下程序的功能是:统计一个字符串中数字字符"0"到"9"各自出现的次数,统计结果保存在数组count中。

例如,如果字符串为"lenterschar4543123564879ffgh",则统计结果为:1:2 2:1 3:2 4:35:2 6:1 7:1 8:1 9:1。

试完善程序以达到要求的功能。

#includevoid fun(char *t,int count[]){ char *p=t;while( _____(19)_____ ){ if(*p>='0' && *p<='9')count[_____(20)_____]++;p++;}}void main(){char s[80]="1enterschar4543123564879ffgh";int count[10]={0},i;fun(s,count);for(i=0;i<10;i++)if(count[i]) printf("%d:%d ",i,count[i]);}15.下列程序的功能是对a数组a[0]~a[n-1]中存储的n个整数从小到大排序。

排序算法是:第一趟通过比较将n个整数中的最小值放在a[0]中,最大值放在a[n-1]中;第二趟通过比较将n个整数中的次小值放在a[1]中,次大值放在a[n-2]中;......,依次类推,直到待排序序列为递增序列。

试完喜程序以达到要求的功能。

#include#define N 7void sort(int a[],int n){int i,j,min,max,t;for(i=0;i<___(21)___;i++){ ______(22)______ ;for(j=i+l;jif(a[j]else if(a[j]>a[max])max=j;if(min!=i){t=a[min];a[min]=a[i];a[i]=t;}if(max!=n-i-1)if(max==i){t=a[min];a[min]=a[n-i-1];a[n-i-1]=t;}else{t=a[max];a[max]=a[n-i-1];a[n-i-1]=t;}}}void main(){int a[N]={8,4,9,3,2,1,5},i;sort(a,N);printf("sorted:\n");for(i=0;iprintf("\n");}16.下列程序中函数find_replace的功能是:在s1指向的字符串中查找s2指向的字符串,并用s3指向的字符串替换在s1中找到的所有s2字符串。

相关文档
最新文档