c语言试卷及答案1 下载本文

内容发布更新时间 : 2024/10/22 7:52:22星期一 下面是文章的全部内容请认真阅读。

浙江理工大学

C程序设计 试题(一)

试题二、语言基础题(本题共30分)

(一)判断题(本题共10分,每小题1分)

说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。 (16) C语言程序的三种基本结构是顺序、选择和嵌套。 (17) 在C语言程序中,在函数内部定义的变量称为全局变量。 (18) 运算符“=”和“&=”的优先级相同。 (19) ‘%f’是不正确的字符常量。 (20) 运算符“+”不能作为单目运算符。

(21) 如果运算符“*”和“/”都是右结合的,则表达式10*6/5的值是10。 (22) s(s-a)(s-b)(s-c)是合法的C语言表达式。 (23) 表达式!!6的值是6。 (24) 表达式~(~2<<1)的值是5。

(25) 对于变量定:int a[10],*p=a+8;数组a的最后一个元素是p[1]。

(二)单选题(本题共20分,每小题2分)

(26) 执行语句 printf(\ (26) \,\;将得到出错信息。

A、%u

B、%s

C、%e

D、%d

(27) 设c是一个字符变量,求解表达 (27) 后,c的值不是1就是0。

A、 c=getchar()!=’\\n’ B、(c=getchar()!)=’\\n’ C、 c=’1’ D、 c=EOF

(28) 下列定义中, (28) 定义的变量可以存放-123.4。

A、long a; C、int d;

B、unsigned b; D、float c;

(29) 对于变量定义;char *pp[100],pp是一个 (29) 。

A、函数

B、数组元素

C、指针变量

D、数组

(30) 下列程序段的输出结果是 (30) 。

char *st[ ]={ \ printf(\ A、(MOON,M)

B、(OON,C)

C、(OON,Q)

D、(OON,A)

(31) 对于以下的变量定义,表达式 (31) 是不正确的。 struct node {

float x,y;

char s[10] ; } point,*p=&point;

A、p→x=2.0 C、point.x=2.0

B、(*p).y=3.0 D、p→s=\

(32) 下列程序段的输出结果是 (32) 。

int a=10,b=0; if (a>15) b=1;

else if (a<2) b=2; else b=3

printf(\;

A、3

B、2

C、1

D、0

(33) 只有当输入数据满足1<=month<=12时,循环语句 (33) 才能正常退出。

A、do{

scanf(\ ;

} while (month>=1‖month<=12); B、do{

scanf(\ ;

} while (month>=1 && month<=12); C、do{

scanf(\ ;

} while (month<1‖month>12); D、do{

scanf(\ ;

} while (month<=1‖month>=12);

调用函数f(27)的输出结果是 (34) 。 void f(int n) { if (n<5)

printf(\ else

printf(\ f(n/5); } A、102 B、201 C、21

34)

D、20

(35) 下列程序段的输出结果是 (35) 。 int k=3,j=4; int *p=&k,*q=&j; (*p)--; j=k; (*q)--

printf(\

A、(2,1)

B、(1,2)

C、(4,3)

D、(3,3)

试题三、程序填空题(每空2分,共20分)

说明:阅读下列程序说明和相应的程序,在每小题提供的若干可选答案中,挑选一个正确答案。 程序1、

【程序说明】

输入一批以-1结束的整数,求偶数和。 【程序】

#include void main( ) { int x,sum; sum=0;

scanf(\ (36) {

if( (37) ) sum=sum+x; (38) ; printf(“sum=%d”,sum); }

(36) A、while(x==-1) C、if(x==-1) (37) A、x==2 C、x%2==0 (38) A、scanf(\ C、sum=0

程序2、 【程序说明】

a是一个3×3的矩阵,输入a的元素,如果a是下三角矩阵,输出“YES”,否则,输出“NO”。 (下三角矩阵,即对角线以上的元素都为0,主对角线为从矩阵的左上角至右下角的连线。)

【程序】

#include void main( ) { int flag,i,k; int a[3][3];

for (i=0;i<3;i++)

for (k=0;k<3;k++);

scanf(\”,&a[i][k]); (39) ;

for (i=0;i<3&&flag;i++)

for(k=i+1;k<3&&flag;k++) if( (40) ) (41) ; if (flag) printf(\ else printf(\ }

(39) A、flag=0 B、flag==0 (40) A、a[k][i]!=0 B、a[i][k]==0 (41) A、flag=0 B、flag==0

B、while(x !=-1) D、if(x!=-1) B、x%2==2 D、x/2==0

B、scanf(\ D、x=sum

C、flag==1 C、a[i][k]!=0 C、flag==1 D、flag=1 D、a[k][i]=0 D、flag=1