“正保教育杯”第五届全国ITAT教育工程就业技能大赛C语言程序设计预赛题
“正保教育杯”第五届全国 ITA T 教育工程就业技能大赛 C 语言程序设计 -- 预赛 一、单项选择题 【共 60 题,每小题 1 分,共 60 分。下列每题给出的多个选项中,只有一 项是最符合试题要求的。请选择相应的正确答案。 】 1.下列程序的输出结果是( ) 。 struct st { int x;int *y;}*p; int dt[4]={10,20,30,40}; struct st aa[4]={50, main() { p=aa; printf( “%d ”,++(*p-y) ); printf( “%d ”,(++p)-x); printf( “%d ”,++p-x); A)20 20 10 B)21 60 50 C)11 60 61 D)31 70 60 2.程序中对 fun 函数有如下说明: int *fun(); 下面说法正确的是( ) 。 A)fun 函数是整型函数 B)fun 函数的返回值是整型数据 C)fun 函数的返回值是指向整型数据的指针类型 D)指针 fun 指向一个函数,该函数返回整型数据 3.执行以下程序段后的输出结果是( ) 。 int x = 3; int m, n; n = (++x) + (++x); m = (x--) + (x--); printf(“%d %d\n“, m, n); A)10 6 B)9 9 C)10 10 D)10 8 4.假设所有变量均为整型,则执行运算 x=(a=2,b=5,b++,a+b)后, x 的值是( ) 。 A)7B)8C)6 D)2 5.下列描述中不正确的是( ) 。 A)字符型数组中可能存放字符串 B)可以对字符型数组进行整体输入、输出 C)可以对整型数组进行整体输入、输出 D)不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值 6.有以下程序: main() { int x=1,y=2; printf( “%d\n”,x,y); } 该程序运行后的输出结果是( ) 。 A)错误信息 B)1 C)2 D)1,2 7.下列选项可作为 C 语言赋值语句的是( ) 。 A)a=1;b=2; B)a=b=6 C)i-- D)y=int(x); 8.下列描述中正确的是( ) 。 A)当使用函数 scanf 输入数据时,必须指明变量地址,例如:char a; scanf(“%c“, B)当输入一个实型数据时,格式控制部分可以指定输入数据的精度,例如:float a;scanf (“%6.2f“, C)输入项可以是一个实型常量,如:scanf(“%f“,100.0); D)只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf(“a=%d ,b=%d“); 9.有以下程序: main( ) { int y=2014; printf( “y=%8d”,y); printf( “y=%+08d\n”,y); } 该程序的运行结果是( ) 。 A)y= 2014y=00002014 B)y= 2014y=+0002014 C)y=2014y=+0002014 D)y= 2014y=2014 10.以下程序的输出结果是( ) 。 main( ) { int w=4,x=3,y=2,z=1; if(xy } A)1 B)2 C)3 D)4 11.执行以下程序的输出结果是( ) 。 main() { int a=5,b=0,c=0; if(a=b+c)printf(“***\n“); else printf(“$$$\n“); } A)有语法错不能通过编译 B)可以通过编译但不能通过连接 C)输出*** D)输出$$$ 12.桌上有白球和黑球共 5 个,a、b、c、d、e 分别表示这 5 个球的颜色,取值为 0、1 分别 代表白球、黑球。则以下能表示 a 是黑球,其余至少有两个白球的表达式是( ) 。 A)!a for(;a7){ n--; printf(“%d“,n);} } A)876 B)987 C)9876 D)8765 16.设 x,y 为 int 变量,则执行下列语句后 y 的值是( ) 。 x=0;y=1; do{y+=x; x--; } while (y++0); A)1 B)2 C)-1 D)0 17.设有程序段 char k;while (k0) k++; printf(“%d\n“,k);则程序输出结果为( ) 。 A)-127 B)256 C)-128 D)128 18.以下程序运行后的输出结果是( ) 。 #include “stdio.h“ sub(int *t,int n ) { int *p1,*p2; for(p1=t,p2=t;p1-tnum=10; q-num=20; r-num=30; p-next=q; q-next=r; printf(“%d\n “,p-num+q-next-num); } A)10 B)20 C)30 D)40 50.以下程序经过赋值后,s.age 的值将输出为( ) 。 #include “stdio.h“ main() { union un { char * name; int age; int income; } s; s.name= “zhang“; s.age= 28; s.income=1000; printf (“%d\n“,s.age ); } A)28 B)1000 C)0 D)不确定值 51.有如下定义: struct s1 { char a[3]; int num; }t={’a’,’b’,’x’,4},*p; p= 则下列语句输出结果为 x 的是( ) 。 A)printf(“%c\n“,p-t.a[2]); B)printf(“%c\n“,(*p).a[2]); C)printf(“%c\n“,p-a[3]); D)printf(“%c\n“,(*p).t.a[2]); 52.已知 enum name{zhao=1,qian,sun,li}man;执行下述程序段后的输出结果是( ) 。 man=0; switch(man) { case 0: printf(“People\n“);break; case 1: printf(“Man\n“);break; case 2: printf(“Woman\n“);break; default: printf(“Error\n“);break;} A)People B)Man C)Woman D)Error 53.在 32 位 PC 机上,若有以下定义: union data {int i; char ch; double f;}b; 则共用体变量 b 所占用的内存字节数是( ) 。 A)2 B)4 C)8 D)12 54.若以下程序所生成的可执行文件名为 filel. ,当输入命令行:FILE1 CHINA BEIJING SHANGHAI ,执行该程序时,程序的输出结果是( ) 。 main(int argc,char * argv [] ) { w