0233、下列合法的数据类型关键字是(B)。
A.DubleB.floatC.IntD.character
0329、若已定义:
inta=6;下列正确的赋值表达式是(C)。
A.a*6B.a+3=6C.a+=6D.6+=a
0330、若已定义:
inta;语句a=5%6-(6/5);执行后,变量a的值为(A)。
A.4B.-1C.3.8D.-1.2
0331、若已定义:
inta,b,c;语句a=(b=9,c=5,b*c);执行后,变量a的值为(A)。
A.45B.9C.5D.0
0332、若已定义:
inta,b;floatx=25.8;下列符合C语言语法的表达式是(A)。
A.a=(int)x/3B.a=x%3C.a=(x*10)%3D.b=int(x)%3
0333、若已定义:
inta=3;语句a+=a/=2;执行后,变量a的值是(B)。
A.1B.2C.3D.5
0429、下列叙述正确的是(A)。
A.(int)6.0/2与6/2结果的类型一致B.6.0/2与1/2*6.0结果一致
C.6/2与6.0/2.0结果的类型一致D.6/2.0与6/2结果的类型一致
0430、下列叙述正确的是(C)。
A.表达式"3"+"4"的结果是"34"
B.若已定义:
inta,b;,则表达式(a+b)++是进行a+b之和的自增1运算
C.强制类型转换运算的优先级高于算术运算
D.表达式'3'+'4'的结果是'7'
0431、若已定义:
inta=5,b;能使变量b值为2的赋值表达式是(A)。
A.b=(a++)-3B.b=a-(3++)C.b=(a++)/3D.b=(a+7.8)/4
0432、若已定义:
intx=2,y=3;语句y-=x++;执行后变量x,y的值分别是(B)。
A.x为3,y为0B.x为3,y为1C.x为2,y为0D.x为2,y为1
0433、与右侧数学式子对应的C语言表达式是(A)。
A.3*pow(x,n)/(2*x-1)B.3*pow(n,x)/(2*x-1)C.3*x^n/(2*x-1)D.3*pow(x,n)/2*x-1
0529、若已定义:
floata;拟从键盘输入数据236给变量a,应选用(B)语句。
A.scanf("%d",&a);B.scanf("%f",&a);C.scanf("%3d",&a);D.scanf("%.0f",&a);
0530、若已定义:
charchr;拟使用scanf()函数将键盘输入的数据赋予变量chr,无法实现的是(D)。
A.scanf("%c",&chr);B.scanf("%d",&chr);
C.scanf("%u",&chr);D.scanf("%e",&chr);
0531、若已定义:
intx=10;语句printf("x=%o,x=%d\n",x,x);执行后的输出结果是(B)。
A.x=12,x=12B.x=12,x=10C.x=10,x=10D.x=10,x=12
0532、若有下列语句段:
charchr;
inta;
scanf("%c%d",&chr,&a);
拟从键盘将'B'和6分别赋予变量chr和a,正确的数据输入是(A)。
A.B6B.B,6C.6BD.6,B
0533、下列程序段的运行结果是(D)。
inta=66;
charc='A';
printf("%c+%c=%d\n",c,a,c+a);(注:
字母'A'的ASCII值为65)
A.65+B=131B.A+66=131C.65+66=131D.A+B=131
0629、若已定义:
inta=6,b=4,c;语句c=a>b;执行后变量c的值为(C)。
A.2B.0C.1D.6
0630、若已定义:
inta=6,b=4,c;语句b=((c=a)>b);执行后变量c的值为(B)。
A.2B.6C.1D.0
0631、若已定义:
inta=2,b=1;则表达式a&&!
b的值为(B)。
A.1B.0C.2D.3
0632、若已定义:
inta;判断变量a值是否为偶数的是(C)。
A.a%2==1B.!
(a%2==0)C.!
(a%2)D.a%2
0633、若已定义:
inta=5,b=3,c=1;则表达式(c=b)&&(a-c<=b)的值是(A)。
A.1B.0C.3D.2
0729、若已定义:
inta=4;floatx=3.6;下列正确的赋值表达式是(D)。
A.a=int(x)B.x=(float)a%xC.x=float(a)D.x=x/a
0730、若已定义:
chara='A';intb=66;下列表达式错误的是(C)。
A.a=b/aB.a=a-bC.a=a+BD.b%a
0731、若已定义:
inta=5;floatb=1.5;则表达式a+b*10/3的值为(D)。
A.6B.6.500000C.9.500000D.10.000000
0732、若已定义:
inta=3,b=5,c=2;,则表达式c+!
a
A.1B.2C.0D.3
0733、下列关于运算符优先级叙述错误的是(A)。
A."%"取模运算符优先级最高B.算术运算符优先级高于关系运算符
C."&&"和"||"逻辑运算符优先级低于关系运算符D."!
"逻辑非运算符高于"="赋值运算符
0829、下列程序段的运行结果是(A)。
inta=6,b=5;
if(a>b++)
printf("True:
%d\n",++a);
else
printf("False:
%d\n",b++);
A.True:
7B.False:
6C.False:
5D.True:
6
0830、若已定义:
inta;语句if(a%3)a=0;elsea=1;与下列(D)语句等价。
A.a=(a%3?
1:
0);B.a=(!
(a%3)?
0:
1);C.a%3?
0:
1;D.a=(a%3?
0:
1);
0831、若已定义inta,b,c,k;下列程序段与语句k=(a>b?
(a>c?
1:
0):
0);功能等价的是(A)。
A.if((a>b)&&(a>c))k=1;
elsek=0;
B.if((a>b)||(a>c))k=1;
elsek=0;
C.if(a>b)k=0;
elseif(a>c)k=1;
elsek=0;
D.if(a>c)k=1;
elseif(a>b)k=0;
elsek=0;
0832、下列程序段的运行结果是(C)。
inta=6;
switch(++a)
{case7:
printf("%d",a);
case6:
printf("%d",a++);break;
case5:
printf("%d",a);
default:
printf("%d",a++);
}
A.8B.7C.77D.78
0833、下列程序段的运行结果是(D)。
intx;
if(x=3)printf("%d\n",x++);
elseif(x>3)printf("%d\n",x+2);
elseprintf("%d\n",x+3);
A.4B.5C.6D.3
0929、若已定义:
inta;下列语句不会产生死循环的是(C)。
A.for(a=1;;a++);B.for(a=10;;)a--;
C.for(a=10;a!
=1;)a--;D.for(a=10;a=1;a--);
0930、下列程序段的运行结果是(A)。
inti,n=0;
for(i=1;i<=10;i++)
{n+=2;++i;}
printf("%d\n",n);
A.10B.8C.12D.20
0931、下列程序段执行时,循环体的执行次数是(A)。
inti=7,a=0;
for(i++;i<8;i++)
a+=2;
A.0次B.1次C.8次D.7次
0932、下列程序段的运行结果是(A)。
inti;
for(i=3;i>=1;i--)
switch(i)
{case1:
printf("%d",i);break;
case2:
printf("%d",i);
default:
printf("%d",i);
}
A.3221B.321C.32211D.3321
0933、下列程序段的运行结果是(B)。
inta=0,i=1;
while(i<=10)
{if(i%3==1)a+=i;++i;}
printf("%d\n",a);
A.12B.22C.21D.37
1029、下列叙述正确的是(A)。
A.数组中每个元素都属同一种数据类型B.定义数组时,若不加类型说明符默认为float型
C.数组属于基本数据类型D.定义数组后,可通过赋值运算符"="对该数组名直接赋值
1030、若已定义inta[6];无法正确引用a数组元素的是(D)。
A.a[0]B.a[3-1]C.a[2+3]D.a[6]
1031、下列程序段执行后,a[4]元素的值为(B)。
inta[6]={6,4,2,1};
a[4]=a[1]+a[3]-a[0];
A.3B.-1C.1D.2
1032、下列程序段的运行结果是(C)。
inta[]={2,4,6,8,10},i;
for(i=0;i<4;i++)a[i]=a[i+1]+2;
for(i=0;i<5;i++)printf("%d",a[i]);
A.4681010B.4681012
C.68101210D.68101214
1033、下列程序段的运行结果是(A)。
inta[]={6,5,4,3,2,1},i;
for(i=0;i<6;i++)
if(i%2)a[i]+=2;
for(i=0;i<6;i++)
printf("%d",a[i]);
A.674523B.856341
C.876543D.676545
1129、以下程序段运行的结果是(C)。
inta[][3]={1,2,3,4,5,6,7,8,9};
printf("%d\n",a[1][2]);
A.2B.5C.6D.8
1130、若有定义:
inta[3][4];则表达式&a[2][2]-a[0]的值为(D)。
A.4B.6C.7D.10
1131、若有定义:
inta[2][3];则合法引用数组元素的是(A)。
A.a[0][0]B.a[2][1]C.a[][3]D.a[1][3]
1132、若有定义:
inta[2][2];则表达式sizeof(a)的值为(D)。
A.0B.1C.4D.8
1133、若有定义:
inta[][3]={1,2,3,4,5};则以下描述中正确的是(D)。
A.数组a包含5个元素B.数组a的第一维大小可以取任意值
C.数组a的行数为5D.元素a[0][2]的初值为3
1229、以下程序段的运行结果是(C)。
charstr1[10]="abcdefgh",str2[8]="ABCD";
strcpy(str1,str2);
printf("%c%s",str1[5],str1);
A.ABCDB.abcdC.fABCDD.fabcd
1230、若有定义:
charstr[]="Computer";则函数strlen(str)的返回值是(A)。
A.8B.9C.10D.11
1231、以下程序段的运行结果是(B)。
charstr[]="Students";
str[3]='\0';
printf("%d",strlen(str));
A.2B.3C.8D.9
1232、若有定义:
charstr1[7]="ABCDE",str2[6]="abcde";则函数strcmp(str1,str2)<0的结果是(C)。
A.-1B.0C.1D.7
1233、以下程序段的运行结果是(B)。
charstr1[20]="Hello",str2[20]="world!
";
strcat(str1,str2);
printf("%s",str1);
A.HelloB.Helloworld!
C.world!
D.world!
Hello
1329、以下关于函数的叙述中正确的是(B)。
A.形参是变量名时,实参也只能是变量名
B.函数声明时,可以只给出函数名、类型和参数类型,不必指出形参
C.定义函数时都必需指明函数参数
D.必要的时候,函数可以嵌套定义
1330、以下程序运行的结果是(A)。
#include
voidfun(inta,intb)
{intc;
c=a;a=b;b=c;}
voidmain()
{inta=2,b=3;fun(a,b);
printf("%d%d",a,b);}
A.23B.22C.32D.33
1331、以下程序的运行结果是(A)。
#include
inta=2,b=3,c=4;
intfun(intb)
{intc;c=a+b;return(c);}
voidmain()
{inta=6;
fun(a);
printf("%d%d%d",a,b,c);}
A.634B.6612C.234D.235
1332、以下程序运行的结果是(B)。
#include
intfunc()
{staticintm=0;m++;returnm;}
voidmain()
{inti;
for(i=1;i<=3;i++)printf("%d",func());}
A.111B.123C.000D.012
1333、以下程序运行的结果是(D)。
#include
intfun(intn)
{if(n==1)return1;
elsereturnn*fun(n-1);}
voidmain()
{intz;
z=fun(3);
printf("%d\n",z);}
A.1B.2C.3D.6
1429、以下程序运行的结果是(D)。
#defineN2+3
main()
{intx;x=N*N;printf("%d",x);}
A.25B.13C.12D.11
1430、以下叙述中错误的是(A)。
A.编译预处理命令行必须以分号结束
B.编译预处理命令行必须以"#"开头
C.宏展开不占用运行时间,只占用编译时间
D.C语言的预处理可以实现宏定义和条件编译的功能
1431、下列#include命令中,正确的是(A)。
A.#includeB.#include"math"C.#include(math.h)D.#include{math}
1432、以下程序运行的结果是(C)。
#include"stdio.h"
#defineq(x)x*x
voidmain()
{inti,s=0;
for(i=1;i<4;i++)
s+=q(i);
printf("%d",s);}
A.1B.5C.14D.30
1433、以下程序运行的结果是(B)。
#include"stdio.h"
#defineMx+3
#defineNM*2
voidmain()
{intx=5;printf("%d",N);}
A.6B.11C.13D.16
1529、若有定义:
inta[6]={0,1,2,3,4,5},i;int*p=a;则以下对数组元素a[2]的引用中错误的是(B)。
A.*(&a[2])B.a[p+2]C.*(p+2)D.p[2]
1530、以下程序段运行的结果是(B)。
char*p1;
int*p2;
printf("%d%d%d",sizeof(*p1),sizeof(p1),sizeof(*p2));
A.142B.122C.414D.444
1531、若有定义:
chara[10]="teacher";char*p=a;则表达式*(p+3)的值为(C)。
A.'t'B.0C.'c'D.4
1532、以下错误的语句是(D)。
A.char*str;str="student";B.char*s="student";C.int*p=0;D.inta,*p;p=a;
1533、若有定义:
inta=5,*p;p=&a;则以下表达式中不正确的是(B)。
A.&a==&(*p)B.*(&p)==aC.&(*p)==pD.*(&a)==a
1629、以下程序段运行的结果是(B)。
chara[3][8]={"work","study","happy"};
char(*p)[8];
p=a;
printf("%s",p[1]);
A.workB.studyC.wD.s
1630、以下程序运行的结果是(C)。
#include
voidfun(int*p1,int*p2)
{intt;t=*p1;*p1=*p2;*p2=t;}
voidmain()
{inta=2,b=3;
fun(&a,&b);
printf("%d,%d\n",a,b);}
A.2,2B.2,3C.3,2D.3,3
1631、以下程序运行的结果是(A)。
#include"string.h"
#include
voidmain()
{chara[]="aaaaaa",b[]="bb";
char*p;
strcpy(a,b);
for(p=a;pprintf("%s\n",p);}
A.bb
b
aaa
aa
B.bb
aaa
b
aaa
aaa
aa
a
C.bb
b
D.bb
aaa
b
aaa
aaa
aaa
aa
1632、以下程序运行的结果是(A)。
#include
voidmain()
{inta[5]={1,2,3,4,5};
int*p=a;
while(pwhile(p>a)printf("%d",*(--p));}
A.54321B.12345C.5432D.4321
1633、以下程序运行的结果是(C)。
#include
voidmain()
{inta[]={1,2,3,4,5},*p,*q,i;
p=a;q=a+4;
while(p++A.152433B.1524C.2433D.24
1729、以下程序段的运行结果是(D)。
#include
voidmain()
{union
{intn;
charstr[2];
}t;
t.str[0]='a';
t.str[1]='b';
t.n=65;
printf("%d%s\n",t.n,t.str);
}
A.65abB.65aC.97abD.65A
1730、以下叙述中错误的是(B)。
A.一个结构体变量占用的内存大小是各成员所需内存容量之和
B.一个联合体变量占用的内存大小是各成员所需内存容量之和
C.联合体类型可以出现在结构体类型定义中
D.结构数组是数据元素为结构体类型的数组
1731、针对以下定义,变量t1所占用的内存字节数是(D)。
structbirthday
{intyear;
intmonth;
intday;
};
structteacher
{charnum[10];
charname[8];
charsex;
stru