2010年3月9月全国计算机二级C语言笔试真题及答案(word版)(3)

2019-01-12 15:03

(27)下列定义数组的语句中, t=a〔i];a〔i]=a[k];a〔k]=正确的是 t; A)int N=10; B) } #define N 10 } int x[N]; main() int x[N]; {int aa「10」={1、2、3、4、 C)int x[0..10]; D)5、6、7},i; int x[]; fun(aa、7); (28)若要定义一个具有5个元 for(i=0,i<7; i++)printf(”%素的整型数组,以下错误的定义语句d,”,aa[i])); 是 printf(”\n”); A)int a[5]=﹛0﹜; } B)int b[]={0,0,0,0,0}; 程序运行后的输出结果是 C)int c[2+3]; A)7,2,5,4,3,6,1 D)int i=5,d[i]; B)1,6,3,4,5,2,7 C)7,6,5,4,3,2,1 (29)有以下程序 D)1,7,3,5,6;2,1 #include<stdio.h> (31)下列选项中,能够满 void f(int *p); 足“若字符串s1等于字符串s2,则执 main() 行ST\要求的是 {int a[5]={1,2,3,4, A)if(strcmp(s2,s1)==0)ST; 5},*r=a; B)if(sl==s2)ST; f(r);printf(”%d\\n”;* C)if(strcpy(s l ,s2)==1)r); ST; } D)if(sl-s2==0)ST; void f(int *p) (32)以下不能将s所指字符串 {p=p+3;printf(”%d,”,正确复制到t所指存储空间的是 *p);} A)while(*t=*s){t++;s++;} 程序运行后的输出结果是 B)for(i=0;t[i]=s[i];i++); A)1,4 C)do{*t++=*s++;}while(*s); B)4,4 D)for C)3,1 (i=0,j=0;t[i++]=s[j++];); D)4,1 (33)有以下程序( strcat函数用以 (30)有以下程序(函数fun只连接两个字符串) 对下标为偶数的元素进行操作) #include<stdio.h> # include<stdio.h> #include<string .h> void fun(int*a;int n) main() {int i、j、k、t; {char a[20]=”ABCD\OEFG\ for (i=0;i<n一1;1+=2) 0”,b[]=”IJK”; {k=i;‘ strcat(a,b);printf(”% for(j=i;ja〔k])k=j; s\\n”,a);

11

程序运行后的输出结果是 A)ABCDE\\OFG\\OIJK B)ABCDIJK C)IJK

D)EFGIJK

(34)有以下程序,程序中库函数islower (ch)用以判断ch中的字母是否为小写字母

#include<stdio.h> #include<ctype.h> void fun(char*p) {int i=0; while (p[i])

{if(p[i]==’ ’&& islower(p「i-1」))p[i-1]=p[i-1]-‘a’+‘A’;

i++; } }

main() {char s1[100]=”ab cd EFG!”; fun(s1); printf(”%s\\n”,s1); }

程序运行后的输出结果是 A)ab cd EFG! B)Ab Cd EFg! C)aB cD EFG! D)ab cd EFg!

(35)有以下程序

#include<stdio.h> void fun(int x)

{if(x/2>1)fun(x/2); printf(”%d”,x); }

main()

{fun(7);printf(”\\n”);} 程序运行后的输出结果是 A)1 3 7 B)7 3 1 C)7 3

12

D)3 7

(36)有以下程序

#include<stdio.h> int fun()

{static int x=1; x+=1;return x; }

main()

{int i;s=1; for(i=1;i<=5;i++)s+=fun(); printf(”%d\n”,s); }

程序运行后的输出结果是 A)11 B)21 C)6 D)120

(37)有以下程序

#inctude<stdio.h> #include<stdlib.h> Main()

{int *a,*b,*c;

a=b=c=(int*)malloc(sizeof(int));

*a=1;*b=2,*c=3; a=b;

printf(“%d,%d,%d\n”,*a,*b,*c); }

程序运行后的输出结果是

A)3,3,3 B)2,2,3 C)1,2,3 D)1,1,3

(38)有以下程序

#include<stdio.h> main()

{int s,t,A=10;double B=6; s=sizeof(A);t=sizeof(B); printf(“%d,%d\n”,s,t); }

