B. A==11||a==12||a==13||a==14
C. a>10&&a<15
D.!(a<=10)&&!(a>=15)
4. 已知数据类型定义和变量声明如下:
struct sk
{int a; float b;}data[2], * p ;
若有p=data ,则以下对data[0]中成员a 的引用中错误的是 A 。 A. data[0]->a B. data->a C. p->a D. (* p).a 5. 下列程序的程序输出结果为 A 。 #define X(a) a*a main()
{ printf(“%d \n”,X(4+5));}
A.29
B.18
C.20
D.25
6. 若有定义“enum seq{mouse, cat, dog, rabbit=0, sheep, cow=6, tiger};” 则执行语句“printf(“%d ”,cat+sheep+cow);”后输出的结果是_____C ______。 A. 6 B.7 C.8 D. 9
7. 以下能将字符串“good!”正确地存放在字符数组s 中,或使指针s 能指向这个字符串
的是______D ______。
A. char s[4]={…g‟, …o‟, …o‟, …d‟, …!‟};
B. char s[5];s=“good!”;
C. int s[5]= “good!”;
D. char *s;s=“good!”;
江 苏 大 学 试 题 第2页
共 9页 第 1 页
8.设有说明:
union data
{ int i ;float f;
struct{ int x;char y;}s;
double d; }a;
则变量a 在内存中所占字节数为_ A __ 。
A.8
B.17
C.9
D.15
9.设已有非空文本数据文件filel.dat,要求能读出文件中原有的全部数据,并在文件原有数据之后添加新数据,则用FILE *fp=fopen("file1.dat",D)打开该文件。
A. "w"
B. " w+"
C. "r+"
D. "a+"
10.以下关于if语句的错误描述是B。
A. 条件表达式可以是任意表达式
B.条件表达式只能是关系表达式或逻辑表达式
C.条件表达式的括号不可以省略
D.与else配对的if语句是其之前最近的未配对的if语句
11.在以下不致造成死循环的语句是:A。
A. for(y=0,x=1; x>++y; x=i ++) i =x;
B. for(; ;x+=i );
C. while(x=8) x--;
D. for(i =10,sum=0; sum<=i ;) sum= --i ;
12.设有定义:“float y=3.45678;int x;”,则以下表达式中能实现将y中数值保留小数点后2 位,第3位四舍五入的表达式是:B。
A. y=(y*100+0.5)/100.0
B. x=y*100+0.5,y=x/100.0
C. y=y*100+0.5/100.0
D.y=(y/100+0.5)*100.0
13.以下程序段输出结果是:C。
int a=10,b=11,c=12,s;
s=a++<=10&&b--<=2&&c++;
printf(“%d,%d,%d,%d”,s,a,b,c);
A. 0,11,10,13
B. 1,11,10,13
C. 0,11,10,12
D.1,11,10,12
14.设有“char s[ ]=“Program”,*p=s;”,则以下叙述中正确的是:C。
A. 数组s的内容与指针变量p中内容相同
B.数组s的长度与strlen(p)的值相等
C.p[5]的值等于s[5]的值
D. sizeof(s)等于sizeof(*p)
15.下列程序段执行后变量j的值是: B 。
int j; char *s="x\045\""; for(j=0;*s++;j++);
江苏大学试题第3页
A. 7
B. 3
C. 4
D. 5
16.若有定义语句“static char str[4][20]={ "thank", "you","very","much! "};”则str数组中存储'\0' 的数组元素有:D个。
A. 0
B. 17
C. 21
D. 63
17.下列正确的声明说明语句是D。
A. float m=15,n=4,q=m%n;
B. int n=10, y[n];
C. char p[2][ ]={ "DOS","WINDOWS"};
D. char *p[ ]={ "DOS","WINDOWS","UNIX"};
18.设有函数f的定义如下:
void f(int x, int *y)
{ *y=x*x*x;}
main( )
{ int j,c[4]={1,2,3,4},s[4]={0};
for(j=0;j<4;j++)
{ /* 调用f函数*/
printf(“%d”,s[j]); }
}
若在main函数中欲调用函数f,则正确的调用语句是______C______。
A. f(c,s);
B. f(c[i ],s[i]);
C. f(*(c+i),&s[i]);
D. f(c+i ,s+i );
19.执行以下程序段后,x,w的值为_____C_______。
int x=0,y=1,z=2,w;
if(x++) w=x;
else if(x++&&y>=1) w=y;
else if(x++&&z>1) w=z;
A. 0,1
B. 1,1
C. 2,1
D.3,2
20.已知有声明语句“int a[5]={1,2,3,4,5},*p,i;”,以下语句中不能正确输出a数组全部元素值的是_____C______。
A.for(p=a,i=0;i<5;i++) printf("%d",*(p+i));
B.for(p=a;pC.for(p=a,i=0;pD.for(p=a;p江苏大学试题第4页