2009年浙江秋C语言二级理论试题

合集下载

c语言二级考试真题及答案 (8)

c语言二级考试真题及答案 (8)

2009年4月,全国计算机等级二级C考试你准备好了没?考计算机等级二级C语言考试的朋友可以多关注一下考试365为大家整理的2009年4月,全国计算机等级二级C语言考前练习!希望对大家的备考有好的帮助!考试365祝各位考个好成绩!大家每天都来练习哦!不断的加强巩固!每天都有更新哦!考试365提示:每十道题的难度不同!继续上一篇...1.有以下结构体说明和变量的定义,且如下图所示指针p指向变量a,指针q指向变量b。

则不能把结点b连接到结点a之后的语句是()struct node{char data;struct noe*next;}a,b,*p= &a,*q=&b;A)a.next=q;B)p.next= &b;C)p- >next=&b;D)(*p).next=q;?2.若有如下定义:int(*p)(),*q();则下列说法正确的是()A)p是一个函数名,q是一个指针变量B)p是一个指向整型变量的指针变量,q是一个指向一维数组的指针变量C)p和q是等价的,都是指针变量D)p是指向函数的指针变量,函数的返回值是整型数据;q是带回指针值的函数3.有以下程序# includemain(){ float x,y;scanf( "%f",&x);if(x <0.0)y=0.0;else if((x <5.0)&&(x!=2.0))y=1.0/(x+2.0);else if(x <10.0)y=1.0/x;else y=10.0printf( "%f\n",y);}若运行时从键盘上输入2.0 (表示回车),则上面程序的输出结果是()A)0.000000B)0.250000C)0.500000D)1.0000004.以下程序段中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是()A)main (){int*p;fun (p);…}intfun (int*p){ int s;p= &s;}B)main{int*p;fun ( &p);…}intfun (int**p){ints;*p= &s;}C)#includemain (){int*p;fun ( &p);…}intfun (int**p){*p=(int*)malloc (2); }D)#includemain (){ int*p;fun (p);…}int fun (int*p){p=(int*)malloc(sizeof (int)); }5.执行下列程序时输入:23 <空格>456<空格>789<回车>,输出结果是() main(){ char s[100]int c,i;scanf( "%c",&c);scanf( "%d",&i);scanf( "%s",s);printf( "%c,%d,%s\n",c,i,s);}A)1,456,789B)1,23,456C)1,23,456,789D)23,456,7896.有以下程序#include#includemain(){ char b1[8]= "abcdefg",b2[8],*pb=b1+3;while(--pb >b1)strcpy(b2,pb);printf( "%d\n",strlen(b2));}程序运行后的输出结果是()A)8B)3C)1D)67.设有如下定义和声明:structs{ inta;structs*next};structsx[4]={1, &x[1],3,&x[2],5,&x[3],7,’\0’},*t;t= &x[0];则下列表达式值为2的是()A)++t- >aB)(*t).a++C)t- >a++D)t++- >a8.若有如下程序:main(){int a=6; char ch=c;printf( "%d\n",(a&2)&&(ch<′m′));}则程序运行后的输出结果是()A)0B)1C)2D)39.下列说法不正确的是()A)下列结构体定义时,占据了5个字节的空间struct s {int num;int age;char sex;}B)结构体的成员名可以与程序中的变量名相同C)对结构体中的成员可以单独使用,它的作用相当于普通变量D)结构体的成员可以是一个结构体变量10.若要打开A盘中user子目录下名为aaa.txt的文本文件进行读、写操作,下面符合此要求的函数调用是()A)fopen( "A:\user\aaa.txt","r")B)fopen( "A:\\user\\aaa.txt","r+")C)fopen( "A:\user\aaa.txt","rb")D)fopen( "A:\\user\\aaa.txt","w")答案:1.B 2.D 3.C 4.C 5.B 6.D 7.A 8.A 9.A 10.B2009年4月,全国计算机等级二级C考试你准备好了没?考计算机等级二级C语言考试的朋友可以多关注一下考试365为大家整理的2009年4月,全国计算机等级二级C语言考前练习!希望对大家的备考有好的帮助!考试365祝各位考个好成绩!大家每天都来练习哦!不断的加强巩固!每天都有更新哦!考试365提示:每十道题的难度不同!继续上一篇...1.分析以下程序,执行后的输出结果是()int f1(int x,int y){return x >y? x:y;}int f2(int x,int y){return x >y? y:x;}main(){int a=4,b=3,c=5,d,e,f;d=f1(a,b);d=f1(d,c);e=f2(a,b);e=f2(e,c);f=a+b+c-d-e;printf( "%d,%d,%d",d,f,e);}A)3,4,5B)5,3,4C)5,4,3D)3,5,42.分析下面函数swap(int *p1,*p2){ int *p;*p=*p1;*p1=*p2;*p2=*p;}则该程序功能为()A)交换*p1和*p2的值B)正确,考试365提示:但无法改变*p1和*p2的值C)交换*p1和*p2的地址D)可能造成系统故障,因为使用了空指针3.有以下程序main(){int n[3],i,j;for(i=0;i <3;i++)n[i]=0;for(i=0;i <2;i++)for(j=0;j <2;j++)n[j]=n[i]+1;printf( "%d\n",n[1]);}程序运行后的输出结果是()A)2B)1D)34.有如下程序段:int a=14,b=15,x;char c=′A′;x=(a &&b)&&(c<′B′);执行该程序段后,x的值为()A)1B)0C)falseD)true5.有以下程序# includestruct NODE{int num;struct NODE*next;}main(){struct NODE*p,*q,*r;p=(struct NODE*)malloc(sizeof(struct NODE)); q=(struct NODE*)malloc(sizeof(struct NODE)); r=(struct NODE*)malloc(sizeof(struct NODE)); p- >num=10;q->num=20;r->num=30;p- >next=q;q->next=r;printf( "%d\n",p->num+q->next->num);}程序运行后的输出结果是()A)10B)20C)30D)406.设有如下定义:structsk{ inta;float b;} data;int *p;若要使p指向data中的a域,正确的赋值语句是()A)p= &a;B)p=data.a;C)p= &data.a;D)*p=data.a;7.若有如下说明:unions{char a[9];intb;float c;则下列叙述正确的是()A)共用体变量t不能作为函数的参数B)通过引用共用体变量名t可以得到成员的值C)共用体变量t的地址和它的各成员的地址不同D)共用体变量t所占的内存长度等于它的各成员所占的内存长度之和8.若定义了以下函数:void sub(......){......*t=(int*)malloc(10*sizeof(int));......}其中t是该函数的形参,要求通过t把动态分配存储单元的地址传回主调函数,则形参t的正确定义应该是()A)int *tB)int **tC)long **tD)long *t9.以下对枚举类型名的定义中正确的是()A)enum a={one,two,three};B)enum a {one=9,two=-1,three=200};C)enum a={ "one","two","four"};D)enum a { "nine","two","three"};10.C语言规定如果调用fputc函数输出成功,则返回值是()A)1B)输出的字符C)0D)true答案:1.C 2.D 3.D 4.A 5.D 6.C 7.A 8.B 9.B 10.B2009年4月,全国计算机等级二级C考试你准备好了没?考计算机等级二级C语言考试的朋友可以多关注一下考试365为大家整理的2009年4月,全国计算机等级二级C语言考前练习!希望对大家的备考有好的帮助!考试365祝各位考个好成绩!大家每天都来练习哦!不断的加强巩固!每天都有更新哦!考试365提示:每十道题的难度不同!继续上一篇...1.s1和s1已正确定义并分别指向两个字符串,若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是()A)if(s1>s2)S;B)if(strcmp(s1,s2))S;C)if(strcmp(s2,s1)>0)S;D)if(strcmp(s1,s2)>0)S;2.设有定义语句intx[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是()A)for(i=0;i<6;i++)printf("%2d",*(p++));B)for(i=0;i<6,i++)printf("%2d",*(p+i));C)for(i=0;i<6;i++)printf("%2d",*p++);D)for(i=0;i<6;i++)printf("%2d",(*p)++);3.以下程序的输出结果是()#includemain(){int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;*q=*(q+5);printf("%d%d\n",*p,*q);}A)运行后报错B)66C)611D)5104.设有以下定义和语句int a[3][2]={1,2,3,4,5,6},*p[3];p[0]=a[1];则*(p[0]+1)所代表的数组元素是()A)a[0][1]B)a[1][0]C)a[1][1]D)a[1][2]5.以下程序的输出结果是()main(){char str[][10]={"china","Beijing"},*p=str;printf("%s\n",p+10);}A)ChinaB)BeijingC)ngD)ing6.Examda提示: 以下程序的输出结果是()main(){char s[]="ABCD",*p;for(p=s+1;p }A)ABCDBCDCDDB)ABCDC)BCDD)BCDCDD7.在函数调用过程中,如果函数funA调用了函数funB,函数funB Examda提示: 又调用了函数funA,则()A)称为函数的直接递归调用B)称为函数的间接递归调用C)称为函数的循环调用D)C语言中不允许这样的递归调用8.已有定义:int i,a[10],*p;,则合法的赋值语句是()A)p=10;B)p=a[5]C)p=a[2]+2;D)p=a+2;9.以下叙述中正确的是()A)局部变量说明为static的存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同10.设有定义语句:char c1=2,c2=2;,则以下表达式中值为零的是()A)c1^c2B)c1&c2C)~c2D)c1|c2答案:1.D 2.D 3.A 4.C 5.B 6.D 7.B 8.D 9.A 10.A来2009年4月,全国计算机等级二级C考试你准备好了没?考计算机等级二级C语言考试的朋友可以多关注一下考试365为大家整理的2009年4月,全国计算机等级二级C语言考前练习!希望对大家的备考有好的帮助!考试365祝各位考个好成绩!大家每天都来练习哦!不断的加强巩固!每天都有更新哦!考试365提示:每十道题的难度不同!继续上一篇...1.有以下程序:main(){char a[]="abcdefg",b[10]="abcdefg";printf("%d %d\n",sizeof(a),sizeof(b));}执行后输出结果是()A)7 7B)8 8C)8 10D)10 102.有以下程序:void swapl(int c[]){int t;t=c[0];c[0]=c[1];c[1]=t;}void swap2(int c0,int c1){int t;t=c0;c0=c1;c1=t;}main(){int a[2]={3,5},b[2]={3,5};swap1(a);swap2(b[0],b[1]);printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]);}其输出结果是()A)5 3 5 3B)5 3 3 5C)3 5 3 5D)3 5 5 33.有以下程序:void sum(int *a){a[0]=a[1];}main(){int aa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--)sum(&aa[i]);printf("%d\n",aa[0]);}执行后的输出结果是()A)4B)3C)2D)14.有以下程序:int f(int b[][4]){int i,j,s=0;for(j=0;j<4;j++){i=j;if(i>2)i=3-j;s+=b[i][j];}return s;}main(){int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; printf("%d\n",f(a));}执行后的输出结果是()A)12B)11C)18D)165.有以下定义:#includechar a[10],*b=a;不能给a数组输入字符串的语句是()A)gets(a)B)gets(a[0]);C)gets(&a[0]);D)gets(b);6.有以下程序:main(){char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"}; printf("%d\n",strlen(p[4]));}执行后输出结果是()A)2B)3C)4D)57.有以下程序:int a=2;int f(int *a){return(*a)++;}main(){int s=0;{int a=5;s+=f(&a);}s+=f(&a);printf("%d\n",s);}执行后输出结果是()A)10B)9C)7D)88.有以下程序:#define f(x) x*xmain(){int i;i=f(4+4)/f(2+2);printf("%d\n",i);}执行后的输出结果是()A)28B)22C)16D)49.设有以下语句:typedef struct S{int g;char h;}T;则下面叙述中正确的是()A)可用S定义结构体变量B)可以用T定义结构体变量C)S是struct类型的变量D)T是struct S类型的变量10.有以下程序:struct STU{char name[10];int num;};void f1(struct STU c){struct STU b={"LiSiGuo",2042};c=b;}void f2(struct STU *c){sturct STU b={"SunDan",2044};*c=b;}main(){struct STU a={"YangSan",2041},b={"WangYin",2043};f1(a);f2(&b);printf("%d%d\n",a.num,b.num);}执行后的输出结果是()A)2041 2044B)2041 2043C)2042 2044D)2042 2043答案:1.C 2.B 3.A 4.D 5.B 6.A 7.C 8.A 9.D 10.A2009年4月,全国计算机等级二级C考试你准备好了没?考计算机等级二级C语言考试的朋友可以多关注一下考试365为大家整理的2009年4月,全国计算机等级二级C语言考前练习!希望对大家的备考有好的帮助!考试365祝各位考个好成绩!大家每天都来练习哦!不断的加强巩固!每天都有更新哦!考试365提示:每十道题的难度不同!继续上一篇...1.下面程序的输出结果是()func (int x){ static int a=2;return (a+=x); }main(){ int b=2, c=4, d;d=func (b);d=func (c);printf("%d\n",d); }A)4B)6C)8D)12?2.以下程序运行后的输出结果是()main(){ chars[]="1234",*ps;for(ps=s;ps printf("\n");}A)123B)112123C)1234D)乱码3.以下关于宏的叙述中正确的是()A)宏名必须用大写字母表示B)宏替换时要进行语法检查C)宏替换不占用运行时间D)宏定义中不允许引用已有的宏名4.如果文件1包含文件2,文件2中要用到文件3的内容,而文件3中要用到文件4的内容,则可在文件1中用三个#include命令分别包含文件2、文件3和文件4。

