2008年秋C语言笔试卷

2018-12-27 18:49

第二部分 C语言程序设计

一、选择题(用答题卡答题,答案依次填在21~30答题号内,共10分) 21.以下叙述中正确的是 (21) 。

A.在编译时可以发现注释中的拼写错误 B.C语言程序的每一行只能写一条语句 C.main( ){}必须位于程序的开始

D.C语言程序可以由一个或多个函数组成

22.以下选项中不能用作变量名的是 (22) 。

A._float B.switch C.sum D._123 23.已知sizeof(int)的值为2,为将10!的值存储到变量f中(10!=3628800),变量f的类型应声明为

(23) 。

A.long int B.int C.short int D.unsigned int 24.若有声明“double x=3,c,*a=&x,*b=&c;”,则下列语句中错误的是 (24) 。

A.a=b=0; B.a=&c,b=a; C.&a=&b; D.*b=*a; 25.数学式

a在C程序中正确的表示形式为 (25) 。 2bA.sqrt(a)/2*b B.sqrt(a)/2/b C.sqrt(a)/2b D.sqrt a/(2*b)

26.已知有程序段“char str[][10]={\; printf(\n\

则执行printf语句后输出为 (26) 。

A.Beijing B.Aoyun C.ing D.ng 27.以下声明中错误的是 (27) 。

A.int a[2]; B.int a[]={0,1}; C.int a[3]=0; D.int a[3][4]={0}; 28.已知有结构定义和变量声明如下:

struct student { char name[20]; int score;

struct student *h; }stu,*p; int *q;

以下选项中错误的是 (28) 。

A.p=&stu; B.q=&stu.score; C.scanf(\.stu.h=p;

29.已有声明“int a=3,b=3,c=2;”,以下选项中值为0的表达式是 (29) 。

A. !a&&!b&&c B. !a||!b||c C. a==b&&b>=c D. a>=b&&b>c 30.若有声明“char ss[8]=\”,则sizeof(ss)的值是 (30) 。

A.8 B.4 C.3 D.1

第4页 C语言 2008年秋

二、填空题(将答案填写在答题纸的相应答题号内,每个答案只占一行,共30分) ? 基本概念

1. 已知有函数定义“int fun(){return (3,4);}”,则调用fun后的函数返回值是 (1) 。 2. 设有声明“int a=3, b=4; float x=4.5, y=3.5;”,则表达式“(float)(a+b)/2+(int)x%(int)y”

的值是 (2) 。 3. 若已有定义“enum TP{A,B,C};”,则执行语句“printf(\\\n\ (3) 。 4. 若需要打开D盘上user子目录下已经存在的名为abc.txt的文本文件,先读出文件中数据,后追

加写入新数据,则正确的函数调用语句是:“fp=fopen(\”。 ? 阅读程序

5. 以下程序运行时输出结果的最后一行是 (5) 。 #include void main()

{ int a=1,b=1,i; for(i=1;i<=2;i++) { a=a+b;

printf(\ b=a+b;

printf(\ }

printf(\}

6. 以下程序运行时输出结果为 (6) 。

#include void main() { int i,sum=0;

for (i=0;i<5;i++) { switch(i) { case 0:

case 1: sum++; case 3: sum++;

case 4: sum--; break; } }

printf(\}

7. 以下程序运行时输出结果是 (7) 。

#include void func(int b)

{ int a; a=b; b=10; }

第5页 C语言 2008年秋

void main()

{ int a=10,b=20; func(b);

printf(\}

8. 以下程序运行时输出结果的第一行是 (8) ,第二行是 (9) 。

#include int f1( )

{ static int i=0,f=1; return f*=++i; }

int f2( ) { int i=0,f=1; return f*=++i; }

void main( )

{ printf(\ printf(\}

9. 以下程序运行时输出结果是 (10) 。

#include #include

void sf(char *s1,char *s2) { if(*s1=*s2)

sf(s1+1,s2+1); }

void main( )

{ char a[20]= \ sf(a+strlen(a),b); puts(a); }

10. 以下程序运行时输出结果的第一行是 (11) ,第三行是 (12) 。

#include void main( )

{ int i,j,a[3][3]; for(i=0;i<3;i++) for(j=0;j<3;j++) if(i

a[i][j]=1; else

a[i][j]=i-j+1;

第6页 C语言 2008年秋

for(i=0;i<3;i++) { for(j=0;j<3;j++)

printf(\ printf(\ } }

11. 以下程序运行时输出结果是 (13) 。

#include

void sort(int a[],int n) { int i,j,p; int t; for(i=1;i

for(j=i+2;ja[p]) p=j; if(p!=i)

{ t=a[i]; a[i]=a[p]; a[p]=t; } } }

void main( )

{ int s[ ]={8,1,4,3},n=4,k; sort(s,n);

for(k=0;k

printf(\ printf(\}

12. 以下程序运行时输出结果的第一行是 (14) ,第二行是 (15) 。

#include struct s

{ int x,*y; }*p;

int d[5]={10,20,30,40,50};

struct s a[5]={100,&d[0],200,&d[1],300,&d[2],400,&d[3],500,&d[4]}; void main( ) { p=a;

printf(\ printf(\ printf(\ printf(\}

第7页 C语言 2008年秋

13. 以下程序运行时若输入8,则输出结果中第一行是 (16) ,第二行是 (17) ,第三

行是 (18) 。 #include void main( )

{ int k,i,m,n,num[20]; scanf(\ for(i=0;i

{ printf(\ num[i]=0; k=0; m++; if(m%3==0)

printf(\ } i++;

if(i==n) i=0; } i=0;

while(num[i]==0) i++;

printf(\}

? 完善程序

14. 以下程序的功能是:求a数组中前4个元素之和及后6个元素之和。试完善程序以达到要求的功

能。

int fsum(int *array,int n) { int i,s;

s=0;

for(i=0; (19) ; i++) s+=array[i]; return(s); }

第8页 C语言 2008年秋


2008年秋C语言笔试卷.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:金融企业会计论文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: