C语言B卷
一、程序阅读理解。(每小题6分,共24分。)
1、有以下程序
void main( )
{ struct cmplx
{int x; int y;}cnum[2]={1,3,2,7};
printf("%d\n",cnum[0].y*cnum[0].x+cnum[1].x);
}
程序执行后输出的结果是:
2、有以下程序
int fun(int x,int y)
{ int m=3;
return(x*y-m);
}
void main()
{ int m=13; int a=7,b=5;
printf("%d\n",fun(a,b)/m);
}
程序运行后的输出结果是:
3、有以下程序
void main()
{ int a=1,b=3,c=5;
if (c==a+b) printf("yes\n");
else printf("no\n");
}
执行以上程序后,输出结果是:
4、有以下程序
void main( )
{ char m;
m='F'+32;
printf("%c\n",m);
}
程序运行后的输出结果是:
二、程序填空题(每空题3分,共12分)
1、下面的程序它输入一个字符,然后判别输入的字符是否是小写字母,若是小写字母则输出“YES”,否则输出“NO” ,请填空。
#include “stdio.h”
main()
{
char ch;
scanf(_____________________);
if (_________________________________)
printf(“YES\n”);
else
printf(“NO\n”);
}
2、输出1到100每个整数的平方。
main( )
{
int k;
for(_____________________)
printf(_____________________);
}
三、选择题(每小题3分,共42分)。
1、以下程序的输出结果是( )
main()
{ int A=3;
printf(“%d\n”,(A+=A-=A*A));
}
A)-6 B)12 C)0 D)-12
2、以下合法的赋值语句是( )
A)x=y=100; B)D--; C)9,2 D)10,2
3、以下程序的输出结果是( )
union myun
{ struct { int x, y, z ; } u ;
int k ;
} A;
main()
{ A.u.x=4;
A.u.y=5;
A.u.z=6;
A.k=0;
printf (“%d\n”,A.u.x);
}
A)4 B)5 C)6 D)0
4、以下选项中合法的字符常量是( )
A)“B” B)‘\010’ C)68 D)D
5、若有定义 double x,y ; 则表达式x=2,y=x+3/2的值是( )
A)3.5000000 B)3 C)2.000000 D)3.000000
6、若有定义 int x,y,z; 则执行语句:x=y=3; t=++x||++y;后,y的值为( )
A)不定值 B)4 C)3 D)1
7、下列各函数的首部中,符合C语言要求的是( )
A) void play(var a; integer, var b:integer)
B) void play( int A, B)
C) void play( int A, int B)
D) sub play( A as integer, B as integer )
8、t 为 int 类型,进入下面的循环之前, t 的值为 0 。
while( t=1)
{
……
}
则以下叙述中正确的是( )
A) 循环控制表达式的值为0
B) 循环控制表达式的值为1
C) 循环控制表达式不合法
D) 以上说法都不对
9、假定 int 类型变量占用二个字节,若有定义:int x[ 5 ]={3 , 6 , 9 }; ,则数组x 在内存中所占的字节数是( )
A)3 B)6 C)10 D)20
10、以下程序的输出结果是( )
main()
{ int i , A[10];
for(i=9; i>=0; i-- )
A[ i ]=10-i;
printf( “%d%d%d”,A[2], A[5], A[8]);
}
A)258 B)741 C)852 D)369
11、设有以下说明语句
struct ex{
int x;
float y;
char z;
}example;
则下面的叙述中不正确的是( )
A) struct 是结构体类型的关键字
B) example是结构体类型名
C) x,y,z都是结构体成员名
D) struct ex是结构体类型
12、若执行以下程序时从键盘上输入9,则输出的结果是( )
main()
{ int n;
scanf(“%d”,&n);
if (n++<10)
printf(“%d\n”,n);
else
printf(“%d\n”,n--);
}
A)11 B)10 C)9 D)8
13、如果要打开一个已经存在的非空文件“FILE”进行只读数据,正确的打开语句是( )
A) fp=fopen(“FILE”, “r”);
B) fp=fopen(“FILE”, “ab+”);
C) fp=fopen(“FILE”, “w+”);
D) fp=fopen(“FILE”, “r+”);
14、有以下程序段( )
int k=0;
while ( k=1 ) k++;
while 循环执行的次数是( )
A)无限次 B)有语法错误 C)一次也不执行 D)执行1次
四、程序设计(第1题10分,第2题12分,共22分)
1、 编写一个程序,它从键盘上输入10个实数,然后输出它们的积。
编写一个函数,它判断一个字符串ss[80]是否为“回文”。(即顺读和倒读都一样的字符串,如:“abcba”)是则输出“YES”,否则输出“NO”
展开阅读全文