二级C语言机试真题2009年09月

二级C语言机试真题2009年09月

[真题] 二级C语言机试真题2009年09月一、填空题第1题:给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),并写入文件myfile4.txt中,用-1作为字符串输入结束的标志,然后将文件的内容读出显示在屏幕上。

文件的读写分别由自定义函数ReadText和WriteText实现。

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

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

_____[试题源程序]#include<stdio.h>#include<string.h>#include<stdlib.h>void WriteText(FILE *);void ReadText(FILE *);main(){FILE *fp;if((fp=fopen("myfile4.txt", "W"))==NULL){printf("open fail !!\n"); exit(0);}WriteText(fp);fclose(fp);if((fp=fopen("myfile4.txt", "r"))==NULL)printf("open fail !!1\n"); exit(0);}ReadText(fp);fclose(fp);}/*********found*********/void WriteText(FILE (1) ){char str[81];printf("\nEnter string with -1 to end :\n");gets(str);while(strcmp(Str, "-1")!=0){/**********found*********/fputs( (2) , fw);fputs("\n", fw);gets(str);}void ReadText(FILE *fr){char str[81];printf("\nRead file and output to screen :\n");fgets(str, 81, fr);while( !feof(fr)){/**********found**********/printf("%s", (3) );fgets(str, 81, fr);}}参考答案:(1) fw (2) str (3) str填空1:在该函数中,对已有的语句fputs("\n", fw);分析可知:由于文件流变量fw在函数体中没有定义过,故应填*fw或fw[]。