在VC6平台上编译运行,程序运 (5)数据库设计的四个阶段是:行后的输出结果是 需求分析,概念设计,逻辑设计【5】。 A)2,4 B)4,4 C)4,8 D)10,6 (39)若有以下语句 (6)以下程序运行后的输出结果 Typedef struct S 是【6】。 {int g; char h;}T; #include<stdio.h> 以下叙述中正确的是 main() A)可用S定义结构体变量 {int a=200,b=010; B)可用T定义结构体变量 printf(”%d%d\\n”,a,b); C)S是struct类型的变量 } D)T是struct S类型的变量 (7)有以下程序 (40)有以下程序 #include<stdio.h> #include<stdio.h> main() main() {int x,Y; {short c=124; scanf(”%2d%ld”,&x,&y); c=c_______; printf(”%d\n”,x+y); printf(“%d\n”、C); } } 程序运行时输入:1234567程序的 若要使程序的运行结果为248,应运行结果是【7】。 在下划线处填入的是 (8)在C语言中,当表达式值为 A)>>2 B)|248 C)0时表示逻辑值“假”,当表达式值为&0248 D)< 【8】时表示逻辑值“真”。 二、填空题(每空2分,共30分) 请将每空的正确答案写在答题卡 (9)有以下程序 【1】至【15】序号的横线上,答在试 #include<stdio.h> 卷上不得分。 main() (1)一个栈的初始状态为空。首 {int i,n[]={0,0,0,0,0}; 先将元素5,4,3,2,1依次入栈,然后 for (i=1;i<=4;i++) 退栈一次,再将元素 A,B,C,D依次入 {n[i]=n[i-1]*3+1; printf(”%d 栈,之后将所有元素全部退栈,则所\);} 有元素退栈(包括中间退栈的元素) } 的顺序为【1】 程序运行后的输出结果是【9】。 (10)以下fun函数的功能是: (2)在长度为n的线性表中,寻找出具有N个元素的一维数组中的最找最大项至少需要比较【2】次。 小值,并作为函数值返回。请填空。 (3)一棵二叉树有10个度为1(设N已定义) 的结点,7个度为2的结点,则该二叉 int fun(int x[N]) 树共有【3】个结点。 {int i,k=0; for(i=0;i if(x[i] (4)仅由顺序、选择(分支)和return x[k]; 重复(循环)结构构成的程序是【4】 } 程序。 (11)有以下程序

13

#include<stdio.h> for(p=a,s=a;p-a<10;p++) int*f(int *p,int*q); if(*p>*s)S=P; main() printf(\”,【14】); {int m=1,n=2,*r=&m; } r=f(r,&n);printf(”%d \n”,*r); (15)以下程序打开新文件f.txt, } 并调用字符输出函数将a数组中的字 int*f(int *p,int*q) 符写入其中,请填空。 {return(*p>*q)?p:q;} #include<stdio.h> 程序运行后的输出结果是【11】 main() (12)以下fun函数的功能是在N {【15】*fp; 行M列的整形二维数组中,选出一个 char a[5]={’1’,’2’,’最大值作为函数值返回,请填空。(设3’,’4’,’5’},i; M,. N已定义) fp=fopen(”f .txt”,”w”); int fun(int a[N][M)) for(i=0;i<5;i++)fputc(a[i], {int i,j,row=0,col=0; fp); for(i=0;i for(j=0;j if fclose(fp); (a[i][j]>a[row][col])} {row=i;col=j;} return(【12】): 选择题 } 1-5: B C C A B (13)有以下程序 6-10: D D B C A #include<stdio.h> 11-15: C D B C C main() 16-20: D A C C D {int n[2],i,j; 21-25: B D B D D for(i=0;i<2;i++)n[i]=0; 26-30: D B A D A for(i=0;i<2;i++) 31-35: A C B C B for(j=0;j<2;j++)n[j]=n36-40: B A C B C 「i」+1; 填空题 printf(”%d\\n”,n[1]); 1: 1DCAB2345 } 2: 1 3: 25 程序运行后的输出结果是【13】 4: 结构化 5: 物理设计 (14)以下程序的功能是:借助6: 2008 7: 3 指针变量找出数组元素中最大值所在8: 非0 9: 1 4 13 40 的位置并输出该最大值。请在输出语10: i 11: 2 句中填写代表最大值的输出项。 12: a[row][col] #include<stdio.h> 13: 2 main() 14: *s {int a〔10],*p,*s; 15: FILE

for(p=a;p-a<10;p++)scanf (”%d”,p);

14


2010年3月9月全国计算机二级C语言笔试真题及答案(word版)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2013考研历史学冲刺复习指导

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: