计算机类二级C

2014年全国计算机等级《二级C语言程序设计》考前押密试题(1)

43 题含答案C
共 43 题返回本类
1单选题1 / 43
下列选项中非法的字符常量是(  )。
查看答案
B. '\039'
3单选题3 / 43
软件生命周期是指(  )。
查看答案
A. 软件产品从提出、实现、使用维护到停止使用退役的过程
4单选题4 / 43
有如下程序:
main()
f int x=23:
do
{printf(”%d”,x——);}
while(!x);
}
该程序的执行结果是(  )。
查看答案
B. 23
5单选题5 / 43
已有定义:char C;,程序前面已在命令行中包含ctype.h文件,不能用于判断e中的字符是否为大写字母的表达式是(  )。
查看答案
B. 'A'<一c<='Z'
6单选题6 / 43
下列叙述中不正确的是(  )。
查看答案
B. 在c的函数中,最好使用全局变量
7单选题7 / 43
定义下列结构体(联合)数组:
struet St
{char name[15];
int age;
)a[10]={”ZHA()”,14,”WANG”,15,”LIU”,16,”
ZHANG”,l7);
执行语句print[(”%d,%c”,a[2].age,*(a[3].name+2))的输出结果为(  )。
查看答案
C. 16,A
8单选题8 / 43
若变量已正确定义为float型,要通过输入语句:seanf(”%f%f%f”,&a,&b,&c);给a赋值11.0,b赋值22.0,e赋值33.0,不正确的输入形式是(  )。
查看答案
B. 11.0,22.0,33.0
9单选题9 / 43
以下叙述中正确的是(  )。
查看答案
C. C程序由若干函数组成
11单选题11 / 43
下列关于定点数与浮点数的叙述中错误的是(  )。
查看答案
C. 实数的补码是其对应的反码在最后一位加1
13单选题13 / 43
有以下程序:
#include
main()
{int a[10]={1,2,3,4,5,6,7,8,9,10),*p=a;
printf(”%a\n”,*(p+2));
)
程序的输出结果是(  )。
查看答案
A. 3
14单选题14 / 43
在C语言中,函数返回值的类型最终取决于(  )。
查看答案
A. 函数定义时在函数首部所说明的函数类型
15单选题15 / 43
下列程序的运行结果是(  )。
#includedstdio.h>
void main()
{int s=0,k;
for(k=7;k>1;k--)
{switch(k)
{case 1:
case 4:
case 7:
s++:
break;
case 2:
case 3:
case 6:break;
case 0:
case 5:
s+=2:
break;
))
print[(”S=%d”,s);
}
查看答案
B. s=4
17单选题17 / 43
有以下程序:
#include
void WriteStr(char*fn.char*str)
{FILE*fp
fp=fopen(fn,”w”);fputs(str,fp);fclose(fp);)
main()
{ WriteStr(”t1.dat”,”start”);
WriteStr(”t1.dat”,”end”);)
程序运行后,文件t1.dat中的内容是(  )。
查看答案
B. end
18单选题18 / 43
若程序中有宏定义行:#define N 100,则以下叙述中正确的是(  )。
查看答案
B. 在编译程序对C源程序进行预处理时用100替换标识符N
21单选题21 / 43
若有以下程序:
#include
void fun(float*a,float*b)
( float w;
*a=*a+*a;w= *a;*a= *h;*b=W;
}
main()
{ float x=2..0,y=3.0,*px=&x,*py=&y;
fun(px,py);printf(”%2.of,%2.0fkn”,X,y);
)
程序的输出结果是( )。
查看答案
C. 3,4
22单选题22 / 43
下列程序的运行结果是(  )。
#include
#define ADD(x)X+X
main()
{ int m=1,n=2,k=3:
int s=ADD(m十n)*k;
printf(”s=%d”,s):
}
查看答案
B. sum=10
23单选题23 / 43
若有以下说明,则(  )不是对strcpy库函数正确的调用。
strcpy库函数用于复制一个字符串:char*str1==”abed”,
strZ[10],*str3="hijklmn",*str4[-2],*str5=”aaaa”;
查看答案
C. strcpy(str1,str2)
24单选题24 / 43
C语言中,字符(char)型数据在微机内存中的存储形式是(  )。
查看答案
D. ASCIl码
25单选题25 / 43
有以下程序:
#include
main()
{int a[J一{1,2,3,4,5,6,7,8,9,10,11,12),*P=a
+5;
*q=NULL;+q=*(p+5);
printf(”%d%d\n”,*q,*q);
}
程序运行后的输出结果是(  )。
查看答案
A. 运后后报错
26单选题26 / 43
有以下程序:
#include
main()
{int i,X[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)printf(”%d,”,x[i][2-i]);
{
程序的输出结果是(  )。
查看答案
C. 3,5,7,
27单选题27 / 43
有以下程序:
main()
{int a=0,b=10,c=0,d=0;
if(a=1)b=1;c=2;
else d=3:
printf(”%d,%d,%d,%d\n”,a,b,c,d);
}
程序输出(  )。
查看答案
D. 编译有错
28单选题28 / 43
下列程序输出结果是(  )。
#include%stdio.h>
main()
{char aE3一{'a','b','c','d','e','f','\o');
int i,j;
查看答案
B. 7,6
29单选题29 / 43
有以下程序
#include
int a=1:
int f(int c)
{ static int a=2;
c=c+1.
return(a++)+c;
}
main()
{ int i,k一0;
for(i=0;i<2;i++){int a=3;k+=f(a);)
k+=a;
printf(”%d\n”,k);
程序运行结果是(  )。
查看答案
A. 14
32单选题32 / 43
若有定义:“int*P,x=0,*P,P=&x;”,则语句“printf(”%d\n”,*p);”的输出结果是(  )。
查看答案
B. 0
33单选题33 / 43
下列程序中C的二进制值是( )。
char a=2,b=4,c;
c=a-b>>2;
查看答案
A. 00000011
34单选题34 / 43
有下列程序:
main()
{char*p[]={¨3697”.”2584”);
int i,j;long ntlm=0;
for(i=0;i<2;i++)
{ j=0;
while(p[i][j]!='\0')
{if((p[i][j]-'\0')%2)num=10*num+p
[j][j]-'0';
j+=2;
}
}
print[(“%d\n”,num);
程序执行后的输出结果是(  )。
查看答案
D. 3975
35单选题35 / 43
有下列二叉树,对此二叉树前序遍历的结果为(  )。
查看答案
D. ABDYECFXZ
36单选题36 / 43
设有如下关系表:
  
则下列操作中正确的是(  )。
查看答案
B. T=RUS
37单选题37 / 43
若有定义:“int a[2][3];”,则对a数组的第i行第j列元素的正确引用为(  )。
查看答案
A. *(*(a+i)+j)
39单选题39 / 43
若二维数组a有m列,则在a[i][j]前的元素个数为(  )。
查看答案
B. i*m+j
40单选题40 / 43
已知大写字母A的ASCIl码是65,小写字母a的ACSII码是97。下列能将变量C中的大写字母转换为对应小写字母的语句是(  )。
查看答案
B. C=c+32
41主观题41 / 43
str是一个由数字和字母字符组成的字符串,由变量num传人字符串长度。请补充函数proc(),该函数的功能是:把字符串str中的数字字符转换成数字并存放到整型数组1,b中,函数返回数组bh的长度。
例如.str=”abc123de45f967”.结果为:1234567。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容.仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#define M 80
int bb[M];
int proc(char str[].int bh[],int num)
{
int i.n=0;
for(i=0;i<NUM:I++)
{
if( 【1】 )
{
bb[n]=【2】;
n++:
)
return 【3】 ;
}
void main()
{
char str[M];
int num=0.n,i:
printf(”Enter a string:n”);
gets(str);
while(str[num])
num++o
n=proc(str,bb,num);
prinlf(”\nbb=”);
for(i=0;i<N;I++)
printf(”%d”,bb[i]);
)
查看答案
【1】str[i]:>='0’&&str[i]<=79’【2】str[i]-'0’ 【3】n
42主观题42 / 43
下列给定程序中函数proc的功能是:取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。例如,当s中的数为123456789时,t中的数为2468。请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include
#include
//****found****
void proc(1ong s,long t)
{long s1=10;
s/=10:
*t=s ;
//****found****
while(s<0)
{ s=s/100;
*t=s *s1+*t;
s1=s1*10:
}
void main()
{long S,t;
system(”CLs”);
printf(”\nPlease enter s:”);
scanf(”%ld”,&s);
proc(s,&t):
printf(”The result is:%ld\\n”,t);
}
查看答案
(1)错误:voiDproC(10nGS,lonGt)正确:voiDproC(10nGS,lon9“t)(2)错误:whilE(s<0)正确:whilE(s>O)
43主观题43 / 43
请编写函数proc(),其功能是:将str所指字符串中除下标为偶数,同时ASCII码值为奇数的字符外,其余的字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若str所指字符串中的内容为ABCDEFGl2345,其中字符8的ASCII码值为偶数,所在元素的下标为奇数,因此必须删除;而字符A的ASCII码值为奇数,所在数组中的下标为偶数,因此不应当删除。依次类推,最后t所指的数组中的内容应是ACEG。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所写的若干语句。
试题程序:
#include
#include
#include
#include
void proc(char*str,char t[])
{
)
void main()
(
char str[100],t[100];
system(”CLS”);
printf(”\nPlease enter string str:");
scanf(”%s”,str);
proc(str,t);
printf(”\nThe result is:%s\n”,t):
)
查看答案
voiDproC(ChAr*sir。ChArt[])1
inti,j=0;
for(i=0;slr[,i]!=’\0’;i++)//从数组的第一个元素开始,到其最后一个
{if(i%2==0&.&str[i]%21=o)//下标为偶数、同时ASCIl码值为奇数的字符
t[j++]=str[i];}//如果成立,则把它放到t数组中
t[j]=’\0’;//字符串结束标志为’\0’}
← 上一卷下一卷 →