浙江大学城市学院。
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 语言的参数传递机制包括传...