C语言期末考试试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言试题1

一填空题(15分)

1.设x的值为15,n的值为2,则表达式x%=(n+=3)运算后,x的值为()。

2.设int a=7,b=9,t;执行完表达式t=(a>b)?a:b后,t的值是()。

3.下面程序段的输出结果是()。

int a=1234; a=a&0377; printf(“%d %o\n”,a,a);

4.a数组定义如下,按照内存排列顺序,a数组中的所有元素是()。

char a[3];

5.设有以下宏定义,则执行赋值语句a=PP*20;(a为int型变量)后,a的值是()。

#define PR 80

#define PP PR+403

6.在C程序中,可以通过三种运算方式为指针变量赋地址值,它们是:()、()和()。7.在C文件中,数据存在的两种代码形式是()和()。

8.C语言中调用()函数打开文件,调用()函数关闭文件,调用()函数可实现文件的随机读写。

9.若有int a[3]={10,12,30};则a+1是()的地址,*(a+2)=()。

三选择题(20分)

1.设int a=12; 表达式a+=a-=a*=a的值是()。

A 12

B 144

C 0

D 132

2.以下程序的输出结果是()。

main( )

{ int a=011;

printf(“%d\n”,++a);

}

A 12

B 11

C 10

D 9

3.以下程序的输出结果是()。

#define ADD(x) (x)+(x)

main()

{ int a=4,b=6,c=7,d=ADD(a+b)*c;

printf(“d=%d”,d);

}

A d=70

B d=140

C d=280

D d=80

4.下面的选项中正确的赋值语句是(char a[5],*p=a;)()。

A p=“abcd”;

B a=“abcd”;

C *p=“abcd”;

D *a=“abcd”;

5.若k为整形,则while循环执行()次。

k=2; while(k==0) printf(“%d”,k); k--; printf(“\n”);

A 10

B 9

C 0

D 1

6.数组名作为实参传递给形参时,数组名被处理为()。

A 该数组的长度

B 该数组的元素个数

C 该数组的首地址

D 该数组中各元素的值7.两个指针变量不可以( )。

A. 相加 B 比较 C 相减 D 指向同一地址

8.若有以下程序段,则值为6的表达式是()。

struct st{ int n;struct st *next;};

static struct st a[3]={5,&a[1],7,&a[2],9,‘\0’},*p; p=&a[0];

A p++->n

B p->n++

C (*p).n++

D ++p->n

9.要打开一个已存在的非空文件"file"用于修改,选择正确的语句()。

A fp=fopen("file","r");

B fp=fopen("file","w");

C fp=fopen("file","r+");

D fp=fopen("file","w+");

{ int m,k,i,n=0;四写出下列程序的运行结果。(28分)

1.main( )

{ int a[6]={10,6,23,-90,0,3},i;

invert(a,0,5);

for(i=0;i<6;i++) printf(“%d,”,a[i]);

printf(“\n”);

}

invert(int *s,int i,int j)

{ int t;

if(i

{ invert(s,i+1j-1);

t=*(s+i);*(s+i)=*(s+j);*(s+j)=t;

}

}

2.f1(int a)

{ int b=0; static int c=3;

b+=1; c++;

return(a+b+c);

}

main()

{ int a=1,i;

char s1[10]=“java”,s2[10]=“basic”,s[10];

for(i=0;i<3;i++) printf("%d ",f1(a));

printf(“\n”);

if(strcmp(s1,s2)) { strcpy(s,s1); puts(s);}

printf(“%d,%s\n”,strlen(s2),strcat(s2,s1));

}

3.#define MAX 100

main()

{ int f[MAX],i,j,k=2,m=5;

for(i=0;i<=m;i++) f[i]=1; f[k-1]=2;

for(i=k;i<=m;i++)

for(j=i-k;j<=i-1;j++) f[i]+=f[j];

printf("%d%5d%5d\n",k,m,f[m]);

}

五阅读下列程序,在处填入适当内容,使程序完整。(32分)

1.求100~200间的全部素数。

(1)

main()

相关文档
最新文档