2010年C语言期中笔试题答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

期中测试答案
一、选择题
以下说法中正确的是
AC语言程序总是从第一个楚义的函数开始执行:
B C语言程序中至少有一个main函数:
C C语言程序总是从main函数开始执行:
DC语言程序中的main函数必须放在程序的开始部分:参考答案C
在C程序中,main ()函数的位置是
A必须作为第一个函数;
B必须作为最后一个函数:
C町以任意;
D必须放在它所调用的函数之后:
参考答案
C
下列运算符中,结合方向为自左向右的是
A?:
B,
C+=
D++
参考答案
B
下列关于C语言的叙述错误的是
A大写字母和小写字母的意义相同
B不同类型的变量可以在一个表达式中
C在赋值表达式中等号㈢左边的变虽和右边的值可以是不同类型D同一个运算符号在不同的场合可以有不同的含义参考答案
A
逗号表达式"(a=3*5,a*4),a+15"的值是
A 15
B60
C30
D不确定
参考答案
C
已知int x=5,y=5,z=5:执行语句x%=y+2:后,x的值是
A0
B1
C5
D6
参考答案
C
设a=2,则赋值表达式a+=a-=a*a的值是
A-4
B4
CO
D-2
参考答案
A
若变量已正确定义并赋值,下而符合C语言语法的表达式是Aa:=b+1
B a=b=c+2
Cint 18・5%3
D a=a+7=c+b
参考答案
B
C语洋的switch语句中,case后
A只能为常量
B只能为常量或常量表达式
C町为常量及表达式或有确是值的变S及表达式
D可为任何量或表达式
参考答案
B
有如下程序段:
int X =1, y=l;
int m y n;
m=n=l;
switch (m)
{case 0 : x=x*2;
case 1: {
switch (n)
{case 1: x=x*2;
case 2 : y=y*2;break;
case 3 : x++;
case 2 : x++;y++;
case 3 : x*=2;v*=2;break;
default:x++;y++;
执行完成后,X和y的值分別为()
B x=2 y=l
C x=2 y=2
D x=7 v=7 参考答案 A main() {int a = l,b = 3,c=5,d=4,x; if{a<b) if{c<d)x=l;
else if{a<c) if(bvd) x=2;
else x=3;
else x=6;
else x=7; printf("x=%cf:x);
Al
B2
C3
D6
参考答案
B
以下程序的输出结果是。

main()
{int a=0,b=l,c=0,d=20;
if(a) d=d-10:
else if(!b)
if(!c) d=15:
else d=25:
pnntf("d=%d\n",d);
Ad=10
Bd=15
Cd=20
Dd=25
参考答案
c
下而程序的输出结果为。

main()
{int a=l,b=O:
{case 1: switch (b)
{case0: p case 1: printf("**l**"):
* *0* ♦
B #*Qiii***2**
C ♦♦0***#]車車**2**
D 有语法错误
参考答案
B
以下程序的输出结果是()
main()
{int m=5;
if{m++>5) printf("%d\rV :m); else
pnrUf("%d\rV :m ----------- );
A4
B5
C6
D7
参考答案
c
有程序段:
int n=l : do{ n=++n*5;} while(n=10);
则此循环的循环体()
A 执行1次
B 执行2次
C 不执行
D 执行无限次 参考答案
D
有程序段:
int j=0,k=0/a=0;
while(j<2)
{j++;
a=a+l;
case2:printfr**2**"): break ;
break ;
break ;
k=O; while(k<=3) {k++; if(k%2!=0) contin ue; a=a+l;
a=a+l;
执行完成后用的值为()
A4
B6
C8
DIO
参考答案
c
语句while(! e):中的条件!e等价于
Ae==0
Be!=0
Ce! = l
D隹
参考答案
A
以下程序段是()
X=—1;
do
{x=x*x;} whilefix);
A死循环
B循环执行两次
C循环执行一次
D有语法错误
参考答案
C
设有程序段
int k = 10;
while (k=0) k ------ ;
则下面描述中正确的是()
A循环执行10次
B循环是无限循环
C循环体语句一次也不执行
D循环体语句执行一次
参考答案
C
以下程序的输出结果是() main()
{int i jm=O;
for{i = l;i<15;i+ = 4)
for(j=3;jv=19;j+=4) m++; printf("%d;m);
A12
B15
C20
D25
参考答案
c
二、填空题
若有inta=5,c=4;则表达式(——a==++c) ?——a:CK的值是_1_此时C的存储单元的值为2 •
参考答案
1: 5
2: 6
请阅读以下程序并填空。

main()
{int s’gb; scanf("%d,%d",&a,&b);
s = l;t = l;
if(a>0) s+ = l;
if(a>b) t+ = s;
else if(a = =b) t = 5; else t = 2*s;
printf("s = %d,t = %d"/S,t);
为了输出结果t=4,输入量a和b应满足的条件是_:1_;为了输出结果S=1A= 5,输入量a和b应满足的条件是_2_・
参考答案
1: 0<a<b
2: a=b<=0
以下程序输出的结果是1 O
main()
{int a=5,b=4,c=3;d; d=(a>b>c); pnntf{"%d\n^d);
参考答案
1: 0
有以下程序段:
5 = 1.0;
for(k=l;k< = n;k++)
s = s+1.0/(k*(k+l));
printf("% 化S);
请填空,使下面的程序的功能完全与之相等。

5 = 0.0;
k=0;
do
{s = s+d;
d = 1.0/(k*(k+l));
while(_3_);
printf("% 化s);
参考答案
1: d=1.0
2: k=k+l 或k++
3: k<=n
在C语言中,实现循环的语句有:if-goto语句、语句、_2_语句和3语句。

参考答案
1:while
2: do-while
3: for
问答题
有以下程序
mainO
{charabC/d; scanf("%c,%c,%d,%d"',&a,&b,&G&d); p rintf("%c,%c,%c,%c\n'\a,b,c,d);
若运行时从键盘上输入:6565,66<回车沢则输出结果是()o
A 6,5 AB
B 6,5,65,66
C 6,565
D 6,566
参考答案
A
执行下而程序得到的结果是
#include <stdio.h>
main ()
{int a=10,b=0;
if (a=12)
{a=a+l,b=b+l;
else
{a=a+4jb=b+4;
printf("%d;%d"\nab);
参考答案
13:1
阅读以下程序,若输入80V回车>,写出程序运行结果。

#include<stdio.h>
void main()
{intx;
scanf("%d ",&x);
if (x>=60)
printf("pass");
else
printf(%『');
参考答案
pass
有如下程序:
#includQ"stdi6h"
main()
{int n=0;
while(n<=4) switch(n)
{case 0:;
case 1: printf("%ct"m);
case 2 : printf("%d 角n++); break; default: printf("""); n++; 集执行的输出结果为
参考答案
0, 0, 1, Ir 2, ****
如下程序段:
for (int i=0;i<8;i++)
printf ("%dJ++i);
printf ("%dJi卄);则此程序段的输出结果为
参考答案
1, 3, 5, 7, 8
四、编程题
1
#include ttdio.h"
main()
{ float x,sum=O;
int 1=0;
printfC'please input 10 numbers(-10e6<x<10e6)\n'');
while(i<10)
{ scanfC% 化&x);
sum=sum+”x; i=i+l;
printf("the sum of 10 numbers is %.2f\n"'Sum);
2-见教材p25例2・9。

相关文档
最新文档