2009
试题一、单选题(每小题2分,共20分)
1. 在C语言中,long int型数据在内存中的存储形式是 。
A.补码 | B.反码 | C.原码 | D.ASCII码 |
2. 假设有定义:int k;下面程序段编译运行的情况是_____。
for (k=1; k; k++) printf ("%d ", k);
A.编译错误 | B.能运行, 是死循环 |
C.能运行, 正常结束 | D.以上说法都不对 |
3. 循环语句while (!x&&!y)中的循环条件表达式等价于______。
A.x=0 && y=0 | B.!(x || y) |
C.!( x==0 || y==0) | D.!( x==0 && y==0) |
4. 对于 int x, y; 语句 if (x < 0) y = -1; else if (!x) y = 0; else y = 1;等价于_____。
A.if (x>=0) y=0; if(x) y=1; else y=-1; |
B.y=0; if (x>=0) if(x) y=1; else y=-1; |
C.if (x != 0) if (x > 0) y = 1; else y = -1; |
D.y=0; if (x!=0) if(x>0) y=1; else y=-1; |
5. 语句 if (4/5 > 3/4) a=1; else a=0; 运行后,a的值是_____。
A.1 | B.0 | C.编译出错 | D.与编译器相关 |
6. 下列描述不正确的是_______。
A.外部变量定义在函数外部 B.局部变量定义在函数内部
C.自动变量定义在函数内部 D.静态变量定义在函数外部
7. 假设sizeof(int)的值为4,对数组定义:int a[3][6];则sizeof( a[0] )的值为______。
A.12 B.4 C.24 D.18
8. 有如下定义:int x[]={1,2,3},*p=x,y; 则y=*p++;相当于_____。
A.y=x[0],p++ | B.y=1,x++ | C.y=*(++p) | y=2,p=x+1 |
9. 根据声明int p[5], *a[5];下列表达式正确的是______。
A.p=a | B.p[0]=a | C.*(a+1)=p | D. a[0]=2 |
10. 有如下定义,下列赋值正确的是________。
struct node {
char s[10];
int k;
struct node *next;
} p[5],*q=p;
A.q.k=2 | B.p[0]->k=2 | C.(p->s)[0]=‘a’ | D.q->s=“a” |
试题二、填空题(每小题2分,共30分)
1. 表示“当 x 的取值在 [-10, 0] 或 [10, 15] 的范围内为真,否则为假”的C语言表达式是_____。
2. 若 int a = 6, b = 0, c = 3,则表达式 a && b || b - c 的结果是_____。
3. 表达式 !!”2010-01-27” 的值为_______。
4. 假设字符变量ch中存放有大写英文字母,将其转换为相应的小写英文字母的表达式是______。
5. 执行下面程序代码后,s值为_____。
int i, s;
for (i=5,s=0;i>s;i--) {
c语言中struct if (i==0) break;
if(i%2) continue;
s+=--i;
}
6. 执行下面程序代码的输出结果是_____。
char *s1="abcd",*s2="abbb";
while (*s1++ == *s2++);
printf("%d#",*s1 - *s2);
7. 执行下面程序代码后,s值为_____。
int a=1, b=2, s=0;
switch (a>b) {
default: switch(s){
case 0:s+=1;
default:s+=2;break;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论