2009计算机二级c语言考试真题及答案

2009计算机二级c语言考试真题及答案

2009计算机二级c语言考试真题及答案一、选择题(每题1分,共40分)1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. _variableD. variable-2答案:C2. 若有定义:int a=3, b=4, c=5;,则表达式a+b+c的值是:A. 12B. 9C. 15D. 3答案:C3. C语言中,以下哪个选项是正确的整型常量?A. 0x12B. 0x12.0C. 0x12LD. 0x12.0L答案:A4. 在C语言中,以下哪个选项是正确的字符常量?A. 'ab'B. '65'C. '\n'D. "A"答案:C5. 若有定义:int a=5, b=10;,则执行语句a=b后,变量a的值是:A. 5B. 10C. 15D. 0答案:B6. 在C语言中,以下哪个选项是正确的字符串常量?A. "Hello, World!"B. 'Hello, World!'C. "Hello World!"D. 'Hello World!'答案:A7. 若有定义:int a=5;,则执行语句a+=3后,变量a的值是:A. 5B. 8C. 3D. 2答案:B8. 在C语言中,以下哪个选项是正确的数组定义?A. int a[5] = {1, 2, 3, 4, 5};B. int a[5] = {1, 2, 3};C. int a[] = {1, 2, 3, 4, 5};D. int a[5] = {1, 2, 3, 4};答案:C9. 若有定义:int a[5] = {1, 2, 3, 4, 5};,则执行语句a[2]=6后,数组元素a[2]的值是:A. 1B. 2C. 6D. 5答案:C10. 在C语言中,以下哪个选项是正确的函数定义?A. int max(int x, int y) { return x > y ? x : y; }B. int max(int x, int y) { if(x > y) return x; else returny; }C. int max(int x, int y) { return x > y ? y : x; }D. int max(int x, int y) { if(x > y) return y; else returnx; }答案:A二、填空题(每题2分,共20分)1. 在C语言中,若要定义一个整型变量x并初始化为10,应使用语句:________。

