版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七届全国信息技术应用水平大赛预赛
试题语言程序设计一、单选题(60题,1分/题,共60分)、下列选项中,叙述不正确的是( )。案】B数】1分项】A、 用typedef可以定义各种类型名,但不能定义变量B、 typedef和#define都是在程序预编译时处理的C、 用typedef只是将已存在的类型用一个新的标识符来代表D、 使用typedef有利于程序的通用和移植、若有如下定义:inta=2,*p;floatx=1,y=2;chare=‘w则以下用法不正确的是( )。答案】B分数】1分选项】printf(〃%c〃,e+a)A、 ;B、 np-&x;C、a*二y+x;D、 x=y=e;、下列5个符号串中,属于C语言合法标识符的共计()个。
A、B、C、D、案A、B、C、D、案】数]项]235-21-20-111_2_3a-b-cfloat9cda3b4案】B数】1分项】A、B、C、D、、intx=20;printf(〃%d\n〃,~x);以上程序段运行后的输出结果是( )。、若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值(结果保留两位小数)是()。案】数】1分选项】A、 2.50B、2.75C、3.50D、 0.00、若有如下程序:voids(char*m,intn)*m=*m+3;n=n+3;printf(〃%c,%c,〃,*m,n);voidmain()charp=‘b',q=‘B,;s(&q,p);printf(〃%c,%c\n〃,p,q);则程序运行后的输出结果是( )。案】A数】1分项】A、 E,e,b,EB、 e,E,b,FC、 E,e,e,ED、 e,E,b,E、桌上有a、b、c、d、e五个黑白球,a=0表示白球,a=1表示黑球,其他球同样定义。则以下能表示a是黑球,其余至少有三个白球的表达式是( )。案】C数】1分项】A、 a&&(b+c+d+e)==1
B、 a&&(b+c+d+e)>2C、 a&&(b+c+d+e)<=1D、 !a&&(b+c+d+e)==3)。C语言中运)。、【答案】C【分数】1分【选项】TOC\o"1-5"\h\zA、 /_ ++B、C、 %D、 !=以下程序的输出结果是( )^include<stdio.h>main()inti,j=4;for(i=j;i<=2*j;i++)switch(i/j){case0:case1:printf(〃*〃);break;case2:printf(〃#〃);break;答案】D八数】1分分选项】*###A、IIIIIIB、 **##C、 ***#****#[10]、以下程序的输出结果是([10]、以下程序的输出结果是()。main()intw=4,x=3,y=2,z=1;if(x>y&&!(z==w))printf(〃%d\n〃,(w<x?w:z<y?z:x));elseprintf(〃%d\n〃,(w>x?w:z>y?z:x));案】数】项】A、B、C、D、11
]关于C11
]关于C语言形参与实参,以下说法正确的是()。案】数】1数】1分项】A、A、实参和与其对应的形参各占用独立的存储单元B、实参和与其对应的形参共占用同一个存储单元C、只有当实参和与其对应的形参同名时才共占用同一个存储单元D、形参是虚拟的,从不占用存储单元)个。[12]、以下宏定义中,不会引起二义性的共计()个。(1)#definePOWER(x)x*x#definePOWER(x)(x)*(x)#definePOWER(x)(x*x)#definePOWER(x)((x)*(x))答案A八数分】1分选】TOC\o"1-5"\h\zA、 1B、 2C、 3D、 4[13]、以下程序的输出结果是(£奇()inti,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);答案】C八数】1分分选项】A、 x=4B、 x=6、已知有以下说明:inta□={8,1,2,5,0,4,7,6,3,9};那么a[*(a+a[3])]的值为()。案】A数】1分项】A、B、C、D、、有定义如下:structpupil{charname[20];intage;intsex;}pup[5],*p;p=pup;以下scanf函数调用语句中,对结构体变量成员的引用不正确的是 )O案】D数】1分项】A、 scanf(〃%s〃,pup[0].name);B、 scanf(〃%d〃,&pup[0].age);C、 scanf(〃%d〃,&(p-〉sex));D、 scanf(〃%d〃,p—〉age);#include<stdio.h>structNODE{intnum;structNODE*next;};main()structNODE*p,*q,*r;p=(structNODE*)malloc(sizeof(structNODE));q=(structNODE*)malloc(sizeof(structNODE));r=(structNODE*)malloc(sizeof(structNODE));p->num=10;q->num=20;r->num=30;p->next=q;q->next=r;printf("%d\n〃,p->num+q->next->num);答案D分】数分】1分选】项TOC\o"1-5"\h\zA、 10B、 20C、 30D、 40[17]、当a=2,b=3,c=4,d=5时,执行下面一段程序 x的值为()。后if(a<b)if(c>d)x=1;elseif(a>c)if(b<d)x=2;elsex=4else【答【分【选A、B、C、D、[18]设有程序段unsignedchark;while(k>0)k++;printf(〃%d\n〃,;则该程序段的输出结果()【答【分【选A、-1B、-127C、-128、若有以下定义:intD、若有以下定义:int[19]x[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int(*p)[3]=x;则能够正确表示数组元素x[2][1]的表达式是()。案】C数】1分项】A、*((*p+2)[1])B、(*p+2)+1CA、*((*p+2)[1])B、(*p+2)+1C、*(*p+7)D、*(*p+2)+1#include<stdio.h>voidfun(int*p){inta=10;p=&a;++a;voidmain()inta=5;fun(&a);printf(〃%d\n〃,a);)。[21]、以下程序运行后的输出结果是()。#include〃stdio.h〃intsub(int*t,intn){int*p1,*p2;for(p1=t,p2=t;p1-t<n;p1++)if(*p1<*p2)p2二p1;return(*p2);答案A分】数分】1分选】项TOC\o"1-5"\h\zA、 5B、 6C、 10D、 11voidmain()inta[9]={9,36,19,39,26,5,6,33,15};printf(〃%d\n〃,sub(a,9));}【答案】A【分数】1分【选项】TOC\o"1-5"\h\zA、 5B、 9C、15D、 39[22]、面程序的运行结果是( )。#include<stdio.h>#include<string.h>fun(char*w,intn)(chart;ints1,s2;s1=0;s2=n-1;while(s1<s2){t=w[s1++];w[s1]=w[s2--];w[s2]=t;}main()charp□二〃1234567”;fun(p,strlen(p));puts(p);答案】C项】A、 7654321B、 1714171C、 1711717D、 7177171、C语言规定函数返回值的类型由()。案】A数】1分项】A、 在定义时所指定的函数类型所决定B、 调用该函数时的主调函数类型所决定C、 return语句中的表达式类型所决定D、 调用该函数时系统临时决定、有以下程序段:#include<stdio.h>main()inti=1,sum=0,n;scanf(〃%d〃,&n);do{i+=2;sum+=i;}while(i!=n);printf(〃%d〃,sum);若使程序的输出值为15,则应该从键盘输入的 n的值是()。答案】D
项】A、B、C、D、[25]、以下程序的运行结果是()。voidmain()chara□=〃movie〃,b[10]=〃movie〃;printf("%d%d\n〃,sizeof(a),sizeof(b));[26]、以下程序的输出结果是()。答】分】选】TOC\o"1-5"\h\zA、 55B、 66C、 610D、 612#include<stdio.h>voidmain()unsignedchara,b;a=0x0a|3;b=0x0a&3;printf("%d%d\n",a,b);A、211TOC\o"1-5"\h\zB、 112C、 713D、 137以下选项中,能定义s为合法的结构体变量的是(、【答案】C【分数】1分【选项】typedefstructabcA、{doublea;charb[10];}s;B、 structABC{doublea;charb[10];ABCs;C、 structabc{doublea;charb[10];}s;D、 typedefABC{doublea;charb[10];}ABCs;、以下程序的输出结果是()。main()inta=O,j;for(j=0;j<4;j++){switch(j){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;printf(〃%d\n〃,a);案D:数1分项】TOC\o"1-5"\h\zA、 10B、 13C、 20D、 36、以下程序功能为输入 1个正整数n,计算并输出表达式 s的前n项的和:s=1/2-2/3+3/4-4/5+ (T) n/(n+1)。其中下划线处应填入的正确语句为(#include"stdio.h"voidmain(){intk,flag=1,n;floats=0;scanf(〃%d〃,&n);for(k=1;k<=n;k++)(s=s+flag=-flag;printf(〃sum=%f\n〃,s);[30]、有以下函数:char*fun(char*P)(returnP;},该函数的返回值为 )。答案】A分数】1分选项】1.0*k/(k+1)*A、 flagB、 flag*n/(n+1)C、 _k/(k+1)D、 1.0*k/(k+1)案】B数】1分项】A、 不确定值B、 参数p中存放的地址值C、 一个临时存储单元的地址值D、 形参?自身的地址值[31]、以下程序运行后的输出结果是main()
inta,b;a=50;b=90;printf(〃%d\n〃,(a,b));答案】A八数】1分分选项】TOC\o"1-5"\h\zA、 90B、 5090C、 50D、 100[32]、intx=-20;printf(〃%d\n〃,~x);以上程序段的输出结果是( )。分】数选】项A、A、19TOC\o"1-5"\h\zB、 20C、 21D、 -1[33]、若以下程序所生成的可执行文件名为 file1.exe,当输入命令行:FILE1CHINABEIJINGSHANGHAI,执行该程序时,程序的输出结果是( )。main(intargc,char*argv[]){while(argc-->1){++argv;printf(〃%s〃,*argv);}答案】A分数】1分
选项】A、 CHINABEIJINGSHANGHAIB、 FILE1CHINABEIJINGC、D、、下列程序运行后的输出结果是 )。(fun(inta,intb){if(a>b)return(b);elsereturn(a);main(){intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf(〃%d\n〃,r);答案A分】数分】1分选】项TOC\o"1-5"\h\zA、 3B、 6C、 8D、 12、有如下程序:longf(intn){if(n>2) return(f(n-2)+f(n-3));elseif(n==2)return(2);elsereturn(1);}elsereturn(1);}main(){printf(〃%d\n〃,f(6));}该程序的输出结果是()。案】C数】1分项】A、B、C、D、[36]、在C程序中有如下语句:char*func(intx,inty);下列说法正确的是 )。(案】C数】1分项】A、 该语句表示对函数func的定义B、 该语句表示对函数func的调用C、该语句表示对函数 func的原型说明D、 该语句是不合法的、以下程序的输出结果是#include<stdio.h>main()intw[4]={8,20},*p;p=w;p++;printf(〃%d\n〃,*(++p));选】项A、 0B、 8D、不定、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()。案】C数】1分项】A、 chars[10]=〃abcdefg〃;B、 chart□=〃abcdefg〃,*s=t;C、 chars[10];s=〃abcdefg”;D、 chars[10];strcpy(s,〃abcdefg〃);、以下程序将输出的字符是( )。#include"stdio.h"main()charc;char(*p)[3];chars[2][3]={‘a', ‘b', ‘c', ‘d', ‘e', ‘f'};p=&s[0];c=*(p[1]+1);printf(〃%c〃,c);答案】C分数】1分项】A、B、C、D、、以下程序的输出结果是(nclude<stdio.h>main()(structst{intx;inty;}cnum[2]={1,3,2,7};printf(〃%d\n〃,cnum[0].y/cnum[0].x*cnum[1].x);A、B、C、D、[41]、若a是整型变量,则表达式~(aA~a)等价于()。案】B数】1分项】A、 ~aB、C、
、在C语言中,有关隐含存储类别的说法,正确的是( )O案】C数】1分项】A、函数的隐含存储类别是autoB、函数的隐含存储类别是 staticC、函数的隐含存储类别是 externD、 函数没有隐含存储类别、以下函数fun()是求两个正整数的最大公约数,其中下划线处应填入的正确语句是)Ointfun(m,n)intm,n;intr;if(m<n)(r=m;m=n;n=r;}if(n==0)return(m);do(r=m%n;if(r!=0)(m=n;n=r;}}while(return(n);答 案】A八 数】1分分选 项】A、r!=0BA、r!=0B、r==0C、 n!=0D、n==0TOC\o"1-5"\h\z若调用fputc函数输出字符成功,则其返回值是( )、案】D数】1分项】 。A、 EOFB、 0C、 1D、 输出的字符[45]、在32位PC机上使用C语言时,若有以下定义:uniondata{intI;charch;doublef;}b;则共用体变量b占用内存的字节数是( )。答案】C八数】1分分选项】A、B、C、D、12[46]、语句printf("%dn”,strle(n“xy\zt\xab\3\\\x67”));的输出结果是()。案】B数】1分项】
A、7TOC\o"1-5"\h\zB、 8D、[47]、【答【分D、[47]、【答【分【选11下列用于printf函数的控制字符常量中,代表退格的是案(】 A数】 1分项】A、 ’\b'B、 ’\t'C、 ’\r'D、 '\n'、以下是关于枚举的程序,其运行结果是 )( 。#include〃stdio.h〃main()enumweekday{sun,mon,tue=5,wed,thu,fri,sat}a,b,c,d;a=sun;b=mon;c=tue;d=wed;printf(〃%d%d%d%d\n〃,a,b,c,d);答案】C八数】1分分选项】A、 0050B、 1254C、 0156D、 0153、以下是关于文件读写操作的程序,其屏幕输出是( )。#include<stdio.h>voidmain()FILE*fp;inti,a[4]={1,2,3,4},b;fp二fopen(〃data.dat〃,〃wb〃);for(i=0;i<4;i++)fwrite(&a[i],sizeof(int),1,fp);fclose(fp);fp二fopen(〃data.dat〃,〃rb〃);fseek(fp,-2L*sizeof(int),SEEK_END);fread(&b,sizeof(int),1,fp);fclose(fp);printf(〃%d\n〃,b);、以下程序运行后向文件输出的结果是( )。答案】C八数】1分分选项】TOC\o"1-5"\h\zA、 1B、 2C、 3D、 4#include"stdio.h"voidmain()
FILE*fp;B', ‘h');fp二B', ‘h');fprintf(fp,〃%d%.1f,%c%c〃,5,238.41,fclose(fp);答案】B分数】1分选项】A、 5238.41BhB、 5238.4,BhC、 5,238.4,B,hD、 5238.41Bh[51]、以下程序中,if(i>j)语句执行的次数共计()次。main(){inti=0,j=14,k=2,s=0;for(;;){i+=k;if(i>j){printf(〃%d〃,s);break;s+=i;答案】C八数】1分分选项】A、 6B、 7D、9若执行fopen函数时发生错误,则函数的返回值是( )、 O案】D数】1分项】A、 地址值B、C、D、 EOF、有以下程序:main(){charstr[][8]={〃Hello〃,〃Beijing〃},*p=str;printf(〃%s\n〃,p+4);}该程序运行后的输出结果是( )。答案】C八数】1分分选项】A、 HelloB、 BeijingC、 oD、 oBeijing、下列函数调用语句中含有()个参数。func(((f1,f2),(f2,f3)),(f5,f6,f7),f8)案】A数】1分项】A、3TOC\o"1-5"\h\zB、 5C、 6D、 7、下列程序中函数sort的功能是对a数组中的数据进行由大到小的排序:voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j])(t=a[i];a[i]=a[j];a[j]=t;}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[2],5);for(i=0;i<10;i++)printf(〃%d,〃,aa[i]);printf("n”);该程序运行后的输出结果是( )。答案】B分数】1分选项】A、1,2,3,4,5,6,7,8,9,10,B、1,2,7,6,5,4,3,8,9,10,C、1,2,10,9,8,7,6,5,4,3,D、10,9,8,7,6,5,4,3,2,1,、下列程序的运行结果是( )。main()
{chararr[2][4];strcpy(arr,〃hello〃);strcpy(arr[1],"ABC");printf(〃%s\n〃,arr);}答】分】选】A BCA、 helloAB、hellhellABC、 CD、 attr、程序中对fun函数有如下说明:int*fun();面说法正确的是()。案】D数】1分项】A、 fun函数是整型函数B、 指针fun指向一个函数,该函数返回整型数据C、 fun函数的返回值是整型数据D、 fun函数的返回值是指向整型数据的指针类型、下列程序的输出结果是()。main()intk=4,m=5,n=7;int*pk=&k,*pm=&m,*p;*(p=&n)=++*pk*(*pm++);printf(〃%d\n〃,n);选】项TOC\o"1-5"\h\zA、 20B、 21C、 25D、 30、以下函数的输出结果是()。#defineP3#defineF(x)(P*x*x)main(){printf(〃%d\n〃,F(3+5));}答】分】选】TOC\o"1-5"\h\zA、 192B、 29C、 25D、 编译出错、下列程序的输出结果是()。#include<stdio.h>#include<string.h>voidmain()charp1[20]=〃abcd〃,p2[20]=〃ABCD〃;charstr[50]=〃xyz〃;strcpy(str+2,strcat(p1+2,p2+1));printf(〃%s\n〃,str);答案】D八数】1分分选项】A、 xyabcABB、 abcABzAbabczC、D、 xycdBCD二、多选题(20题,2分/题,共40分)、若有以下定义和语句:intw[2][3],(*pw)[3];pw=w;则对w数组元素的正确引用有( )。案】ABD数】2分项】A、*(w[0]+2)B、pw[0][0]C、 *pw[2]D、 *(pw[1]+2)、设有如下定义:char*s[2]={〃abcd〃,"ABCD"};char**p=s;则下列说法正确的有()。案】ACD数】2分项】A、s数组元素的值分别是〃abcd〃和〃ABCD"两个字符串的首地址B、s数组的两个元素分别存放的是含有四个字符的一维字符数组中的元素C、 p是指向指针数据的指针变量D、 p中存放的是数组s的首地址[3]、设有说明intk=7,x=12;则以下语句执行后,x值为0的有()。案】AC数】2分项】A、 x%=(k%5);B、 x%=(k-k%5);C、 x%=k-k/5;D、 x=(x%=k)-(k%=5);、已知有定义staticintb[5],a[2][3]={1,2,3,4,5,6};则以下说法正确的有()。案】AD数】2分项】A、 b中元素值为0B、 b中元素没有定义,值不确定C、 a[1][1]=4D、 a[1][1]=5、函数调用时,下列说法中正确的有( )。案】BCD数】2分A选若项】值传递方式,则形式参数不予分配内存B、 实际参数和形式参数可以同名C、 主调函数和被调用函数可以不在同一个文件中D、函数间传递数据可以使用全局变量、下列说法中正确的有()。案】AD数】2分项】A、 递归函数的形参是自动变量B、 有些递归函数是不能用非递归算法来实现的C、C语言不允许这样的函数调用:函数 A调用了函数B,而函数B又调用了函数AD、 C语言不允许函数的嵌套定义、设有如下代码:structstr(intno;char*name;}node;charbuf[100];以下代码能为node变量输入值的有( )。案】CD数】2分项】A、 scanf(〃%d%s〃,node.no,);B、 scanf(〃%d%s〃,&node.no,&);C、 scanf(〃%d%s〃,&node.no,buf);=newchar(strlen(buf)+1);strcpy(,buf);D、 scanf(〃%d%s〃,&node.no,buf);=(char*)malloc(strlen(buf)+1);strcpy(,buf);A、enuma{1,2,3};、以下关于枚举类型的用法中,正确的有( )。B、enumaC、enumaD、enuma、已知有定义:struct{intno;charname[20];}a,b,*c;)。、以下关于结构类型变量的定义正确的有( )。则以下语句合法的有(答案ACD分】数分】 2分项选】选】项A、a=b;B、A、enuma{1,2,3};、以下关于枚举类型的用法中,正确的有( )。B、enumaC、enumaD、enuma、已知有定义:struct{intno;charname[20];}a,b,*c;)。、以下关于结构类型变量的定义正确的有( )。则以下语句合法的有(答案ACD分】数分】 2分项选】选】项A、a=b;B、a=&b;C、c=&b;D、*c=b案】CD数】2分A、structdata{data{num;案】BC数】2分项】选项】floatprice;}&book;B、structdata{intnum;floatprice;}book;bookb;C、 structdata{intnum;floatprice;}book;structdata&d=book;D、typedefstructdata{intnum;floatprice;}book;bookb;、设有结构类型:typedefstructstr(intno;charname[20];}STR;另有变量定义:STRa[20],x;以下语句希望实现“向与文件指针变量fp关联的文件输出一个结构信息”,正确的有()。案】ABC数】2分项】A、 fwrite(a,sizeof(STR),1,fp);B、fwrite(&a[2],sizeof(STR),1,fp);C、fwrite(&x,sizeof(STR),1,fp);D、fwrite(x,sizeof(STR),1,fp);以下对C语言中共用体类型数据的叙述正确的有( )、案】BC数】2分项】 。A、 可以对共用体变量名直接赋值B、 不能在定义共用体类型变量时对它初始化C、 一个共用体变量中不能同时存放其所有成员D、 共用体类型定义中不能出现结构体类型的成员、关于以下运算,说法正确的有()。案】BD数】2分项】A、设有宏定义〃#defineF(N)2*N〃,则表达式F(2+3)的值是10B、 设intx=4;则执行语句x+=x*=x+1;后,x的值为40C、 设inta,b=8;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新苏教版科学四年级上册 第二单元 物体的运动教学设计
- 奥迪汽车年主题试驾
- ms的免疫病理机制及免疫干预治疗
- 骨折儿童心理护理
- 肺心病病人宣教
- 铣工高级工模拟考试题与答案
- 泵站运行工(初级)理论考试题及答案
- linux开发面试题及答案
- 初中七年级数学分式运算暑假衔接教学设计
- access数据库试题及答案
- 中药饮片工艺:传承与创新-走向现代化的中药饮片加工技术
- 2025年AI驱动的生殖系统药物研发进展
- 输变电工程施工安全过程管控之“三算四验五禁止”
- 国药集团内部职级制度
- 工程行文范本《关于项目成立安全生产领导小组的通知》
- 2026年湖南科技职业学院单招职业技能考试题库含答案解析
- 施工现场施工设备选型方案
- 营销策划 -小罐茶-招商手册2024
- PFAS培训教学课件
- 安检锂电池培训课件
- 2026年广东省高中学业水平春季高考英语试卷真题(含答案详解)
评论
0/150
提交评论