C语言程序设计试卷及答案

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

C 语言程序设计 笔试试题

题号 一 二 三 四 五 六 笔试(70%)

综合 (30%)

总分

分数

试卷说明:

1. 笔试卷面总分100分,取卷面成绩的70%计入总分;

2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;

3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;

4. 答题时间120分钟。

一、单项选择题。将正确答案填入下面框中。

(本题16分,每小题1分) 题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案

1. 有以下程序 main() {int a=1,b=0; if(!a) b++;

else if(a==0) if(a) b+=2; else b+=3;

printf(“%d\n ”,b); }则程序输出( A )。 A) 0

B) 1

C) 2

D) 3

2. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。

A) a%(int)(x-y) B) a=x!=y

C) (a*y)%b D) y=x+y=x

3. 若有定义 int (*p)[3];则下列说法正确的是( C )。

注意行为规范 遵守考试纪律

A) 定义了基类型为int的三个指针变量

B) 定义了一个名为*pt、具有三个元素的整型数值

C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组

D) 定义了基类型为int的具有三个元素的整型数组

4. 有以下程序段

main()

{ int x=10;

while(x--);

printf("x=%d\n",x);}

则最后的输出结果是:( B)。

A) x=0 B) x= -1 C) x=1 D)while构成无限循环

5. 有以下程序:

int fun()

{static int x=1;

x *= 2;

return x;}

main( )

{ int i,s=1 ;

for(i=1 ;i<=2 ;i++) s=fun() ;

printf(“%d\n ”,s) ;}

执行后的输出结果为( D)。

A) 0 B) 1 C) 8 D) 4

6. void main( ){

int k=011;

printf("%d\n",k++); }

}程序输出结果是( D )

A)12 B) 11 C) 10 D) 9

7. 以下C语言标识符中,不合法的是( C)。

A) _2 B) a_b C) a--b D) AaBc

8. C语言允许函数类型默认定义,此时该函数值隐含的类型是( B)。

A) float B) int C) long D) double

9. 以下程序段运行结果是( B)。

enum weekday{aa,bb=2,cc,dd,ee}week=ee;

printf(“%d\n“,week);

A) 4 B) 5 C) ee D) 0

10. 以下对C语言函数的描述中,不正确的是( B )。

A) 不同函数中可以使用相同名字变量B) 函数可以嵌套定义

C) 函数可以没有返回值D) 程序由函数组成

11. 若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是( D )。

A) *p B) *x C) *(p+1) D) x[5]

12. 以下程序段运行结果是( B )。

int a=6;

printf(“%d\n“,a>>1);

A) 12 B) 3 C) 6 D) 1

13. 若有定义语句:double x,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是( B )。

A) scanf(“%lf%lf”,x,y); B) scanf(“%lf,%lf”,px,py);

C) scanf(“%f%f”,&x,&y); D) scanf(“%f%f”,x,y);

14. 以下程序运行结果是( D )。

char str[ ]=“abc“;

printf(“%d, %d \n“,strlen(str),sizeof(str));

A)6,3 B) 3,3 C) 10,10 D) 3,10

15. 以下程序段运行结果是( A )。

#define f(x) x*x*x

main( )

{ int a=1,b,c;

b=f(a+1);c=f((a+1));

printf(“%d,%d\n“,b,c);}

A) 4,8 B) 8,4 C) 8,8 D) 4,4

16. 有以下程序:

main()

{FILE *f;

f=fopen(“fa.txt“,“w“);

fprintf(f,“day“);

fclose(f);}

若文本文件fa.txt中原有内容为:hello,则运行以上程序后,文件fa.txt中的内容为( A )。

A)day B) helloday C) daylo D)dayhello

二、填空题。请按序号把答案填入下面框中,

不允许出框线。(本题20分,每空2分)

题号答案题号答案

1 a[row][col] 6 k<=n

2 x%10或x%100%10 7 k++

3 23hE45a8 m%i==0&&n%i==0

4 fun() 9 p=p->next

5 m++ 10 s[i]或’\0’

1. 以下fun函数功能是在N行M列的整型二维数组中,选出一个最大值作为函数值返回。

int fun(int a[N][M])

{ int i,j,row=0,col=0;

for(i=0;i

for(j=0;j

if(a[i][j]>a[row][col]){row=i;col=j;}

return( 【1】);}

2. 以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位,百位的顺序拆分输出。

main()

{ int x=123;

printf(“%d-%d-%d\n”, 【2】,x/10%10,x/100);}

3. 下列程序运行时,若输入23he45a<回车>,输出结果是【3】

#include

main()

{ char a=0;ch;

while((ch=getchar())!=’\n’)

相关文档
最新文档