2009年全国高等学校计算机考试二级(C语言)试卷

2009年全国高等学校计算机考试二级(C语言)试卷

一、单项选择1.中央处理器(CPU)包括A.控制器和内存 B .制器和内存器C.运算器和内存 D .硬盘和控制器2.计算机的主存储器包括A.RAM和C盘 B .ROM和C磁盘C . ROM和RAMD .硬盘和控制器3.计算机中数据的表示形式是A.二进制B.八进制C.十进制 D.十六进制4在微型计算机中,2048*2048的字节准确等于A.1MBB.2MBC.3MBD.4MB5.八进制整数157化为二进制数是A.1101010B.1101000C. 1101111D.10101016.在Windows应用环境中,选中窗口全部对象的组合键是A.<Alt>+AB.<Ctrl>+AC.<Alt>+<Shift>+AD.<Shift>+A7.Windows中,文件扩展名通常表示A.文件的类型B.文件的大小C. 文件的版本D.文件的修改时间8.在Windows移动普通窗口的方法是使用鼠标拖动A.滚动条B.菜单栏C.工具栏D.标题栏9.在Windows中剪贴板是A.硬盘上的一块空间B.U盘上的一块空间C.Cache中的一块空间D.内存中的一块空间10.在Windows中,关闭窗口的操作是双击A.窗口控制图标B.标题栏C.菜单栏D.工具栏11.在Windows的“资源管理器”的窗口右部,若单击了第一个文件,有按住<Ctrl>键并开始单击第七个文件,则A.在0个文件被选中B.有1个文件被选中C.有2个文件被选中D.有7个文件被选中12.Word文档文件默认的扩展名是A.TXTB.DOSC.WPSD.WAV13.Word文档编辑过程中,为防止突然断电等意外操作造成丢失数据,应经常单击工具栏上的保存按钮或快捷键A.<Art>+SB.<Alt>+CC. <Ctrl>+CD.<Ctrl>+S14.保存Word文档时系统默认的保存路径是A.My DocumentsB.我的公文包C.WindowsD.Wrod15.Word程序中允许打开多个文档,可以实现文档窗口之间切换的菜单是A.编辑B.窗口C.视图D.工具16.Excel中,下列输入数据属于字符型的是A.+J1+7B.=SUM(J1:Y1)C.’SUM(P1,P7)D.=P7+717.以下说法错误的是A.Excel文件的扩展名是.XSLB.Excel是电子表格软件C.Excel属于OfficeD.Excel可以在Windows环境下运行18.在Excel中,若要对几个数值求平均值,选用函数是A.SUMB.AVERAGEC.MAXD.COUNT19.局域网的英文缩写是A.WANB.ISDNC.WWWN20.下列各种网络拓扑结构中,共享资源能力最差的是A.网状结构B.树状结构C.总线结构D.星型结构21若在说明语句:int i=9,j:则执行语句j=(i++)+(++i);后j的数值是A.18B.19C.20D.2222.设有如下定义:int x=10,y =3;则语句printf(”%d”,(x%y));的输出结果是A.0B.1C.4D.323.”A”和在计算机内存中分别占用的字节数是A.2,1B.1,1C.1,2D.2,224.若已定义char a[10];则下面表达式中不能表示a[1]地址的是A.a+1B.a++C.&a[0]+1D.&a[1]25.设有定义:int a=1,b=2,c=3,d=4;,则printf(”%d”,a<b?c:b);的输出结果是A.1B. 2C.3D.426.C语言中运算数必须是整形的运算符是A./B.%C.>=D.+27.C语言中,可以用来定义多个不同类型变量值的数据类型是A.数组B.结构体C.指针D.权举28.程序设计的三种结构是A.顺序结构、分支结构、选择结构B.顺序结构、递归结构、选择结构C.顺序结构、循环结构、逻辑结构D.顺序结构、循环结构、选择结构29.字符串常量”\\ab\’dtd"的长度是A.5B.7C.8D.930.若有如下定义,则sizeof(struct stu)的数值是Struct sut{ int i;Char ch[5]}a;A.2B.5C.6D.7二.阅读程序题(本题共10小题,每小题3分,共30分)1. main( ){int x=4;printf(“%d”, x+=x-=x*x);}2. int x=4,y=5;main( ){int x=6, y=7;printf(“%d,%d\n”,x,y);}3. main( )int i,s=0;for(i=1;i<6;i++){switch(i){case 1: s=1;case 2: s+=3; break;case 3: s==4;default : s+=2;}}printf(“%d\n”, s);}4.int fun(int x){static int m=1;m*=x;return m;}main( ){int i,s=0;for(i=1;i<3;i++)s+=fun(i);printf(“%d\n”,s);}5. main( ){int a=8,b=10,c=6;if(a<b)if(b<1) c=0else c++;printf(“%d\n”,c);}6. #define m(x,y,z) x*y-zmain( ){int a=2,b=3,c=4,y;y= M(a,b+c,c+b);printf(“%d\n”,y);}7. main( ){int a[ ]={1,2,3,4,5,6}, *p;p=a;*(p+2)+=4;printf(“%d,%d \n”, *p,*(p+2));}8. main( ){int num[3][3]={0,1,2,0,1,2,0,1,2},I,j,t=0;for(i=0;i<3;i++)for(j=0;j<=i;j++)t=t+num[i][num[[j][j]];}三.完善程序题(本小题共10小题,每小题2分,共20分)将下列程序________的内容填写到答题纸上对应题号处,使程序完整、正确。

2009年3月全国计算机二级(C语言程序设计)笔试真题及参考答案

2009年3月全国计算机二级(C语言程序设计)笔试真题及参考答案

2009年3月全国计算机等级考试二级笔试试卷C语言程序设计一、选择题(1)下列叙述中正确的是A)栈是“先进先出”的线性表B)队列是“先进后出”的线性表C)循环队列是非线性结构D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是A)栈B)树C)队列D)二叉树(3)某二叉树有5个度为z的结点,则该二叉树中的叶子结点数是A)10 B)8 C)6 D)4(4)下列排序方法中,最坏情况下比较次数最少的是A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是A)编译程序B)操作系统C)教务管理系统D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。

下列叙述中正确的是A)提高耦合性降低内聚性有利他哦高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元索间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训(9)有两个关系R, S如下:由关系R通过运算得到关系S,则所使用的运算为A)选择B)投影C)插入D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域(11)以下选项中合法的标识符是A)1_1 B)1-1 C)_11 D)1_ _(12)若函数中有定于语句:int k;,则A)系统将自动给K赋初值0 B)时k中的值无定义C)系统将自动给k赋初值-1 D)这时k中无任何值(13)以下选项中,能用作数据常量的是A)0115 B)0118 C)1.5e1.5 D)115L(14)设有定义:int x=2;,以下表达式中,值不为6的是A)x*=x+1 B)x++,2*x C)x*=(i+x)D)2*x, x+=2(15)程序段:int x=12; double y=3.141593; printf(“%d%8.6f”,x, y);的输出结果是A)123.141593 B)12 3.141593 C)12, 3.141593 D)123.1415930(16)若有定义语句:double x, y,*px,*pY; 执行了px=&x; py=&y;之后,正确的输入语句是A)scarf(“%f%1”,x,y);B)scarf(“%f%f”,&x,&y);C)scarf(“%lf%1e”,px,py);D)scarf(“%lf%lf”,x,y);(17)以下是if语句的基本形式:if〔表达式)语句其中“表达式”A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式(18)有以下程序#include <stdio.h>main(){int x;scarf(“&d”,&x);i f (x<=3);elseif (x!=10)printf(“&d\n”。

