版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二级C语言编程技巧与实例解析(山东联盟)智慧树知到期末考试答案+章节答案2024年曲阜师范大学在C语言中,字母的大小写不被区分
答案:错C语言的三种循环不可以互相嵌套
答案:错结构体成员的类型必须是基本数据类型
答案:错在进行逻辑运算时,非0整型值表示“真”
答案:对复合语句是由多条语句组成的,因此它不是一条语句
答案:错用gets函数可以接收一个含有空格的字符串
答案:对在switch语句中,每一个的case常量表达式的值可以相同
答案:错C语言函数返回类型的默认定义类型是void
答案:错下面程序的运行结果:2,3,1#includevoidmain(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}
答案:对有以下程序main(){inta[][3]={{1,2,3},{4,5,0}},(*pa)[3],i;pa=a;for(i=0;i<3;i++)if(i<2)pa[1][i]=pa[1][i]-1;elsepa[1][i]=1;printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}执行后输出结果是
答案:7以下函数返回a所指数组中最小的值所在的下标值。fun(int*a,intn){inti,j=0,p;p=j;for(i=j;ireturn(p);}在下划线处应填入的是
答案:p=i#includevoidfun(inta[],intn){inti,t;for(i=0;i{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){intk[10]={1,2,3,4,5,6,7,8,9,10},i;fun(k,5);for(i=2;i<8;i++)printf("%d",k[i]);printf("\n");}程序的运行结果是
答案:321678在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码
答案:大32以下选项中,合法的一组C语言数值常量是()
答案:12.0Xa234.5e0有如下语句:printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”);执行语句后的最终结果为
答案:COMPUTER,COM.已知intx=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为:if(x>y||xz)z=x;x=y;y=z;
答案:x=50,y=80,z=80有如下定义:structdate{intyear,month,day;};structworklist{charname[20];charsex;structdatebirthday;}person;对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是
答案:person.birthday.year=1958以下错误的描述是函数调用可以
答案:做为一个函数的形参下列关于main函数的说法正确的是
答案:main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的有以下程序:#includevoidf(int*p);main(){inta[5]={1,2,3,4,5},*r=a;f(r);printf("%d",*r);}voidf(int*p){p=p+3;printf("%d,",*p);}程序运行后的输出结果是()
答案:4,1有以下程序main(){chars[]="\n123\\";printf("%d,%d\n",strlen(s),sizeof(s));}执行后输出结果是
答案:5,6_____是C程序的基本构成单位。
答案:函数语句inti=3;k=(i++)+(i++)+(i++);执行过后k的值为
,i的值为
。
答案:9,6#includemain(){intx=1,y=0,a=0,b=0;switch(x){case1:case2:a++;b++;break;ase3:a++;b++;break;default:a++;b++;}printf(“\na=%d,b=%d”,a,b);}以上程序的输出是
答案:a=1,b=1以下程序段完全正确的是
答案:intk,*p=&k;scanf("%d",p);两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是main(){intx;scanf(“%d”,&x);if(x++>5)printf(“%d”,x);elseprintf(“%d\n”,x--);
答案:7和5#includemain(){chars[]="rstuv";printf("%c",*s+2);}程序运行后的输出结果是
答案:t下列符号中,可以作为变量名的是
答案:a3B有以下程序:#includeintfun(){staticintx=1;x+=1;returnx;}main(){inti,s=1;for(i=1;i<=2;i++)s+=fun();printf("%d",s);}程序运行后的输出结果是()
答案:6有以下程序voidf(intx,inty){intt;if(x}main(){inta=4,b=3,c=5;f(a,b);f(a,c);f(b,c);printf("%d,%d,%d\n",a,b,c);}执行后输出的结果是
答案:4,3,5程序段如下intk=0;while(k=0)k=k+1;则以下说法中正确的是
答案:循环体语句一次也不执行定义如下变量:intn=10;则下列循环的输出结果是while(n>7){n--;printf("%d",n);}
答案:987对整型常量可进行自加或自减运算,而对变量或表达式不可以
答案:错continue不是结束本次循环,而是终止整个循环的执行
答案:错表达式语句和表达式没有什么区别
答案:错被定义为指向某结构体类型数据的指针变量,即可以指向具有该类型的变量,又可以指向它其中的一个成员
答案:错函数中的形式参数是局部变量
答案:对指针数组的每个元素都是一个指针变量
答案:对C语言的书写格式不会影响程序的可读性
答案:错表达式a+=a-=a=9的值是()
答案:0有以下程序main(){char*s[]={"one","two","three"},*p;p=s[1];printf("%c,%s\n",*(p+1),s[0]);}执行后输出结果是
答案:w,one有下列程序:main(){chars[]="xyz123";
s=s+3;
printf("%c",s[0]);}执行后的结果是()。
答案:1以下for循环是for(a=0,b=0;(b!=123)&&(a<=4);a++);
答案:执行5次C语言提供的合法关键字是
答案:continue分析以下程序:main(){
int
x=5,a=0,b=0;
if(x=a+b)
printf(“****”);
else
printf(“####”);以上程序
答案:输出##有以下程序:#includemain(){inta=1,b=2;while(a<4){b+=a;a+=2;b%=l0;}printf("%d,%d",a,b);)程序运行后的输出结果是()
答案:5,6下列程序的执行结果是#include#definesum(10+20)mian(){inta=0,b=0,c=0;a=sum;b=5;c=sum*b;printf('%d',c);}
答案:150以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#defineN10voidarrin(intx[N]){inti=0;while(iscanf("%d",_________);}在下划线处应填入的是
答案:x+(i++)在C语言中,’\101‘指的是
答案:'A'当a=1,b=3,c=5,d=4时,执行完下面程序段后x的值为if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;
答案:2C语言中,运算对象必须是整型数的运算符是
答案:%以下能对一维数组a进行正确初始化的语句是
答案:inta[10]={10*1};如果函数定义出现在函数调用之前,可以不必加函数原型声明
答案:对有以下程序(说明:字符0的ASCII码值为48)#includemain(){charc1,c2;scanf("%d",&c1);c2=c1+9;printf("%c%c\n",c1,c2);}若程序运行时从键盘输入48,则输出结果为09
答案:对在语句int*p;和语句printf(“%d”,*p);中的*p含义相同
答案:错在说明一个结构体变量时系统分配给它的存储空间是
答案:该结构体中所有成员所需存储空间的总和下列运算符中优先级最高的是
答案:*如下程序的执行结果是#includemain(){inti;char﹡s=〞a\\\\\n〞;for(i=0;s[i]!=’\0’;i++)printf(〞%c〞,﹡(s+i));}
答案:a\\有以下程序main(){charstr[]="xyz",*ps=str;while(*ps)ps++;for(ps--;ps-str>=0;ps--)puts(ps);}执行后输出结果是
答案:zyzxyz#includemain(){intb=10,a=11;a%=b%=4;printf("%d%dn",a,b);}则程序的输出结果是
答案:12有以下定义:“inta;longb;doubleX,Y;”,则以下选项中正确的表达式是()。
答案:a=X!=Y下面程序的输出结果是main(){intx=2,y=0,z;x*=3+2;printf(“%d”,x);
x*=y=z=4;printf(“%d”,x);
}
答案:1040以下程序的输出结果是
main(){inta=0,i;for(i=1;i<5;i++){swich(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;}}printf('%d',a);}
答案:31有如下程序#includemain(){intx=072;printf("X=%d",x+1);}程序运行后的输出结果是
答案:X=59下列关于数组的说法正确的是
答案:在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数下面程序的输出结果是main(){intx=40,y=4,z=4;x=y==z;printf(“%d”,x);x=x==(y-z);printf(%d”,x);}
答案:10以下程序的运行结果是structstru{intx;charc;};main(){structstrua={10,’x’},*p=&a;func(p);printf(“%d,%c”,a.x,a.c);}func(structstru*b){b->x=20;b->c=’y’;}
答案:20,y已知intn,i=1,j=2;执行语句n=i
答案:2,2一个C程序可以包含任意多个不同名的函数,但有且仅有一个_____,一个C程序总是从______开始执行。
答案:mainwhile循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定有能使此表达式的值变为的操作,否则,循环将会无限制地进行下去。
答案:0以下程序的输出结果是main(){charc1='6',c2='0';printf('%c,%c,%d,%d',c1,c2,c1-c2,c1+c2);}
答案:6,0,6,102C语言中能用来表示整常数的进制是
答案:十进制、八进制、十六进制若有以下定义:inta[5]={5,4,3,2,1};charb=‘a’,c,d,e;则下面表达式中数值为2的是
答案:a[3]有以下程序#includevoidmain(){intx[3][2]={0},i;for(i=0;i<3;i++)
scanf('%d',x[i]);printf(“%3d%3d%3d”,x[0][0],x[0][1],x[1][0]);}若运行时输入:246,则输出结果为(
)
答案:204设有如下定义structss{charname[10];intage;charsex;}std[3],*p=std;下面各输入语句中错误的是
答案:scanf("%s",&);若有以下说明和语句:structworker{intno;char﹡name;}work,﹡p=&work;则以下引用方式不正确的是
答案:work->no#includemain(){intx=0,y=5,z=3;while(z-->0&&++x<5)y=y-1;printf(“%d,%d,%d\n”,x,y,z);}程序执行后的输出结果是
答案:3,2,-1break则是结束整个循环过程,不再判断执行循环的条件是否成立
答案:对若有以下变量定义:floatx;inta,b;则正确的switch语句是
答案:switch(a+b){case1:printf("*\n");case1+2:printf("**\n");}下面程序的输出结果是main(){intx;x=-3+4*5-6;printf(“%d”,x);x=3+4%5-6;printf(“%d”,x);x=-3*4%-6/5;printf(“%d”,x);x=(7+6)%5/2;printf(“%d”,x);}
答案:11101执行以下程序段后,a的值是staticinta[]={5,3,7,2,1,5,4,10};inta=0;k;for(k=0;k<8;k+=2)a+=*(a+k);
答案:17下面的程序main(){charc1,c2;c1='a';c2='b';c1=c1-32;c2=c2-32;printf('%c%c',c1,c2);}运行结果为
答案:AB有以下程序int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf("%d,%d,%d\n",*p,*q,*r);}执行后输出结果是
答案:7,8,7程序段如下intk=0;while(k++<=2)printf("%d",k);则执行结果是
答案:123使用static定义的变量属于静态变量
答案:对若有定义语句“inta,b;doubleX;”,则下列选项中没有错误的是()
答案:switch((int)X%2){case0:a++;break;casel:b++;break;default:a++;b++;)关于“while(条件表达式)循环体”,以下叙述正确的是
答案:条件表达式的执行次数总是比循环体的执行次数多一次对结构体变量不能进行整体输入输出
答案:对写出下面程序的执行结果main(){intx,y=1;if(y!=0)x=5;printf(“%d\t”,x);if(y==0)x=3;elsex=5;printf(“%d\t\n”,x);}
答案:55下面程序的运行结果是charc[5]={‘a’,‘b’,‘\0’,‘c’,‘\0’};printf(“%s”,c);}
答案:ab#includemain(){structSTU{charname[9];charsex;doublescore[2];};structSTUa={"Zhao",'m',85.0,90.0),b={"Qian",'f',95.0,92.0);b=a;printf("%s,%c,%2.0f,%2.0f\n",,b.sex,b.score[0],b.score[1]);}程序的运行结果是
答案:Zhao,m,85,90若有说明语句:charc=‘\64’;则变量C包含:
答案:1个字符在C语言中,以
作为字符串结束标志
答案:’\0’逻辑表达式的值只能为1或0
答案:对在任何情况下,对二维数组的初始化都可以省略第一维的大小
答案:错字符型数据和整数之间是不可以通用的
答案:错凡在函数中未指定存储类别的局部变量,其默认的存储类别为static
答案:错#includetypedefstruct{intnum;doubles;}REC;voidfun1(RECx){x.num=23;x.s=88.5;}main(){RECa={16,90.0};fun1(a);printf("%d\n",a.num);}上述程序的输出结果为16
答案:对C语言标准输入操作中,gets()函数一次只可读取一个字符
答案:错用printf函数输出一个字符串时,格式字符为%S,输出项可以是此字符串或存放此字符串的数组的数组名
答案:对C语言程序中可以有多个函数,但只能有一个主函数
答案:对结构体变量可以作数组元素
答案:对C语言允许用字符串的方式对字符数组作初始化赋值
答案:对函数返回值的类型是由在定义函数时所指定的函数类型决定的
答案:对break语句只能用在循环中
答案:错有以下程序#includevoidfun(intx){if(x/2>1)fun(x/2);printf("%d",x);}main(){fun(7);printf("");}程序运行后的输出结果是()
答案:37有如下程序段int*p,a=10,b=1p=&a;a=*p+b;执行该程序段后,a的值为
答案:11C语言规定,必须用_____作为主函数名。
答案:maintypedef
struct
stu
{
int
a;
float
b;
}stutype;
下面叙述中错误的是
答案:stutype是用户定义的结构体变量名如下程序的执行结果是#includemain(){staticinta[]={1,2,3,4,5,6};int﹡p;p=a;﹡(p+3)+=2;printf(〞%d,%d\n〞,﹡p,﹡(p+3));}
答案:1,6如果inti=3,则printf(“%d”,-i++)的结果为____,i的值为
答案:-3,4假设所有变量均为整型,则表达式(a=5,b=2,a++,a+b)的值是
答案:8下面程序的正确运行结果是:main(){inta=2,i;for(i=0;i<3;i++)printf(“%4d”,f(a));}f(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}
答案:789若有以下程序#includemain(){inta=0,b=0,c=0;c=(a-=a),(a+=b,b+=4);printf("%d,%d,%dn",a,b,c);}则程序的输出结果是
答案:0,4,0下列关于函数体的说法正确的是
答案:一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数有以下程序main(){intx[8]={8,7,6,5,0,0},*s;s=x+3;printf("%d\n",s[2]);}执行后输出结果是
答案:0若有以下定义,则正确的赋值语句为inta,b;floatx;
答案:b++;#includestrctst{intx,y;}data[2]={l,10,2,20};main(){structst*p=data;printf("%d,",p->y);printf("%d\n",(++p)->x);}程序的运行结果是
答案:10,2已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为main(){charc=’A’;inti=10;
c=c+10;
i=c%i;
printf(“%c,%d”,c,i);
}
答案:K,5在C语言中,下列类型属于基本类型的是
答案:整型、实型、字符型如果i=3,则k=(++i)+(++i)+(i++)执行过后k的值为,i的值为
答案:15,6下面程序的运行结果是main(){inta[6],i;for(i=1;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf("%2d",a[i]);}}
答案:12340在C语言中,下列类型属于构造类型的是
答案:结构体设有说明int(﹡ptr)[M];其中ptr是
答案:一个指向具有M个整型元素的一维数组的指针已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为main(){charx,y;x=’0’;y=’9’;printf(“%d,%d\n”,x,y);
答案:48,57已知字母A的ASCII码为十进制65,下面程序段的运行结果为:char
ch1,ch2;ch1=‘A’+5-3;
ch2=‘A’+6-3;printf(“%d,%c”,ch1,ch2);
答案:67,D若有定义:int﹡p[4];则标识符p
答案:是一个指针数组名以下程序的输出结果是#includemain(){inti=0,a=0;while(i<20){for(;;){if((i%10)==0)break;elsei--;}i+=11;a+=i;}printf("%d\n",a);}
答案:32定义如下变量和数组:intI;intx[3][3]={1,2,3,4,5,6,7,8,9};则下面执行语句的结果为:for(I=0;I<3;I++)printf(“%3d”,x[I][2-I]);
答案:357按照标识符的要求,(
)符号不能组成标识符
答案:连接符有以下程序#includevoidmain(){char
p[]={’a’,
’b’,
’c’},
q[10]={’a’,
’b’,
’c’};printf("%d
%d\n",
strlen(p),
strlen(q));}下列叙述中正确的是()
答案:由于p和q数组中都没有字符串结束符,故长度都不能确定设有以下说明语句structstu{inta;floatb;}stutype;则下面的叙述不正确的是
答案:stutype是用户定义的结构体类型名在C语言中,回车换行符是
答案:\n以下程序运行后的输出结果是welcome#includemain(){char*p;inti;p=(char*)malloc(sizeof(char)*20);strcpy(p,"welcome");for(i=6;i>=0;i--)putchar(*(p+i));printf("\n-");free(p);}
答案:错算术运算符和赋值运算符的结合方向均有左自右
答案:错下面程序远行后的输出结果是4#includemain(){inta=1,b=2,c=3,d=0;if(a==1)if(b!=2)if(c==3)d=1;elsed=2;elseif(c!=3)d=3;elsed=4;elsed=5;printf(“%d\n”,d);}
答案:对在内存中存储结构体类型的变量要占连续一段的存储单元
答案:对任何表达式语句都是表达式加分号组成的
答案:对只有在函数被调用时,其形式参数才临时地占有存储空间
答案:对条件运算符?和:是一对运算符,不能分开单独使用
答案:对do-while循环的while后的分号可以省略
答案:错函数若有形参,则它一定有返回值
答案:错for循环的循环体可以是空语句
答案:对#includemain(){inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};intb[3]={0},i;for(i=1;i<3;i++)b[i]=a[i][2]+a[2][i];for(i=1;i<3;i++)printf(“%d”,b[i]);printf(“\n”);}程序运行后的输出结果是1418
答案:对函数形参的存储单元是动态分配的
答案:对一个函数中只允许有一条return语句
答案:错指针就是地址,因此一个变量的指针就是该变量的地址
答案:对以数组名作函数参数时,实参数组与形参数组都不必定义长度,因此实参与形参的结合方式是地址结合,与数组长度无关
答案:错函数即可以嵌套定义,又可以嵌套调用
答案:错函数的实参可以是常量,变量或表达式
答案:对对C语言中用到的任何一个变量都要规定其类型
答案:对关于C语言指针的运算:指针只有加减操作,没有乘除操作。指针可以加常数、减常数;相同类型的指针可以相加、相减
答案:错下面程序的值是1#includemain(){inta=3;printf("%d",(a==1)||(a!=1));}
答案:对以下关于运算符优先顺序的描述正确的是
答案:赋值运算符以下程序的输出结果是main(){inti=010,j=10,k=0x10;printf("%d,%d,%d\n",i,j,k);
答案:8,10,16下面程序的运行结果是:#includemain(){intI;for(I=1;I<=5;I++)switch(I%5){case0:printf(“*”);break;case1:printf(“#”);break;default:printf(“\n”);case2:printf(“&”);break;}}
答案:#&&&以下程序的输出结果main(){intn=0;while(n++<=1)printf("%d\t",n);printf("%d\n",n);}
答案:123C语言规定:在一个源程序中,main函数的位置
答案:可以在任意位置有以下程序#includemain(){inta=1,b=0;if(-a)b++;elseif(a=0)b+=2;elseb+=3;printf("%d\n",b);}程序运行后的输出结果是
答案:1有如下程序int
a[10]={1,2,3,4,5,6,7,8,9,10},*P=a;则数值为9的表达式是
答案:*(P+8)下列程序的输出结果是()voidfun(int*x,inty){printf("%d%d"*x,*y);
*x=3;*y=4;}main(){intx=1,y=2;
fun(&y,&x);
printf("%d%d",x,y);}
答案:1234有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是
答案:3以下程序运行后的输出结果是#includemain(){inta=1,b=2;for(;a<8;a++){b+=a;a+=2;}printf(“%d,%d\n”,a,b);}
答案:10,14有以下程序:void
main(){int*x,*y,*z;x=y=z=(int*)malloc(sizeof(int));*x=1;*y=3,*z=5;x=y;printf("%d
%d
%d",*x,*y,*z);}程序运行后的输出结果是()
答案:555以下程序的功能是:按顺序读入10名学生的4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main(){intn,k;floatscore,sum,ave;sum=0.0;for(n=1;n<=10;n++){for(k=1;k<=4;k++){scanf("%f",&score);sum+=score};}ave=sum/4.0;printf("NO%d:%f\n",n,ave);}}上述程序有一条语句出现在程序的位置不正确。这条语句是
答案:sum=0.0;以下关于C语言程序函数的说法正确的是
答案:C语言程序总是从main()函数开始执行有以下程序:#includemain(){intC=124;C=C____;printf("%d",c);}若要使程序的运行结果为248,应在下划线处填入的是()
答案:<<1下面程序的运行结果是:#includemain(){inty=10;do{y--;}while(--y);printf(“%d\n”,y--);}
答案:0下列常数中,合法的C常量是
答案:\0'以下程序的运行结果是:main(){inta=2,i;for(i=0;i<3;i++)printf(“%4d”,f(a));}f(inta){intb=0,c=3;b++;c++;return(a+b+c);}
答案:71013有以下程序voidfun(int*a,inti,intj){intt;if(i{t=a[i];a[i]=a[j];a[j]=t;fun(a,++i,--j);}}main(){inta[]={1,2,3,4,5,6},i;fun(a,0,5);for(i=0;i<6;i++)printf("%d",a[i]);}执行后输出结果是
答案:654321若有定义:inta[2][3];则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的正确引用为
答案:﹡(a[i]+j)下列字符串属于标识符的是
答案:_WLvoid
main(){charx[]="STRING";x[0]=0;x[1]=’’;x[2]=’0’;printf("%d%d",sizeof(x),strlen(x));}程序运行后的输出结果是
答案:70对于基类型相同的两个指针变量之间,能进行的运算是
答案:<若要定义一个具有5个元素的整型数组,以下错误的定义语句是
答案:inti=5,d[i];#includemain(){chars[]={"AB1C23D"};inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>'0'&&s[i]<='9')n++;printf("%d\n",n);}程序运行后的输出结果是
答案:3以下关于运算符优先级的描述中,正确的是
答案:!(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算#includemain(){char*a[]={"abcd","ef","gh","ijk"};inti;for(i=0;i<4;i++)printf("%c",*a[i]);}程序运行后输出的结果是
答案:aegi设有以下定义,则能使值为3的表达式是:intk=7,x=12;
答案:(x%=k)-(k%=5)下列字符串是标识符的是
答案:_HJ循环语句while(!E)中的表达式!E等价于:(
)
答案:E==0下列定义数组的语句中,正确的是
答案:#defineNl0;intx[N];在do-while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的不能丢,它表示do-while语句的结束。
答案:;下列关于C语言书写格式的说法正确的是
答案:C程序书写格式自由,一个语句可以分写在多行上以下程序的运行结果是
main(){int
c,x,y;x=0;y=0;c=0;c=x++&&y++;printf(“%d%d%d”,x,y,c);}
答案:100以下程序的输出结果是main(){inta=-1,b=4,k;k=(++a<=0)&&!(b--<=0);printf("%d%d%d",k,a,b);}
答案:103假定所有变量均已正确说明,下列程序段运行后x的值是a=b=c=0;x=35;if(!a)x=-1;elseif(b);if(c)x=3;elsex=4;
答案:4当输入为"quert?"时,下面程序的执行结果是#includemain(){while(putchar(getchar())!='?');}
答案:quert?分析下列程序main(){intn[3],i,j,k;for(i=0;i<3;i++)n[i]=0;k=2;for(i=0;ifor(j=0;jn[j]=n[i]+1;printf("%d\n",n[1]);}上述程序运行后,输出的结果是
答案:3设d为字符变量,下列表达式正确的是
答案:d=’a’若i,j已定义为int型,则以下程序段中循环体的总的执行次数是for(i=5;i;i--)for(j=0;j<4;j++){}
答案:20有以下程序(strcat函数用以连接两个字符串)void
main(){chara[20]="ABCDEFG",b[]="IJK";strcat(a,b);printf("%s",a);}程序运行后的输出结果是
答案:ABCDEFGIJK#includestructst{intx,y;}data[2]={l,10,2,20};main(){structst*p=data;
printf("%d,",p->y);
printf("%d",(++p)->x);}
程序的运行结果是
答案:10,2函数fun的功能是统计person所指结构体数组中所有性别(sex)为M的记录的个数存入n中,请填空:#define
N
3typedef
struct{intnum;
charnam[10];
charsex;}
SS;int
fun(SSperson[]){inti,n=0;
for(i=0;i答案:person[i].sex下程序运行结果________#include#includestruct
A
{inta;
charb[10];
doublec;
};void
f(structA*t);main(){structAa={1001,”ZhangDa”,1098.0};
f(&a);
printf(“%d,%s,%6.1f”,a.a,a.b,a.c);
}voidf(structA*t){
strcpy(t->b,”ChangRong”);
}
答案:1001,ChangRong,1098.0以下程序运行后的输出结果是________structNODE
{int
num;
structNODE
*next;}
main(){structNODEs[3],
*p,*q,*r;
int
sum=0;
s[0].num=1;s[1].num=2;s[2].num=3;
s[0].next=s+1;s[1].next=s+2;s[2].next=s;
p=s;q=p->next;r=q->next;
sum+=q->next->num;
sum+=r->next->next->num;
printf("%d",sum);
}
答案:5#includestructord{intx,y;}dt[2]={1,2,3,4};main(){structord*p=dt;
printf(“%d,”,++p->x);
printf(“%d”,++p->y);
}程序的运行结果是
答案:2,3有以下程序structS{inta,b;}data[2]={10,100,20,200};main(){structSp=data[1];printf("%d",++(p.a));}程序运行后的输出结果是
答案:21以下程序运行后的输出结果是________#include
main(){char*p;inti;p=(char*)malloc(sizeof(char)*20);strcpy(p,"welcome");for(i=6;i>=0;i--)putchar(*(p+i));printf("-");free(p);}
答案:emoclew#include
typedefstruct
{intnum;doubles;}REC;
voidfun1(RECx){x.num=23;x.s=88.5;}
main()
{RECa={16,90.0};
fun1(a);
printf("%d",a.num);}上述程序的输出结果为________
答案:16#includemain(){structSTU
{charname[9];
charsex;
double
score[2];
};
structSTUa={"Zhao",'m',85.0,90.0),b={"Qian",'f',95.0,92.0);
b=a;
printf("%s,%c,%2.0f,%2.0f",
,b.sex,b.score[0],b.score[1]);
}程序的运行结果是
答案:Zhao,m,85,90#include#includestructA{inta;
charb[10];
doublec;};voidf(structAt);main(){structAa={1001,"ZhangDa",1098.0};
f(a);
printf("%d,%s,%6.1f",a.a,a.b,a.c);}voidf(structAt){t.a=1002;
strcpy(t.b,"ChangRong");
t.c=1202.0;
}结果是
答案:1001,zhangDa,1098.0有以下程序voidf(inty,int*x){y=y+*x;*x=*x+y;}main(){intx=2,y=4;
f(y,&x);
printf(“%d%d”,x,y);}
执行后输出的结果是
答案:84以下程序的输出结果是________
#include
voidswap(int*a,int*b)
{int*t;
{
t=a;a=b;b=t;
}
}
main()
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf(“%d%d”,*p,*q);
}
答案:35#includeintb=2;intfun(int*k){
b=*k+b;return(b);}main(){inta[10]={1,2,3,4,5,6,7,8},i;
for(i=2;i<4;i++){b=fun(a)+b;printf("%3d",b);}
}程序运行后输出的结果是
答案:6
14以下程序的输出结果是__________
#include
main()
{inta[5]={2,4,6,8,10},*p;
p=a;p++;
printf(“%d”,*p);
}
答案:4#includemain(){char*a[]={"abcd","ef","gh","ijk"};
inti;
for(i=0;i<4;i++)
printf("%c",*a[i]);
}程序运行后输出的结果是
答案:aegi以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。voidsstrcpy(char*s,char*t){
while(*s++=______);}main(){charstr1[100],str2[]=”abcdefgh”;
sstrcpy(str1,str2);
printf(“%s”,str1);}
答案:*t++#includemain(){intm=1,n=2,*p=&m,*q=&n,*r;
r=p;p=q;q=r;
printf("%d,%d,%d,%d",m,n,*p,*q);}程序运行后的输出结果是
答案:1,2,2,1#includevoid
f(int*p,int*q);main(){intm=1,n=2,*r=&m;
f(r,&n);printf(“%d,%d”,m,n);
}void
f(int*p,int*q){p=p+1;*q=*q+1;}程序运行后输出的结果是
答案:1,3#include#defineN8voidfun(int*x,inti){
*x=*x+i;}main(){inta[N]={1,2,3,4,5,6,7,8},i;
fun(a,2);
for(i=0;i答案:3234设有定义double
a[10],*s=a;以下能够代表数组元索a[3]的是
答案:*(s+3)下列函数的功能是fun(char
*a,char
*b){while((*b=*a)!=''){a++;b++;}}
答案:将a所指字符串赋给b所指空间voidfun(char*c,intd)
{*c=*c+1;d=d+1;
printf(“%c,%c,”,*c,d);
}main(){charb=‘a’,a=‘A’;
fun(&b,a);
printf(“%c,%c”,b,a);
}程序运行后的输出结果是
答案:b,B,b,A#includevoidfun(char
*s){while(*s)
{if(*s%2==0)printf("%c",*s);s++;}}main(){char
a[]={"abcd"};
fun(a);printf("");}字母a的ASCⅡ码值为97,程序的输出结果是
答案:bd#include#includemain(){char
str[][20]={"One*World","One*Dream!"};
char*p=str[1];
printf(“%d,”,strlen(p));
printf("%s",p);
}程序运行后的输出结果是
答案:10,One*Dream!下列语句组中,正确的是
答案:char
*s;s="Olympic";#includemain(){char
*s=“ABC”;do{printf(“%d”,*s%10);s++;}
while(*s);
}字母A的ASCII码值为65.程序的输出结果是
答案:567#include
intf(intt[],intn);main(){inta[4]={1,2,3,4},s;
s=f(a,4);printf(“%d”,s);}intf(intt[],intn){if(n>0)
returnt[n-1]+f(t,n-1);
elsereturn0;}程序运行后的输出结果是
答案:10#includeintfun(inta,intb){if(b==0)returna;elsereturn(fun(--a,--b));}main(){printf("%d",fun(4,2));}程序的运行结果是
答案:2有以下程序#includeintfun(){staticintx=1;x*=2;returnx;}main(){inti,s=1;for(i=1;i<=3;i++)
s*=fun();printf("%d",s);}程序运行后的输出结果是
答案:64#includeintfun(intx,inty){if(x==y)
return(x);else
return((x+y)/2);}main(){inta=4,b=5,c=6;printf("%d",fun(2*a,fun(b,c)));}程序运行后的输出结果是
答案:6#includeintf(intn);main(){inta=3,s;
s=f(a);s=s+f(a);printf("%d",s);}intf(intn){a=1;n+=a++;returnn;}程序运行后的输出结果是
答案:9intfun(intn){if(n==1)return1;
elsereturn(n+fun(n-1));}main(){intx;
scanf("%d",&x);
x=fun(x);
printf("%d",x);}执行程序时,给变量x输入10,程序输出结果是:
答案:55有以下程序
void
swap1(int
c[]){int
t;
t=c[0];c[0]=c[1];c[1]=t;
}void
swap2(int
c0,int
c1){int
t;
t=c0;c0=c1;c1=t;
}main(){int
a[2]={3,5},b[2]={3,5};
swap1(a);
swap2(b[0],b[1]);
printf(“%d%d%d%d”,a[0],a[1],b[0],b[1]);}执行后输出的结果是:
答案:5
3
3
5#includeintfun(){staticintx=1;
x*=2;returnx;}main(){inti,s=1;for(i=1;i<=2;i++)
s=fun();printf(“%d”,s);}程序运行后的输出结果是
答案:4#includevoidfun(inta[],intn){inti,t;for(i=0;i答案:321678#include
voidfun(intp){intd=2;p=d++;printf("%d",p);}main(){inta=1;fun(a);printf("%d",a);}程序运行后的输出结果是
答案:21以下程序的运行结果是
#include
main()
{ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;
for(i=0;i<12;i++)c[s[i]]++;
for(i=1;i<5;i++)printf(“%d”,c[i]);
printf(“”);
}
答案:4332#include
main(){
chars[]={"012xy"};
inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>'a'&&s[i]<='z')n++;printf("%d",n);}程序运行后的输出结果是
答案:2#includemain(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;
for(i=1;i<3;i++)
for(j=1;j<=1;j++)t+=b[i][b[j][i]];
printf(“%d”,t);}程序运行后的输出结果是
答案:4以下程序用以删除字符串中所有空格,横线处需要填哪条语句#includemain(){char[100]={“Ourteacherteachclanguage!”};inti,j;for(i=j=0;s[i]!=‘’;i++)
if(s[i]!=‘’){s[j]=s[i];j++;}s[j]=______;printf(“%s”,s);}
答案:0#includemain(){inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};
intb[3]={0},i;
for(i=1;i<3;i++)b[i]=a[i][2]+a[2][i];
for(i=1;i<3;i++)printf(“%d”,b[i]);
printf(“”);}程序运行后的输出结果是
答案:1418以下程序运行后的输出结果是#includemain(){inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;for(i=1;i<3;i++)s=s+a[b[i]];printf(“%d”,s);}
答案:5有以下程序#includemain(){chars[]="012xy8s34f4w2";
inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9')n++;printf("%d",n);}程序运行后的输出结果是
答案:3若有以下说明:
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};
charc='a',d,g;则数值为4的表达式是
答案:a['d'-c]若有以下定义和语句chars1[10]="abcd!",s2[10]="123";printf("%d,%d",strlen(s1),strlen(s2));则输出结果是
答案:55下述for语句inti,x;for(i=0,x=1;i<=9&&x!=876;i++)
scanf(%d”,&x);
答案:最多循环10次有以下程序#includemain(){ints;scanf("%d",&s);while(s>0){switch(s){case1:printf("%d",s+5);
case2:printf("%d",s+4);break;
case3:printf("%d",s+3);
default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入123450,则输出结果是
答案:6566456有以下程序#include
main(){inti,s=0;
for(i=1;i<10;i+=2)s+=i+1;
printf(“%d”,s);}
程序执行后的输出结果是
答案:自然数1~10中的偶数之和以下程序运行后的输出结果是#includemain(){
intc=0,k;for(k=1;k<3;k++)switch(k){default:c+=k;case2:c++;break;case4:c+=2;break;}printf("%d",c);}
答案:3下述程序的输出结果#includemain(){
inty=10;
while(y--);
printf(“y=%d”,y);}
答案:y=-1以下程序运行后的输出结果是#includemain(){inta=1,b=2;
for(;a<8;a++){b+=a;a+=2;}
printf(“%d,%d”,a,b);}
答案:10,14下面的程序的结果是:#includemain(){intx=3;do
{printf("%d",x-=2);}while(!(--x));}
答案:输出的是1和-2以下程序的运行结果是
#include
main()
{intx=8;
for(;x>0;x--)
{if(x%3)
{printf(“%d,”,x--);
continue;}
printf(“%d,”,--x);
}
}
答案:8,5,4,2#includemain(){intx=0,y=5,z=3;while(z-->0&&++x<5)y=y-1;printf(“%d,%d,%d”,x,y,z);}
程序执行后的输出结果是
答案:3,2,-1以下程序执行后的输出结果是#includemain(){inti,n=0;for(i=2;i<5;i++){do
{if(i%3)continue;
n++;}
while(!i);
n++;}printf(“n=%d”,n);}
答案:n=4下述for循环语句________inti,k;for(i=0,k=-1;k=1;i++,k++)
printf(“***”);
答案:是无限循环程序运行后的输出结果是#includemain(){inti,j,m=2;
for(i=1;i<3;i++)
{for(j=3;j>0;j--)
{if(i+j>3)break;
m*=i*j;}}
printf(“m=%d”,m);}
答案:m=2有以下程序(说明:字符0的ASCII码值为48)#includemain(){charc1,c2;
scanf("%d",&c1);
c2=c1+9;
printf("%c%c",c1,c2);}若程序运行时从键盘输入48,则输出结果为_________
答案:09已知intn,i=1,j=2;执行语句n=i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年广东省各地九年级历史下学期一模试题分析 教学设计
- 安徽省滁州市高中信息技术《第四单元 我的装机历程》教案
- 夸父逐日(微教学设计) 人教版
- Unit 2 Were going to do some research (教学设计)-2023-2024学年湘少版(三起)英语五年级下册
- Module 2 本单元综合 (教学设计)-2023-2024学年外研版(三起)英语六年级下册
- 山西省怀仁第一中学2024-2025学年高三第二次联合调研考试物理试题含解析
- 7上课了 教学设计-2024-2025学年道德与法治一年级上册统编版
- 山东省烟台市芝罘区重点达标名校2024-2025学年普通高中第一次联考初三数学试题含解析
- 幼儿园中班变色龙探究教案
- 幼儿园小班悯农教案
- 浙江省名校协作体2024-2025学年高三上学期开学考试数学试题(原卷版)
- 2024新教科版一年级上册第二单元我们自己第2课发现生长教学课件含微课视频
- 2024广东梅州市烟草专卖局招聘18人(高频重点提升专题训练)共500题附带答案详解
- 义务教育地理课程标准2022版
- Supplier Assessment Report 供应商评估表
- 2024年云南玉溪供排水限公司招聘20人(高频重点提升专题训练)共500题附带答案详解
- DB12T 1341-2024 消防产品使用和维护管理规范
- 石材行业独家代理协议书范本
- 2024年四川省成都市初中学业水平考试地理试卷(含答案)
- 部编版小学五年级上册道德与法治教案
- 企业风险管理-战略与绩效整合(中文版)
评论
0/150
提交评论