您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 江西理工大学C复习参考题(结课考试)
《C语言程序设计》复习参考资料一.选择题1.以下关于运算符优先顺序的描述中正确的是()。A.关系运算符算术运算符赋值运算符逻辑与运算符B.逻辑运算符关系运算符算术运算符赋值运算符C.赋值运算符逻辑与运算符关系运算符算术运算符D.算术运算符关系运算符赋值运算符逻辑与运算符2.下列选项中合法的变量名是_________A.#defineB.intC.a594_3D.abs(x)3.以下正确的描述是()。A.break语句的作用是结束整个循环的执行B.在C程序中,注释说明只能位于一条语句的后面C.在循环体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出时,只能使用goto语句4.以下说法正确的是()A.#define和printf都是C语句。B.#define是C语句,而printf不是。C.若程序中要调用数学函数,必须在文件开头输入语句#include“math.h”D.#define和printf都不是C语句。5.下面的函数定义正确的是______________A)floatfun(floatx;floaty){returnx*y;}B)floatfun(floatx,y){returnx*y;}C)floatfun(x,y){intx,y;returnx*y;}D)intfun(intx,inty){returnx*y;}6.执行下面语句后的输出为()inti=-1;if(i=0)printf(“****\n”)elseprintf(“%%%%\n”)A).****B).%%%%C).%%%%cD).有语法错误,不能正确执行7.以下程序的输出结果是()voidmain(){intk=17;printf(%d,%o,%x\n,k,k,k);}A).17,21,11B).17,17,17C).17,0x11,021D).17,21,18.以下不正确的叙述是()A)#define是宏定义命令B)宏定义只是做简单的置换,不做正确性检查C)宏定义是C语句,必须在行末加分号D)printf是C语句,但#define不是。9.一个C语言程序是由()A)一个主程序和若干子程序组成B)若干子程序组成C)若干过程组成D)函数组成10.C语言规定,在一个源程序中,main()函数的位置()。A.必须在最开始B.必须在最后C.可以任意D.必须在系统调用的库函数的后面11.以下对二维数组a的正确说明是()。A)inta[3][];B)floatfa(3,4);C)chara[1][3];D)floata(3)(5);12.若有说明:inta[3][2]={10};则下面正确的叙述是()A)只有元素a[0][0]可得到初值10B)此说明语句不正确:。C)数组a中各元素都可得到初值,但其值不一定为0。D)数组a中每个元素均可得到初值1013.以下叙述不正确的是()。A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是语句D)只能在循环体内和switch语句体内使用break语句14.为了避免在嵌套的条件语句If一else中产生二义性,C语言规定else子句总是与()配对。A)缩排位置相同的ifB)其之前最近的未配对的ifC)之后最近的ifD)同一行上的if15.能正确表示a和b同时为正或同时为负的逻辑表达式是()A)(a=0||b=0)&&(a0||b0)B)(a=0&&b=0)||(a0&&b0)C)(a+b0)&&(a+b=0)D)(a-b0)&&(a-b=0)16.已知x=5,ch='A',y=0,则表达式(x=y&&ch'a'&&!y)的值是()A)0B)语法错C)1D)假17.下列关于单目运算符++、--的叙述中正确的是()A)它们的运算对象可以是任何变量和常量B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量D)它们的运算对象可以是char型变量、int型变量和float型变量18.下面的程序()voidmain(){intx=3;do{printf(“%d\n”,x-=2);}while(!(--x));}A).输出的是1B).输出的是1和-2C).输出的是3和0D).是死循环19.如下程序:voidmain(){inta=6;printf(“%d\n”,(a+=3,2*a));}执行后,输出结果是()A)9B)6C)2D)1820.若有以下说明和语句,请选出哪个是对C数组元素的正确引用()intc[4][5],(*cp)[5];cp=c;A).cp+1B).*(cp+3)C).*(cp+1)+3D).*(*cp+2)21.下面程序的输出是()main(){intx=023;printf(%d\n,--x);}A).17B).18C).23D).2422.执行下列程序的结果是()main(){floatx=1,y;y=++x*++x;printf(“%f\n”,y);}A).9.000000B).6.000000C).1.000000D).程序有错误23.下面程序的输出是()main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf(%d\n,*(p+2));}A).3B).4C).1D).224.执行下面程序中的输出语句后,a的值是()main(){inta;printf(%d\n,(a=3*5,a*4,a+5));}A).65B).20C).15D).1025.下面程序的输出是()main(){inta=-1,b=4,k;k=(a++=0)&&(!(b--=0));printf(%d%d%d\n,k,a,b);}A).003B).012C).103D).11226.设有如下的程序段:charstr[]=Hello;char*ptr;ptr=str;执行完上面的程序段后,*(ptr+5)的值为()A).'0'B).'\0'C).不确定的值D).'0'的地址27.在宏定义#definePI3.14159中,用宏名PI代替一个()A).单精度数B).双精度数C).常量D).字符串28.若i是整型变量,pb是基本型为整型的指针变量,则正确的赋值表达式是()A).pb=&iB).pb=iC).*pb=&iD).*pb=*i29.有以下程序段intm=0,n=0;charc=’d’;scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%d\n,m,c,n);若从键盘上输入:6D6回车,则输出结果是()A)0,d,6B)6,d,6C)6,D,6D)6,D,030.printf()函数中用到格式符%-7s,其中数字7表示输出的字符串占用7列。如果字符串长度小于7,则输出按方式()A)从左起输出该字串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格D)输出错误信息31.以下能正确地定义整型变量a,b和c并为其赋初值3的语句是()A)inta=3,b=3,c=3;B)inta,b,c=3;C)a=3,b=3,c=3;D)a=b=c=3;32.以下程序的输出结果是()voidmain(){intx=6,y=6,i;for(i=2;x4;y=++i)printf(%d,%d,x--,y);}A)5,55,3B)6,62,3C)6,55,2D)6,65,333.以下程序的输出结果是()voidmain(){intw=4;intfun(intk);fun(w);printf(\n);}fun(intk){if(k0)fun(k-1);printf(%d,k);}A)4321B)01234C)1234D)4321034.下面程序的输出是()main(){intx=023;printf(%d\n,--x);}A).17B).18C).23D).2435.以下程序的输出结果是()main(){charch[3][4]={123,456,78},*p[3];inti;for(i=0;i3;i++)p[i]=ch[i];for(i=0;i3;i++)printf(%s,p[i]);}A).123456780B).123456780C).12345678D).14736.下面程序的输出结果为()char*alpha[6]={ABCD,EFGH,IJKL,MNOP,QRST,UVWX};char**p;voidmain(){inti;p=alpha;for(i=0;i4;i++)printf(%c,(*p)[i]);printf(\n);}A).EIMCB).ABCDC).EFGHD).AEIM37.根据下面的定义,能打印出字母M的语句是()structperson{charname[9];intage;};structpersonclass[10]={John,17,Paul,19,Mary,18,Adam,16}A).printf(%c\n,class[3].name);B).printf(%c\n,class[3].name[1]);C).printf(%c\n,class[2].name[1]);D).printf(%c\n,class[2].name[0]);38.有以下程序voidmain(){intp[7]={11,13,14,15,16,17,18},i=0,k=0;while(i7&&p[i]%2){k=k+p[i];i++;}printf(%d\n,k);}执行后输出结果是()A)58B)56C)45D)2439.以下程序的输出结果是()voidmain(){inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p;p=&x[1][1];for(i=0;i6;i+=3)printf(%d,p[i]);}A)52B)51C)53D)9740.以下程序的输出结果是()#includestring.hvoidmain(){char*a=”abcdefghi”;voidfun(char*s);fun(a);puts(a);}voidfun(char*s){intx,y;charc;for(x=0,y=strlen(s)-1;xy;x++,y--){c=s[y];s[y]=s[x];s[x]=c;}}A).ihgfedcbaB).abcdefghiC).abcdedcbaD).ihgfefghi41.voidmain(){inti,a[]={5,6,9,11};for(i=0;i4;i++){if(a[i]%2==0)continue;printf(%d,a[i]);}}执行后输出结果是()A)编译出错B6C)5911D)5691142.以下对数组的定义正确的是()A)intx(10);B)intx[5]={0,1,2,3,4,5};C)intn=10;x[n];D)intx[]={0,1,2,3,4};43.以下叙述中不正确的是()A)switch是多分支结构语句B)continue语句的作用是使程序的执行流程跳出包含它的所有循环C)break语句只能用在循环体内和switch语句体内D)在循环体内使用break语句和continue语句的作用不相同44.如下程序:voidmain(){inti=1,j=2,k=3;if((j++||k++)&&i++)printf(%d,%d,%d\n,i,j,k);}执行后输出结果是()A)1,2,3B)2,2,4C)2,3,4D)2,3,345.以下叙述中,不正确的是()A)算法应该具有有穷性、确定性以及有效性等特点B)算法可以用传统流程图、N-S流程图以及伪代码等形式来描述C)基本结构只有顺序、选择、循环3种结构D)结构化程序设计的思想是自顶向下、逐步细化、模块化设计以及结构化编码46.在C语言中,函数返回值的类型最终取决于()A)函数定义时
本文标题:江西理工大学C复习参考题(结课考试)
链接地址:https://www.777doc.com/doc-7061555 .html