第一阶段测试卷
考试科目:《计算机语言(C)》第1章至第6章(总分100分)
时间:90分钟
学习中心(教学点) 批次: 层次:
专业: 学号: 身份证号:
姓名: 得分:
一、选择题(每题2分,共30分)
1.C语言程序由( )组成。
A. 子程序 B.过程 C.函数 D.主程序与子程序
2.当a的值为5,b的值为4时,逻辑表达式a<=6&&a+b>8的值为( )。
A. true B. false C.非0整数值 D.整数值0
3. 下面四个选项中,均是不合法的用户标识符的选项是( )。
A. _A B. HAR C. b_a D. 1_23
P1 c3 INT do
C_2 a2 er1 int
4.在c语言中,错误的语句是( )。
A. a=b=c; B. ; C. break D. b=3*5,a*=4;
A. a=b=c; B. ; C. break D. b=3*5,a*=4;
5.设a、b和c都是int型变量,且a=3,b=4,c=5,则以下表达式中值为0的是 ( )。
A.a&&b B. a<=b C. a||b+c&&b-c D. !((a<b)&&!c||1)
6.若int类型数据占两个字节,则执行以下语句的输出为( )。
int x=-1;
printf(“%d,%u\n”,x,x);
A.a&&b B. a<=b C. a||b+c&&b-c D. !((a<b)&&!c||1)
6.若int类型数据占两个字节,则执行以下语句的输出为( )。
int x=-1;
printf(“%d,%u\n”,x,x);
A.1, 1 B. –1,32767 C.–1,32768 D. –1,65535
7. 以下程序的运行结果是( )。
main()
{ int m=5;
if(m++>5) printf(“%d\n”,m);
else printf(“%d\n”,m--);}
A.4 B.5 C.6 D.7
7. 以下程序的运行结果是( )。
main()
{ int m=5;
if(m++>5) printf(“%d\n”,m);
else printf(“%d\n”,m--);}
A.4 B.5 C.6 D.7
8. 设a为整型变量,初值为12,执行完语句a+=a- =a*=a后,a的值是( )。
A.-552 B.-120 C.-264 D. 0
A.-552 B.-120 C.-264 D. 0
9. 以下所列字符常量中,不合法的是( )。
A.'/Oxff' B.'\65' C.'$' D.'\xla'
10.以下不致造成死循环的语句是( )。
A.for(y=0,x=1;x>++y;x=i++) i=x;
A.for(y=0,x=1;x>++y;x=i++) i=x;
B.for(;;x+=i);
C. while(x=8) x--;
D.for(i=10,sum=0;sum<=i;) sum=--i;
11.while语句的嵌套流程图 执行以下程序段后,变量a,b,c的值为( )。
int x=11,y=10,a,b,c;
a=(--x==y++)?--x:++y;
b=x++; c=y;
A.a=10,b=10,c=9 B. a=9,b=9,c=12
C. a=9,b=9,c=11 D.a=1,b=9,c=11
C. while(x=8) x--;
D.for(i=10,sum=0;sum<=i;) sum=--i;
11.while语句的嵌套流程图 执行以下程序段后,变量a,b,c的值为( )。
int x=11,y=10,a,b,c;
a=(--x==y++)?--x:++y;
b=x++; c=y;
A.a=10,b=10,c=9 B. a=9,b=9,c=12
C. a=9,b=9,c=11 D.a=1,b=9,c=11
12. 执行下列程序段后,变量i的值是( )。
int i=10;
switch(i) {
case 9:i+=1;
case 10:i+=1;
case 11:i+=1;
int i=10;
switch(i) {
case 9:i+=1;
case 10:i+=1;
case 11:i+=1;
default:i+=1;
}
A.13 B.12 C.11 D.14
}
A.13 B.12 C.11 D.14
13.根据定义和数据的输入方式,输入语句的正确形式为( )。
已有定义:float f1,f2;
数据的输入方式:4.52
3.5
A. scanf(“%f,%f”,&f1,&f2); B. scanf(“%f%f”,&f1,&f2);
C. scanf(“%3.2f %2.1f”,&f1,&f2); D. scanf(“%3.2f,%2.1f”,&f1,&f2);
14. 以下程序的输出是( )。
main( )
{ int a=2,b=5;
printf(“a=%%d,b=%%d\n”,a,b);
}
A. a=2,b=5 B. a=%2,b=%5
已有定义:float f1,f2;
数据的输入方式:4.52
3.5
A. scanf(“%f,%f”,&f1,&f2); B. scanf(“%f%f”,&f1,&f2);
C. scanf(“%3.2f %2.1f”,&f1,&f2); D. scanf(“%3.2f,%2.1f”,&f1,&f2);
14. 以下程序的输出是( )。
main( )
{ int a=2,b=5;
printf(“a=%%d,b=%%d\n”,a,b);
}
A. a=2,b=5 B. a=%2,b=%5
C. a=%%d,b=%%d D. a=%d,b=%d
15. 设a和b为整型变量,执行以下语句:
b=(a=2+3,a*4),a+5;后a和b的值分别为( )。
A. 5,10 B. 20,25 C. 5,25 D. 5,20
b=(a=2+3,a*4),a+5;后a和b的值分别为( )。
A. 5,10 B. 20,25 C. 5,25 D. 5,20
二、填空题(每空3分,共45分)
1.break语句的功能 ,contitue语句的功能 。
2.字符串”\\\’abcd\123\xAB\t”的长度为 。
2.字符串”\\\’abcd\123\xAB\t”的长度为 。
3.设x=2,y=3,表达式x=y==3运算后,其值是 。
4.设有 如下的说明:int I=3,j=5,m;
问:执行语句m=(I++)-(--j);后,m的值为 ,j的值为 。
5.设变量a是int型,f是float型,i是double型,则表达式10+’a’+i*f值的数据类型为 。
问:执行语句m=(I++)-(--j);后,m的值为 ,j的值为 。
5.设变量a是int型,f是float型,i是double型,则表达式10+’a’+i*f值的数据类型为 。
6.下述程序段的循环次数是 次,输出结果是 。
int x=0,y=0;
do
{ y++;
x*=x;
}while(x>0&&y>5)
printf(“y=%d,x=%d”,y,x);
7.下程序的功能是用二分法求方程2x3-4x2+3x+6=0的根,并要求绝对值误差不超过0.001。
#include”math.h”
main( )
{ float ab,a= 10.0,b=10.0,fab,fa,fb;
fa=2*a*a*a+ 4*a*a+3*a+ 6;
fb=2*b*b*b +4*b*b+3*b+ 6;
do{ ab= ;
fab=ab*((2*ab+ 4)*ab+3)+ 6;
#include”math.h”
main( )
{ float ab,a= 10.0,b=10.0,fab,fa,fb;
fa=2*a*a*a+ 4*a*a+3*a+ 6;
fb=2*b*b*b +4*b*b+3*b+ 6;
do{ ab= ;
fab=ab*((2*ab+ 4)*ab+3)+ 6;
if(( )>0)
{ a=ab; fa=fab;}
else
{ b=ab; fb=fab; }
}while(fabs(fab)>= 1e-3 );
printf(“%d\n”,ab);
}
{ a=ab; fa=fab;}
else
{ b=ab; fb=fab; }
}while(fabs(fab)>= 1e-3 );
printf(“%d\n”,ab);
}
8.以下程序打印所有符合下列条件的3位正整数:是某一个数的平方数,其中有两位数字相同。如100、121等。
main( )
{int a,b,c,n,k;
for(k=10;;k++)
{n= ;
if(n>999) ;
a=n/l00;
main( )
{int a,b,c,n,k;
for(k=10;;k++)
{n= ;
if(n>999) ;
a=n/l00;
b= n%100/10 ;
c=n%10;
if(!((a-b)*(b-c)*(c-a)))printf("\n%d,%d",n,k);
}
}
c=n%10;
if(!((a-b)*(b-c)*(c-a)))printf("\n%d,%d",n,k);
}
}
9. 以下程序的功能是
#include <stdio.h>
main()
{int I,j=0;
for(I=16;I<=1000;I++)
{if(I%17!=0)continue;
j++;
printf((j==4)?j=0,"%d\n":"%d\t",I);
}
}
#include <stdio.h>
main()
{int I,j=0;
for(I=16;I<=1000;I++)
{if(I%17!=0)continue;
j++;
printf((j==4)?j=0,"%d\n":"%d\t",I);
}
}
10. #include “stdio.h”
main()
{ char c;scanf(“%c”,&c);
switch(c-‘2’)
{case 0:
case 1: putchar(c+4);
case 2: putchar(c+4);break;
case 3: putchar(c+3);
default: putchar(c+2);break;}
printf(“\n”);}
当分别输入1,2,3,4,5时,输出为 。
main()
{ char c;scanf(“%c”,&c);
switch(c-‘2’)
{case 0:
case 1: putchar(c+4);
case 2: putchar(c+4);break;
case 3: putchar(c+3);
default: putchar(c+2);break;}
printf(“\n”);}
当分别输入1,2,3,4,5时,输出为 。
三、编程题(共25分)
1.编程, 打印以下图形(10分)
A
A
B*B
C***C
D*****D
E*******E
D*****D
C***C
B*B
A
C***C
D*****D
E*******E
D*****D
C***C
B*B
A
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论