C语言期中试卷(含答案)

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

《 C语言》课程期中考试试卷

一. 在A B C D四个选项中,选择一个正确的答案填入括号内

( )1、用char定义的变量在IBM PC机中能表示的数的范围是:

A) 0 ~+255 B) 0 ~+65535

C) -128 ~+127 D) 只能存字符,不能存数

( )2、设有int k=2; 则执行printf(“%d”,k++);的输出为:

A) 0 B) 1 C) 2 D) 3

()3、在while(!x)中,!x与______等价。

A) x==0 B) x!=0 C) x==1 D) x!=1

()4、设有声明int value=‟5‟;,则执行下列选项的赋值语句后,value的值不等于5的是_____。

A.) value=value - ‟0‟; B) value=value - 0x30;

C) value=value - 49; D) value=value - ‟\060‟;

()5、如int k=7;float x=2.5,y=4.7; 则表达式 x+k%3*(int)(x+y)%2/4 运算后的值是:

A) 0 B) 2 C) 2.5 D) 2.75

( ) 6、若有int a,b;则语句:printf("%d",(a=2)&&(b=-2);的输出结果是:

A)无输出 B)结果不确定 C)-1 D)1

( ) 7、设有int a=2; 则执行printf("%d",5>a>1);的输出为:

A)0 B)1 C)2 D)3

( ) 8、执行语句c=(a=2,a+1,b=a++);后, a,b,c的值依次为:

A)2,3,4 B)3,3,3 C)4,5,4 D)3,2,2

( )9、以下程序的输出结果是

A)2 0 B)3 1 C)3 2 1 D)2 1 0

main( )

{ int n=4;

while(n--)printf("%d ",--n);

}

( )10、给出以下定义:

char x[ ]="abcdef";

char y[ ]={'a','b','c','d','e','f'};

则正确的叙述为

A) 数组x和数组y等价 B) 数组x和数组y的长度相同

C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度

( )11、若对一个函数调用在前, 定义在后,C语言将视其返回值为__________类型。

A) void B) int C) float D) 不合法

( )12、如果用数组名作为函数调用的实参, 传递给形参的是_________。

A) 数组的首地址 B) 数组元素的个数

C) 数组的第一个元素的值 D) 数组中全部元素的值

二、填空题

1.C语言中的标识符可以由三种字符组成,它们是_ __、__ 和_ _。

2. 关键字case和default只能在__ _ 语句中出现。

3. 若有说明int a [][4]={1, 2,3,4,5,6,7,8, 9};,则数组a第一维的大小是____。

4.有声明: int a[3][4]={{1,2},{3},{6,7,8,8}}; 则a[1][2]的初值是____,

a[2][1]的值是______。

三、阅读程序,写出其输出结果

1. 设输入为:3 3↙ (其中”↙”表示回车),则下面程序的输出是:___ ___

main()

{ int k,t,a,n; long s;

scanf(“%d%d”,&a,&n);

for(s=t=k=0;k

{ t=t*10+a;

s+=t;

}

printf(“s=%ld”,s);

}

2.若以下程序输入为5,8 ↙,则输出为: ___

swap(int x, int y)

{ int t;

t=x;x=y;y=t;

}

main()

{ int a,b;

scanf(“%d,%d”,&a,&b);

swap(a,b);

printf(“a=%d,b=%d”,a,b);

}

3. 设输入为: C++ ProGraming LangUage↙ (其中”↙”表示回车),下面C程序的输

出是:__ _

#include

main()

{ int n1,n2,n3; char ch;

n1=n2=n3=0;

while((c=getchar())!=‟\n‟)

if(c>=‟A‟&&c<=‟Z‟) n1++;

else if(c>=‟a‟&&c<=‟z‟) n2++;

else n3++;

printf(“n1=%d,n2=%d,n3=%d\n”,n1,n2,n3);

}

4.以下程序运行时,输出结果的第一行是,第二行是__ __ 。

#include

void change(int x,int m)

{ char ch[]={’0’,’l’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’},b [80];

int i=0,r;

while(x)

{ r=x%m; x/=m;

b[i++]= ch[r];

}

for(--i; i>=0; i--)

printf(“%c”,b[i]);

}

main()

{ int a,b;

change(10,2);

相关文档
最新文档