四川省计算机等级考试二级C语言笔试题(第二十一次)一2009-03-29 15:15:17四川省普通高等学校计算机应用知识和能力第二十一次等级考试二级(C与C++语言)笔试试卷时间:2004年10月16日上午9:00—11:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)1.应用程序在执行过程中,需要通过打印输出数据时,一般先形成一个打印作业,将其存放在硬盘中的一个指定队列中。
当打印空闲时,就会按先来后服务的方式从中取出待打印的作业进行打印。
( 1 )2.若无进程牌运行状态,则就绪队列和等待队列均为空。
( 2 )3.多道程序设计是指在一台处理上迸发运行多个程序逻辑。
( 3 )4.黑盒法是软件测试方法中的静态测试方法之一。
( 4 )5.软件的详细设计就是要编写出具体的程序。
( 5 )6.软件生命周期中花费最多的阶段是软件维护。
( 6 )7.Windows 是单用户多任务操作系统,UNIX是多用户多任务操作系统。
(7 )8.进程把程序作为它的运行实体,没有程序也就没有进程。
(8 )9.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表和判定树。
(9 )10.作业调度程序从后备队列中选一个作业装入主存后,决定能否占用处理机的是设备调度程序。
(10 )二、单项选择题(1分/小题,共5分)1.交换技术是在(11 )之间交换程序和数据。
11(A)主内存与CPU (B)CPU与外设(C)主内存与外存(D)外存与CPU2.以下的工具中哪个不是软件详细设计中使用的工具(12 )。
12(A)数据流图(B)N-S图(C)PDA图(D)PDL语言3.任何两个并发进程之间(13 )。
13(A)一定存在互斥关系(B)一定存在同步关系(C)一定彼此独立无关(D)可能存在同步或互斥关系4.进程从运行状态进入就绪状态的原因可能是(14 )。
14(A)被选中占有处理机(B)等待某一事件(C)等待的事件已发生(D)时间片用完5.算法指的是(15 )。
15(A)计算机程序(B)解决问题的有限运算序列(C)排序算法(D)解决问题的计算方法第二部分C与C++语言程序设计(共85分)一、单项选择题(每小题1分,共10分)1.以下程序运行后,输出结果是(16 )。
main(){ int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf(“%d,%d\n”,k,m);}16(A)0,0 (B)0,1 (C)1,0 (D)1,1 2.以下程序输出的结果是(17 )。
main(){ int m=5;if(m++>5)printf(“%d”,m++);elseprintf(“%d”,m--);}17(A)7 (B)6 (C)5 (D)43.下列程序运行的结果是(18 )。
main(){ int a=10,b=11,c=12;printf(“%d\n”, a>c?a:c?d=a>b:b );}18(A)11 (B)0 (C)10 (D)124.已知:int a,b;下列switch语句中,(19 )是正确的。
19(A)switch(a) (B)switch(a+b){ {case a: a++;break; case 1: a++;case b: b++;break; case 2: b++;} }(C)switch(a*b) (D)switch(a/10+b){ {case 1,2: a+b; case a+b: ++a;break;case 3,4: a-b; case a-b: --b;} }5.下列程序由两个件f1.c和f2.c组成。
f1.c文件的内容:# include <stdio.h># include <f2.c># define N 3main(){ int i;for(i=1;i<=N;i++)printf(“%d,”,sum(i));}f2.c文件的内容:sum(int n){ int t;static int s=0;for(t=1;t<=n;t++)s+=t*t;return(s);}程序的运行输出结果是(20 )。
20(A)1,5,14, (B)1,2,3, (C)1,6,20, (D)1,4,9,6.C++中,有以下定义:int a,b; 若要从键盘输入变量a,b的值,则正确的输入语句是(21 )。
21(A)cin>>a>>b; (B)cin<<a<<b;(C)cout>>a>>b; (D)cout <<a<<b;7.下列程序运行的结果是(22 )。
# include <stdio.h># define swap(x,y) {x^=y; y^=x; x^=y; }main(){ int a=010,b=1;swap(a,b);printf(“%d,%d\n”,a,b);}22(A)1,8 (B)8,1 (C)10,1 (D)1,108.以下scanf 函数调用中对结构体变量成员的错误引用是(23 )。
struct student{ char name[20];int age;int sex;}stud[5],*p;p=stud;23(A)scanf(“%s”,stud[0].name);(B)scanf(“%d”,&stud[0].age);(C)scanf(“%d”,p->age); (D)scanf(“%d”,&(p->sex) );9.在以下关于构造函数的描述中,错误的是(24 )。
24(A)构造函数可以重载(B)构造函数可以带缺省形参值(C)构造函数名必须与类同名(D)构造函数可以带回返回值10.下面对C++函数重载的描述中,错误的是(25 )25(A)函数名相同(B)函数参数个数或参数类型至少有一个不同(C)函数参数不可以用缺省值(D)函数返回值必须不同四川省计算机等级考试二级C语言笔试题(第二十一次)二2009-03-29 15:20:00二、读程序回答问题(每个选择3分,共45分)。
1.下列程序运行的结果为(26 )。
# include <stdio.h>void fun(char *c,int d){ *c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(){ char a='A',b='a';fun(&b,a);printf("%c,%c\n",a,b);}26(A)B,a,B,a (B)a,B,a,B (C)A,b,A,b (D)b,B,A,b 2.下面程序的输出是(27 )。
# include <stdio.h>void test(int *u,int *v){ int *w;w=u;u=v;v=w;}main(){ int m=3,n=6,*x=&m,*y=&n;test(x,y);printf("%d %d", m,n);}27(A)3 6 (B)6 3 (C)0 0 (D)编译出错3.以下程序的输出结果是(28 )。
# include <stdio.h>main(){ int x,y;for(x=1,y=1;x<=15;x++){ if(y>=20)break;if(y%3==1){ y+=3;continue;}y-=10;}printf("%d,%d\n",x,y);}28(A)8,22 (B)7,20 (C)6,22 (D)5,20 4.fun(char *t1,char *t2){ int i,j;while(*t2!=0){ for(i=0,j=0;t1[i];i++)if(t1[i]!=*t2)t1[j++]=t1[i];t1[j]='\0';t2++;}}main(){ char a[]="abcde",b[]="ae";fun(a,b);puts(a);}该程序的输出结果为(29 )。
29(A)abcde (B)bcd (C)abcdeae (D)ae 5.以下程序的输出结果是(30 )。
# include <stdio.h># define FUN(y) 2.84+y# define PR(a) printf("%d",(int)(a))# define PRINT(a) PR(a);putchar('\n')main(){ int x=2;PRINT(FUN(5)*x);}30(A)11 (B)12 (C)14 (D)15 6.读下列程序,回答问题。
# include <stdio.h>void sort(int a[]){ int i,j,t;for(i=0;i<4;i++)for(j=0;j<4-i;j++)if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; }}main(){ int a[5]= {5,10,-7,3,7},i,t,j;sort(a);for(i=0;i<=4;i++)printf("%d\n",a[i]);}关于程序的说法正确的是(31 )。
31(A)用选择法对数据按从小到大排列(B)用选择法对数据按从大到小排列(C)用冒泡法对数据按从小到大排列(D)用冒泡法对数据按从大到小排列7.执行下面程序时输入“I will pass the exam!”,其输出结果是(32 )。
如果将程序中的scanf(“%s”,s)改为gets(s);同样输入”I will pass the exan!”,则程序的输出结果是(33 )。
# include <stdio.h>int fun(char s[]){ int i=0;while(s[i]!='\0')i++;return i;}void main(){ char s[81];printf("Please input a string:\n");scanf("%s",s);printf("%d\n",fun(s));}32(A)5 (B)21 (C)1 (D)17 33(A)5 (B)21 (C)1 (D)17 8.以下是一个C++程序# include <iostream.h>class Sample{ int x,y;public:Sample() {x=y=0; }Sample(int a,int b) {x=a; y=b;}void disp(){ cout<<"x="<<x<<"y="<<y<<endl; }}void main(){ Sample s1,s2(2,3);s1.disp();s2.disp();}(1)该程序主函数中s1.disp()的输出为(34 )。