c语言试卷和答案3

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

一、 判断题(每题1分,共10分)

(1) C语言程序的三种基本结构是顺序结构、选择结构和循环结构。

(2) 在C语言程序中,在main函数中定义的变量称为全局变量。

(3) 表达式(3.6%2)符合C语言语法。

(4) 在C程序中,用整数0表示逻辑值“假”。

(5) 08是正确的整型常量。

(6) 设变量定义为 char s[ ]= “hello”则数组s中有6个元素。

(7) 若x是单精度实型变量,表达式(x=10/4)的值是2.5。

(8) 若变量已正确定义,表达式x=y=1符合C语言语法。

(9) 表达式!(x>0 || y>0)等价于 !(x>0) && !(y>0)。

(10) 表达式 (0x19<<1 & 0x7) 的值是3。



二、 单选题(每题2分,共26分)

(11)为表示 “a和b都不等于0”,应使用的C语言表达式是 。

A)(a!=0) || (b!=0) B)a || b

C)! (a=0) && (b!=0) D)a && b

(12)若x是单精度实型变量,k是基本整型变量,以下正确的输入语句是 。

A)scanf(“%f%d”, &x,&k); B)scanf(“%f%d”, x, k);

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

(13)下列运算符中优先级最低的是 。

A)* B)<< C)= D)->

(14)下列程序段的输出结果是 。

#define M(x,y) x/y

printf( “%d”, M(10,2+3));

A)2 B)2.0 C)5 D)8

(15)已知字符’c’的ASCII码为99,语句printf(“%d,%c”, ‘c’, ‘c’+1);的输出为 。

A)99, c B)99,100 C)99,d D)语句不合法

(16)对于以下递归函数f,调用f (2)的返回值是 。

int f( int x)

{ return ((x<=0)? x:f(x-1)+f(x-2));

}

A)-1 B)0 C)1 D)3

(17)下列程序段的输出结果是 。

int k,s;

for (k=0, s=0; k<10; k++, s- -)

if (s>k) break;

else s+=k;

printf(“(%d,%d)”,k, s);

A)(4,5) B)(4,6) C)(6,9) D)不是A.B.C

(18)下列程序的输出结果是 。

#include

int f (int n)

{ static int k, s;

n- -;

for(k=n; k>0; k- -)

s+=k;

return s;

}

void main()

{ int k;

k=f(3);

printf(“(%d, %d)”, k, f(k));

}

A)(3, 3) B)(6, 6) C)(3, 6) D)(6, 12)

(19)下列程序段的输出结果是 。

int *p, *q, k=5, j=10;

p=&j; q=&k; p=q; (*p)++;

printf(“%d”, *q);

A)5 B)6 C)10 D)11

(20)下列不正确的赋值或赋初值的方式是 。

A) char str[6]={‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’};


B) char str[10]= “string”;

C) char *str= “string”;

D) char str[10]; str= “string”

(21)下列程序段的输出结果是 。

int c[ ]={1,7,12};

int *k=c+1;

printf(“%d”, *k++);

A)2 B)7 C)8 D)12

(22)下列程序段的输出结果是 。

char *str[ ]={ “abcd”, “efgh”, “ijkl”, “mnop”}, * *p=st;

p++;

printf(*p+1);

A)cd B)fgh C)ijkl D)出错

(23)下列程序的输出结果是 。

#include

void p( int *x, int *y)

{ + +x;

-- *y;

}

void main()

{ int x=0, y=3;

p (&x, &y);

printf(“(%d, %d)”, x, y);

}

A)(0, 2) B)(0, 3) C)(1, 3) D)(1, 2)

三、 程序填空题(每题2分,共20分)

1.输入1个正整数n,计算并输出s的前n项的和。

s=1/2-2/3+3/4-4/5+…+(-1)n-1n/ (n+1)



#include

void main()

{ int k, flag=1, n;

float s=0;

scanf(“%d”, &n);

for (k=1; k<=n ; k++) {

s=s+ (24) ;

(25) ;

}

printf(“sum=%f\n”, s);

}



2.输入100个整数,将其中的前20个数从小到大排序,然后输出这100个数。

#include

void sort( (26) )

{ int i, k, m, t;

for(i=0; i
k=i;

for (m=i+1; m
if ( (27) ) k=m;

(28) ;

}

}

void main()

{

int k, a[100];

for(k=0; k<100; k++)

scanf(“%d”, &a[k]);

(29) ;

for(k=0; k<100; k++)

printf(“%d”, a[k]);

}



3.从键盘输入一批以-1结束的整数,将其中的奇数写入当前目录下的文本文件res.txt。

#include

#include

void main()

{ int x;

(30) ;

if((fp=fopen(“res.txt”, “w”))= =NULL{

printf(“不能打开文件”);

exit(0);

}

scanf(“%d”, &x);

while( (31) ) {

if(x%2!=0) (32) ;

(33) ;

}

fclose(fp);

}



四、程序阅读题(每题8分,共16分)

1.输入3<回车>后,下列程序的输出结果是 。

#include “stdio.h”

void main()

{ int j, k, n, s, a[6][6];

scanf(“%d”, &n);

for(k=0; k
for(j=0; j
a[k][j]=j*n+k;

printf(“a[0][1]=%d,”, a[0][1]);

s=0;

for(k=0; k
s+=a[k][k];

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

for(k=0; k
s+=a[n-k-1][k];

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

for(k=0; k
s+=a[k][2];

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

}



2.下列程序的输出结果是 。

#include

#define LEN sizeof(struct line)

struct line

{ int num;

struct line *next;

};

void main()

{ int k;

struct line *p, *head;

head=NULL;

for(k=10; k>0; k--) {

p=(struct line *) malloc(LEN);

p->num=

k;

p->next=head;

head=p;

}

while((p=p->next)!=NULL) {

printf(“%d,”, p->num);

p=p->next;

}

}



五、程序设计题(共28分)

1.输入一行字符,统计并输出其中英文字母、数字字符和其他字符的个数。

2.输入一个正整数n,求1+1/2!+1/3!+… +1/n!的值,要求定义并调用函数fact(n)计算n的阶乘,函数的返回值类型是单精度浮点型。
试卷4参考答案


考试试卷4

一、判断题(正确用A表示, 错误用B表示)

(1)A (2)B (3)B (4)A (5)B

(6)A (7)B (8)A (9)A (10)B

二、单选题

(11) D (12)A (13)B (14)D (15)C

(16)A (17)C (18)C (19)B (20)D

(21)B (22)B (23)A

三、程序填空题

1.(24)1.0*k/(k+1)*flag

(25)flag=-1

2.(26)int *a, int n

(27)a[k]>a[m]

(28)t=a[k]; a[k]=a[i]; a[i]=t

(29)sort(a,20)

3.(30)FILE *fp

(31)x!=-1

(32)fprintf(fp, “%d”, x)

(33)scanf(“%d”,&x)

四、程序阅读题

程序1 a[0][1]=3, sum1=12, sum2=24, sum3=45

程序2 2, 4, 6, 8, 10

五、程序设计题(

相关文档
最新文档