首页>计算机等级考试>模拟试题>正文
2007年计算机二级C语言模拟试题(3)

www.zige365.com 2007-10-26 11:25:49 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

(31)设有数组定义: char array[]="China"; 则数组 array所占的空间为
A)4个字节
B)5个字节
C)6个字节
D)7个字节
正确答案:  C

(32)若已定义:
int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;
其中 0≤i≤9, 则对a数组元素不正确的引用是
A)a[p-a]
B)*(&a[i])
C)p[i]
D)a[10]
正确答案:  D

(33)以下不正确的定义语句是
A)double x[5]={2.0,4.0,6.0,8.0,10.0};
B)int y[5]={0,1,3,5,7,9};
C)char c1[]={′1′,′2′,′3′,′4′,′5′};
D)char c2[]={′\x10′,′\xa′,′\x8′};
正确答案:  B

(34)若有以下程序
#include  <stdio.h>
int a[]={2,4,6,8};
main()
{ int i;
int *p=a;
for(i=0;i<4;i++)a[i]=*p;
printf("%d\n",a[2]);
}
上面程序输出结果是
A)6
B)8
C)4
D)2
正确答案:  D

(35)下面程序段的运行结果是
char *format="%s,a=%d,b=%d\n";
int a=11,b=10;
a+=b;
printf(format,"a+=b",a,b);
A)for,"a+=b",ab
B)format,"a+=b"
C)a+=b,a=21,b=10
D)以上结果都不对
正确答案:  C

(36)C语言允许函数类型缺省定义,此时函数值隐含的类型是
A)float
B)int
C)long
D)double
正确答案:  B

(37)以下程序有语法错误,有关错误原因的正确说法是
main()
{ int G=5,k;
void prt_char();
...
k=prt_char(G);
...
}
A)语句 void prt_char();有错,它是函数调用语句,不能用void说明
B)变量名不能使用大写字母
C)函数说明和函数调用语句之间有矛盾
D)函数名不能使用下划线
正确答案:  C

(38)以下叙述中不正确的是
A)在不同的函数中可以使用相同的名字的变量
B)函数中的形式参数是局部变量
C)在一个函数内定义的变量只在本函数范围内有效
D)在一个函数内的复合语句中定义的变量在本函数范围内有效
正确答案:  D

(39)有以下程序:
#include <stdio.h>
union pw
{ int i;
char ch[2];}a;
 main()
 {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);}
程序的输出结果是
A)13
B)14
C)208
D)209
正确答案:  A

(40)在16位IBM-PC机上使用C语言,若有如下定义
struct data
{ int i;
char ch;
double f;
} b;
则结构变量b占用内存的字节数是
A)1
B)2
C)7
D)11
正确答案:  D

(41)下面程序的运行结果是
#include <stdio.h>
main()
{ int a=1,b=10;
do
{b-=a;a++;}while(b--<0);
printf("a=%d,b=%d\n",a,b);
}
A)a=3,b=11
B)a=2,b=8
C)a=1,b=-1
D)a=4,b=9
正确答案:  B

(42)以下程序的输出结果是
void reverse(int a[],int n)
{ int i,t;
for(i=0;i<n/2;i++)
{ t=a[i]; a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{ int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
printf(" %d\n ",s);
}
A)22
B)10
C)34
D)30
正确答案:  A

(43)有如下程序:
long fib(int n)
{ if(n>2)return(fib(n-1)+fib(n-2));
else return(2);
}
main()
{ printf("%d\n",fib(3));}
该程序的输出结果是
A)2
B)4
C)6
D)8
正确答案:  B

(44)假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:
PROG ABCDEFGH IJKL<回车>,则输出结果为
main( int argc, char *argv[])
{ while(--argc>0)
printf("%s",argv[argc]);
printf("\n");
}
A)ABCDEFG
B)IJHL    
C)ABCDEFGHIJKL
D)IJKLABCDEFGH
正确答案:  D

(45)以下程序有错,错误原因是
main()
{ int *p,i;char *q,ch;
p=&i;
q=&ch;
*p=40;
*p=*q;
......
}
A)p和q的类型不一致,不能执行*p=*q;语句
B)*p中存放的是地址值,因此不能执行*p=40;语句
C)q没有指向具体的存储单元,所以*q没有实际意义
D)q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
正确答案:  D

(46)函数 rewind 的作用是
A)使文件位置指针重新返回文件的开始位置
B)将文件位置指针指向文件中所要求的特定位置
C)使文件位置指针指向文件的末尾
D)使文件位置指针自动移至下一个字符位置
正确答案:  A

(47)设有以下说明语句
struct ex
{ int x ; float y; char z ;} example;
则下面的叙述中不正确的是
A)struct结构体类型的关键字
B)example是结构体类型名
C)x,y,z都是结构体成员名
D)struct ex是结构体类型名
正确答案:  B

(48)设有以下语句:
char x=3,y=6,z;
z=x^y<<2;
则z的二进制值是
A)00010100
B)00011011
C)00011100
D)00011000
正确答案:  B

(49)阅读以下程序及对程序功能的描述,其中正确的描述是
#include <stdio.h>
main()
{
FILE *in,*out;
char ch,infile[10],outfile[10];
printf("Enter the infile name:\n");
scanf("%s",infile);
printf("Enter the outfile name:\n");
scanf("%s",outfile);
if((in=fopen(infile,"r"))==NULL)
{
printf("cannot open infile\n");
exit(0);
}
if((out=fopen(outfile,"w"))==NULL)
{
printf("cannot open outfile\n");
exit(0);
}
while(! feof(in))fputc(fgetc(in),out);
fclose(in);
fclose(out);
}
A)程序完成将磁盘文件的信息在屏幕上显示的功能
B)程序完成将两个磁盘文件合二为一的功能
C)程序完成将一个磁盘文件复制到另一个磁盘文件中
D)程序完成将两个磁盘文件合并并在屏幕上输出
正确答案:  C

(50)C语言中,能识别处理的文件为
A)文本文件和数据块文件
B)文本文件和二进制文件
C)流文件和文本文件
D)数据文件和二进制文件
正确答案:  B

本新闻共3页,当前在第2页  1  2  3  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
2007年计算机二级VB模拟试题及答案(12)
2007年计算机二级VB模拟试题及答案(3)
2007年计算机等级考试二级C++模拟试题(1)
2007年计算机二级C语言模拟试题(8)
2007年计算机二级C语言模拟试题(7)
2007年计算机二级C语言模拟试题(6)