第七届全国信息技术应用水平大赛预赛试题
C语言程序设计
一、单选题(60题,1分/题,共60分)
[1]、下列叙述不正确的是( )。
【答 案】B1分
【选 项】
A、用typedef可以定义各种类型名,但不能定义变量
B、typedef和#define都是在预编译时处理的
C、用typedef只是将已存在的类型用一个新的标识符来代表
D、使用typedef有利于程序的通用和移植int a=2,*p;
float x=1, y=2;
char e=‘w’;
则以下用法不正确的是( )。
【答 案】B1分
【选 项】 A、printf("%c",e+a);
B、p=&x;
C、a*=y+x;
D、x=y=e;
[3]、下列C语言合法标识符的( )。【答 案】1分
【选 项】
A、
B、
C、
D、
[4]、int x=20; printf("%d\n",~x);
以上程序段运行后的输出结果是( )。
【答 案】1分
【选 项】 A、235
B、-21
C、-20
D、-11
[5]、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值(结果保留两位小数)是( )。
【答 案】1分
【选 项】2.50
B、2.75
C、3.50
D、0.00
[6]、void s(char *m,int n)
{
*m=*m+3;n=n+3;
printf("%c,%c,",*m,n);
}
void main()
{
char p=‘b’,q=‘B’;
s(&q,p);
printf("%c,%c\n",p,q);
}
则程序运行后的输出结果是( )。
【答 案】1分
【选 项】E,e,b,E
B、e,E,b,F
C、E,e,e,E
D、e,E,b,E
[7]、桌上有a、b、c、d、e五个黑白球,a=0表示白球,a=1表示黑球,其他球同样定义。则以下能表示a是黑球,其余至少有三个白球的表达式是( )。
【答 案】C1分
【选 项】a&&(b+c+d+e)==1
B、a&&(b+c+d+e)>2
C、a&&(b+c+d+e)<=1
D、!a&&(b+c+d+e)==3
[8]、C语言中运算对象必须是整型的运算符是( )。【答 案】C1分
【选 项】
A、/
B、++
C、%
D、!=
[9]、以下程序的输出结果是( )。
#include
main()
{
int i,j=4;
for(i=j; i<=2*j; i++)
switch (i/j) {
case 0:
case 1: printf("*"); break;
case 2: printf("#"); break; }
}
【答 案】1分
【选 项】*###
B、**##
C、***#
D、****#
[10]、以下程序的输出结果是( )。
main( )
{ int w=4,x=3,y=2,z=1;
if(x>y&&!(z==w)) printf("%d\n",(w
else printf("%d\n", (w>x?w:z>y?z:x));
}
【答 案】A1分
【选 项】
A、1
B、2
C、3
D、4
[11]、关于C语言形参与实参,以下说法正确的是( )。
【答 案】1分
【选 项】(1)#define POWER(x) x*x
(2) #define POWER(x) (x)*(x)
(3) #define POWER(x) (x*x)
(4) #define POWER(x) ((x)*(x))
【答 案】1分
【选 项】[13]、以下程序的输出结果是( )。
main()
{ int i,j,x=0;
for (i=0;i<2;i++) {
x++;
for(j=0;j<3;j++) {
if (j%2) continue;
x++;
}
x++;
}
printf("x=%d\n",x);
}
【答 案】1分
【选 项】
A、x=4
B、x=
C、x=
D、x=12
[14]、已知有以下说明:
int a[]={8,1,2,5,0,4,7,6,3,9};
那么a[*(a+a[3])]的值为( )。
【答 案】1分
【选 项】 A、
B、
C、
D、7
[15]、有定义如下:
struct pupil {
char name[20];
int age;
int sex;