期终C语言试卷

发布 2021-04-23 12:07:28 阅读 1647

浙江大学城市学院。

2006-2007学年第二学期期末试卷(a)

c语言程序设计基础》

开课单位:计算分院;考试形式:闭卷;考试时间: 2023年07月07日14:00-16:00;

所需时间:120分钟。

注意:答题内容必须写在答题卷上,写在本试题卷上无效。

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

说明:在每小题提供的若干可选答案中,挑选一个正确答案。

1、判断变量ch 是存放英文字母的表达式为 (1) 。

a、( a'

b、(ch >=a' &ch <=z') ch >=a' &ch <=z')

c、(ch >=a' &ch <=z') ch >=a' &ch <=z')

d、( a'

2、若已定义x为int 类型、y为double类型,则表达式x=1, y=3/2+x++的值是 (2)

a、1 b、2 c、2.0d、2.5

3、执行下列程序段后,不正确的if语句是 (3) 。

a、if(x>y&&x!=yb、if(x==y)

c、if(x!=y) scanf(“%d”, x) else scanf(“%d”, y); d、if(x=y)

4、while( (4) )等价于while ( x )。

a、x ==1 b、x ==0 c、x !=0 d、x !=1

5、执行语句“for(s=0, k=1; s<20||k<10; k=k+2) s+=k;”后,s、k的值为 (5) 。

a b c d

6、执行下列程序段后,k的值是 (6) 。

int k=1, n=263;

do while( n );

printf("%d",k);

a、4 b、5 c、6d、7

7、若已定义char str1[10]="123", str2="abc";下列语句那一个是正确 (7) 。

a、str2 = 12345b、*str2 = 12345";

c、str1 = str2d、if(str1 > str2) printf("ok!")else printf("no!")

8、下面程序段作宏替换后输出结果是 (8) 。

#define f(a, b, x) a*x+b

printf("%d, %d", f(3,2,1), f(6, 5, f(3, 2, 1)))

a、5,20 b、5,30 c、5,25 d、5,35

9、假设有定义:int *p, n; char *q, *g, ch; 下列 (9) 语句是不正确的。

a、p=&n; q=&ch; b、p=&n; g=q=&ch;

c、p=&n; g=&ch; d、p=&n; q=&ch;g=p;

10、以下结构变量std中的成员age的不正确引用是 (10) 。

sctruct student

int age;

int num;

} stu1, *p=&stu1;

a、 b、 c、p->age d、(*p).age

二、程序填空题(每小题2分,共30分)

说明:阅读下列程序,在每小题提供的若干可选答案中,挑选一个正确答案。

1、判别闰年的条件为能被4整除但不能被100整除,或能被400整除,以下程序的功能是判断输入的年份是否是闰年,请填空。

#include <>

void main()

int y,f;

scanf("%d",&y);

if (y%400==0) f = 1;

else if ( 11f = 1;

else (12) ;

if ( 13) )printf("%d is", y);

else printf("%d is not", y);

printf(" a leap leap(闰) year");

11) a、y%4!=0&&y%100==0 b、y%4==0&&y%100!=0

c、y%4==0||y%100!=0d、y%4!=0||y%100==0

12) a、if(y%4!=0&&y%100==0) f=1b、if(y%4==0&&y%100!=0) f=0c、f=1d、f=0

13) a、f!=1 b、f==0c、f d、!f

2、输入一个正整数n,输出 2/1+3/2+5/3+8/5 +.的前n项之和,保留2位小数,请填空。(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)

#include <>

void main( )

int i,n;

float a, b, s, t;

scanf("%d", n);

for(i=1; i<=n; i++)

printf("%2f",s);

14) a、a=1; b=2; s=0; b、a=2; b=1; s=1; c、a=2; b=1; s=0; d、a=1; b=2; s=1;

15) a、t=ab、t=bc、a=td、b=t

16) a、b=a+b b、a=a+bc、a=bd、b = a

3、输入5个整数,找出最大数和最小数所在的位置,并把二者对调。然后输出最大数和最小数所在的位置,并输出调整后5个数的,请填空。

#include <>

void main()

int a[5],max,min,i,j,k;

for(i=0;i<5;i++)scanf("%d",&a[i]);

min=a[0];

for(i=0;i<5;i++)

if(a[i] for(i=0;i<5;i++)

if(a[i]>max)

printf("the position of min is:%3d",k);

printf("the position of max is:%3d", j);

for(i=0;i<5;i++)printf("%5d",a[i]);

17)a、i=j b、j=i c、k=id、i=k

18)a、i=j b、j=i c、k=id、i=k

19)a、a[k]=minb、a[j]=max

c、a[k]=max;a[j]=min d、a[j]=max; a[k]=min

4、输入10个整数,将它们存入数组a中,再输入一个整数x,然后在数组中查找x,如果找到,输出相应的下标(如有多个元素与x相等,只要输出下标值最小的那个元素的下标),否则,输出“not found” ,请填空。

#include <>

void main( )

int k, n, sub, x, a[10];

int fun(int *p, int n, int x);

scanf ("d", n);

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

scanf ("d", a[k]);

scanf ("d", x);

sub= (20) ;

if( (21) )printf("index is %d", sub);

else printf("not found");

int fun(int *p, int n, int x)

int k, index = 1;

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

if(*(p+k) =x) (22)

return index;

20)a、fun(a[n], n, xb、fun(a, n, x)

c、fun(int a,int n, int xd、fun(a,n, x)

21)a、sub !=1 b、sub !=0 c、sub ==1d、sub ==0

22)a、sub=k; b、break; c、

23)a、flag=0 b、flag==0 c、flag==1d、flag=1

24)a、a[k][i]!=0 b、a[i][k]==0 c、a[i][k]!=0d、a[k][i]==0

25)a、flag=0 b、flag==0 c、flag==1d、flag=1

三、程序阅读题(每小题3分,共30分)

说明:阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

c语言试卷c

a.p q c.p n1 10 若有说明语句 int a,b,c,d c 则能从键盘读入三个整数分别赋给变量a b c的语句是。a.scanf d d d a,b,d b.scanf d d d a,b,d c.scanf d d d a,b,dd.scanf d d d a,b,d 11 c语言标...

C语言试卷A

青海大学试卷 a卷 系别 班级学号姓名。考试课程 程序设计基础 c 考试日期 2009 年 12月17日。注 所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回。一 填空题 每空1分,共16分 1 整型静态数组没有初始化,也没有赋值,此时数组元素的值均为 0 2 数组在内存中占...

C语言试卷

一 填空共5题 共计10分 第1题 2.0分 题号 339 赋值运算符的结合性是由 右 至 左 第2题 2.0分 题号 925 在c 语言结构化程序中,函数 是程序的基本组成单元 在c 语言的面向对象设计框架中,对象 是程序的基本组成单元。第3题 2.0分 题号 926 c 语言的参数传递机制包括传...