2009年上半年C试卷

2009年上半年C试卷

2009年春浙江省高等学校计算机等级考试试卷(二级C)试题1(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】输入一个正整数n ,计算下列算式的前n 项之和。

s =-+-+⋯1111357运行示例:Enter n: 2Sum = 0.67【程序】#include <stdio.h>main( ){ int denominator, flag, i, n;double item, sum;printf("Enter n: ");scanf ("%d", &n);denominator = 1; (1) ;sum = 0; for (i = 1; (2) ; i++){ (3) ;sum = sum + item; (4) ;denominator = denominator + 2;}printf ("Sum = %.2f\n", sum);}【供选择的答案】(1) A. flag = 0 B. flag = -1C. flag = nD. flag = 1(2) A. i >= n B. i < nC. i > nD. i <= n(3) A. item = flag / denominatorB. item = 1 / denominatorC. item = flag * 1.0 / denominatorD. item = 1.0 / denominator(4) A. flag = -1 B. flag = 0C. flag = -flagD. flag = flag试题2(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】验证哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。

2009秋浙江省二级考试试卷

2009秋浙江省二级考试试卷

2009年秋浙江省高等学校计算机等级考试试卷(二级C)一、程序阅读与填空(24小题,每小题3分,共72分)1. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】计算并输出下式的值,要求精确到最后一项的绝对值小于10-3(保留4位小数)。

⋯+-+-=10171411s运行示例: sum = 0.8361 【程序】 #include <stdio.h>#include <math.h> main(){ int denominator = 1, flag = 1; double item, sum=0; ___(1)____ while(____(2)___){ ___(3)____ denominator =denominator + 3; flag = -flag; } printf("sum=___(4)____\n", sum);}【供选择的答案】 (1) [A] item=0;[B] item=0.0001 [C] ;[D] item=2(2) [A] fabs(item)>=1E - 3[B] fabs(item)< 1E - 3 [C] fabs(item)>= 0.0001[D] fabs(item)< 0.001(3) [A]sum=sum +item; item=flag*1.0/denominator;[B] sum=sum + flag*1.0/denominator; [C] item=flag*1.0/denominator; sum=sum+item;[D] item=item+flag*1.0/denominator; (4) [A] %.0f[B]%.4f[C]%f[D] %4.f2. 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】输出1到100之间的所有完数。

2009年9月二级C真题(绝对无错误)

2009年9月二级C真题(绝对无错误)

2009年9月全国计算机等级考试二级C语言真题及答案(文字版)2009年9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分)(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)阅读以下程序#include <stdio.h>main(){ 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)有以下程序#include <stdio.h>main(){ int a=1,b=0;printf(“%d,”,b=a+b);printf(“%d\n”,a=2*b);}程序运行后的输出结果是A)0,0 B)1,0 C)3,2 D)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)有以下程序#include <stdio.h>main(){ 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)3 B)5 C)7 D)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 <stdio.h>main(){ 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)有以下程序#include <stdio.h>main(){ int n=2,k=0;while(k++&&n++>2);printf(“%d %d\n”,k,n);}程序运行后的输出结果是A)0 2 B)1 3 C)5 7 D)1 2(22)有以下定义语句,编译时会出现编译错误的是A)char a=’a’; B)char a=’\n’;C)char a=’aa’; D)char a=’\x2d’;(23)有以下程序#include <stdio.h>main(){ char c1,c2;c1=‟A‟+‟8‟-…4‟;c2=‟A‟+‟8‟-…5‟;printf(“%c,%d\n”,c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是A)E,68 B)D,69 C)E,D D)输出无定值(24)有以下程序#include <stdio.h>void fun(int p){ int d=2;p=d++; printf(“%d”,p);}main(){ int a=1;fun(a); printf(“%d\n”,a);}程序运行后的输出结果是A)32 B)12 C)21 D)22(25)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#define MIN -2147483647int findmax (int x[],int n){ int i,max;for(i=0;i<n;i++){ max=MIN;if(max<x[i]) max=x[i];}return max;}造成错误的原因是A)定义语句int i,max;中max未赋初值B)赋值语句max=MIN;中,不应给max赋MIN值C)语句if(max<x[i]) max=x[i];中判断条件设置错误D)赋值语句max=MIN;放错了位置(26)有以下程序#include <stdio.h>main(){ 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,2 B)1,2,2,1 C)2,1,2,1 D)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 <stdio.h>#include<string.h>main(){ 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)有以下程序#include <stdio.h>main(){ 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 <stdio.h>#include<string.h>main(){ 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){ while((*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)有以下程序#include <stdio.h>int 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 <stdio.h>#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 <stdio.h>#include<string.h>struct 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】个结点。

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

