参考答案:
C
16.判断char型变量ch是否为大写字母的正确表达式是______。
A.'A'<=ch<='Z'
B.('A'<=ch)||(ch<='Z')
C.('A'<=ch)&&(ch<='Z')
D.('A'<=ch)and(ch<='Z')
参考答案:
C
17.设有语句scanf("%d%d",&m,&n);,要使m、n的值依次是5、6,正确的输入是______。
A.5:
6
B.5,6
C.5;6
D.56
参考答案:
D
18.设有定义:
charc1='b',c2='e';,则执行语句printf("%d",c2-c1);后,输出结果是______。
A.b
B.e
C.3
D.结果不确定
参考答案:
C
19.下列程序段输出的结果是______。
inta=5,b=4,c=3;
if(a>b)a=b+c,b=2*c;
elsea=b-c,b=3*c;a=b+c;
printf("%d%d",a,b);
A.96
B.73
C.19
D.42
参考答案:
A
20.已知:
intx;,语句if(x);中的表达式x等价于______。
A.x==0
B.x!
=0
C.x==1
D.x!
=1
参考答案:
B
21.已知inta=1,b=2,c=3,d=4,m=2,n=2;,则执行m=a
A.1
B.2
C.3
D.4
参考答案:
B
22.若有intn;,则关于for语句for(n=-1;n==1;n++);的说法,正确的是______。
A.循环体执行两次
B.循环体执行无限次
C.循环体一次也不执行
D.循环体只执行一次
参考答案:
C
23.有如下程序段inta=0;while(a<7)a++;,则循环体执行的次数是______。
A.8
B.7
C.6
D.0
参考答案:
B
24.执行下列语句后,变量b的值是______。
inta=1,b=9;
do
{
b=b-a;
a++;
}while(b>0);
A.-2
B.-1
C.0
D.1
参考答案:
B
25.下列叙述中正确的是_______。
A.continue语句的作用是结束整个循环的执行
B.只能在循环体内和switch语句体内使用break语句
C.在循环体内使用break语句和continue语句的作用相同
D.从多层循环嵌套中退出时,只能使用goto语句
参考答案:
B
26.下列对数组s的初始化,其中不正确的是______。
A.chars[5]={"abc"};
B.chars[5]={'a','b','c'};
C.chars[5]="";
D.chars[5]="abcdef";
参考答案:
D
27.已知staticinta[8]={2,5,4,7};,则表达式a[5]-a[2]的值是______。
A.-4
B.-5
C.4
D.5
参考答案:
A
28.若有inta[][3]={1,2,3,4,5,6};,则数组元素a[1][0]的值是______。
A.1
B.2
C.4
D.5
参考答案:
C
29.设有定义:
inta[3][3]={{1},{2}},b[3][3]={1,2};,则执行语句printf("%d",a[1][0]+b[0][0]);后,输出的结果是______。
A.0
B.1
C.2
D.3
参考答案:
D
30.字符串"A"占用______个字节的内存空间。
A.4
B.3
C.2
D.1
参考答案:
C
31.若程序中含有以下______函数,则应包含头文件"string.h"。
A.sqrt()
B.strcpy()
C.fgetc()
D.scanf()
参考答案:
B
32.下列函数定义中,正确的是______。
A.voidfun(intx,inty){}
B.voidfun(intx;inty){}
C.voidfun(intx,inty);{}
D.voidfun(intx,y){}
参考答案:
A
33.一个C程序源文件中定义的全局变量的默认作用域是______。
A.本函数的全部范围
B.本程序的全部范围
C.本文件的全部范围
D.从定义位置到本文件结束
参考答案:
D
34.下列描述中,不正确的是______。
A.调用函数时,实参可以是常量、变量或表达式
B.函数中的形参变量是局部变量
C.在不同的函数中可以定义相同名字的变量
D.定义函数时,形参可以是常量、变量或表达式
参考答案:
D
35.下列关于指针变量p的定义与初始化语句,正确的是______。
A.inta,*p=a;
B.inta,*p=*a;
C.inta,p=*a;
D.inta,*p=&a;
参考答案:
D
36.已知:
inti,j=8,*p=&i;,则与i=j;等价的语句是_________。
A.i=*p;
B.*p=j;
C.i=&j;
D.i=**p;
参考答案:
B
37.已知inta[]={1,2,3,4,5,6},*p=a;,则值不等于2的表达式是______。
A.p++,*p
B.++p,*p
C.(*p)++
D.++(*p)
参考答案:
C
38.设有定义和声明如下:
#defineD2
intx=5,y=3;
charc='D';
则下列表达式中有错误的是______。
A.x++
B.y++
C.c++
D.D++
参考答案:
D
39.设有结构体类型定义及变量声明如下:
structpd
{
charcode[5];
floatprice;
}y[4]={"100",10};
则下列语句中,错误的是______。
A.(*y).code[0]='2';
B.y[0].code[0]='2';
C.y->price=10.0;
D.(*y)->price=10.0;
参考答案:
D
40.设有定义inta=80;,执行语句a=a>>2;后,变量a的值是_______。
A.80
B.60
C.40
D.20
参考答案:
D
输入一个正整数m,判断其是否为素数。
#include
voidmain()
{
inti,flag,m;
scanf("%d",m);/*$ERROR$*/
flag=0;
for(i=2;i{
if(m/i==0)/*$ERROR$*/
{
flag=1;
break;
}
}
if(flag>=0)/*$ERROR$*/
printf("%d是素数\n",m);
else
printf("%d不是素数\n",m);
}
参考答案:
$1$:
scanf("%d",&m);
$2$:
if(m%i==0)
$3$:
if(flag==0)
题目:
下列给定程序中函数fun的功能是:
将字符串s的正序和反序进行连接,形成的新串存放在数组t中。
示例:
当字符串s为:
“ABC”时,字符串t中的内容应:
“ABCCBA”。
#include
#include
voidfun(chars,chart)/*$ERROR$*/
{
inti,d;
d=strlen(s);
for(i=0;it[i]=s[i];
for(i=0;it[d+i]=s[d-1-i];
t[2*d-1]='\0';/*$ERROR$*/
}
voidmain()
{
chars[100],t[200];
printf("\nPleaseenterstringS:
");
scanf("%s",s);
fun(s,t);
printf("\nTheresultis:
%s\n",s);/*$ERROR$*/
}
参考答案:
1|3:
voidfun(char*s,char*t)
2|3:
t[2*d]=0;
3|3:
printf("\nTheresultis:
%s\n",t);
题目:
求s=1+(2*2)+(3*3*3)+(4*4*4*4)+...+(9*9*9*9*9*9*9*9*9)的值(要求使用循环实现)。
输出格式:
s=123456789
参考程序:
#include
voidPRINT(longs)
{
FILE*out;
printf("s=%ld\n",s);
if((out=fopen("result.dat","w+"))!
=NULL)
fprintf(out,"s=%ld",s);
fclose(out);
}
voidmain()
{
/*考生在此设计程序*/
longs=0,t=1;
inti,j;
for(i=1;i<=9;i++)
{t=1;
for(j=1;j<=i;j++)
t=t*i;
s=s+t;
}
PRINT(s);
}
#include
voidPRINT(longs)
{
FILE*out;
printf("s=%ld\n",s);
if((out=fopen("result.dat","w+"))!
=NULL)
{
fprintf(out,"s=%ld",s);
fclose(out);
}
}
题目:
已知整型数组a存储了50个数,t存储了9个数。
查找a数组中在t数组中有因子的元素并求和输出。
例如:
31236(t中有因子57)、2244(t中有因子68)。
输出结果的形式为:
s=12345678
参考程序:
#include
voidPRINT(longs)
{
FILE*out;
printf("s=%ld\n",s);
if((out=fopen("result.dat","w+"))!
=NULL)
{
fprintf(out,"s=%ld",s);
fclose(out);
}
}
voidmain()
{
inta[50]={4842,52343,723,4539,31236,9348,84,347,3233,2244,59232,333,423,957,74542,3453,82,3346,153532,2342,324,7432,8345,
73428,813,56323,3748,1277,388,913,47823,7634,823,1923,293,8432,734,634,1832,725,878,763,342,652,834,7734,873,782,64,823};
intt[9]={13,24,35,46,57,68,79,80,92};
/*考生在此设计程序*/
inti,j;
longsum=0;
for(i=0;i<50;i++)
for(j=0;j<9;j++)
if(a[i]%t[j]==0)
{
/*printf("%d,%d\n",a[i],t[j]);*/
sum=sum+a[i];
break;
}
PRINT(sum);
}