浙江传媒学院C语言程序设计期终考试A卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浙江传媒学院《C语言程序设计》期终(考试)(A)卷
2005—2006 学年第二学期任课教师
系班姓名学号得分
一、选择题(共40分,每小题2分)
1、组成C语言程序的是()
A、过程
B、函数
C、子程序
D、主程序和子程序
2、下列字符序列中,合法的标识符是()
A、S.b,sum,average,_above
B、class,day,louts_1,2day
C、#md,&12x,momth,student_n1
D、D56,r_1,name,_st_1
3、设n=10,i=4,则赋值运算n%=i+2执行后,n的值为()
A、0
B、2
C、4
D、6
4、下述程序的输出结果是()
#include
void main()
{ int x=-1,y=3,k;
k=x++<=0&&!(y--<=0);
printf(“%d,%d,%d”,k,x,y);
}
A、0,0,3
B、0,1,2
C、1,0,2 D1,1,3
5、执行下面程序中输出语句后, a的值是()
void main()
{ int a;
printf("%d\n",(a=4*5,a*4,a+5));
}
A、85
B、80
C、25
D、20
6、执行下列程序时输入:1234567,程序的运行结果为()
void main()
{ int x,y;
scanf(“%2d%*2c%2d”,&x,&y);
printf(“%d\n”,x+y);
}
A、57
B、68
C、17
D、46
7、为了避免嵌套的条件语句if-else的两义性,C语言规定:else与()配对
A、缩排位置相同的if
B、其之前最后的if
C、其之后最近的if
D、同一行上的if
8、执行下列程序,当输入2时输出的结果是()
void main()
{ int k;
scanf(“%d”,&k);
switch(k){
case 1: printf(“%d\n”,k++);
case 2: printf(“%d\n”,k++);
case 3: printf(“%d\n”,k++);
case 4: printf(“%d\n”,k++);
break;
default:printf(“Full!\n”);
}
}
A、1
B、2
C、2
D、1
3 2
4 3
5 4 9、以下for语句构成的循环执行的次数为()
#include
#define N 2
#define M N+1
#define NUM (M+2)*M/2
void main()
{ int i,n=0;
for(i=0;i<=NUM;i++){
n++;
printf(“%d”,n);
}
printf(“%d”,n);
}
A、7
B、9
C、11
D、13
10、在循环体中执行break语句,其作用是()
A、终止程序运行
B、继续执行break语句之后的循环体各语句
C、结束本次循环,进行下次循环
D、跳出该循环体,提前结束循环
11、对于for(表达式1;;表达式3)可理解为()
A、for(表达式1;0;表达式3)
B、for(表达式1;1;表达式3)
C、for(表达式1;表达式1;表达式3)
D、for(表达式1;表达式3;表达式3)
12、若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能表示 a数组元素的表达式是()。
A.a[*p] B.a[10] C.*a D.a[p-a]
13、以下对二维数组a进行不正确初始化的是()
A、int a[ ][3]={3,2,1,1,2,3};
B、int a[ ][3]={{3,2,1},{1,2,3}};
C、int a[2][3]={{3,2,1},{1,2,3}};
D、int a[ ][ ]={{3,2,1},{1,2,3}};
14、执行下面程序段后,其输出结果是()
char str[ ]=”ab\056\n\0/2\\\n”;
printf(“%d”,strlen(str));
A、3
B、4
C、2
D、12
15、下面函数的功能是()
int fun(char s[ ], char t[ ])
{ int i=-1;
while(++i,s[i]==t[i]&&s[i]!=’\0’);
return (s[i]==’\0’&&t[i]==’\0’);
}
A、比较字符串s和t的长度
B、比较字符串s和t的大小
C、比较字符串s和t是否相等
D、将字符串t赋给字符串s
16、#define能作简单的替代,用宏来替代计算多项式3*x*x+2*x+1的值的函数f,正确的宏定义语句为()
A、#define f(x) 3*x*x+2*x+1
B、#define f 3*x*x+2*x+1
C、#define f(a) (3*a*a+2*a+1)
D、#define (3*x*x+2*x+1) f(x)
17、下面vc编译环境下的程序有两个printf语句,如果第1个printf语句输出的是194,则第2个printf语句的输出结果是()
void main()
{ int a[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf(“%x\n”,p);
printf(“%x\n”,p+8);
}
A、224
B、226
C、1b4
D、1b6
18、设有定义语句“int w[3][4]={{0,1},{2,4},{5,8}}, (*p)[4]=w;”,则数值为4的表达式是()
A、*w[1]+1
B、p++,*(p+1)
C、w[2][2]
D、p[1][1]
19、下述程序输出结果是()
#include
void main()
{ int a[3][4]={{1,2,3,4},{3,4,5,6},{5,6,7,8}};
int i, (*p)[4]=a,*q=a[0];
for(i=0;i<3;i++){
if(i==0)
(*p)[i+i/2]=*q+2;
else
p++,++q;
}
for(i=0;i<3;i++)
printf(“%d,”,a[i][j]);
}