c语言考试及答案
———————————————————————————————— 作者:
———————————————————————————————— 日期:
浙江理工大学
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。
c语言程序分析题及答案(25) 对于变量定:int a[10],*p=a+8;数组a的最后一个元素是p[1]。
(二)单选题(本题共20分,每小题2分)
(26) 执行语句 printf(" (26) ","A");将得到出错信息。
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; B、unsigned b;
C、int d; D、float c;
(29) 对于变量定义;char *pp[100],pp是一个 (29) 。
A、函数 B、数组元素 C、指针变量 D、数组
(30) 下列程序段的输出结果是 (30) 。
char *st[ ]={ "SUM","MOON","STAR","X"};
printf("(%s,%c) ",*(st+1)+1,*(*(st+2)+2)+2)
printf("(%s,%c) ",*(st+1)+1,*(*(st+2)+2)+2)
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;
float x,y;
char s[10] ;
} point,*p=&point;
A、p→x=2.0 B、(*p).y=3.0
C、point.x=2.0 D、p→s="a"
(32) 下列程序段的输出结果是 (32) 。
int a=10,b=0;
int a=10,b=0;
if (a>15)
b=1;
else if (a<2)
b=2;
else
b=3
printf("%d",b);
b=1;
else if (a<2)
b=2;
else
b=3
printf("%d",b);
A、3 B、2 C、1 D、0
(33) 只有当输入数据满足1<=month<=12时,循环语句 (33) 才能正常退出。
A、do{
scanf("%d",&month) ;
} while (month>=1‖month<=12);
scanf("%d",&month) ;
} while (month>=1‖month<=12);
B、do{
scanf("%d",&month) ;
} while (month>=1 && month<=12);
} while (month>=1 && month<=12);
C、do{
scanf("%d",&month) ;
} while (month<1‖month>12);
scanf("%d",&month) ;
} while (month<1‖month>12);
D、do{
scanf("%d",&month) ;
} while (month<=1‖month>=12);
scanf("%d",&month) ;
} while (month<=1‖month>=12);
34) 调用函数f(27)的输出结果是 (34) 。
void f(int n)
{ if (n<5)
printf("%d",n);
else
printf("%d",n%5);
void f(int n)
{ if (n<5)
printf("%d",n);
else
printf("%d",n%5);
f(n/5);
}
}
A、102 B、201 C、21 D、20
(35) 下列程序段的输出结果是 (35) 。
int k=3,j=4;
int *p=&k,*q=&j;
(*p)--;
j=k;
(*q)--
printf("(%d,%d) ",k,j);
int k=3,j=4;
int *p=&k,*q=&j;
(*p)--;
j=k;
(*q)--
printf("(%d,%d) ",k,j);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论