还剩13页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《C语言程序设计》课程考试复习资料单项选择题C语言源程序文件的扩展名为(D)oA.cppB.exeC.objD.cC语言中使用的字符常量,其起止标记符是(A)oA.单引号B.双引号C.中括号D.尖括号x〈二10的相反表达式为(B)A.x=10B.x10C.x!=10D.x0x5的相反表达式为(D)A.x5B.x!=5C.x=5D.x=5标准输出设备显示器的文件流标识符是(B)A.stdinB.stdoutC.stderrD.stdio标准输入设备键盘的文件流标识符是(A)oA.stdinB.stdoutC.stderrD.stdio不符合C语言规定的复合语句是(D)A.{}B.{;}C.{x=0;}D.{y=10}从一个二进制文件中读取数据的系统函数为(A)oA.freadOB.fgetsOC.fwriteOD.fgetc()从一个文本文件中读取一个字符的系统函数为(D)oA.fputcOB.fgetsOC.fputs0D.fgetc()当处理问题时的循环次数J确定的,则采用的最合适的循环方式为(A)oA.forB.whileC.do-whileD.switch对于一个二维字符数组存储每个字符串的长度至多为(D)oA.MB.NC.M-lD.N-1对于一个长度为n的字符串,保存它至少需要占用的存储字节数为(C)oA.nB.n_lC.n+1D.n+2函数定义参数表中的每个形参变量,其作用域范围为所在的整个(C)儿程序B.文件C.函数D.参数表假定a为一个字符数组名,则元素a
[8]的地址比该数组的首地址大(B)A.4个字节B.8个字节C.16个字节D.32个字节假定P所指对象的值为25p+1所指对象的值为42则表达式*++p的值为(B)oA.25B.42C.26D.43假定P所指对象的值为25p+1所指对象的值为42则表达式*p++的值为(A)oA.25B.42C.26D.43假定对二维数组a
[3]
[4]进行初始化的数据为{{356}{28}{7}}则被初始化为(C)A.6B.2C.8D.7假定对二维数组a
[3]
[4]进行初始化的数据为{{356}{28}{7}}则被初始化为(D)A.6B.2C.7D.8假定二维数组的定义语句为“char,则该数组所含元素的个数为(C)staticintx2=8;voidmainO{intx3=20;whilexl+x2x3xl+=2;printf%d%d%d\n”xlx2x3;.此程序运行后,得到的输出结果为29#includestdio.hintfn3intaintb{intc=a;a=b;b=c;returna+2*b-3;voidmainO{inta=3b=5;intc=fn3a+2b+3;printf,,%d\n,z3*a+b+c;.执行下面程序的输出结果为85o#includestdio.hvoidmainO{intx=5y=8;ifx=yprintfz,%d%d\n〃,xy;elseprintf,z%d%d\n”yx;.执行下面程序的输出结果为f2=81o#includestdio.hvoidmain{intifl=lf2;fori=2;i6;i++{f2=3*f1;fl=f2;printfCf2=%d\n/Zf2;#defineN7voidmainO{inta[N];inti;a
[0]=l;a[l]=2;fori=2;iN;i++a[i]=2*a[i-2]+a[i-l]+l;printf,,%d\nz,a[N-l];.执行下面程序的输出结果为x=7#includestdio.hvoidmainO{inta
[8]={1081615921716};intix=a
[0];fori=l;i8;i++ifa[i]xx=a[i];printf〃x=%d\n〃x;.执行下面程序的输出结果为73#includestdio.hvoidmainO{inta
[3]
[3]={{234}{568}{101520};int*p=inl*a;ints=0;whilepint*a+9s+=*p++;printf〃%d\n〃,s;.执行下面程序的输出结果为w=8o#includestdio.hvoidmainO{intx=5y=8z=6w=0;ifx=yw=x;elsew=y;ifwzw=z;printf〃w二/d\n〃w;voidmain{intn=0y=0;whilen10{n++;y+=n;}printf,,y=%d\n/,y;
23.执行下面程序的输出结果为36o#includestdio.hvoidmain{inta
[8]={1215208591610;intijx=a
[0]+a[l];fori=0;i8;i++forj=i+l;j8;j++ifa[i]+a[j]xx=a[i]+a[j];printf,z%d〃,x;
24.执行下面程序的输出结果为x=7o#includestdio.hvoidmain{inta
[8]={1081615921716};intix=a
[0];fori=l;i8;i++ifa[i]xx=a[i];printfCx=%d\nz,x;}编程题按题目要求编写程序或函数.补充完整下面的函数定义,计算出l+l*3+2*3+...+n*3的值并返回intFFintn{intis=l;〃在下面添上一行for循环语句,循环变量为i累加变量为sreturns;答案fori=l;i〈=n;i++s+=i*3;.根据函数原型“intFFinta[]intn”,编写函数定义,计算并返回数组a[n]中所有元素之和答案intFFinta[]intnintisum=0;〃1分fori=0;in;i++sum+=a[i];〃4分returnsum;〃6分.补充完整下面函数定义中while循环的循环体,该函数的功能是求出并返回由字符指针Ptr所指向的字符串中包含的小写英文字母的个数intfunchar*ptrintn=0;〃使用n作为统计变量while*ptr{〃在下面补充合适的函数体内容returnn;答案if*ptr=,a*ptr〈=zn++;〃3分ptr++;〃6分.编写一个主函数,计算并输出表达式1+22+32+...+102的值答案#includestdio.hvoidmainintis=0;//I分fori=l;i=10;i++s+=i*i;〃4分printf〃s=%d\n〃,s;〃6分注若s的初值为1则循环变量i的初值应修改为2O.补充完整下面的函数定义,要求返回二维数组a[m][n]中所有元素的平均值假定在计算过程中采用变量s存放累加值,采用i和j作为扫描数组的循环变量doubleMeandoublea[][N]intmintnintij;doubles=
0.0;〃在下面添上合适的for双重循环语句returns/m*n;答案fori=0;im;i++forj=0;jn;j++s+=a[i][j];.根据函数原型intDDinta[]intnintMM”编写函数定义,利用双重for循环统计出数组a[n]中任何两个不同元素的值等于MM值的配对个数,然后返回统计结果如假定a[i]+a[j]等于MM同时iWj则为一个配对intDDinta[]intnintMMintij『0;〃用i和j作为循环变量,用c作为统计变量〃在下面补充一个双重for循环语句答案fori=0;in;i++forj=i+l;jn;j++ifa[i]+a[j]==MMc++;.完善下面程序,该程序功能是从键盘上输入10个整数到一维数组a
[10]中,然后按照下标从大到小的次序输出数组式10]中的每个元素值,元素值之间用一个空格分开#includestdio.hvoidmaininta
[10]i;〃用i作为循环变量printf〃从键盘输入10个整数:\n〃;〃向下补充程序内容,用两个for循环实现printf〃\n〃;答案fori=0;i10;i++scanf%d〃,a[i];fori=9;i=0;i-printfz,%d”a[i];注第1行中的a[i]也可替换为a+i.补充完整下面的函数定义,利用for循环计算1+242+…+7的值,最后返回计算结果假定计数变量用i表示,每次累乘2的变量用p表示,每次累加一个数据项值的变量用sum表示intFFintnintip=lsum=l;〃在下面一行的后面补上for循环语句的语句体fori=l;i=n;i++{p*=2;sum+=p;}returnsum;假定二维数组的定义语句为“inta
[3]
[5];,则该数组所含元素的个数为(B)A.8B.15C.10D.12假定二维数组的定义语句为int*a
[3]
[5];,则该数组所占用的存储空间的字节数为(D)每个C程序文件在编译时可能出现有警告性错误,其对应的标识符号为(A)oA.D.x若一个函数声明为『0让10*化根宜();”,则该函数的返回值类型为(B)oA.实数型B.实数指针型C.函数指针型D.数组型设x和y均为逻辑值,则xy为真的条件是(AsizeofD.long向一个文本文件中写入一个字符的系统函数为(A)oA.fputcOB.fgetsOC.fputs()D.fgetc()循环体至少被执行一次的循环语句为(C)A.forB.whileC.do-whileD.任一种要定义a和b为两个整型变量,则使用的定义语句为(B)A.inta;b;B.intab;C.intab;D.inta:b;一个程序文件开始使用的每条预处理命令,其首字符必须是(B)A.@B.#C.$D.%一个指针类型的简单变量占用内存中的字节数为(B)oA.2B.4C.8D.16已知“chara
[3]
[5];,则元素a
[2]
[3]的地址比该数组的首地址大(A)A.13个字节B.26个字节C.52个字节D.48个字节已知“inta⑹⑸;”,则元素a⑵⑷的地址比该数组的首地址大(B)A.14个字节B.56个字节C.28个字节D.96个字节已知x的初值为5则下列各表达式中的最大值为(D)A.x%=3B.x+=10C.x/=2D.x*=4用于输出表达式值的标准输出函数是(C)OA.scanfOB.print()C.printf()D.output()由C语言目标文件连接而成的可执行文件的扩展名为(B)A.cppB.exeC.objD.c由C语言源程序文件编译而成的目标文件的扩展名为(C)oA.cppB.exeC.objD.C运算符优先级最高的是(B)A.=B.+C.D.II运算符优先级最高的是(A)A.()B.=C.+D.在C语言程序中,单行或行尾注释语句使用的标记符为(C)A.*/B./*C.//D.**在C语言程序中,多行注释语句使用的开始标记符为(B)A.//B./*C.*/D.**在C语言中,表示换行符的转义字符为(C)oA.\fB.\rC.\nD.\m在C语言中,关闭一个数据文件的系统函数为(B)A.fopenOB.fcloseOC.fread()D.fwrite()在C语言中,每条复合语句的结束标记字符为(D)A.]B.)C.D.}在C语言中,为只写操作打开一个文本文件的方式为(D)A.aB.〃r+〃C.D.〃w在C语言中,用户定义的标识符分为4种作用域,下列选项中不属于这4种作用域的是(B)A.全局B.语句C.文件D.局部在printfO函数调用的格式字符串中,每个格式符的先导字符为(B)A.#B.%C.$D.@在scanf()函数调用的格式字符串中,每个格式符的先导字符为(B)A.#B.%C.$D.@在函数体中定义的变量具有(B)A.全局作用域B.局部作用域C.文件作用域D.函数作用域在结构类型的定义中,使用的关键字是(A)oA.structB.unionC.staticD.enum在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)oA.在下列的语句中,必须以分号作为结束的语句是(C)oA.forB.whileC.doD.switch在下面的函数声明语句中存在着语法错误的是(C)A.AA(intaintb)B.AA(intint)C.AA(inta;intb)D.AA(intaint在一个链表中,每个结点必然存在着一个指向自身结点类型的指针域,用来保存下一个结点的(A)A.地址B.值C.名称D.类型在一个数组中,数组元素a[i]前面的元素个数为(A)A.iB.i+1C.i-1D.2*i是非判断题break语句带有语句体(X)do-while循环语句是以分号结束的语句(V)do-while循环语句的循环体,只能是复合语句,不能是简单语句(return语句只有保留字,没有其他成分(X)表达式x=x+l表示成增量表达式为x++(V)表达式x=x+y表示成复合赋值表达式为x+=y(V)表达式x=x+y表示成复合赋值表达式为x=+y(X)常数
3.26是双精度定点数(V)常数
3.26是双精度浮点数(X)常数
3.26f是单精度定点数(V)存储一个长度为0的空字符串至少需要占用1个字节的存储空间(V)当向字符文件输出一个换行符时,实际将输出的是回车符或换行符(X)当向字符文件输出一个换行符时,实际将输出的是回车和换行这两个字符(V)当需要在程序文件中引入系统头文件时,不需要使用include命令(X)当循环次数确定时,while循环语句能够转换为for循环语句(V)定义结构类型的同时能够定义它的变量(V)对于标识为static属性的变量,若没有对它进行初始化,则默认的初值为1(X)对于不加static标识的局部变量,若没有对它进行初始化,则它的初值是不确定的(J)关系表达式(x!=0)的等价表达式为(以)(X)假定a是一个一维数组,则表达式*(a+i)所对应的元素为(X)假定a是一个一维数组,则进行a++运算J不允许的(J)假定a是一个一维数组,则数组名a的值和a
[0]的值相等(V)假定二维数组的定义语句为doublea[M][N];则每个数组元素的列下标取值范围在0~NT之间(V)假定二维数组的定义语句为“double,则每个数组元素的行下标取值范围在1〜M之间(X)假定一个数据对象为int*类型,则指向该对象的指针类型为int**(V)进行动态存储分配的callocO函数带有两个参数(V)进行动态存储分配的callocO函数带有一个参数(X)每次只能向文本文件中写入一个字符,不能一次写入一个字符串(X)若x=5y=10则x〈二y的逻辑值为假(X)若要在程序文件中使用标准输入和输出函数,则需要引入的系统头文件为stdio.ho(J)使用const语句定义一个符号常量时,则必须对它同时进行初始化(V)一个C语言程序能够包含多个用户头文件(V)一个二维字符数组a
[10]
[20]中存储每个字符串的最大长度为19(V)一个二维字符数组a
[10]
[20]中存储每个字符串的最大长度为20(X)已知“inta
[10]*p=a;,则进行p++运算是不允许的(X)用于释放动态存储空间的函数为free使用它需要带有一个参数(V)在C语言程序上机操作的过程中,编译程序的操作步骤之后是运行操作(X)在C语言程序中,只有一种使用注释语句的方法(X)在C语言程序中,主函数也可以成为递归函数(X)在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用(V)在C语言中,打开一个数据文件的系统函数为fopen()它带有两个字符串参数,用来给定文件名和打开方式(J)在C语言中,打开一个数据文件的系统函数为fopen()它带有一个字符串参数,用来给定文件的打开方式(X)在C语言中,求一个整数的绝对值的数学函数为abs(x)(V)在C语言中,一个结构类型的长度等于所含的所有数据成员类型的长度之和(V)在C语言中,一个结构类型的长度等于所含的所有数据成员类型长度的最大值(X)在C语言中,在定义一个字符数组时,不能利用一个字符串进行初始化(X)在C语言字符集中,包含有全部26个英文大写字母和对应的小写字母(J)在for循环语句的头部,for后面括号内的各表达式之间使用逗号分开(X)在for循环语句的头部,for后面括号内的各表达式之间使用空格隔开(X)在for循环语句的头部,for后面括号内共有2个表达式位置(X)在定义一个变量时,不能给它赋初值(X)在定义指针变量的语句中,对指针变量可以赋初值(V)在定义指针变量的语句中,最前面的类型关键字仍然允许J指针类型(V)在函数定义中,若存在着调用自身函数的函数调用表达式,则称此函数为非递归函数(x)在结构成员访问运算符中,点运算符(.)为双目运算符(V)在结构成员访问运算符中,点运算符和箭头运算符的左边均为结构变量(X)在结构成员访问运算符中,点运算符和箭头运算符的左边均为结构指针变量(X)在结构类型的定义中,结构类型名在关键字struct和定义体之间(J)在结构类型的定义中,其中的数据成员可以是本身类型的直接对象(X)在一个函数定义中,参数表可以为空(V)在一个函数定义中,参数表中的参数类型可以为void类型(X)在一个链表的结点结构中,存在着一个指针域,但不一定指向自身结点类型(X)在一个链表中,表头结点和表尾结点均无前驱结点(义)在一条变量定义语句中,当同时定义多个变量时,各变量之间只能使用逗号分开(J)在一条变量定义语句中,可以同时定义不同类型的变量(X)在一条变量定义语句中,只能定义同一类型的变量(V)在一维数组的定义语句中,给数组赋初值的部分是用一对花括号括起来的数据表(J)在一维数组的定义语句中,给数组赋初值的部分是用一对圆括号括起来的数据表(X)在一维数组的定义语句中,可以给数组中每个元素赋初值(V)在一维数组的定义语句中,数组名后带有一对圆括号(X)在一维数组的定义语句中,数组名前为元素类型关键字(V)字符串允许为空,并且其长度为0(J)程序填空题.执行下面程序的输出结果为
(15)#includestdio.hvoidmain(){inta=5b=8c=6d=15xy;if(a=b)x=a;elsex=b;if(c=d)y=c;elsey=d;if(x=y)printf(〃%d\n〃x);elseprintf(,,%d\n,/y);.执行下面程序的输出结果为(y=ll)o#includestdio.hvoidmainO{intx=5y=0;switch2*x-3{case4:y+=x;break;case7:y+=2*x+l;break;case10:y+=3*x;break;printf〃尸%d\n〃,y;.执行下面程序的输出结果为s=78o#includestdio.hvoidmainO{intis=0;fori=l;i10;i+=3s+=i*i+l;printf〃s=%d\n〃,s;.执行下面程序的输出结果为s=56#includestdio.hvoidmainO{inti=0s=0;whiles50{i+=2;s+=i*i;}printf,,s=%d\n,7s;}.执行下面程序的输出结果为s=30o#includestdio.hvoidmain{intx=30i=ls=0;do{s+=i*i;i++;}whilesx;printf,,s=%d\n,zs;}.执行下面程序的输出结果为s=46o#includestdio.hvoidmain{inta
[8]={38659285};intis=0;fori=0;i8;i++s+=a[i];printf〃s=%d\n〃,s;.执行下面程序的输出结果为s=58o#includestdio.hvoidmain{inta
[3]
[3]={{386}{592}{8512}};intijs=0;fori=0;i3;i++forj=0;j3;j++s+=a[i][j];printf〃s=%d\n〃,s;.执行下面程序的输出结果为s=30o#includestdio.hvoidmainO{inta
[3]
[3]={{386}{592}{8512}};intijs=0;fori=0;i3;i++forj=0;j3;j++ifa[i][j]%3==0s+=a[i][j];printf,,s=%d\n,zs;}.执行下面程序的输出结果为80o#includestdio.hvoidmain{inta
[8]={68712515189};ints=0;int*p=a;whilepa+8s+=*p++;printf〃%d\n〃s;}.执行下面程序的输出结果为47o#includestdio.h#defineN8voidmain{inta[N]={3581015203266;intix;fori=0;iN/2;i++{x=a[i];a[i]=a[N-l-i];a[N-l-i]=x;}printf%d\na[l]+a
[3];}.执行下面程序的输出结果为32o#includestdio.hvoidmain{inta
[8]={1215208591610;intijx=a
[0]+a[l];fori=0;i8;i++forj=i+l;j8;j++ifa[i]+a[j]xx=a[i]+a[j];printf〃%dx;.执行下面程序的输出结果为s=30o#includestdio.hvoidmain{inta
[3]
[3]={{386}{592}{8512}};intijs=0;fori=0;i3;i++forj=0;j3;j++ifa[i][j]%3==0s+=a[i][j];printf/zs=%d\n,zs;.当使用xk35调用此函数,并假定从键盘上输入的5个整数为
3、
4、
7、8和10则返回值为32intxk3intn{〃n为大于等于1的整数intixs=0;fori=0;in;i++{scanf级d〃,x;s+=x;}returns;}.在此程序中,具有文件作用域的变量是(x2)#includestdio.hintxl=5;。