printf("%3d",p->sum);
}
A、9115
B、5911
C、1195
D、9511
19.下列错误的语句是()。
A、enumcar{K,M=3,N};
B、enumcar{A,B,C};
C、enumcar{D=2,E,F=6};
D、enumcar{1,A,B};
20.文件操作的一般步骤是()。
A、定义文件指针,定位指针,读/写文件
B、定义文件指针,打开文件,读/写文件,关闭文件
C、打开文件,定义文件指针,读/写文件,关闭文件
D、打开文件,读/写文件,关闭文件
21、C源程序的3种基本结构是分支结构、循环结构和()结构。
A、转移
B、顺序
C、递归
D、嵌套
22、若已定义:
inta,b;语句a=(b=2,a=3,a*b);执行后变量a的值为()。
A、2
B、4
C、3
D、6
23、若已定义:
inta=7,b;能使变量b值为2的赋值表达式是()。
A、b=(a++)-6
B、b=(a+7.8)/8
C、b=(a++)/3
D、b=a-(4++)
24、若已定义:
intx=7;floaty=1534.678;以下语句中能输出71534.678的是()。
A、printf("%d%f",x,y);
B、printf("%d%d",x,y);
C、printf("%d%.3f",x,y);
D、printf("%.3f%.3f",x,y);
25、定义:
inta=2,b=1;则表达式a||!
b的值为()。
A、1
B、2
C、3
D、0
26、以下程序段的运行结果是()。
inta=6;
switch(a++)
{
case7:
printf("%d",a++);
case6:
printf("%d",a++);break;
default:
printf("%d",a++);
}
A、9
B、8
C、7
D、8
27、以下程序段的运行结果是()。
inta[]={6,5,4,3,2,1},i;
for(i=1;i<6;i++)
if(i%2)
a[i]+=2;
for(i=1;i<6;i++)
printf("%d",a[i]);
A、67452
B、64523
C、76543
D、74523
28、若已定义:
inta[5][3];则表达式&a[3][1]-&a[0][0]的值为()。
A、4
B、11
C、9
D、10
29、以下程序段的运行结果是()。
charstr1[20]="nicetomeetyou!
",str2[8]="Nice";
strcpy(str1,str2);
printf("%s",str1);
A、Nicetomeetyou!
B、N
C、nice
D、Nice
30、以下程序的运行结果是()。
#include
intfunc()
{staticintm=1;
m+=2;
returnm;
}
voidmain()
{inti;
for(i=1;i<=3;i++)
printf("%3d",func());
}
A、222
B、333
C、357
D、246
31、下列正确的#include命令行是()。
A、#includemath.h
B、#include
C、#include{math}
D、#include"math"
32、下列错误的语句是()。
A、int*p=10;
B、char*str="yellow";
C、char*str;str="yellow";
D、inta=10,*p;*p+1=a;
33、以下程序的运行结果是()。
#include
voidmain()
{chara[]="aaabbb";
char*p=a;
for(;*p!
='\0';p++)
printf("%s\n",p);
}
A、aaabbb
aabbb
abb
B、aaabbb
aabbb
abbb
bbb
bb
b
C、bbb
bb
b
D、aaa
aa
a
34、以下程序的运行结果是()。
#include
voidmain()
{union
{intnum;
charc;
}a;
a.c='A';
a.num=a.c+32;
printf("%c\n",a.num);
}
A、97
B、A
C、a
D、32
35、以下程序的运行结果是()。
#include
voidmain()
{structcolor
{intnum;
charc;
}cx[5]={{1,'R'},{2,'G'},{3,'B'},{4,'Y'},{5,'W'}};
structcolor*p=cx;
inti;
for(i=4;i>=0;i--)
printf("%c",(p+i)->c);
}
A、RGBYW
B、GRWYB
C、BYWRG
D、WYBGR
36、以下程序的运行结果是()。
#include
voidmain()
{enumWeekday{red=5,green=1,blue,white};
printf("%d\n",blue);
}
A、3
B、7
C、2
D、4
37、要使C源程序转换成以二进制形式表示的目标程序,应使用()。
A、解释程序B、编辑程序C、编译程序D、编码程序
38、若已定义:
inta;语句a=13%6-(3/5);执行后变量a的值为()。
A、1.4B、0.4C、2.4D、1
39、若已定义:
charchr;doublea;拟从键盘将'A'和6分别赋予变量chr和a,正确的输入语句是()
A、scanf("%d%lf",&chr,&a);
B、scanf("%d%f",&chr,&a);
C、scanf("%c%f",&chr,&a);
D、scanf("%c%lf",&chr,&a);
40、若已定义:
inta=3,b=4,c;语句c=a>b;执行后变量c的值为()。
A、3B、1C、0D、4
41、若已定义:
inta=3;floatx=1.5;表达式值不等于2的是()。
A、a=a/xB、a=(float)a/xC、(int)(a/x)D、a/(int)x
42、以下程序段的运行结果是()。
inta=4,b=5;
if(aprintf("True:
%d\n",++a);
else
printf("False:
%d\n",b++);
A、False:
5B、True:
4C、False:
4D、True:
5
43、以下程序段的运行结果是()。
charstr[15]="Information";
str[4]='\0';
printf("%d",strlen(str))
A、5B、15C、11D、4
44、以下程序的运行结果是()。
#include
intfun(intn)
{if(n==1)
return
(1);
else
return(n*fun(n-1));
}
voidmain()
{intx;
x=fun
(2);}
A、2B、3C、1D、4
45、以下程序的运行结果是()。
#include"stdio.h"
#defineN3
#defineM6
voidmain()
{inti,s=0;
for(i=1;i<=N;i++)
s+=M;
printf("%3d",s);
}
A、18B、15C、12D、9
46、若已定义:
inta[10]={2,3,5,6,8,10,1,4,7,9};int*p=a;则表达式*(p+3)的值为()。
A、8B、3C、5D、6
47、以下程序的运行结果是()。
#include
voidmain()
{inta[6]={1,2,3,4,5,6};
int*p=a,i;
while(pp++;
for(i=0;i<6;i++)
{p--;
printf("%3d",*p);
}}
A、54321B、654321C、123456D、12345
48、以下程序的运行结果是()。
#include
voidmain()
{uniondata
{inta;
charb;
floatc;
}x[2];
printf("%d\n",sizeof(x));
}
A、4B、8C、7D、14
49、以下程序的运行结果是()。
#include
voidmain()
{structdata
{intx;
floaty;
}a[5]={{1,2.3},{2,5.8},{3,2.7},{4,3.2},{5,3.9}};
structdata*p=a;
inti;
for(i=0;i<5;i++)
printf("%5.1f",(p+i)->y);}
A、2.74.03.25.03.9
B、1.02.32.05.83.0
C、2.35.82.73.23.9
D、1.02.03.04.05.0
50、若已定义:
typedefintINTEGER;INTEGERx,*p;下列叙述正确的是()。
A、不能用INTEGER来定义变量
B、程序中可用INTEGER定义整型变量
C、x,p都是int型变量
D、x,p都是指针变量
51、下列()为合法的数值常量。
A、E7
B、"abc"
C、6,860
D、.686
52、下列表达式值类型与其余三个不同的是()。
A、6.0/5
B、int(6.0/5.0)
C、(int)6.0/5.0
D、6/5.0
53、下列表达式值相等的是()。
A、4/3与4%3
B、a++与++a
C、a+1与a++
D、3/2与1.5
54、若已定义:
inta=0,b=2,c=3;表达式!
a+bA、0
B、2
C、3
D、1
55、若已定义:
inta[][3]={1,2,3,4,5,6,7,8};下列叙述正确的是()。
A、数组a的行数为8
B、数组a包含8个元素
C、元素a[1][2]的初值为6
D、数组a的第一维大小可以取任意值
56、以下程序的运行结果是()。
#include
intfunc()
{staticintm=1;
m+=2;
returnm;
}
voidmain()
{inti;
for(i=1;i<=3;i++)
printf("%3d",func());}
A、333B、357C、222D、246
57、以下程序的运行结果是()。
#include"stdio.h"
#defineN3
#defineM6
voidmain()
{inti,s=0;
for(i=1;i<=N;i++)
s+=M;
printf("%3d",s);
}
A、12B、18C、9D、15
58、下列错误的语句是()。
A、inta=10,*p;*p+1=a;
B、int*p=10;
C、char*str="yellow";
D、char*str;str="yellow";
59、以下程序段运行后变量y的值为()。
inta=5,y;
y=a<<1;
A、10B、1C、4D、6
60、C语言将文件分为()两类。
A、八进制码文件和十六进制码文件
B、八进制码文件和二进制码文件
C、ASCII码文件和二进制码文件
D、ASCII码文件和十六进制码文件
61、以下程序段的运行结果是()。
intx=5;
if(x==0)
printf("%3d",x++);
elseif(x>0)
printf("%3d",x+2);
else
printf("%3d",x+3);
A、7B、6C、3D、1
62、以下程序段的运行结果是()。
inta=0,i=0;
while(i<=5)
{++i;
if(i%3==1)
continue;
a+=i;
}
printf("%d\n",a);
A、5B、16C、21D、0
63、以下程序段执行后,a[5]元素的值为()。
inta[6]={1,2,3,4,5,6};
a[5]=a[1]+a[2];
A、3B、5C、6D、0
64、若已定义:
inta[4][3];则合法引用数组元素的是()。
A、a[4][1]B、a[][3]C、a[3][]D、a[0][0]
65、以下程序的运行结果是()。
#include"stdio.h"
#defineM3
#defineN5
voidmain()
{inta;
a=M+N*6;
printf("%3d",a);
}
A、33B、23C、48D、30
66、以下程序段的运行结果是()。
charstr[3][10]={"China","Fujian","Fuzhou"};
char(*p)[10];
p=str;
printf("%s",*(p+1));
A、ChinaB、FujianC、CD、Fuzhou
67、下列叙述错误的是()。
A、一个联合体变量占用的内存大小是各成员所需内存容量之和
B、一个联合体变量占用的内存大小是占内存容量最大的成员所需容量
C、联合体类型可以出现在结构体类型定义中
D、一个结构体变量占用的内存大小是各成员所需内存容量之和
68、文件操作函数fread(buffer,size,count,fp);中buffer代表()。
A、一个指针变量,它存放数据缓冲区的地址
B、一个整型变量,代表要读入的数据项总数
C、一个文件指针变量,指向要读的文件
D、一个存储区,存放要读的数据项
69、关于C语言数据类型,叙述正确的是()。
A、数组是基本类型
B、常量没有数据类型
C、指针类型属于构造类型
D、定义变量必须指定变量的数据类型
70、若已定义:
chara='A';intb=5;下列表达式错误的是()。
A、a==bB、a++C、a==AD、a=a-b
71、若已定义:
inta;语句
if(!
(a%3))
a--;
else
a++;
与下列()语句等价。
A、a=(a%3?
a--:
a++);B、a%3?
a++:
a--;
C、a=(!
(a%3)?
a++:
a--);D、a%3?
a--:
a++;
72、下列叙述正确的是()。
A、定义数组时,如果省略类型说明,默认为int型
B、定义数组后,可通过赋值运算符"="对该数组名直接赋值
C、数组名代表数组所占存储区的首地址,是指针变量
D、字符数组可以存放字符串
73、下列叙述正确的是()。
A、声明有参函数时必须明确函数类型和参数类型
B、被调用函数至少含有一个形式参数,且必须有返回值
C、函数的定义和调用都不可以嵌套
D、函数可以返回一个值,但不能没有返回值
74、若已定义:
inta=10,*p;p=&a;下列叙述错误的是()。
A、*(&a)等价于aB、&(*p)等价于p
C、*(&p)等价于aD、&a等价于&(*p)
75、以下结构类型的嵌套定义后,该结构类型变量x所占用的内存字节数是()。
structbirthday
{intyear;