期末试卷二
一、单项选择题(每题1,45分)
1.下列变量名中,哪个是合法的(
AC&D Bstring$
Cchar D_213
2C语言程序的基本单位是(
A.程序行 B.语句 C.函数 D.字符
3.表达式a+b3的值是( (a=13.6,b=10)
A14.6 B15
C15.9 D16.6
4.保存一个C语言源程序的快捷键是(
A F1 B F2 C F3 D F4
5.字符串”tc20\nlib\101\\\’”含有多少个字符 (
A10 B11 C12 D13
6Putchar()函数可以向终端输出一个(
A. 整型变量或表达式值 B. 实型变量值
C. 字符串 D. 字符或字符型变量值
7.以下所列的C语言常量中,错误的是(
A 0xFF B2*5 C 2.5 D0456
8.下列不合法的C语言赋值表达式是(
Aa+=b-c Ba+b=c
Ca=b=c=1 Da*=++b+c
9.下列程序运行后的输出结果是(
main()
{ int y=3,x=3;
printf(“%d\n”,++x+y++);
}
A 5 B 8 C 7 D 6
10.若已正确定义xydouble类型,则表达式
x=1,y=x+3/2的值是(
A1 B2 C 2.0 D2.5
11.在C语言中运算对象必须是整型的运算符是(
A% B/ C= D*
12.若有以下定义:
char a; int b; float c;
则表达式a*b-c值的类型为(
A int B char C double D float
13.下列正确的C语言赋值语句的是(
Ax=3,y=5 Ba=b=1 Ci++; Dy=int(x)
14.有如下程序段:
int a1,a2; 
char c1,c2;
scanf("%d%c%d%c",& a1,&c1,&a2,&c2);
若要求a1a2c1c2的值分别为1020AB,正确的数据输入是(  )(<CR>表示回车)
A10A 20B<CR> B10 A 20 B<CR>
C10 A20B<CR> D10A20 B<CR>
15.有如下程序,输入数据:12345m678<CR>,x的值是(  )
  #include <stdioh>
main( )
{ int x; float y;
scanf("%3d%f", &x,&y);
}
A12345   B123 C45 D345
16.有如下程序,对应正确的数据输入是(
main( )
{ float a, b;
scanf("%f%f", &a,&b);
printf("a=%f,b=%f\n",a,b);
}
A 2.04<CR> B 2.04,5.67<CR>
5.67<CR>
C a=2.04,b=5.67<CR> D 2.045.67<CR>
17.有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,& c);
为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式是(
A132<CR>    B1,3,2<CR>  
Ca=1,b=3,c=2<CR>  Da=1 b=3 c=2<CR>
18.已知字母AASCII码是65,以下程序的执行结果是(
main( )
{char c1='A', c2='Y';
printf("%d,%d\n", c1, c2);
}
AA,Y B65,65 C65,90 D65,89
19.以下程序的执行结果是(
main( )
{ int a=2,b=5;
printf("a=%d,b=%d\n", a, b);
}
Aa=%2,b=%5 Ba=2,b=5  
Ca=%%d,b=%%d   Da=%d,b=%d
20.最适合解决选择结构x>0, y=1;否则y=0的语句是(
Aswitch B.嵌套的if-else Cif-else Dif
21.设整型变量x,yz的值依次为3,21,则下列程序段的输出结果是(
if(x>y)x=yif(x>z)x=z
printf(″%d,%d,%d\n″,x,y,z)
A1,1,1 B1,2,1 C1,2,3 D3,2,1
22.执行下列程序段后,变量x的值是(
int a=8,b=7,c=6,x=1;
if(a>6) if(b>7) if(c>8) x=2;else x=3;
A0 B1 C2 D3
23.运行下列程序的输出结果是(
main()
{ int a1=1,a2=1,a3=1,a4=1;
if (a1>0) a3++;
if (a1>a2) a3- -;
else if (a1= =a2) a3++;
else a3- -;
printf(″%d,%d,%d,%d\n″,a4,a3,a2,a1);
}
A1,1,1,1 B1,2,3,4
C4,3,2,1 D1,3,1,1
24.执行下列语句后,整型变量x的值是(
switch (x=1) { case 0:x=10;break;
case 1:switch (x=2) {case1:x=20;break;
case2:x=30;
}
}
A30 B20 C10 D1
25.以下说法中正确的是(
Acontinuebreak只能用在循环体中 Bcontinue只能用在循环体中
Cbreakprintf是不是c语句只能用在循环体中 Dcontinue只能用在循环体外
26.执行下列程序段的输出是(
m=8;
while (m>=5) m--,--m,n=m--- m;
pritnf (″%d,%d″,m,n);
A2, 0 B5,-1 C5,0 D5,1
27.设整型变量x的值为1,执行下列循环语句后,变量x 的值是(
do x++; while (x++<2);
A2 B3 C4 D5
28.执行下列语句后,变量k的值是(
for (k=0;k<=5;k++) do k++;
while (k<5);
A5 B6 C7 D8
29.下列程序段中,不能使变量m的值等于10的程序段是(
Am=0; Bdo m=0;
while (m++<9); while (m++<10);
Cfor (m=8;m<10;m++); Dm=0;
L:m++;if (m<10)goto L;
30.下列语句中不正确的是(
Astatic int a[5]={1,2,3,4,5};
Bstatic int a[5]={1,2,3};
Cstatic int a[]={0,0,0,0,0};
Dstatic int a[5]={0*5};
31.说明:int a[10];
则对a数组元素的正确引用是(
A a[10] Ba[35] C a(5) D a[10-5]
32.下面程序的运行结果是(
main()
{ int a[6],i;
for(i=1;i<6;i++)
{a[i]=9*(i-2+4*(i>3))%5;
printf(“%2d”,a[i]);
}
}
A -4 0 4 0 4 B -4 0 4 0 3
C -4 0 4 4 3 D -4 0 4 4 0
33.以下程序的输出结果是(
main()
{ int n[2]={0},i,j,k=2;
for(i=0;i<k;i++)
for(j=0;j<k;j++)
n[j]=n[i]+1;
printf(“%d\n”,n[1]);
}
A1 B 3 C 2 D 4
34.下面程序的输出结果是(
main()
{char s[]=”cat and mouse”;
int j=0;
while(s[j]!=’\0’) ++j;
printf(“%d\n”,j);
}
A 11 B 0 C12 D13
35.下面程序的运行结果是(
#include <stdio.h>
main()
{char a[10]=”student”;
char b[10]=”boy”;
int n;
n=strlen(a)+strlen(b);
printf(“%d”,n);
}
A 7 B 10 C12 D20
36.以下程序的输出结果是(
void funint a,int b,int c
{ a=456b=567c=678 }
main()
{ int x=10,y=20,z=30funx,y,z);
printf"%d,%d,%d\n",x,y,z); }
A.30,20,10 B.10,20,30
C.456,567,678 D.678,567,456
37.以下说法中正确的是(
.C语言程序总是从第一个定义的函数开始执行。
.在C语言程序中,要调用的函数必须在main()函数中定义。
.C语言程序总是从main()函数开始执行。
.C语言程序中的main()函数必须放在程序的开始部分。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。