您好,欢迎访问三七文档
第一套下列正确的标识符是(C).A、a+bB、6aC、_doD、%y执行以下程序段后,输出结果和a的值是(B)。inta=10;printf(%d,a++);A、11和10B、10和11C、11和11D、10和10以下不正确的if语句形式是(B)。A、if(xy){x++;y++;}B、if(x!=y)scanf(%d,&x)elsescanf(%d,&y);C、if(xy&&x!=y);D、if(x==y)x+=y;inta=3,b=2,c=1;if(ab&&bc)a=b;elsea=c;则a的值为(C)。A、1B、0C、2D、3对for(表达式1;;表达式3)可以理解为(C).A、for(表达式1;表达式3;表达式3)B、for(表达式1;表达式1;表达式3)C、for(表达式1;1;表达式3)D、for(表达式1;0;表达式3)运行结果是1112的程序段是:请在A处填写正确内容(B)。for(i=1;i=2;i++)___A___A、for(j=1;j=2;j++)printf(%3d,10*i+j);break;B、{for(j=1;j=2;j++)printf(%3d,10*i+j);break;}C、for(j=1;j=2;j++)printf(%3d,10*i+j);continue;D、{for(j=1;j=2;j++)printf(%3d,10*i+j);continue;}staticcharstr[10]=China;数组元素个数为(D)。A、6B、9C、5D、10以下程序的输出结果是:(C).fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf(%d,a);}A、无定值B、29C、31D、0文件包含中,被包含文件(B).A、可以是可执行文件.B、可以嵌套其它文件.C、可以是目标文件或源文件.D、必须用.h为后缀.下列程序段的输出结果是:(C).voidfun(int*x,int*y){printf(%d%d,*x,*y);*x=3;*y=4;}main(){intx=1,y=2;fun(&y,&x);printf(%d%d,x,y);}A、2112B、1234C、2143D、1212填空在C程序中,main函数必须位于程序的最前面【参考答案】错误表达式(j=3,j++)的值是4.【参考答案】错已知a=3,b=4,c=5,则逻辑表达式a||b+c&&b-c的值为0.【参考答案】错误循环结构中的continue语句是使整个循环终止执行==================================【参考答案】错误在实际编程中,do-while循环完全可以用for循环替换.正确引用数组元素时,数组元素下标必须是整型常量.【参考答案】错误如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。【参考答案】正确带参数的宏定义不是进行简单的字符串替换,还要进行参数替换.==========================【参考答案】正确下列的初始化的方式是正确的吗?charst[10];st=string;【参考答案】错误在定义结构体变量时不允许对它赋初值.【参考答案】错误inta=1,b=2,c=3;执行语句a=b=c;后a的值是_____.【参考答案】3============================================================当a=3,b=2,c=1;时,执行以下程序段后c=_____.if(ab)a=b;if(bc)b=c;elsec=b;c=a;设i,j,k均为int型变量,则执行完下面的for循环后,k的值为_____.for(i=0,j=10;i=j;i++,j--)k=i+j;【空1】【【参考答案】10staticinta[3][3]={{1,2,3},{4,5,6},{7,8,9}};其中a[1][2]的值为_____.【空1】【参考答案】6结构体是不同数据类型的数据集合,作为数据类型,必须先说明结构体_____,再说明结构体变量.【空1】【参考答案】----------------【程序设计】功能:将主函数中输入的字符串反序存放。例如:输入字符串abcdefg,则应输出gfedcba。注意:请在Begin和End注释行之间填写代码,所有注释语句都不能删除。------------------------------------------------*/#includestdio.h#includestring.h#includeconio.h#defineN81voidfun(charstr[],intn){/*********Begin**********//**********End**********/}voidmain(){voidTestFunc();chars[N];intl;printf(inputastring:);gets(s);l=strlen(s);fun(s,l);printf(Thenewstringis:);puts(s);TestFunc();}voidTestFunc(){FILE*IN,*OUT;charsIN[20],*sOUT;intiLENGTH;IN=fopen(in.dat,r);if(IN==NULL){printf(PleaseVerifyTheCurrerntDir..ItMayBeChanged);}OUT=fopen(out.dat,w);if(OUT==NULL){printf(PleaseVerifyTheCurrentDir..ItMayBeChanged);}fscanf(IN,%s,sIN);iLENGTH=strlen(sIN);sOUT=sIN;fun(sIN,iLENGTH);fprintf(OUT,%s\n,sOUT);fclose(IN);fclose(OUT);}【参考代码】inti,j;charc;for(i=0,j=n-1;ij;i++,j--)/*或者for(i=0,j=n-1;in/2;i++,j--)*/{c=str[i];str[i]=str[j];str[j]=c;}【程序改错】功能:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线上的元素之和sum。--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。------------------------------------------------------*/#includestdio.hintfun(){inta[3][3],sum;inti,j;/**********ERROR**********/a=0;for(i=0;i3;i++)for(j=0;j3;j++)/**********ERROR**********/scanf(%d,a[i][j]);for(i=0;i3;i++)/**********ERROR**********/sum=sum+a[i][j];/**********ERROR**********/printf(sum=%f\n,sum);}voidmain(){fun();}【改错1】【参考答案】sum=0;【改错2】【参考答案】scanf(%d,&a[i][j]);============================================================【改错3】【参考答案】sum=sum+a[i][i];sum+=a[i][i];sum=a[i][i]+sum;sum+=a[i][j=i];sum=sum+a[i][j=i];sum=a[i][j=i]+sum;【参考答案】printf(sum=%d\n,sum);【程序填空】---------------------------------------------------------功能:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。---------------------------------------------------------请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构!-------------------------------------------------------*/#includestdio.h#includestring.hvoidfun(chars[],chart[]){inti,sl;/***********FILL***********/sl=_____;for(i=0;isl;i++)t[i]=s[i];for(i=0;isl;i++)/***********FILL***********/t[sl+i]=_____;/***********FILL***********/t[sl+i]=_____;}voidmain(){chars[100],t[100];/***********FILL***********/printf(\nPleaseenterstrings:);_____(%s,s);fun(s,t);printf(Theresultis:%s\n,t);}【空1】【参考答案】strlen(s)【空2】【学生答案】t[sl+i]=_____;【参考答案】s[sl-i-1]s[s1-1-i]s[strlen(s)-i-1]s[strlen(s)-1-i]============================================================【空3】【参考答案】'\0'0【空4】【参考答案】scanf============================================================第二套若变量均已正确定义并赋值,以下合法的C语言赋值语句是(C)。A、x+n=I;B、x==5;C、x=n/2.5;D、5=x=4+1;用scanf函数输入数据,使得x=9.6,y=81.73选择正确的输入语句(D).A、scanf(x=%3f,x);scanf(y=%5f,&y);B、scanf(x=%f,&x);scanf(y=%f,y);C、scanf(x=%3.1f,&x);scanf(y=%f,&y);D、scanf(x=%f,&x);scanf(y=%f,&y);inta=1,b=2,c=3;if(ac)b=a;a=c;c=b;则c的值为(C)。A、1B、3C、2D、不一定为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与(A)配对。A、其之前最近的未配对的ifB、其之后最近的ifC、同一行上的ifD、缩排位置相同的if存在多层嵌套循环时,下列说法正确的是(D).A、continue语句可以中止所有循环B、break语句可以中止所有循环C、continue语句能够中止包含该语句的最内层循环D、break语句能够中止包含该语句的最内层循环下面程序正确的运行结果是(B).(答案中用大写字母U代表空格)main(){intnum=0;while(num=2){num++;printf(%3d,num);}}A、UU1B、UU1UU2UU3C、UU1UU2UU3UU4D、UU1UU2inta[10];合法的数组元素的最小下标值为(D)。A、10B、9C、1D、0下面叙述中错误的是(B)。A、在其它函数中定义的变量在主函数中也不能使用B、主函数中定义的变量在整个程序中都是有效的C、复合语句中定义的变量只在该复合语句中有效D、形式参数也是局部变量设有宏定义#defineMAX(x,
本文标题:C语言试题总结
链接地址:https://www.777doc.com/doc-4598981 .html