“C程序设计及实验”试题卷
注意:答题内容必须写在答题卷上,写在本试题卷上无效
一.单项选择题(每题1分,共10分)
1.下列运算符中,优先级最低的是_____。
A.<< | B.!= | C.&& | D.= |
2.以下选项中不正确的整型常量是_____。
A.0xa | B.010L c十十程序设计语言 | C.10 | D.1.0 |
3.表达式 !(x>0||y>0) 等价于_____。
A.!(x>0)&&!(y>0) | B.!x>0&&!y>0 | C.!x>0||!y>0 | D.!(x>0)||!(y>0) |
4.表达式______的值不是0。
A.1/2 | B.!’\0’ | C.!EOF | D.NULL |
5.若 x 是浮点型变量,表达式 (x=10/4) 的值是_____ 。
A.2.5 | B.2.0 | C.3 | D.2 |
6.若变量已正确定义并赋值,表达式______不正确。
A.a&b | B.a^b | C.&&x | D.a, b |
7.对于变量定义 int a[10], *p=a;,表达式______是不正确的。
A.a[9] | B.p[5] | C.*p++ | D.a++ |
8.不正确的赋值或赋初值的方式是______。
A.char str[10]; str="string"; | B.char str[ ]="string"; |
C.char *p="string"; | D.char *p; p="string"; |
9.设程序中不再定义和声明变量,写出在函数fun中可以使用的所有变量______。
#include <stdio.h>
void fun(int x)
{ static int y;
……
return;
}
int z;
void main( )
{ int a,b;
fun(a);
……
}
A.x, y | B.x, y, z | C. a,b,y,z | D.a,b,x,y,z |
10.对于变量定义 int p[5], *a[5];,表达式______是正确的。
A.p=a | B.p[0]=a | C.*(a+1)=p | D.a[0]=2 |
二、填空题(每题2分,共30分)
1.数组定义为 int a[2][3][4],则数组a 中有_____个数组元素。
2.计算下列分段函数的条件表达式是______。
1 x>0
y= 0 x=0
-1 x<0
3.表达式 1<10<5 的值是______。
4.表达式 ~(10<<1)&4的值是______。
5.表达式sizeof(“hello”)的值是______。
6.下列程序段的输出结果是_____。
int k, s;
for(k=1, s=0; k<10; k++){
if (k%2==0) continue;
s += k;
}
printf("k=%d s=%d", k, s);
7.下列程序段的输出结果是_____。
#define MM(x,y) (x*y)
printf("%d", MM(2+3,15));
8.下列程序段的输出结果是_____。
int k=1, s=0;
switch (k) {
case 1: s+=10;
case 2: s+=20; break;
default: s+=3;
}
printf("k=%d s=%d", k, s);
9.下列程序的输出结果是_____。
# include <stdio.h>
int f( )
{ static int k;
return ++k;
}
void main( )
{ int k;
for(k=0;k<3;k++)
printf("%d#", f( ));
}
10.下列程序的输出结果是_____。
f (int x)
{
if(x<=1) return 1;
else return f(x-1)+f(x-2);
}
void main( )
{ printf("%d", f(4));
}
11.下列程序段的输出结果是_____。
int k=1, j=2, *p, *q, *t;
p=&k; q=&j;
t=p; p=q; q=t;
printf("%d, %d",*p, k);
12.下列程序段的输出结果是_____。
int c[ ]={10, 30, 5};
int *pc;
for(pc=c; pc<c+2; pc++)
printf("%d#", *pc);
13.下列程序段的输出结果是_____。
char *st[ ]={"ONE","TWO","FOUR","K"};
printf("%s, %c\n", *(st+2), **st+1);
14.下列程序的输出结果是_____。
#include <stdio.h>
void p(int *x,int y)
{ ++ *x;
y=y+2;
}
void main()
{ int x=0, y=3;
p(&y, y);
printf("%d, %d", x, y);
}
15.用typedef定义一个10个元素的字符指针数组类型CP。
三、程序阅读题(每题5分,共30分)
1.下列程序的输出结果是_______。
#include <stdio.h>
void main( )
{
int k, x, s, t;
x=3;
s=0; t=x;
for(k=1; k<=3; k++){
t=t*10+x;
s=s+t;
printf("%d#", s);
}
}
2.输入7 3 0 3 0 3 1 2 9 7 6 0 <回车>后,下列程序的输出结果是_______。
#include <stdio.h>
void main( )
{
int j, k, sub, x;
int a[5];
for(j=1; j<=2; j++){
for(k=0; k<5; k++)
scanf(“%d”, &a[k]);
scanf(“%d”, &x);
sub=-1;
for(k=0; k<5; k++)
if(a[k]==x) sub=k;
printf("%d#", sub);
}
}
3.下列程序的输出结果是_______。
#include <stdio.h>
void main( )
{
long number, wt, x;
x=number=10230;
wt=1;
while(x!=0){
wt=wt*10;
x=x/10;
}
wt=wt/10;
while(number!=0){
printf("%d#", number/wt);
number=number%wt;
wt=wt/10;
}
}
4.输入3 9 8 6 5 3 7 1 2 4 2 1 2 3 4<回车>后,下列程序的输出结果是_______。
#include "stdio.h"
void main( )
{
int flag,i,j,k,col,n,ri,a[6][6];
for(ri=1; ri<=2; ri++){
scanf("%d",&n);
for(i=0; i<n; i++)
for(j=0; j<n; j++)
scanf("%d",&a[i][j]);
flag=0;
for(i=0; i<n; i++){
col=0;
for(j=0; j<n; j++)
if (a[i][col]<a[i][j]) col=j;
for (k=0; k<n; k++)
if(a[i][col]<a[k][col]) break;
if(k>=n){
printf("a[%d][%d]=%d#", i, col,a[i][col]);
flag=1;
}
}
if(!flag) printf("NO#");
}
}
5.输入how are you?<回车>后,下列程序的输出结果是_______。
#include <stdio.h>
void main( )
{
int word;
char ch;
word=0;
while((ch=getchar())!='?'){
if(ch==' ') word=0;
else if(word==0){
word=1;
if(ch<='z'&&ch>='a')
ch=ch-'a'+'A';
}
putchar(ch);
}
}
6.假设文本文件a.txt中存放了下列数据:
one?two?1234?output?
文本文件b.txt中存放了下列数据:
one?two?1204?input?
下列程序的输出结果是_______。
# include <stdio.h>
# include <stdlib.h>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论