2009年秋浙江省高等学校 计算机等级考试试卷(二级C )试题1(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】计算并输出下列式值,要求精确到最后一项的绝对值小于10-3(保留4伴小数)。

⋯⋯+-+-=13110171411s 运行示例: sum=-0.8361 【程序】#include <stdio.h> #include <math.h> main() {int denomintor=1,flag=-1; double item,sum=0; (1)while( (2) ) {(3)denomintor=denomintor+3; flag=-flag; }printf("sum= (4) \n",sum); }#include <stdio.H> 【供选择的答案】 (1)A .item =0; B .f item =0.0001;C .;D .item=2; // (2)A .fabs(item)>=1E-3 B .fabs(item)<1E-3C .fabs(item)>=0.0001D .fabs(item)<0.001 //(3)A .sum=sum+item;item=flag*1.0/denominator; B .sum=sum+ flag*1.0/denominator;C .item=flag*1.0/denominator;sum=sum+item;D.item=item+flag*1.0/denominator; // (4)A.%.0f B.%.4fC.%f D.%4.f //试题2(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】输出1到100之间的所有完数,要求定义和调用函数is(n)判断n是否为完数,若n为完数返回1,否则返回0。

完数是因子和与它本身相等的数,1不是完数。

运行示例:6 28【程序】#include <stdio.h>main(){int i;int is(int n);for(i=1;i<=100;i++)if( (5))printf("%d ",i);}int is(int n){int i,sum;(6)sum=0;for(i=1;i<=n/2;i++)if( (7))sum=sum+i;if( (8))return 1;else return 0;}【供选择的答案】(5)A.is(i)==0 B.is(i)!=0C.!is(i) D.is(n) // (6)A.is(n!=1)return 1;B.is(n!=1)return 0;C.is(n==1)return 0;D.is(n==1)return 1; //(7)A.n%i==0 B.n%i!=0C.i%n==0 D.i%n!=0 // (8)A.n==0 B.sum!=nC.i>n/2 D.sum==n //试题3(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】计算并输出Fibonacci序列前10项之和。

要求定义和调用函数fun(fib,n),该函数将Fibonacci序列前n项的存放在一维数组fib中。

Fibonacci序列:1,2,3,5,8,13,21,34,55,……,该序列的第一个数和第二数据是1,从第三个开始,每个数是前两数之和。

运行示例:Enter charaters:f(x,y)=5x+2y-6Digit=3 Letter=5 Other=6【程序】#include <stdio.h>main(){int i,sum,a[10];(9)(10)sum=0;for(i=0;i<10;i++)sum+= (11);printf("sum=%d",sum);}void fun(int fib[],int n){int i;fib[0]=fib[1]=1;for(i=2;i<n;i++)(12)}【供选择的答案】(9)A.fun(int fib[] ,int n); B.void fun(int fib[] ,int n) C.; D.void fun(int fib[] ,int n);// (10)A.fun(fib,10); B.fun(a[],10);C.fun(a,10); D.fun(a[10],10); //(11)A.fib[i] B.a[i]C.a[10] D.fib[0] // (12)A.fib[i]=fib[i-1]+fib[i-2];B.fib[i-1]=fib[i-2]+fib[i-3];C.fib[i+1]=fib[i-1]+fib[i];D.fib[i]=fib[i-1]+fib[i+1]; //试题4(每小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序】#include <stdio.h>#define S(a,b) (a)>(b)?(a):(b)int f1(char ch){int grade;switch(ch){case 'A':grade=95;break;case 'B':grade=85;break;case 'C':grade=75;case 'D':grade=65;break;default:grade=0;}return grade;}int f2(){static int k=1,s;s=s+k;k++;return s;}int f3(int n){if(n==1)return 2;else return f3(n-1);}main(){int i;printf("%d\n",f1('C'));for(i=1;i<=3;i++)f2();printf("%d\n",f2());printf("%d\n",f3(4));printf("%d\n",S(3,2+2));}(13)程序运行时,第1行输出(13)。

A.65 B.0C.75 D.95 // (14)程序运行时,第2行输出(14)。

A.10 B.1C.6 D.2 // (15)程序运行时,第3行输出(15)。

A.24 B.2C.10 D.1 // (16)程序运行时,第4行输出(16)。

A.3 B.4C.5 D.1 //试题5(每小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序】程序1#include <stdio.h>main(){int i,j,a[3][3]={1,0,0,4,5,0,7,8,9};int flag=1;for(i=0;i<3;i++)for(j=0;j<i;j++)flag=a[i][j];printf("%d\n",flag);for(j=2;j>0;j--)for(i=2;i>=j;i--)flag=a[i][j];printf("%d\n",flag);}程序2#include <stdio.h>main(){char str[10]="4Ae2E";int i;for(i=0;str[i];i++)if(str[i]>='a'&&str[i]<='z')putchar(str[i]);putchar('\n');for(i=0;str[i];i++)if(str[i]>='a'&&str[i]<='z')putchar(str[i]-'a'+'A');else if(str[i]>='A'&&str[i]<='Z')putchar(str[i]-'A'+'a');putchar('\n');}(17)程序运行时,第1行输出(17)。

A.0 B.1C.8 D.9 // (18)程序运行时,第2行输出(18)。

A.9 B.7C.5 D.1 // (19)程序运行时,第3行输出(19)。

A.AeE B.aC.ae D.e // (20)程序运行时,第4行输出(20)。

A.4Ae2E B.42C.AeE D.aEe //试题6(每小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序】#include <stdio.h>#include <string.h>main(){int i,j;char str[10],*s[10]={"SQL","hello","bear","zone"}; gets(str);for(i=0;i<4;i++){if(strcmp(str,s[i])>0)continue;j=3;while(j>=i){s[j+1]= s[j];j--;}s[i]=str;break;}if(i==4)s[4]=str;for(i=0;i<5;i++)printf("%s ",s[i]);putchar('\n');}(21)程序运行时,输入apple,输出(21)。

A.SQL apple hello bear zoneB.apple SQL hello bear zoneC.SQL hello bear zone appleD.SQL hello apple bear zone // (22)程序运行时,输入I,输出(22)。

A.SQL hello bear I zoneB.I SQL hello bear zoneC.SQL I hello bear zoneD.SQL hello bear zone I // (23)程序运行时,输入zoo,输出(23)。

相关文档
最新文档