当前位置:首页 > 全国计算机等级考试二级笔试试卷基础部分和C语言程序设计.doc
(28) 有以下程序
int f(int a) { return a%2; } main()
{ int s[8]={1,3,5,2,4,6},i,d=0; for (i=0;f(s[i]);i++) d+=s[i]; printf(\}
程序运行后的输出结果是
A) 9 B) 11 C) 19
D) 21
(29) 若有以下说明和语句,int c[4][5],(*p)[5];p=c;能正确引用c数组元素的是
A) p+1 B) *(p+3) C) *(p+1)+3 D) *(p[0]+2)) (30) 有以下程序
main()
{ int a=7,b=8,*p,*q,*r; p=&a;q=&b; r=p; p=q;q=r;
printf(\}
程序运行后的输出结果是
A) 8,7,8,7 B) 7,8,7,8 C) 8,7,7,8
D) 7,8,8,7
(31) s12和s2已正确定义并分别指向两个字符串。若要求:当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; (32) 设有定义语句
int x[6]={2,4,6,8,5,7},*p=x,i;
要求依次输出x数组6个元素中的值,不能完成此操作的语句是 A) for(i=0;i<6;i++) printf(\B) for(i=0;i<6;i++) printf(\C) for(i=0;i<6;i++) printf(\D) for(i=0;i<6;i++) printf(\(33) 有以下程序
#include
{int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL; *q=*(p+5);
二级C语言程序设计试卷 2004年9月
第5页,共14页
printf(\}
程序运行后的输出结果是
A) 运行后报错 B) 6 6 C) 6 11
D) 5 10
(34) 有以下定义和语句
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]
(35) 有以下程序
main()
{char str[][10]={\ printf(\}
程序运行后的输出结果是
A) China B) Bejing C) ng
D) ing
(36) 有以下程序
main()
{char s[]=\
for(p=s+1;p
程序运行后的输出结果是
A) ABCD B) A C) B D) BCD
BCD B C CD
CD C D D
D D
(37) 在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则
A) 称为函数的直接递归调用 B) 称为函数的间接递归调用
C) 称为函数的循环调用 D) C语言中不允许这样的递归调用 (38) 已有定义:int i,a[10],*p;,则合法的赋值语句是
A) p=100; B) p=a[5]; C) p=a[2]+2; D) p=a+2; (39) 以下叙述中正确的是
A) 局部变量说明为static存储数,其生存期将得到延长 B) 全局变量说明为static存储类,其作用域将被扩大
二级C语言程序设计试卷 2004年9月
第6页,共14页
C) 任何存储类的变量在未赋初值时,其值都是不确定的 D) 形参可以使用的存储类说明符与局部变量完全相同
(40) 设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是
A) c1^c2 B) c1&c2 C) ~c2 D) c1|c2 (41) 程序中对fun函数有如下说明
void *fun(); 此说明的含义是: A) fun了数无返回值
B)fun函数的返回值可以是任意的数据类型 C) fun函数的返回值是无值型的指针类型 D) 指针fun指向一个函数,该函数无返回值
(42) 有以下程序
main()
{ char s[]\ puts(ps+4); *(ps+4)=0; puts(s); }
程序运行后的输出结果是(选项D中的第一行是空行) A) n/No B) /No C) n/NO D) Yes Yes Yes /No
/No /No (43) 有以下程序
main()
{ unsigned int a; int b=-1; a=b;
printf(\}
程序运行后的输出结果是
A) -1 B) 65535 (44) 有以下程序
void fun(int *a,int i,int j) { int t; if(i { t=a[i];a[i]=a[j];a[j]=t; 二级C语言程序设计试卷 2004年9月 第7页,共14页 Yes C) 32767 D) -32768 i++; j--; fun(a,i,j); } } main() { int x[]={2,6,1,8},i; fun(x,0,3); for(i=0;i<4;i++) printf(\ printf(\} 程序运行后的输出结果是 A) 1 2 6 8 B) 8 6 2 1 C) 8 1 6 2 D) 8 6 1 2 (45) 有以下说明和定义语句 struct student { int age; char num[8];}; struct student stu[3]={{20,\struct student *p=stu; 以下选项中引用结构体变量成员的表达式错误的是 A) (p++)->num B) p->num C) (*p).num D) stu[3].age (46) 有以下程序 main() { int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for (j=2;j>=i;j--) if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;} for(i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;} for (i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;} for (i=0;i<8;i++) printf(\ printf(\} 程序运行后的输出结果是: A) 75310246 B) 01234567 C) 76310462 D) 13570246 (47) 有如下程序 二级C语言程序设计试卷 2004年9月 第8页,共14页
共分享92篇相关文档