您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > C语言复习题(考研版)
C语言复习题(考研版)整理完毕:南京师范大学,教育技术学,2005年北京航空航天,软件学院,2012年湖南大学,计算机软件与理论,2005未完成南京师范大学,教育技术学,2006年已到11页北京大学,已到第16题概述1.(北京航空航天,软件学院,2012年)在C语言中,头文件的作用是什么?答:(1)通过头文件调用库功能。在很多场合,源代码不便(或不准)向用户公布,只向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功能,不不必关心接口是怎么实现的。(2)头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担。2.(北京航空航天,软件学院,2012年)在C语言中,#include“filename.h”和#includefilename.h的区别是什么?答:#include“filename.h”表明该文件是用户提供的头文件,只从当前文件目录中查找;#includefilename.h表明该文件是一个工程或标准头文件,不仅从当前文件目录中查找,而且在预定义的目录中查找。3.(北京大学,?年)在C语言中,char型数据在内存中的存储形式是(a)。A补码B反码C原码DASCII码标识符1.(北京航空航天,软件学院,2012年)在C语言中,标识符只能由字母、数字和下划线三种字符组成,并且第一个字符(C)。A.必须是字母B.必须是下划线C.必须是字母或者下划线D.可以是字母、数字和下划线之一数据类型与表达式1.(南京师范大学,教育技术学,2006年)C语言中,宏定义#definePI3.14159中,用宏名PI代替了一个(C)A单精度数B双精度数C常量D字符序列2.(北京大学,?年)C语言中最简单的数据类型包括(B)。A整型实型逻辑型B整型实型字符型C整型字符型逻辑型D整型实型逻辑型字符型3.已知ch是字符型变量,下面不正确的赋值语句是(A)Ach='a+b';Bch='\0';Cch='7'+'9';Dch=5+9;4.(湖南大学,计算机软件与理论,2005)如果要把常量327存入变量a中,a不能定义的类型是哪一个?(B)AintBcharClongDfloat5.(南京师范大学,教育技术学,2006年)C语言中,运算对象必须是整型的运算符是(D)A/B=C=D%=6.(南京师范大学,教育技术学,2005年)设inta=0,b=5;执行表达式++a||++b,a+b后,a,b和表达式的值分别是(C)A1,5,7B1,6,7C1,5,6D0,5,77.(湖南大学,计算机软件与理论,2005)设有变量说明:floatx=3.5;则执行表达式:x++;后,x的值为多少?(B)A4B4.5C5D不可预料8.(北京航空航天,软件学院,2012年)若整型变量x的初值为6,则计算表达式“x+=x-=x*x”之后,x的值是(D)。A.50B.60C.-50D.-609.(南京师范大学,教育技术学,2005年)使用C语言描述关系表达式a≤x<b,正确的描述是(C)Aa=xbBx=a&xbCx=a&&xbD、a=x&&b10.(南京师范大学,教育技术学,2005年)已知c是字符型变量,下面不正确的赋值语句是(C)Ac=2+3;Bc=’2+3’Cc=’\2’+3;Dc=’2’+’3’;条件表达式1.(南京师范大学,教育技术学,2006年)与语句if(xy)m=y;elsem=x;等效的表达式语句是:xy?m=y:m=x输入输出1.(湖南大学,计算机软件与理论,2005)若定义floata;现要从键盘输入a的数据,其整数位为3位,小数位为2位,则选用(B)Ascanf(“%f”,&a);Bscanf(“%5.2f”,&a);Cscanf(“%6.2f”,&a);Dscanf(“%f”,a);2.(湖南大学,计算机软件与理论,2005)已知整型变量k和g,则下列程序段输出结果为(D)。intk,g;k=011;g=11;printf(“%d,%x\n”,++k,g++);A12,BB10,3C12,3D10,B循环结构1.(北京航空航天,软件学院,2012年)下列4个程序段中,不是无限循环的是(A)。A.for(b=0,a=1;a++b;a=k++)k=a;B.for(a++=k)C.while(1){a++;}D.for(k=10;k--)total+=k;2.(湖南大学,计算机软件与理论,2005)执行语句:for(i=1;i++4;);后:变量i的值是(C)A3B4C5D不定3.(湖南大学,计算机软件与理论,2005)当执行以下程序段时(A)。x=-1;do{x=x*x;}while(!x);A循环体执行一次B循环体将执行两次C循环体将执行无限次D系统将提示有语法错误4.(北京航空航天,软件学院,2012年)设n0。下列函数的功能是统计正整数n的位数。intfun(intn){intcount=0;while(n){count++;n=n/10;}returncount;}5.(湖南大学,计算机软件与理论,2005)把50元钱分成一元、二元和五元的纸币且纸币数共为20张的分法有多少种?(注:在兑换中一元、二元和五元的纸币数可以为0)break与continue1.(湖南大学,计算机软件与理论,2005)以下程序中,while循环的循环次数是(D)main(){inti=0;while(i10){if(i1)continue;if(i==5)break;i++;}}A1B10C6D死循环,不能确定次数一维数组1.(南京师范大学,教育技术学,2005年)编写一个完整的C语言程序,它能够将键盘输入的10进制数以16进制格式输出。2.(湖南大学,计算机软件与理论,2005)下面程序从键盘输入10个整数,去掉一个最大数和一个最小数,然后求剩下的8个数的平均值。#includestdio.hvoidmain(){inta[10],max,min,i;floatavg;for(i=0;i10;i++)scanf(%d,(1));avg=max=min=a[0];for(i=1;i10;i++){if(maxa[i])(2);elseif((3))min=a[i];avg+=a[i];}avg=avg-((4));avg=avg/8.0;printf(average=%f\n,avg);}(1)&a[i](2)max=a[i](3)mina[i](4)max+min3.(北京航空航天,软件学院,2012年)请编写一C语言程序,该程序的功能是确定字符串中首次出现的某字符在串中的位置(即该字符是字符串中的第几个字符),然后从字符串中删除该字符。要求:(1)如果未找到该字符,程序给出相应信息,否则,输出该字符在字符串中首次出现的位置,删除该字符(注:不考虑非首次出现的该字符的删除),并且显示删除前后的字符串。(2)通过键盘输入字符串以及被确定的字符。二维数组1.(南京师范大学,教育技术学,2005年)以下不能正确定义二维数组的选项是(B)A、inta[2][2]={{1},{2}};B、inta[2][]={{1,2},{3,4}};C、inta[2][2]={{1},2,3};D、inta[][2]={1,2,3,4};2.(湖南大学,计算机软件与理论,2005)以下程序的输出结果是(C)voidmain(){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]);}A123456780B123456780C12345678D147函数1.(北京航空航天,软件学院,2012年)在C程序中,语句“char*func(intx,inty);”表示(D)。A.对函数func的定义B.对函数func的调用C.对函数func返回值类型的说明D.对函数func的原型说明2.(南京师范大学,教育技术学,2006年)若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b));在此函数调用语句中实际参数个数是(A)A3B4C5D63.(南京师范大学,教育技术学,2006年)若函数fun的类型void,且有如下定义和调用语句:main(){inta[10];………Fun(a);}为使得函数fun可以用数组名作参数,定义函数fun时,其首部可用如下两种不同的形式:fun(int*a)、fun(inta[])变量1.(湖南大学,计算机软件与理论,2005)全局变量的存储类型可以定义为(A)(确认答案,实验证明:autostaticextern都可以)Aauto或staticBextern或registerCauto或externDextern或static2.(北京大学)以下只有在使用时才为该类型变量分配内存的存储类说明是(B)。Aauto和staticBauto和registerCregister和staticDextern和register3.(北京航空航天,软件学院,2012年)在C语言中,全局变量和局部变量的主要区别是什么?答(1)定义位置不同:全局变量定义在所有函数之外;局部变量定义在函数体中;(自加)(2)生命期不同:全局变量随着主程序创建而创建,随着主程序销毁而释放;局部变量是在函数内部,程序执行到其作用域时创建,退出其作用域时释放。(3)作用域不同:全局变量具有文件作用域,在程序中的每个函数中都可以引用;局部变量具有块作用域,只是在其作用域内才能引用;(4)分配位置不同:全局变量被分配在全局\静态存储区,而局部变量分配在栈区;(自加)main函数1.(南京师范大学,教育技术学,2006年)C语言中,不合法的main函数命令行参数表示形式是:(C)A.main(inta,char*c[])B.main(intarc,char**arv)C.main(intargc,char*argv)D.main(intargv,char*argc[])2.(北京航空航天,软件学院,2012年)对于下列main函数,经过编译、连接后得到的可执行文件名为file.exe,并且已知在系统的命令状态下输入命令行“fileBeijingShanghai回车”后得到的输出结果是BeijingShanghai请在函数的空白处填入合适的内容,使函数完整。main(intargc,char*argv[]){while((1)){++argv;printf(“%s\n”,(2));--argc;}}答:(1)argv1(2)*argv指针1.(南京师范大学,教育技术学,2005年)若有变量定义:int*p,m=2,n;以下正确的程序段是(D)A、p=&n;scanf(“%d”,&p);B、p=&n;scanf(“%d”,*p);C、scanf(“%d”,&n);*p=n;D、p=&n;*p=m;2.(湖南大学,计算机软件与理论,2005)已知:chars[20]=”programming”,*ps=s;则不能引用字母o的表达式是(A)Aps+2Bs[2]Cps[2]Dps+=2,*ps3.(南京师范大学,教育技术学,2005年)如下程序的的运行结果是(D)main(){chara[]=”programming”,b[]=”language”;char*p1=a,*p2=b;inti;for(i=0;i7;i++)if(*(p1+i)==*(p2+i))printf(“%c”,*(p1+i));}A、gmB、rgC、orD、ga4.(南京师范大学,教育技术学,2005年)设有以下语句,则(A)不是对a数组元素的正确引用Inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a,i=9;A*(*(a+i))B*(&a[i])Cp[i]Da[p-a]5.(南京
本文标题:C语言复习题(考研版)
链接地址:https://www.777doc.com/doc-4778787 .html