“正保教育杯”第五届全国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() { paa; 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(a2,b5,b,ab)后, x 的值是( ) 。 A)7B)8C)6 D)2 5.下列描述中不正确的是( ) 。 A)字符型数组中可能存放字符串 B)可以对字符型数组进行整体输入、输出 C)可以对整型数组进行整体输入、输出 D)不能在赋值语句中通过赋值运算符“”对字符型数组进行整体赋值 6.有以下程序 main() { int x1,y2; printf( “d\n”,x,y); } 该程序运行后的输出结果是( ) 。 A)错误信息 B)1 C)2 D)1,2 7.下列选项可作为 C 语言赋值语句的是( ) 。 A)a1;b2; B)ab6 C)i-- D)yint(x); 8.下列描述中正确的是( ) 。 A)当使用函数 scanf 输入数据时,必须指明变量地址,例如char a; scanf(“c“, B)当输入一个实型数据时,格式控制部分可以指定输入数据的精度,例如float a;scanf (“6.2f“, C)输入项可以是一个实型常量,如scanf(“f“,100.0); D)只有格式控制,没有输入项,也能正确输入数据到内存,例如scanf(“ad ,bd“); 9.有以下程序 main( ) { int y2014; printf( “y8d”,y); printf( “y08d\n”,y); } 该程序的运行结果是( ) 。 A)y 2014y00002014 B)y 2014y0002014 C)y2014y0002014 D)y 2014y2014 10.以下程序的输出结果是( ) 。 main( ) { int w4,x3,y2,z1; if(xy } A)1 B)2 C)3 D)4 11.执行以下程序的输出结果是( ) 。 main() { int a5,b0,c0; if(abc)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 的值是( ) 。 x0;y1; do{yx; x--; } while (y0); 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(p1t,p2t;p1-tnum10; q-num20; r-num30; p-nextq; q-nextr; printf(“d\n “,p-numq-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.income1000; 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{zhao1,qian,sun,li}man;执行下述程序段后的输出结果是( ) 。 man0; 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