C语言程序设计期末考试样卷
2008年C语言程序设计期末考试样卷
?
一、填空题“%d”,); printf(“%d\n”, );
13、设y是int型变量,请写出判断y为奇数的关系表达式: 。
14、设有以下变量定义,并已赋确定值
char w; int x; float y; double z;
则表达式w*x+z-y所求得的数据类型为 。
15、设i、j、k均为int型变量,则执行完下面的for循环后,k的值为 。
for(i=0, j=10; i<=j; i++, j--) k=i+j;
16、语句:x++; ++x; x=x+1; x=1+x; 执行后都使变量x中的值增1,请写出一条相同功能的赋值语句(不得与列举的相同): 。
17、设a,b,c均为整型数,且a=1,b=2,c=3,则语句a-=a+(++b)+(c--);被执行后a的值是 。
18、若有定义“int a[2][3] = {1,3,5,7,9,11}; ”则a[1][0]的值是,*(*(a+1)+2))的值是 。
19、设X为int型变量,请写出描述“X是偶数”的表达式是:。C语言提供的三种逻辑运算符是 、和!;char a[ ]={‘a’,‘b’,‘c’,‘d’, ‘e’, ‘f’, ‘g’,‘h’,‘\0’}; int i,j;
i=sizeof(a); j=strlen(a);
printf(“%d,%d\n”,i,j);
}
程序运行后的输出结果是
A)9,9 B)8,9 C)1,8 D)9,8
(14) 有以下程序
#include
main()
{ char *p=“abcde\Ofghjik\0”;
printf(“%d\n”,strlen(p));
}
程序运行后的输出结果是
A) 12B) 15C) 6D) 5
(15) 有以下程序
int fa(int x)
{ return x*x; }
int fb(int x)
{ return x*x*x; }
int f(int (*f1)(int x),int (*f2)(int x),int x)
{ return f2(x)-f1(x); }
main()
{ int i;
i=f(fa,fb,2); printf(“%d\n”,i);
}
程序运行后的输出结果是
A) -4B) 1C) 4D) 8
(16) 有以下程序
int a=3;
main()
{ int s=0;
{ int a=5; s+=a++; }
s+=a++;printf(“%d\n”,s);
}
程序运行后的输出结果是
A) 8B) 10C) 7D) 11
17、C语言规定,函数返回值的类型由 所决定。
A、return语句中的表达式类型B、调用该函数时的主调函数类型
C、调用该函数时的形象参数D、在定义该函数时所指定的函数类型
18、语句int (*ptr)( ): 的含义是 。
A、ptr是指向一维数组的指针变量
B、ptr是指向int型数据的指针变量
C、ptr是指向函数的指针,该函数返回一个int型数据
D、ptr是一个函数名,该函数的返回值是指向int型数据的指针
19、若有语句组typedef int AR[5]; AR a; 则以下叙述中正确的是 。
A、a是一个新类型B、a是一个整型变量C、a是一个结构变量D、a是一个数组名
20、在定义一个共用体变量时,系统分配给它的内存是 。
A. 结构体最后一个成员所需内存
B. 各成员所需内存量的总和
C. 结构体中第一个成员所需内存量
D. 成员中占内存量最大者所需的容量
21、以下四个运算符,按优先级由高到底的排列顺序是 。
A、 /、=、==、!B、 !、/、=、==C、 !、/、==、=D、 /、!、==、=
22、若有定义:int a[10], *p=a; 则*(p+5)表示 。
A、数组元素a[5]的地址B、数组元素a[5]的值C、数组元素a[6]的地址D、数组元素a[6]的值
23、以下正确的描述是。
A、函数的定义可以嵌套,但函数的调用不可以嵌套
B、函数的定义不可以嵌套,但函数的调用可以嵌套
C、函数的定义和函数的调用均不可以嵌套
D、函数的定义和函数的调用均可以嵌套
24、若w、x、y、z、