版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2012年9月计算机二级C语言试题答案2012年9月计算机二级C语言试题机密口启用前2012年9月全国计算机等级考试二级笔试试卷
C语言程序设计(考试时间90分钟,满分100分)ー、送择题((1)〜(10)、(21)〜(40)每題2分.(IJ)〜(20)为題1分,共70分)下列各鸵A)、B).C)、D)四个选项中,只有一个选项是正确的.诺将正确选项涂写在答题卡相应位置上,答在试卷上不得分.(1)卜列铉表中,其逻辑结构属于非线性结构的是A)双向链表 B)带铉的栈 〇ニ又便表D)循环儘表<2)设循环队列的存储空间为嚥1:35).初始状态为front-rcar-3S.现经过ー系列入队与退队运算后,front-IS,rek”.刘循环队列中的元家个数为A)20 B)0或”015 D)16(3)卜列关于栈的叙述中,正确的是A)栈底元素一定是最后入栈的兀素 B)枝掾作遍相先进后出的原则0栈顶元素一定是最先入校的兀素 D)以上三朴说法都不对る关系数据库中.用来表示实作间取系的是A)网状结构B)树状结构〇尾住 D)二雄太(5)公司中有多个部门和多名职员.毎个职协只能属于一个部门,ー个部门可以有多名职员.対发体部门和职员间的联系是A)I:m联系B)m>n联系〇I:!联系D)m:1我糸(6)冇两个关系R和S如ト:
则由美系R得到关系S的候作足A)自然连接B)并 C)诜择S)恢据字典;DD)け定义的対象尺尼含手A)软件结构图 B)方如图C)牧掘流图(DFpra) D)杆ネ液科图(8)轼件需求媒格说明粕的什用不包结B)软件可行性研亢的依据D)用户与开发人员对软件要做什么的共同理研〇语句?|着B)软件可行性研亢的依据D)用户与开发人员对软件要做什么的共同理研〇语句?|着D)逻辑用工〇な科妗收的依里(9)下面属于黒盒测试方法的是A)边界依分析B)路役糧養(io)ド血不属)・软件设计阶段任务的用A)制定软件确认测试计划 H)数据库设计C)软件总体设it D)算法设计(11)以下叙述中正确的是A)在C语言程序中,main函数必须放在其他函数的最前面B)每个后缀为.C的C语言源程序都可以单独进行编译〇在C语言程序中,只有main函数オ可单独进行编译D)每个后缀为.C的C语言源程序都应该包含ー个main函数(12)C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是A)预定义标识符(如库函数中的函数名)可用作用户标识符,但失去原有含义B)用户标识符可以由字母和数字任意顺序组成〇在标识符中大写字母和小写字母被认为是相同的字符D)关键字可用作用户标识符,但失去原有含义(13)以下选项中表示一个合法的常量是(说明:符号口表示空格)A)9D9Q9B)OXabC)123E0.2D)2.7e(14)C语言主要是借助以下哪个功能来实现程序模块化A)定义函数B)定义常量和外部变量〇三种基本结构语句D)丰富的数据类型(15)以下叙述中错误的是A)非零的数值型常量有正值和负值的区分B)常量是在程序运行过程中值不能被改变的量〇定义符号常量必须用类型名来设定常量的类型D)用符号名表示的常量叫符号常量(16)若有定义和语句:inta,b;scanf("%d)%d",&a,&b);以下选项中的输入数据,不能把值3赋给变量a、5赋给变量b的是A)3,5,B)3,5,403,5D)3,5C语言中char类型数据占字节数为A)3B)401D)2(18)下列关系表达式中,结果为“假”的是A)(3+4)>6B)(3!=4)>203<=4||3D)(3<4)==1(19)若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的switch语句是A)switch(a+9)B)switcha*b{casec1:y=a-b;{case10:x=a+b;casec1:y=a+b;default:y=a-b;}}〇switch(a+b)D)switch(a*b+b*b){easel:case3:y=a+b;break;{default:break;caseO:case4:y=a-b;case3:y=a+b;break;}case2:y=a-b;break;}(20)有以下程序#include<stdio.h>main(){inta=-2,b=0;while(a++&&++b);printf("%d,%d\n",a,b);}程序运行后的输出结果是A)1,3B)0,200,3D)1,2(21)设有定义:intx=O,*p;,立即执行以下语句,正确的语句是A)p=x;B)*p=x;〇p=NULL;D)*p=NULL;2012年9月笔试真卷及答案详解第3页(共12页)(22)下列叙述中正确的是A)可以用关系运算符比较字符串的大小B)空字符串不占用内存,其内存空间大小是〇〇两个连续的单引号是合法的字符常量D)两个连续的双引号是合法的字符串常量(23)有以下程序#include<stdio.h>main(){chara='H';a=(a>='A'&&av=Z)?(a-"A'+'a'):a;printf("%c\n",a);程序运行后的输出结果是A)AB)aC)HD)h(24)有以下程序#include<stdio.h>intf(intx);main(){inta,b=O;for(a=0;a<3;a++){b=b+f(a);putchar('A'+b);intf(intx){returnx*x+1;}程序运行后的输出结果是A)ABEB)BDIC)BCFD)BCD(25)设有定义:intx[2][3];,则以下关于二维数组x的叙述错误的是x[0]可看作是由3个整型元素组成的一维数组x[0]和x[1]是数组名,分别代表不同的地址常量C)薪组x包含6个元素D)可以用语句x[O]=0;为数组所有元素赋初值〇(26)设变量p是指针变量,语句p=NULL;,是给指针变量赋NULL值,它等价于A)p="";B)p="O';C)p=O;D)p=";(27)有以下程序#include<stdio.h>main(){inta[]={10,20,30,40},*p=a,i;for(i=0;i<=3;i++){a[i]=*p;p++;}printf("%d\n",a[2]);}A)30B)40C)10D)20(28)有以下程序#include<stdio.h>#defineN3voidfun(inta[][N],intb[]){inti,j;for(i=0;i<N;i++)2012年9月笔试真卷及答案详解第4页(共12页){b[i]=a[i][〇];for(j=1;j<N;j++)if(b[i]va皿])b[i]=a皿];main(){intx[N][N]={1,2,3,4,5,6,7,8,9},y[N],i;fun(x.y);for(i=0;i<N;i++)printf("%d,",y[i]);printf("\n");)A)2,4,8B)3,6,903,5,7D)1,3,5(29)有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数)#include<stdio.h>#include<string.h>main(){chara[10]="abc",b[10]="012",c[10]="xyz";strcpy(a+1,b+2);puts(strcat(a,c+1));}程序运行后的输出结果是A)a12xyzB)12yzC)a2yzD)bc2yz(30)以下选项中,合法的是charstr3[]={'d','e','b','u','g','\0');charstr4;str4="helloworld";charname[10];name="china";D)charstr1[5]="pass",str2[6];str2=str1;(31)有以下程序#include<stdio.h>main(){char*s="12134";intk=O,a=O;while(s[k+1]!='\0'){k++;if(k%2==0){a=a+(s[k]-'0'+1)continue;}a=a+(s[k]-'O');}printf("k=%da=%d\n",k,a);}程序运行后的输出结果是A)k=6a=11B)k=3a=14C)k=4a=12D)k=5a=15(32)有以下程序#include<stdio.h>main(){chara[5][10]={"one","two","three","four","five"};inti,j;chart;for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(a[i][O]>aU][O])2012年9月笔试真卷及答案详解第5页(共12页){t=a[i][0];a[i][0]=aD][0];a[j][0]=t;}puts(a[1]);)程序运行后的输出结果是A)fwoB)fixC)twoD)owo(33)有以下程序#include<stdio.h>inta=1,b=2;voidfun1(inta,intb){printf("%d%d”,a,b);}voidfun2(){a=3;b=4;}main(){fun1(5,6);fun2();printf("%d%d\n",a,b);}程序运行后的输出结果是A)1256B)563405612D)3456(34)有以下程序#include<stdio.h>func(intn){staticintnum=1;num=num+n;printf("%d",num);}voidmain(){func(3);func(4);printf("\n");}程序运行后的输出结果是A)48B)34035D)45(35)有以下程序#include<stdio.h>#include<stdlib.h>fun(int*p1,int*p2,int*s){s=(int*)malloc(sizeof(int));*s=*p1+*p2;free(s);}voidmain(){inta=1,b=40,*q=&a;fun(&a,&b,q);printf("%d\n",*q);)程序运行后的输出结果是A)42B)0〇1D)41(36)有以下程序#include<stdio.h>structSTU{charname[9];charsex;intscore[2];};voidf(structSTUa。){structSTUb={"zhao",'m',85,90};a[1]=b;}main(){structSTUc[2]={{"Qian"I'f',95,92},{"Sun",'m',98,99});f(c);printf("%s,%c,%d,%d,",c[O].name,c[O].sex,c[0].score[0],c[0].score[1]);printf("%s,%c,%d,%d\n,",c[1].name,c[1].sex,c[1].score[0],c[1].score[1]);}程序运行后的输出结果是Zhao,m,85,90,Sun,m,98,99B)Zhao,m,85,90,Qian,f,95,92C)Qian,f,95,92,Sun,m,98,99D)Qian,f,95,92,Zhao,m,85,90(37)以下叙述中错误的是A)可以用trpedef说明的新类型名来定义变量trpedef说明的新类型名必须使用大写字母,否则会出编译错误〇用trpedef可以为基本数据类型说明一个新名称D)用trpedef说明新类型的作用是用ー个新的标识符来代表已存在的类型名(38)以下叙述中错误的是A)函数的返回值类型不能是结构体类型,只能是简单类型B)函数可以返回指向结构体变量的指针〇可以通过指向结构体变量的指针访问所指结构体变量的任何成员D)只要类型相同,结构体变量之间可以整体赋值(39)若有定义语句intb=2;则表达式(b«2)/(3||b)的值是A)4B)800D)2(40)有以下程序#include<stdio.h>main(){FILE*fp;inti,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w+");for(i=0;i<6;i++)fprintf(fp,"%d\n",a[i]);rewind(fp);for(i=0;i<6;i++)fscanf(fp,"%d",&a[5-i]);fclose(fp);for(i=0;i<6;i++)printf("%d",a[i]);}程序运行后的输出结果是A)4,5,6,1,2,3B)1,2,3,3,2,1C)1,2,3,4,5,6D)6,5,4,3,2,1二、填空题(每空2分,共30分)(6)请写出与!(a<=b)等价的C语言表达式【6】〇(7)以下程序运行时从键盘输入:1.02.〇,输出结果是:1.0000002.000000,请填空。#include<stdio.h>2012年9月笔试真卷及答案详解第7页(共12页)main(){doublea;floatb;scanf("[7]”,&a,&b);printf("%f%f\n",a,b);}(8)有以下程序#include<stdio.h>main(){intn1=0,n2=0,n3=0;charch;while((ch=getchar())!='!')switch(ch){case'1':case'3':n1++;break;case'2':case'4':n2++;break;default:n3++;break;}printf("%d%d%d\n",n1,n2,n3);}若程序运行时输入01234567!く回车〉,则输出结果是【8】〇(9)有以下程序#include<stdio.h>main(){inti,sum=0;for(i=1;i<9;i+=2)sum+=i;printf("%d\n",sum);}程序运行后的输出结果是【9】〇(10)有以下程序#include<stdio.h>main(){intd,n=1234;while(n!=0){d=n%10;n=n/10;printf("%d",d);}}程序运行后的输出结果是【10】〇(11)有以下程序#include<stdio.h>intk=7;int*st(int*a){int*c=&k;if(*a>*c)c=a;returnc;main(){inti=3,*p=&i,*r;r=st(p);printf("%d\n",*r);)程序运行后的输出结果是[11]〇(12)以下程序的输出结果是【12】#include<stdio.h>2012年9月笔试真卷及答案详解第8页(共12页)#defineN3#defineM(n)(N+1)*nmain(){intx;x=2*(N+M(2));printf("%d\n",x);}(13)若有定义语句:charstr[]="0";,则字符串str在内存中实际占[13I字节。(14)有以下程序#include<stdio.h>intfun(intn){if(n==0)return(1);return(fun(n-1*n));}main(){intt;t=fun(3);printf("%d\n",t);}程序运行后的输出结果是【14]〇(15)以下函数的功能是输出链表结点中的数据,形参指针h已指向如下链表hABC\0请填空。structslist{chardata;structslist*next);voidfun(structslist*h){structslist*p;P=h;while(p){printf("%c",p->data);p=[15];}printf("\n");}2012年9月笔试真卷及答案详解第9页(共12页)2012年9月全国计算机等级考试二级C语言程序设计答案及详解ー、选择题(11)B)[解析]每ー个C语言的文件或函数都可以单独编译,但只有main函数的才可以执行。A)【解析】预定义标识符是C语言中的标识符,在C语言中也有特定的含义,如函数printf、scant>sin等和编译预处理命令名(如define和include)。预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的原义。B)【解析】Oxab是十六进制表示的常量。A)【解析】C语言用函数实现软件的模块化设计。〇【解析】C语言中,常常用ー个标识符来代表一个常量,称为符号常量。符号常量在使用之前要先定义,定义格式如下:#definev符号常量名〉(常量)其中,〈符号常量名)用标识符,习惯上用大写字母,〈常量〉可以是数字常量,也可以是字符f)Tj/F51C)【解析】题目中用scanf函数以整数的形式输入a,b的直选项C)整型数字3后面有一个空格,当输入空格时,scan!函数输入就会终止。〇【解析】C语言中char类型数据占字节数为1.B)【解析】由于3!=4的结果为1,而1〉2的结果为假。D)【解析】使用switch语句直接处理多个分支,其一般形式为:switch(表达式)2012年9月笔试真卷及答案详解第10页(共12页){case常量表达式1:语句1;break;case常量表达式2:语句2;break;case常量表达式n:语句n;break;default:语句n+1;break;}switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行detault后面的语句n+1,然后退出switch语句。D)【解析】由于a的初始值等于ー2,所以while循环语言执行两次结束,此时变量a的值等于1,变量b的等于2。C)【解析】定义指针变量时,必须将指针变量初始化为NULL(为空),否则,如果不赋给它地址,系统会随机给它分配一个地址。D)【解析】两个连续的双引号:是ー个字符串常量,称为“空串”。D)【解析】由于a的值为H,符合(a>='A'&&a<='Z'),所以条件表达式的值等于(a-'A中め,即'h'oB)【解析】在函数main。中,第一次执行for循环时,b的值等于1,此时输出字母B:第二次执行for循环时,b的值等于3,此时输出字母D:第三次执行for循环时,b的值等于8,此时输出字母I。D)【解析】x[0]可看作是由3个整型元素组成的ー维数组,不可以用语句x[0]=0,为数组所有元素赋初值。。C)【解析】给指针变量p赋NULL值,NULL是在stdio.h头文件中定义的预定义符,其代码值为〇,当执行p=NULL;语句后,称P为空指针。因为NULL的代码值为〇,所以p=NULし语句等价于p=''〇';或p=0;。A)【解析】因为指针变量p的初始值指向数组a,所以执行for循环语句后,数组a中的元素的值不变。B)【解析】函数fun()的作用是求出ニ维数组a[][N]中每一行中的最大元素,所以在main()函数中执行完fun(x,y)后,数组y中的元素为二维数组x[N][N]每一行的展大元素。C)【解析】程序执行后strcpy(a+1,b+2)后,字符数组a的值为"a2”,再进行字符串的连接strcat(a,c+1)»此时字符数组a的值为“a2yz”。A)【解析】选项A)是定义了字符数组str3ロ,并对其赋初值。C)【解析】这个程序的执行过程如下:当k=0时,s[1]=2!='\0',k++=1,a=0+(s[1]-'\0')=2s当k=1时,s[2]=1!=1、〇1,k++=2,a=2+(s[2]-'\0'+1)=2+(1+1)=4;当k=2时,s[3]=3!='、〇',k++=3,a=4+(sロトへ0')=4+3=7;2012年9月笔试真卷及答案详解第11页(共12页)当k=3时,s[4]=4!='\0',k++=4,a=7+(s[4]-'\0'+1)=7+(4+1)=12;当k=4时,s[5]='、〇'结束循环,输出变量k和a超。A)【解析】这个程序的执行过程是当i=0时,j=1,a[0][0]=o<a[1][0]=t;不置换;当i=1时,j=2,a[1][0]=t=a[2][0]=t;不置换;当i=2时,j=3,a[2][0]=t>a[3][0]=f;置换a[2][0]=f,a[3][0]=t:此时,a[2][0]=f,a[1][0]=t,再置换a[2][0]=t,a[1][0]=f,;当i=3时,j=4,a网[0]=f=a43][0]=f;不置换;所以a[1]的结果为fwo。B)【解析】函数fun1()的作用是输出局部变量a和b的值,在主函数中执行fun1(5⑹的结果是输出5,6:函数fun2()的作用是给变量a和b分别赋值3,4;执行fun2()的作用是输出3,4。A)【解析】在函数func(intn)中定义了局部静态变量num,,其初始值等于1,所以在主函数中执行func(3),输出4,此时静态变量num的值等于4,当退出函数func(3)时,其值不会丢失,所以当在执行func(4)时,输出8。C)【解析】执行fun(&a,&b,q);语句时,在内存中开辟了一块内存空间,存放变量a与b的和,并用指针变量q引用它,但是当这条语句执行结束,这块内存空间又释放了,指针这量q仍然引用的是变量a的地址,所以输出结果为1。D)【解析】在主函数中,定义了结构体STU数组c[2],并对其赋初始值。执行f(c)时,在函数f()中,把结构体变量b的值赋给了c[1]。B)【解析】typedef语句的作用仅仅是用“标识符”来代表已存在的“类型名”,并未产生新的数据类型,原来类型名依然有效。为了便于识别,・般习惯将新的类型名用大写字母表示。A)【解析】函数的返回值类型可以是结构体类型。B)【解析】变量b的值等于2,其向左移动2位,其值等于8,即b<<2的值等于8。而311b做或运算的结果等于1。所以表达式(b«2)/(3||b)的值等于8。D)【解析】在程序中定义了一个整型数组a⑹,并对它赋初值,并以写入的方式打开了文件d2.dat。然后利用ー个for循环把数组a中的元素数据写入文件d2.dat中,调用函数rewind把将文件内部的位置指针重新指向ー个文件的开头,再利用for循环语句把文件中的数据依次写入到倒序排列的数组a中,最后输出数组a中的数组元素。二、填空题(6)[6](a<=b)||(a>b)2012年9月笔试真卷及答案详解第12页(共12页)【解析】表达式!(a<=b)含义是对a小于等于b取非,所以与其等价的表达式是(a<=b)||(a>b)o(7)【7】%lf%f【解析】对于变量a和b的输入采用实数的形式,所以scanf函数的输入格式符为%lf%fo(8)【8】224【解析】当从键盘上输入01234567!时,根据程序中sw血h()语句,当输入的字符为T、3时,变量n1++;所以n1的值等于2;当输入的字符为2、4时,变量n2++;所以n2的值等于2;当输入的字符为其他字符时,变量n3++;所以n3的值等于4。所以答案为224。[9]16【解析】程序的功能是求1、3、5、7之和,等于16。[10]4321【解析】在程序的while循环中,每次求出n的个位上的数字,然后n的值减小10位,所以输出结果为4321。[11]7【解析]函数・st()的作用是返回・a与七中较大数的指针,所以在主函数中,执行st(p)时,返回養量k的指针,因而输出结果为7。[12]22【解析]根据C语言中对带参数的宏的定义,2*(N+M)2))=2*(3+(3+1)*2)=22。[13]2【解析]在C语言中在每个字符串的最后都增加一个字符串结束标识字符‘、〇’,所以本题中的字符串在内存中占有2个字节。[14]6【解析]根据函数的迭代,f⑶=3・耳2)=3*2・甲)=3*2*1*甲)=3*2*1*1=6。[15]p->next[解析]在while循环中输出循环链表的每个结点,p->next指向当前结点的下ー个结点。2012年3月全国封算机等仅国侦二俵C语吿再跳ー、选择题1、下列叙述中正确的是:A、循环队列是队列的ー种顺序存储结构 B、循环队列是队列的ー种链式存储结构C、循环队列是非线性结构 D、循环队列是一直逻辑结构2、下列叙述中正确的是A、栈是ー种先进先出的线性表 B、队列是ー种后进先出的线性表C、栈和队列都是非线性结构 D、以上三种说法都不对3、一棵ニ叉树共有25个节点,其中5个时子节点,那么度为1的节点数为A、4 B、6 C、10 D、164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A、内模式B、外模式 C、概念模式D'逻辑模式5、在满足实体完整性约束的条件下A、ー个关系中可以没有候选关键词B、一个关系中只能有一个候选关键词C、一个关系中必须有多个候选关犍词D、ー个关系中应该有一个或者多个候选关键词6、有三个关系R、S和T如下:ABCABCa12b21c31ABCa12b21ABCa21b31则由关系R和S得到关系T的操作是A、自然连接B、并C、差D、交7、软件生命周期中的活动不包括A、软件维护 B、市场调研 C、软件测试 D、需求分析8、下面不属于需求分析阶段任务的是A、确定软件系统的功能需求 B、确定软件系统的系统的系能需求B、制定软件集成测试计划 D、需求规格说明书审评9、在黑盒测试方式中,设计测试用例的主要根据是A、程序外部功能 B、程序内部逻辑C、程序数据结构 D、程序流程图10、 在软件设计中不使用的工具是A、系统结构图B、程序流程图 C、PAD图D、数据流图(DFD图)11、针对简单程序设计,以下叙述的实施步骤正确的是A、确定算法和数据结构、编码、调试、整理文档B、编码、确定算法和数据结构、调试、整理文档C、整理文档、确定算法和数据结构、编码、调试D、确定算法和数据结构、调试、编码、整理文档12、关于C语言中数的表示,以下叙述正确的是A、只有整型数在允许范围内能精确无误的表示,实型数会有误差B、只要在在允许范围内整型和实型都能精确表示C、只有实型数在允许范围内能精确无误的表示,整型数会有误差D、只有八进制表示的数在不会有误差13、以下关于算法叙述错误的是A、算法可以用伪代码、流程图等多种形式来描述B、一个正确的算法必须有输入C、ー个正确的算法必须有输出D、用流程图可以描述的算法可以用任何ー种计算机高级语言编写成程序代码14、以下叙述错误的是A、ー个C程序可以包含多个不同名的函数B、ー个C程序只能有一个主函数C、C程序在书写时,有严格的缩进要求,否则不能编译通过D、C程序的主函数必须用main作为函数名15、设有以下语句Charchl,ch2,scanf("%c%c'',&chl,&ch2);若要为变量ch!和ch2分别输入字符A和B,正确的输入形式应该是A、A和B之间用逗号间隔 B、A和B之间不能有任何间隔符C>A和B之间可以用回车间隔 D、A和B之间用空格间隔16、以下选项中非法的字符常量是A、へ102'B、へ65' C>'\xff D、'\019'1フ、有以下程序#include<sthio.h>Main()(IniA=O,B=O,C=O;C=(A-=A-5);(A=B,B+=4);Printf(4t%d,%d,%d\n”,A,B,C))程序运行后输出的结果是A0,4,5B4,4,5 C4,4,4D0,0,018、设变量均已正确定义并且赋值,以ド与其他三组输出结构不同的ー组语句是A、x++;printf(C*%d\n,\x); B、n=++x;printf((u%d\n',,n);C、+4-x;printf((<<%d\n,,,x); D、n=x++;printf(("%d\n'',n);19、以下选项中,能表示逻辑值“假’’的是A1 B0.000001 C0 D100.020、有以下程序#include<sthio.h>Main(){inta;ScanfC'%d",&a);If(a++<9)printf((44%d\n?',a);Elseprintf(C<%d\n,,,a-);)程序运行时键盘输入9〈回车》,则输出的结构是A、10B11C9D821、有以下程序#include<sthio.h>Main(){ints=O,n;For(n=0;n<3;n<++){switch(s){case0;Casel;s+=l;Case2;s+=2;break;Case3;s+3;Case4;s+=4;}printf(r%d\n?,,s);程序运行后的结果是A22、124BA22、124B1,3,6C3,10,14D3,6,10若k是int类型变量,且有以下for语句For(k=-l;kv0;k++)printf(****\n");下面关于语句执行情况的叙述中正确的是A、A、循环体执行一次C、循环体ー次也不执行B、循环体执行两次D、构成无限循环23、有以下程序#include<sthio.h>Main(){charA,B,C;B=T;C='A'For(A=0;A<6;A++){if(A%2)putchar(B+A);Elseputchar(C+A);})程序运行后输出的结果是A1B3D5FBABCDFECA2C4E6D12345624、设有如下定义语句Intm[]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A*(k+2)Bk+2 C*k+2 D*k+=225、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。在下列划线处应该填写的是#include<sthio.h>#defineN5Viodfun(intx[N]){intm;For(m=N-l;m>0;m—)scanf("%d\n”,i;)A&x[++m]B&x[m+l]Cx+(m++)Dx+m26、若有函数Viodfun(doublea[],int*n){ }以下叙述中正确的是A、调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B、形参a和n都是指针变量C、形参a是ー个数组名,n是指针变量D、调用fun函数时将把double型实参数组元素・ー对应地传送给形参a数组27、有以下程序#include<sthio.h>Main(){inta,b,k,m,*pl,*p2;k=l,m=8;pl=&k,p2=&m;a=/*p1-m;b=*pl+*p2+6;printf(44%d",a);printf("%d\n”,b);)编译时编译器提示错误信息,你认为出错的语句是A、a=/*pl-m b=*pl+*p2+6C、k=l,m=8; D、pl=&k,p2=&m;28、以下选项中有语法错误的是Achar*str[]={ttguesf,); B、charstr[10]={44guestM);C>char*str[3]*str[l]={ttguesf,};D、charstr[3][10];str[l]={44guesr);29、avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10»则下列函数说明语句错误的是A、intavg(int*a,intn);B、intavg(inta[10J,intn);C、intavg(intajntn);D、intavg(inta[],intn);30、有以下函数#include<sthio.h>#include<string.h>main(){printf(44%d\n,\strren,,ATS\nO12\1M));}程序运行后的输出结果是A3B8 C4D931、有以下函数#include<sthio.h>main(){chara[20],b[20],c[20];scanf("%s%s”,a,b);get(c);printf(,,%s%s\n,\a,b,c);}程序运行时从第一行开始输入thisisacat!く回车〉,则输出结果是Athisisacat!BthisisaCthisisacat!Dthisisacat!32、有以下函数#include<sthio.h>viodfun(charc){if(c>'x')fun(c-l);printf(44%c”,c);)main(){fun'N';}程序运行输出结果是AxyzBwxyzCzyxwDzyx33、有以下函数#include<sthio.h>viodfunc(intn){inti;for(i=0;i<=n;i++)printf("*");printfC铲);main(){func(3);printf(M???r,);func(4);printf('ヘn");}程序运行输出结果是A****#ワワッッ***# b***#ツツツッ*****#C**3ツツツツ*****# d****#クッッワ*****#34、有以下函数#include<sthio.h>viodfun(int*s){staicintj=0;do{s[j]=s[j]+s|j+l];}wihle(++j<2);)main(){intk,a[10]={12345};for(K+l;k<3;k++)fun(a);for(K+l;k<5;k++)printf("%d”,a[k]);printf("\n”);)程序运行输出结果是A12345B23445C34756D3574535、有以下函数#include<sthio.h>#defineS(x)(x)*x*2main(){intk=5,j=2;printfC%d;\S[k+jJ);printf("%d\n”,S(k-j)));)程序运行输出结果是A98,18B39,llC39,18D98,ll36、有以下函数#include<sthio.h>Viodexch(intt[]){t[O]=t[5];}{intx[10]={1,2,3,4,5,67,8,9,10},i=0;While(i<=4){exch(&x[i]),i-H-;)for(i=0;i<5;i++)printf("%d”,x[i]);printf("\n”);)程序运行输出结果是A246810B13579C12345 D67891037、设有以下程序段StructMP3{charname[20];Charcolor;Floatprice;}std,*ptr;ptr=&std;若要引用结构体变量std中的color成员,写法错误的是Astd.colorBptr->color Cstd->colorD(*ptr).color38、有以下函数#include<sthio.h>structstu{intmun;charnameflO];intage;};viodfun(structstu*p){printf("%s\n”,p・>name);}mian(){structstux[3]={{01,''zhang'',20},{02,''wang'',19},{03Jzhao”』8}};fun(x+2);}程序运行输出结果是AzhangBzhaoCwangD1939、有以下函数#include<sthio.h>mian(){inta=12,c;c=(a«2)«l;printf("%d\n",c):)程序运行输出结果是A3B50C2D9640、以下函数不能用于向文件写入数据的是AftellBfwrite Cfputc Dfprintf二、填空题1、将长度为n的顺序存储在线性表中删除ー个元素,最坏情况下需要移动表中的元素个数为( )«2、设循环队列的存储空间为Q(1:3),初始状态为front=rear=30o现经过一系列入队与退队运算后,front=16,rear=15,则循环队列中有( )个元素。3、数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是()〇4、在将E-R图转换到关系模式时,实体和联系都可以表示成()。5,常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于(6、设变量a和b已定义为int类型,若要通过scanf("a=%d,b=%d”,&a,&b);语句分别给a和b输入1和2,则正确的数据输入内容是()〇7、以下程序的输出结果是( ).
#include<sthio.h>mian(){inta=37;a+=a%=9;printf(<t%d\n,\a);}8、设a、b、c都是整型变量,如果a的值为1,b的值为2,则执行c=a++llb++:语句后,变量b的值是().9、有以下程序段s=1.0;for(k=l,k<=n;k++) s=s+1.0(k*(k+1));printf("%f\n”,s);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学26年:呼吸疾病居家康复要点 查房课件
- 社区护理中的护理营养支持
- 安徽省宣城市2026届高三最后一模语文试题含解析
- 26年银发激越行为预防课件
- 四川省遂宁市射洪中学2025-2026学年高二下学期期中考试地理试卷
- 26年银发运动护理方案制定步骤课件
- 26年银发医保情况采集步骤课件
- 【2026】年技术经理(某世界500强集团)面试题试题集详解
- 26年老年应急事件案例汇编课件
- 26年老年头孢过敏案例分析课件
- 防疫道德讲堂课件
- 2025年全国设备监理师设备工程质量管理与检验真题及答案
- 不合格品处置制度
- 施工现场建筑垃圾处置方案(完整版)
- 【小升初真题】2025年河北省廊坊市三河市小升初数学试卷(含答案)
- 数控钣金加工生产线设计方案
- 甲状腺危象护理查房要点
- 镇静药物的使用及注意事项
- 排污许可审核方案投标文件(技术方案)
- 急救常识科普
- 用户运营考试题及答案
评论
0/150
提交评论