学习网考试学习资料

Gzu521.com

2007年9月计算机等级考试二级C模拟试题(9)(3)

全国计算机等级考试   点击:次   发布时间:2007-9-18   【字体: 】   来源:Gzu521.com
贵 州 学 习 网

(36)有如下定义语句:int aa[][3]={12,23,34,4,5,6,78,89,45};,则45在数组aa中的行列坐标各为
a)3,2
b)3,1
c)2,2
d)2,1
正确答案:  c

(37)现有如下程序段
#include "stdio.h"
main()
{int a[5][6]={23,3,65,21,6,78,28,5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};
int i=0,j=5;
printf("%d\n",*(&a[0][0]+2*i+j-2));}
则程序的输出结果为
a)21
b)78
c)23
d)28
正确答案:  a

(38)下列程序的输出结果是
#include "stdio.h"
#define n 3
#define m 3
void fun(int a[m][n])
{printf("%d\n",*(a[1]+2));}
main()
{int a[m][n];
int i,j;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
a[i][j]=i+j-(i-j);
fun(a);}
a)3
b)4
c)5
d)6
正确答案:  b

(39)下列关于字符串的说法中错误的是
a)在c语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志
b)′\0′作为标志占用存储空间,计入串的实际长度
c)在表示字符串常量的时候不需要人为在其末尾加入′\0′
d)在c语言中,字符串常量隐含处理成以′\0′结尾
正确答案:  b

(40)有下面程序段
 #include "stdio.h"
#include "string.h"
main()
{char a[3][20]={{"china"},{"isa"},{"bigcountry!"}};
char k[100]={0},*p=k;
int i;
for(i=0;i<3;i++)
{ p=strcat(p,a[i]);}
i=strlen(p);
printf("%d\n",i);}
则程序段的输出结果是
a)18
b)19
c)20
d)21
正确答案:  b

(41)现有如下程序段
#include "stdio.h"
#include "string.h"
main()
{char a[]="acfijk";/*这里是有序的字符序列*/
char b[]="befijklqswz";/*这里是有序的字符序列*/
char c[80],*p;
int i=0,j=0,k=0;
while(a[i]!=′\0′ && b[j]!=′\0′)
{if(a[i]<b[j])c[k++]=a[i++];
else if(a[i]>b[j])c[k++]=b[j++];
else {c[k++]=b[j++];
i++;}}
while(a[i]==′\0′ && b[j]!=′\0′)
 c[k++]=b[j++];
while(a[i]!=′\0′ && b[j]==′\0′)
c[k++]=a[i++];
c[k]=′\0′;
puts(c);}
 则输出结果是
a)acfijkbefijklqswz
b)abceffiijjkklqswz
c)befijklqswz acfijk
d)abcefijklqswz
正确答案:  d

(42)现在有如下程序
#include "stdio.h"
main()
{char s[80];
int i,j;
gets(s);
for(i=j=0;s[i]!=′\0′;i++)
if(s[i]!=′h′______)
s[j]=′\0′;
puts(s);}
这个程序段的功能是删除输入的字符串中字符′h′,则空线上应当添入的是
a)s[j++]=s[i];j++;
b)s[j]=s[i++];j++;
c)s[j++]=s[i];
d)s[j]=s[i];
正确答案:  c

(43)下列说法中错误的是
a)静态局部变量的初值是在编译时赋予的,在程序执行期间不再赋予初值
b)若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽
c)静态全局变量可以被其他的编辑单位所引用
d)所有自动类局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语
句)时生成,退出其所在的函数体(或复合语句)时消失
正确答案:  c

(44)阅读下列程序段,则程序的输出结果为
#include "stdio.h"
#define m(x,y)(x)*(y)
#define n(x,y)(x)/(y)
main()
{int a=5,b=6,c=8,k;
k=n(m(a,b),c);
printf("%d\n",k);}
a)3
b)5
c)6
d)8
正确答案:  a

(45)若有以下定义和语句
struct a
{ int n,m;};
struct a st[3]={{1,20},{2,19},{3,21}};
struct a *p=st;
则以下错误的引用是
a)(p++)->n;
b)st[0].n;
c)(*p).n;
d)p=&st.m;
正确答案:  d

(46)假设有如下定义:struct a{int n;float k;}data,*p;若要使p指向data中的成员n,正确的赋值语句是
a)p=&data.n;
b)*p=data.n;
c)p=(struct a *)&data.n;
d)p=(struct a *)data.n;
正确答案:  c

(47)下面函数的功能是将指针t2所指向的线性链表,链接到t1所指向的链表的末端。假定t1所指向的链表非空
struct node{ float x;struct node *next;};
connect(struct node *t1, struct node *t2)
{ if(t1->next==null)t1->next=t2;
 else connect(______ ,t2); }
要实现此功能则应该添入的选项是
a)t1.next
b)++t1.next
c)t1->next
d)++t1->next
正确答案:  c

(48)c语言结构体类型变量在程序运行期间
a)tc环境在内存中仅仅开辟一个存放结构体变量地址的单元
b)所有的成员一直驻留在内存中
c)只有最开始的成员驻留在内存中
d)部分成员驻留在内存中
正确答案:  b

(49)有下列运算符:~,&,<<,>>, |,^,则运算的优先顺序是
a)~,&, |,<<,>>,^
b)~,<<,>>,&, |,^
c)~,<<,>>,^, &,|
d)~,<<,>>,&,^, |
正确答案:  d

(1)最简单的交换排序方法是
a)快速排序      b)选择排序
c)堆排序      d)冒泡排序
正确答案:  d

上一页 下一页
本文共4页: 第 [1] [2] [3] [4]

责任编辑:gzu521

IT认证分类
计算机软件水平考试
全国计算机等级考试
思科认证
微软认证
ORACLE/CIW认证
Linux认证
JAVA认证
其它认证
分类推荐信息
更多...
大类最新文章
更多...