2009年c语言试卷 联系客服

发布时间 : 星期三 文章2009年c语言试卷更新完毕开始阅读21f22d69ddccda38376bafdf

2009

试题一、单选题(每小题2分,共20分)

1. 2.

3.

4.

5.

6.

C.自动变量定义在函数内部 D.静态变量定义在函数外部 7. 假设sizeof(int)的值为4,对数组定义:int a[3][6];则sizeof( a[0] )的值为______。

A.12 B.4 C.24 D.18

8.

在C语言中,long int型数据在内存中的存储形式是 。 A.补码 B.反码 C.原码 D.ASCII码 假设有定义:int k;下面程序段编译运行的情况是_____。 for (k=1; k; k++) printf (\A.编译错误 B.能运行, 是死循环 C.能运行, 正常结束 D.以上说法都不对

循环语句while (!x&&!y)中的循环条件表达式等价于______。 A.x=0 && y=0 B.!(x || y) C.!( x==0 || y==0) D.!( x==0 && y==0)

对于 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;

语句 if (4/5 > 3/4) a=1; else a=0; 运行后,a的值是_____。 A.1 B.0 C.编译出错 D.与编译器相

下列描述不正确的是_______。

A.外部变量定义在函数外部 B.局部变量定义在函数内

有如下定义: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 C.*(a+1)=p D.

a[0]=2

根据声明int p[5], *a[5];下列表达式正确的是______。 A.p=a

B.p[0]=a

9.

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 1 / 8

10. 有如下定义,下列赋值正确的是________。

struct node {

char s[10]; int k;

struct node *next; } p[5],*q=p; A.q.k=2

试题二、填空题(每小题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--) { if (i==0) break; if(i%2) continue; s+=--i; } 6. 执行下面程序代码的输出结果是_____。 char *s1=\ while (*s1++ == *s2++);

printf(\

B.p[0]->k=2 C.(p->s)[0]D.q->s=“a”

=?a?

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 2 / 8

7. 执行下面程序代码后,s值为_____。

int a=1, b=2, s=0; switch (a>b) { default: switch(s){ case 0:s+=1; default:s+=2;break; }

case 1: s+=3; break; }

8. 已知字符0和a的ASCII分别为48和97,当输入12e<回车> 时,下列程序输出是_____。 char c; int s=0;

while( (c=getchar()) != '\\n') if('0'<=c<='9') s=s*10+c-'0'; printf(\

9. 下列命令行参数程序生成的执行程序为command.exe,执行command abc 111 222<回车>,输出结果是_______。 # include

《程序设计基础及实验》课程期末考试试卷, 2010年1月27日 3 / 8

main(int argc,char *argv[]) {

argc--;

while(--argc)

printf(\}

下列程序段的输出是_______。 #define DF(a,b) (a+2*b) int s=5;

int k= DF(s+1,s-3); printf(\

下列程序段输出_______。 int fun(int x) {

return (x<3?1:(fun(x-1)+2*fun(x-2))); } int main() {

printf(\}

, 2010年1月27日 4 / 8

10. 11. 《程序设计基础及实验》课程期末考试试卷