天津市计算机二级C语言题库_第1页
天津市计算机二级C语言题库_第2页
天津市计算机二级C语言题库_第3页
天津市计算机二级C语言题库_第4页
天津市计算机二级C语言题库_第5页
已阅读5页,还剩137页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1-1C语言程序的基本结构是(【1】)oA[1]A)函数B)语句C)字符D)程序行1-2一个C程序由若干个C函数组成,各个函数在文件中的书写位置为(【I】)。A[1]A)任意 B)第一个函数必须是主函数,其它函数任意C)必须完全按调用的顺序排列D)其它函数必须在前,主函数必须在最后1-3下列四个叙述中,正确的是(【I】)。DA)C程序中的所有字母都必须小写B)C程序中的关键字必须小写,其它标识符不区分大小写C程序中的所有字母都不区分大小写C语言中的所有关键字必须小写1-4C语言规定,在一个C程序中,main。函数的位置([1】).C[1]A)必须在开始 B)必须在最后C)可以任意 D)必须在系统调用的库函数之后1-5组成C语言源程序的基本结构称为([1】).D[1]A)过程B)程序段C)模块D)函数1-6下列四个叙述中,错误的是(【1】)。C[1]A)一个C源程序必须有且只能有一个主函数一个C源程序可以含一个或多个子函数C)在C源程序中注称说明必须位于语句之后D)C源程序的基本结构是函数1-7下列四个叙述中,正确的是(【1】)。C[1]A)C语言规定只有主函数可以调用其他函数B)在一个C函数中,只允许有一对花括号C语言中的标识符可以用大写字母书写(标识符只能有字母,数字和下划线三种字符组成,且第一个字符必须为字母或下划线)D)在对程序进行编译的过程中,可发现注释中的拼写错误1-8下列四组C语言标识符中,正确的一组是(【1】)。A[1]A)nameChar_abcA23B)abC?c5bytes-USA_54321C)printconsttypedefineD)includeintegerDoubleshort1-9下面属于C语言保留字的是(【1】)。BA)IntB)typedefC)ENUMD)unien(不是关键字)1-10下面不属于C语言保留字的是(【I】)°B[1]A)shortB)ELSEC)externD)for1-11下列四个叙述中,正确的是(【1】)。B[11A)C语言程序总是从第一个定义的函数开始执行C语言程序总是从main()函数开始执行C)C语言程序中的main()函数必须放在程序的开始部分一个C函数中只允许一对花括号1-12下列四个叙述中,错误的是(【1】)。C[1]A)C语言中的关键字必须小写B)变量的存储类型决定了变量的存储位置及其生存期C)宏定义必须以#define开头,行末必须加分号(行末不加分号)D)C语言中的注释行可以出现在程序的任何位置1-13按照结构化程序设计的方法,C语言源程序的三种基本程序控制结构是(【1】)。A[1]A)顺序、选择、循环 B)选择、连接、投影C)函数、过程、子程序 D)层次、关系、网状1-14以下描述中,正确的是(【1】)。C[1]A)编译预处理是特指完成宏替换的过程(还有别的功能)B)编译预处理指令也是c语句(预处理命令不是C语句)C)C源程序中,凡是行苜以#标识的控制行都是编译预处理指令D)编译预处理就是完成C编译程序对C源程序的第一遍扫描,为编译的词法分析和语法分析作准备1-15以下叙述正确的是(【1】)。B[11A)一个C函数中,只能出现一对花括号B)一个完整的C程序,必须有一个且只能有一个主函数C)C语言中的关键字,用大小写字母都可以D)C语言中的标识符必须用小写字母书写1-16以下叙述不正确的是(【1】)。DA)分号是C语句的必要组成部分B)C程序的注释可以写在语句的后面C)函数是C程序的基本单位D)主函数的名字不一定用main表示2-1C语言中的基本数据类型包括(【2】)。BA)整型、实型(浮点型)、逻辑型,双精度型、字符型B)整型、浮点型、双精度型、字符型、无值类型C)整型、双精度型、布尔型,浮点型、字符型D)整型、实型、复型、字符型、逻辑型2-2在C语言中(以16位PC机为例),基本数据类型所占存储空间长度从小到大排列顺序是([2】).DA)shortint,char,float,doublechar,float,int,doubleint,unsignedchar,longint,floatchar(1个),int(2个),float(4个),double2-3在C语言中不同数据类型的的长度是([2])。C[21A)固定的B)由用户自己定义的C)与机器字长有关 D)任意的2-4下列四组(八进制或十六进制)常数中,正确的一组是(【2】)。A[2]A)016Oxbf017(以数字0开头的数是八进制数)B)Oabc017Oxa(以ox开头的数是十六进制数)C)010-0x110x18D)0A127FF-1232-5下列四组整型常量中,合法的一组是(【2】)。A[2]A)160Oxffff011B)-Oxcdf01aOxeC)-01986,0120668D)-0x48a 2e52-6D)-0x48a 2e52-6下列四组转义字符中,[2]A)'\0'B)4VC)AOIS'D)'\\0'Ox合法的一组是([2】)»A'\n''\x''\xab''xif'2-7C语言中,一个整型数据占两个字节,贝Uint型数据的取值范围是([2】)0A[2]A)[2]A)32767--32768B)0~65535C)127--128 D)0~2552-8经charw;intx;fioaty;doublez;说明,表达式w*x+z-y的类型是(【2】)D[2]A)floatB)char C)int D)double2-9以下能正确定义变量a,b和c并为它们赋值的语句是([2】)0D[2]A)inta=5;b=5;c=5;(用逗号) B)inta,b,c=5;C)a=5,b=5,c=5; D)inta=5,b—5,c—5j2-10在C语言中,可以表示逻辑“真”的值是([2】)oD[2】A)TB)0C)-lD)非零值2-11在C语台中,全局变量的隐含存储类别是([2】)。B[2]A)staticB)externC)voidD)register2-12经inta=7;floatx=2.5,y=4.7;说明后,表达式x+a%3*(int)(x+y)%2/4的值是(【2】)。A[2]A)2.500000 B)2.7500003.500000 D)0.0000002-13以下叙述不正确的是([2】)oAA)在C语言程序中无论是整数还是实数,都能被准确地表示B)C语言程序中,变量名代表存储器中的一个位置C)静态变量的生存期与整个程序的运行期相同(180)C语言中变量必须先说明后引用2-14下列不正确的C语言关键字是(【2】)。C[2]A)swicthB)charC)Case(不可以大写) D)default2-15下列符号可以作为C语言标识符的是(【2】)。BA)5bB)chiC)$30D)fl.c2-16以下叙述不正确的是([2】).CA)C语言中,数组和结构都属于构造类型※C语言中,枚举类型用于描述集合概念C)不同类型的数据所占存储空间的字节数由C语言本身规定D)实数在计算机中一般是近似表示的3-1C语言所提供的五种基本数据类型包括:字符型、整型、浮点型、双精度型和([3】)«C【3】A)结构型B)逻辑型C)无值类型 D)自定义类型3-2在PC系列计算机上,C语言中的char型数据占1个字节,则unsignedchar型数据取值范围是([3】)。AA)0-255B)0~32767C)0~65535 D)0-1273-3当用constintA=9;定义后,下列叙述中正确的是([3]).B[31A)A是整型变量B)A是整型常量(const是关键字)C)A是一串字符D)A的类型不定3-4已知字母'A'的十进制ASCII代码值为65,下面程序段的输出是(【3】)。Acharchi,ch2;chl='A'+5-3’;ch2='A'+'6'・'3';printf(,,%d,%c\n,,,chl,ch2);【3】A)67,DB)C,68C)不确定的值D)C,D3-5下面程序段的输出是([3】)oCunsignedinta=32768;(signed:-32768〜32767unsigned。〜65535)printf("a=%d\n",a);(%d整型输出,-32767〜32767)A)a=0 B)a=32767C)a=-32768D)a=-l3-6在C语言中,下列四个长整型数中合法的是(【3】)。AA)OL B)4962710 在一个整型后加上字母1或L为longintC)0.054838743D)2.1869el03-7C语句printf("%d\n",NULL);的输出结果是(【3】)。BA)不确定B)0C)-lD)13-8若有说明语句:charc=;则变量c([3])。A(101是e的ASCH代码)A)包含一个字符 B)包含两个字符C)包含三个字符 D)包含四个字符3-9设变量a为整型,f为实型,i为双精度型,则表达式10+'a'+i*f的数据类型是(【3】)。CA)int型B)float型C)double型D)不确定3-10下列四个字符串常量中,错误的是([3】).AA)'abc'(双引号)B)“12.12”C)"0"D)“”3-11以下不正确的说法是([3】)。DA)在不同函数中,可以使用相同名字的变量B)形式参数是局部变量C)静态局部变量离开所在函数,其值仍保留D)在函数内的复合语句中定义的变量在本函数范围内有效C语言变量名的第一个字符(【4】)。CA)必须为字母或数字 B)必须为下划线或数字C)必须为字母或下划线D)必须为字母、数字或下划线4-2下列四个关于函数类型说明省略的叙述中,错误的是(【4】)。C[4]A)被调用函数的数据类型是char型B)被调用函数的数据类型是int型C)被调用函数的定义位置在调用函数之后(在调用函数之前)D)被调用函数在对其进行类型说明的位置在调用函数之前.4-3在一个C源程序文件中,要定义一个允许其它源文件中的函数可以使用的全局变量,则该变量需要使用的存储类别是([4】)。A[4】A)externB)registerC)autoD)static4-4当用#defineX3.14159265定义后,下列叙述中正确的是(【4】)。C[4]A)X是实型常数 B)X是双精度型常数?C)X是一串字符D)X是字符串常量4-5若在一个表达式中含有int、longint,unsignedint和char类型的常量和变量,则该表达式的类型是(【4】)。DA)int型B)char型C)unsignedint型D)longint型4-6下列四个字符常量中,正确的是([4】)oCA)“c"B)"\"C)'W'D)'\w'4-7执行printf("%x,%o,%d\n",-l,-l,-l);后的输出结果是(【4】)。DA) B)ffff,-01,-1C)ffff,32767,-1D)ffff,177777,-14-8下面四组选项中,均是合法的浮点数的一组选项是([4】)oBA)le+15e-9.4 03e2(e后的指数必须为整数)-.6012e-4 -8e5123e1.2e-.4+2e-lD)-e3 e-4 5.e-0(e之前必须有数字)4-9下列四个叙述中,错误的是(【4】)。A[4]A)在C程序中,无论是整数还是实数,都能被准确地表示B)在C程序中,变量名代表存储器中的一个位置C)静态变量的生存期与整个程序的运行期相同C语言中变量必须先说明后引用4-10已有定义inta=-2;以下叙述中正确的是(【4】)。DA)整型变量的输出格式符只有%d一种%x是格式符的一种,它可以用于任何一种类型的数据%x是格式符的一种,其变量的值按十六进制输出,但格式符%32x是错误的D)%32x格式符中,数字32规定了输出数据的宽度4-11若有定义:intx=3,y=2;floata=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值是([4】)«D[4]A)0 B)2C)1.5D)14-12C语言中能用八进制表示的数据类型为([4】).B[4]A)整型和实型C)字符型、实型和双精度型B)字符型和整型 D)字符型、整型、实型和双精度型4J3C语言中,只有在使用它们时,才占用内存单元的变量的存储类别是([4】)。D[4]A)static和autoB)register和externC)register和staticD)auto和register4-14以下叙述不正确的是(【4】)。DA)宏定义不是C语句 B)宏定义是一条编译预处理命令C)#define命令一般出现在函数外部D)每个#define可以定义多个宏4-15以下对整数的书写形式中错误的是(【4】)。CA)7000LB)7000ulC)-3078uD)327674-16以下叙述中不正确的是(【4】)。C[4]A)空字符串(即两个双引号连写),它只占一字节存储单元※B)字符型常量可以放在字符型变量中※C)字符串常量可以放在字符串变量中(字符串没有变量)D)字符型常量可以与整数混合运算,而字符串常量不可以※5-1下列运算符要求运算量必须是整型或字符型,其中错误的(【5】)。D[5]A)~(按位取反)B)& C)%D)II5-2设inta=5,b=6,c=7,d=8,m=2,n=2;表达式(m>a-b)&(n<c+d)值为(【5】)CA)2 B)3 C)1真D)0假5-3设ch是char型变量,其值为'M',则表达式ch!=(ch>='A'&&ch<='Z')?(ch+32):ch的值是([5]).AA)MB)aC)mD)z5-4表达式5!=3的值是(【5】)。DA)TB)非零值C)0D)15-5C语言中,设a为整型变量,不能正确表达数学关系:10<a<15的是(【5】)。AA)10<a<15 B)a=l1IIa=12IIa=13IIa==14C)a>10&&a<15D)!(a<=10)&&!(a>=15)5-6若d为double型,则printf("%",(d=l,d+5,d++))的输出是(【5】5DA)1 B)6.0C)2.0D)1.05-7设inta=l,b=2,c=3,d=4,则表达式a<b?a:c<d?a:d的值是(【5】)DA)4 B)3 C)2D)15-8下列运算符中,优先级最高的是([5】).DA)< B)+ C)&D)!=5-9若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假",则下面不能满足要求的表达式是(【5】)。CA)A%2==1B)!(A%2==0)C)!(A%2)D)A%25-10a、b均为整数,且bWO,则表达式a/b*b+a%b的值是(【5】)。AA)aC)a被b除的余数部分B)bD)a被b除商的整数部分5-11为表示y在闭区间[x,z]内,应使用的C语言表达式是(【5】)。AA)(x<=y)&&(y<=z) B)(x<=y)OR(y<=z)C)x<=y<=z D)(x<=y)&(y<=z)5-12设有以下语句:intx=10;x+=3+x%(-3);则x的值是([5】).AA)14B)15C)llD)125-13以下符合C语言语法的表达式是(【5】)。BA)d=9+e+f=d+9B)d=9+e,f=d+9C)d=9+e=e++,d+9D)d=9+e++=d+75-14若有定义:inty=7,x=12;则能使值为3的表达式是(【5】)。D[5】A)x%=(y%=5) B)x%=(y-y%5)C)x%=y-y%5 D)(x%=y)-(y%=5)5-15下列运算符中,优先级最低的是([5】)=DA)<B)+C)&&D)+=6-1sizeof(double)^([6])。A【6】A)一个整型表达式 B)一个双精度表达式C)一种函数调用 D)■—个不合法的表达式6-2设各变量已定义并初始化,以下符合C语言语法的赋值语句是([6】)oCA)a=7+b+c=a+7; B)a=7+b++=a+7;C)a=(7+b,b++,a+7);D)a=7=b,c=a+7;6-3若有定义:intc=5和inta,a=2+(c+=c++,c+8,++c),则a=(【6】)。D[6]A)15B)13C)16D)146-4下列运算符中,优先级最高的是([6】).CA)?: B)!= C)sizeof(长度运算符)D)&&6-5逻辑运算符两侧运算量的数据类型(【6】)。DA)只能是0或1 B)只能是0或非0的正数C)只能是整型或字符型数据 D)可以是任意类型的数据※6-6在C语言中,要求运算量必须是整型或字符型的运算符是([6】)»BA)&& B)&按位与运算符 C)!D)+6-7表达式0xl3&0xl7的值是([6】)«BA)0x17B)0xl3C)0xf8D)Oxec6-8在位运算中,非零操作数每左移一位,其结果相当于(【6】)。AA)操作数乘以2 B)操作数除以2C)操作数除以4 D)操作数乘以46-9若有语句:inta=5;则printf("%d",a++);的结果为([6】).C【6】A)7 B)6 C)5 D)46-10以下对枚举类型名的定义中,正确的是(【6】)。BA)enuma={one,two,three};enuma{one=9,two=-1.three};enuma={"one","two”,**threeM);D)enuma{“one”,'two”,"three"};6-11设x为int型变量厕执行语句x=10;x+=x-=x-x;后,x的值为(【6】)。B[6]A)10B)20C)40D)30 运算方向6-12设x、y、z、s均为int型变量,且初值均为1,则执行语句s=++xll++y&&++z;后,s的值为(【6】)。C[6]A)不定值B)2 C)1(表示真)D)06-13已知x=43,ch='A',y=0;表达式(x>=y&&ch<'B'&&!y)的值是([6】)。C[6]A)0B)语法错C)1 D)"假"6-14下列运算符中优先级最低的是(【6】)。A[6]A)?: B)&& C)+D)!=6-15设有以下语句:charx=3,y=6,z;z=xAy«2;则z的二进制值是(【6】)。B[6]A)00010100B)00011011C)00011100D)000110007-1设有如下的变量定义:inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;则以下不符合C语言语法的表达式是([7】)oB[7]A)a+=a-=(b=4)*(a=3)B)x%(-3)C)a=a*3+x D)y=(float)(i)7-2定义inta=12,b=12;后,语句printf("%d,%d\n",-a,b++);的输出结果是([7】)oB[7]A)12,12B)11,12C)11,11D)11,137-3若有代数式(6ab)/(xy),则下列C语言表达式中,错误的是(【7】)。C[7]A)a/x/y*b*6 B)6*a*b/x/yC)6*a*b/x*y D)a*b/x/y*67-4当用constintA=8;定义后,下列叙述正确的是(【7】)。A[7]A)A是整型常数 B)A是整型变量C)A是字符型常数 D)A是不定类型的常数7-5设有定义inta=0xl3,则-a的值是([7])。A(~按位取反)[7]A)OxffecB)0xff71C)Oxff68D)0xffl77-6a,b均为整数且b不等于零,则表达式a-a/b*b的值是(【7】)。B[7]A)0 B)a被b除的余数部分C)a D)a被b除商的整数部分7-7若已定义:intx=5,y;则表达式y=2.75+x/2的值是([7])。C[7]A)5.5B)5 C)4D)4.07-8若已定义inta;则printf("%d",(a=10,a+10,a++));的输出是([7】)。B[7]A)20B)10 C)21D)117-9若有以下定义和语句:inta=010,b=OxlO,c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是(【7】)。B[7]A)10,10,10B)8,16,10C)8,10,10D)8,8,107-10若定义int又2,j=l,k=3;表达式i&&(i+j)&kIi+j的值是([7】)C[7]A)3 B)4 C)1(表示真) D)27-11若有定义inta=5,b=8,c=0;则执行表达式:c+=(a--)*(--b)后出b,c的值是(【7】)。A[7]A)4735B)5740C)5845D)48327-12下面运算符优先级最高的是([7】)oB[7]A)<=B)% C)=D)&&7-13若有定义intu=010,v=0xl0,w=10;则执行printf("%o,%o,%o\n",u,v,w);后,输出结果是(【7】)。C[7]A)10,10,10 B)8,16,10C)10,20,12 D)8,10,127-14若有定义:intx=3,y=2;floata=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值是([7】).D[7]A)0B)2C)1.5D)18-1下列属于C语句的是(【8】)。D[8]A)scanf("%d",&)B)#defineM3+fC)a=b,b=c,c=aD)constintA=3;8-2下列语句中,错误的是(【8】)。A[8]A)++t++; B)nl=(n2,n3=0);C)k=i=j; D)a+=tw-=l;8-3已知ch是字符型变量,则下列赋值语句中,正确的是(【8】)。B[8]A)ch='123'; B)ch='\xff';C)ch="\0"; D)ch="\\”;8-4在C语言中,用printf("%c,%s\n"AO',"")显示的结果是([8]).A[8]A)前者有一个空格,后者没有空格 B)前者没有空格,后者有一个空格C)二者都没有空格 D)二者都有一个空格8-5设x和y均为int型变量,则执行以下语句:x+=y;y=x-y;x-=y;的功能是(【8】)。D【8】A)把x和y从大到小排列C)无确定结果B)把x和y从小到大排列 D)交换x和y的值8-6下列叙述中,正确的是([8】)oD【8】A)输入项可以是一个实型常量,如:scanf("%F,3.5);B)只有格式控制,没有输入项,也能正确输入数据到内存,如:scanf("a=%d,b=%d");C)当输入一个实型数据时,格式控制说明符可以用"%d",如:scanf("%d",&。;D)当输入数据时,必须指明变量地址如:scanf("%f',&f);8-7定义inta;后,语句printf("%d\n",(a=3*5,a*4,a+5));的输出是([8])B[8]A)65 B)20C)15D)108-8putcharQ函数的自变量可以是(【8】)。D【8】A)任何数值型表达式 B)实型变量C)字符串常量 D)字符型常量或字符型变量8-9printf函数中格式符“%5s”,若输出字符串长度大于5,输出方式是([8】)B[8]A)输出该字符串的前5个字符B)按原字符串从左向右全部输出 C)输出该字符串的后5个字符 D)输出错误信息若定义intx;floaty;且执行scanf("%3d,%f",&x,&y);语句时,从第一列开始输入数据12345,678V回车〉,则x的值为(【8】)。B【8】A)12345B)123C)45D)3458-11设有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则从键盘输入数据的正确形式是([8】)»D[8]A)132V回车〉 B)1,3,2〈回车〉C)a=lb=3c=2(回车〉 D)a=l,b=3,c=2<回车〉8-12设有说明:doubley=0.5,z=1.5;intx=10;则能正确使用C语言库函数的赋值语句是(【8】)。D[8]A)z=exp(y)+fabs(x);B)y=loglO(y)+pow(y);C)z=sqrt(x); D)x=(int)(atan2((double)x,y)+exp(y-0.2));8-13C语言中的空语句指的是(【8】)。C【8】A)任何一个表达式末尾加上分号B)空白行C)只有一个分号 D)末尾不带分号的表达式8-14若有定义inta,b=0;floatx;则下面正确的赋值语句是(【8】)。B[8】A)a=l,b=2B)b++;(注意分号)C)a=b=5D)b=int(x):8-15若条件表达式x?a++:b++则以下表达式中能完全等价于表达式x的是([8]).B[8]A)(x==0) B)(x!=0)C)(x=l)D)(x!=l)8-16以下叙述不正确的是([8】).B[8】A)C语言中,允许一行内写多条语句B)只有一个分号不能构成C语句C)x+y;是正确的C语句D)a++;是赋值语句9-1下列运算符中,运算优先级最低的是(【9】)。C[9]A)= B)%C)?: D)++9-2若定义ints=3,a=5;则表达式s=2?a++:-a的值为(【9】)。C

[9]A)6 B)4C)5D)39-3若定义,intp=2,q=3;则printf(p<q?”***p=%d”,p,q:"###q=%d”,p,q);的输出为([9])。B(9]A)没有正确的输出格式控制 B)***p=2C)###q=2 D)***p=2###q=39-4下面程序段的运行结果是([9】)。Dinti=-l;if(i<=0)printf(n****\nH)elseprintf(n%%%%\nH);[9]A)**** B)%%%%C)%%%%cD)有语法错误,编译不成功9-5设intx=O,y=-l;则执行下列程序段的输出结果为([9])„Aif(x!=O)if(x>0)y=l;elsey=0;printf("%d\n",y);[9]A)-1 B)1 C)0D)-29-6设血2=15=2«=3,<1=4,2;则表达式(3>1>)?(2=(:):(2=<1)的值为([9】)oA[9]A)4B)2C)1D)39-7设inta=l,b=2,c=3,d=4;则表达式(a!=b)?(--c):d++的值为([9]).C[9]A)5 B)4 C)2 D)39-8在C语言中,if语句后的一对圆括号中,用以表示条件的表达式(【9】)。DA)只能用逻辑表达式 B)只能用关系表达式C)只能用逻辑表达式或关系表达式 D)可用任意表达式9-9在C语言中,switch语句后一对圆括号中表达式的类型(【9】)。AA)可以是任何基本类型 B)只能为int类型C)只能是整型或字符型 D)只能是整型或实型9-10设inti=2;则表达式(i++==2)?i:i-l的值为([9]),>DA)1B)2C)0D)39-11设charcl='a',c2='A';表达式cl=c2+32?cl:(cl=c2+32)的值为([9】)CA)1 B)0C)'a'D)'A'9-12以下四条语句中,有语法错误的是([9】)oDA)if(a>b)m=a; B)if(a<b)m=b;C)if((a=b)>=0)m=a;D)if((a=b;)>=0)m=a;9-13为了避免嵌套if-else的二义性,C语言规定:else与(【9】)配对。B[9]A)缩排位置相同的if B)其之前最近的ifC)其之后最近的ifD)同一行上的if9-14下面的程序([9】)oDmain(){intx=3,y=0,z=0;if(x=y+z)printf("****");elseprintf("####");[9]A)有语法错误,不能通过编译B)输出****C)可以通过编译,但不能通过连接 D)输出####9-15下面的程序main(){inta,b,s;scanf(,,%d%d',,&a,&b);s=a;if(s<b)s=b;s=s*s;primf("%d\n”,s);)运行时,若从键盘输入3和4,则输出([9】)oB[9]A)14B)16C)18D)209-16下面的程序main(){inta,b,s;scanf(n%d%d'\&a,&b);s=a;if(s<b)s=b;s=s*s;printf(u%d\nn,s);}运行时,若从键盘输入3和2,则输出([9】)oD[9]A)14B)16C)18 D)910-1下面的程序段执行后,y的值是(【10】)0Cinta,x=10,y=9;a=(-x==y++)?—x:++y;A)8B)11C)10 D)910-2运行下面的程序段后,c的值是(【10】)。Cinta,x=10,y=9,b,c;a=(-x==y++)?-x:+4-y;b=x++;c=y;A)8B)11C)10 D)910-3运行下面的程序段后,c的值是(【10】)oBinta,x=10,y=9,b,c;a=(-x!=y++)?—x:++y;b=x++;c=y;[10]A)8B)11C)10D)910-4当int型变量a和c的值均为1时,语句(c=a)?(printf("***%d\n",++a):(printf(,'###%d\n,',-a);的执行结果是([10])oBA)###1 B)***2 C)***lD)###010-5下列程序段所表示的数学模型是(【10】)。Cif(x>0)y=l;elseif(x<0)y=-l;elsey=0;TOC\o"1-5"\h\zA)y=1 x<0y=0 x=0y=-1 x>0y=1 x20y=-1 x<0y=1 x>0y=0 x=0y=-1 x<0y=1 xWOy=0 x=010-6运行下面程序段的输出结果是(【10】).Ainta=-10,b=-3;printf(M%d\nMXa-b)?a-b:a+b);A)-7 B)-13 C)-10D)-410-7运行下面程序段的输出结果是(【10】)oCstaticinta=4,b=5,t;if(a>b)t=a;a=b;b=t;(注意分号的位置)printf("%d,%d\nn,a,b);A)5,4B)4,5C)5,0D)语法错误10-8运行下面程序段的输出结果是(【10】)oBstaticinta=4,b=5,t;if(a>b)t=a,a=b;b=t;(注意分号的位置)printf(M%d,%d\n'\a,b);A)5,4B)4,0C)5,0D)语法错误10-9运行下面程序段的输出结果是(【10】)。Astaticinta=4,b=5,t;if(a>b);t=a,a=b,b=t;printf("%d,%d\n",a,b);A)5,4B)4,5C)5,0D)语法错误10-10运行以下程序段的运行结果是(【10】)oBintx=l,y=2,z=3,a=-l;if(x<=y)a=0;elseif(z>y)a=l;printf(n%d%d%d%d\nn,x,y,z,a);A)1231 B)12300123-1D)编译时报语法错误,不能执行10-11若定义intd,c=6;则执行下面的语句后,d的值为(【10】)。Dswitch(c){caseO:d=O;break;case1:case2:d=l;break;case3:case4:d=2;break;default:d=3;}[10]A)0B)1C)2 D)310-12下面的程序{inta;scanf(n%d",&a);if(a>5)printf("%d\nn,—a);else printf(',%d\n,\a—);)执行时若从键盘输入6,则输出为(【10】).C[10]A)7 B)6 C)5 D)410-13下面的程序main(){intx=1,a=10,b=20,p=5,q=0;if(a<b)if(b!=15)if(!p)x=l;elseif(q)x=10;x=-l;printf(n%d\n';x);}的输出结果是(【10】)。A[10]A)-lB)0C)1D)不确定的值10-14下面的程序main(){intx=10,a=10,b=10,kl=0,k2=0;if(a<b)if(b!=15)if(!kl)x=l;elseif(k2)x=10;x=-l;primf("%d\n'x);)的输出结果是(【10】)。A[10]A)-lB)0C)1D)不确定的值10-15以下程序的运行结果是(【10】)。Amain(){intx=l,y=l,z=3,a=-l;if(x<=y)a=0;elseif(z>y)a=l;printf(,,%d%d%d%d\n,\x,y,z,a);)A)1130 B)1131C)113-1 D)编译时报语法错误,不能执行11-1运行下列程序段的输出结果是(【11】)。Cm=9;while(m)printf(,'%du,—m);A)987654321 B)不输出任何信息C)876543210 D)8765432111-2对于ck>・while结构,下列说法中正确的是(【11】)。BA)do—while是先判断后执行do-while的循环体至少被执行一次do・・while的循环体可能一次也不被执行do-while与while执行过程完全相同11-3运行下列程序段的输出结果是(【11】)。Bwhile(!c)printf(',%d,',++c);A)\0 B)1C)0 D)不输出任何信息11-4下列程序段执行后,s的值为(【11】)。Cintk,s=O;for(k=l;k<=10;++k);(注意分号)s=s+k;A)1+2+3+...+10 B)0C)11 D)1011-5运行下面程序段的输出结果是([11])oBinti;for(i=0;i<10;i4-+);printf("%d”,i);[11]A)9B)10 C)8D)1111-6若i,j已定义为int类型,则以下程序段中内循环体总共被执行(【11】)。Afbr(i=5;i;i-)for(j=0;j<4;j++){……}[11]A)20次B)24次C)25次D)30次11-7以下for循环执行时,循环次数为(【11】)。Cfor(x=0,y=0;(y!=123)&&(x<4);x++);[11]A)无限次B)无法确定 C)4 D)311-8运行下列程序段的输出结果是([11])oAm=,a,;do{printf("%c”,m);}while(!m);A)aB)aaa...C),a,D)不输出任何值11-9下列各程序段中,不能实现计算1+2+3+...+10的是(【11】)oD[11]A)inti=0,s=0;while(i<=10){s+=i;i++;}inti,s;fbr(s=O,i=l;i<Il;i++)s+=i;inti=0,s=0;do{s+=i;++i;}while(i<=10);inti,s;for(s=0,i=l;i<=10;)s+=i;11-10运行下面程序段的输出结果是(【11】)。Bintn,a,s=0,p=l,i;n=2;a=2;for(i=l;i<=n;++i){p=p*a;s+=p;}printf(,'\ns(%d,%d)=%d,\a,i,s);A)s(2,2)=6 B)s(2,3)=6C)s(L2)=6 D)s(2,2)=511-11运行下面程序段的输出结果是(【11】)。Bintn=10;while(n>7){n-;printf(,,%d,,,n);}A)876B)987C)789D)7811-12运行下面程序段的输出结果是(【11】)。Bintx=23;do{printf(M%2d\x-);}while(!x);A)321 B)23C)不打印任何信息 D)陷入死循环11-13下列程序段的执行结果是([11])oDc=\4T;while(c)printf(M%cM,++c);A)\41B)AC)aD)B11-14下列程序段执行的结果,得到s的值为([11])oDintk,s=l;for(k=l;k<5;++k);s=s*k;A)1*2*3*4*5 B)0C)1 D)511-15下列程序段执行的结果,得到s的值为(【11】)。Bintk,s=O;for(k=1;k<=5;++k);s=s*k;A)1*2*3*4*5 B)0C)1D)511-16下列程序段执行的结果,得到s的值为([11])oCintk,s;for(k=l;k<=5;++k);s=s+k;A)1+2+3+4+5B)5C)不确定的值 D)012-1下列•维数组说明中,正确的是(【12】)。AA)#defineSIZE8+2floatb[SIZE];intn;scanf(,'%d'\&n);floatb|n];constintm=7;floata[m];inta(10);12-2下列一维数组说明中,不正确的是(【12】)oBA)floata[5+6];constintn=10;chara[n];#defineLONG10inta[LONG+5];floata[10],b[9];12-3下列二维数组说明中,正确的是(【12】)。CA)intn=9;floata[n][5];inta[][9];#defineLI2floata[][Ll]={0,0,l,l,2,23,3);intn,m;scanf(M%d%dM,&n,&m);floata|m][n|;12-4下列二维数组说明中,不正确的是(【12】)oD[12]A)floata[3*8][7-3];floata[][3]={{0,l,8},{5,9}};#defineLI3floata[Ll][4];inta[6],[7];12-5下列一维数组初始化语句中,正确的是(【12】)oA[12]A)inta[5]={,2„3,5);B)inta[5]={ };C)inta[5]={5*2}; D)inta[]=(0,2,0,3,7);12-6下列一维数组初始化语句中,不正确的是([12])。B[12]A)floatb[5]={0,3.2,4.3);floatb[5]={0,3.2,4,5,6,2};intb[]={0J,2,3);staticintb[3]={1„5);12-7下列二维数组初始化语句中,正确的是(【12】)»C[12]A)staticinta[][]={{0,1,5},{2,4,7},{1,6,8));staticfloata[3][]={{0,1,5},{2,4,7},{1,6,8}};staticinta[][3]={0,l,5,2,4,7,l,6};D)staticfloatal3][3]={(0,l,5),(2,4,7),(l,6));12-8下列二维数组初始化语句中,不正确的是([12])«D[12]A)intb[][3]={{5,l},{8}};B)intb[2][3]={5,1.6,2,4);C)intb[2][3]={5};D)intb[2][3]={{5.1},{6,2},{4,3)};12-9下列字符数组初始化语句中,正确的是(【12】)oA[12]A)charc[]="newspaper";B)charc[8]={"newspaper"};C)charc[10]={'newspaper1};D)charc[12]='newspaper1;12-10下列字符数组初始化语句中,不正确的是(【12】)。B[12]A)charc[12]="aluckyday";B)charc[]='aluckyday';charc[]={"aluckyday"};charc[6]={T,'u','c',k','y'A0'};12-11如果有初始化语句曲也叩=气1)0广则数组长度自动定义为(【12】)oCA)4B)5 C)6 D)712-12现要定义一个二维字符型数组c[M][N]来存放字符串"China","Tianjin"和"Education",则常量M和N的合理取值应为(理2】).DA)3和9 B)2和10 C)4和9 D)3和1012-13下列各选项中,正确的是(【12】)。AA)intm=7,a[8];intn=5;floatb[n];#defineLONG10;(注意分号)inta|LONG];inti=5,floata[3];12-14下列各选项中,不正确的是(【12】).BA)floata[3*4];intn=15,(应用分号)floata[10];#defineLONG10intalLONG+5];floata[10],b[9];12-15若已有一维数组初始化语句inta[]={9,2,8,3,7};则数组元素a[5]的值是(【12】)。CA)7 B)0C)不确知数D)'\0'12-16若有一维数组初始化语句floatb[20]={l.8,3.2,4.3,5.7,8.2,9.5}; 且数组的起始地址为8050H,则8058H是数组元素(【12】)的起始地址。DA)3.2B)8.2C)0D)4.313-1若有说明inta[5][4];则对其数组元素的正确引用是(【13】)。AA)a[3+l][2]B)a(2,3) C)a(0)(2) D)a[5][4]13-2若有说明doubleb[7][6];则对其元素的非法引用是(【13】).BA)b[6][9-4]B)b[7][5] C)b[2*3][5]D)b[2*3][9-4]若staticshortintdata[5]L6];所说明的数组在静态存储区中分配的起始地址为100H(十六进制),则数组元素data[3H2]在静态存储区中的地址为(【13】).AA)128HB)130HC)140HD)126H设staticcharstr[4][5];所说明的数组在静态存储区的起始地址为50(十进制),则数组元素str[3][3]在静态存储区中的地址为(【13】)。DA)62B)86C)63D)6813-5要将20,30,40,50存入数组b中,下列正确的程序段是(【13】)。AA)inti,b[4];for(i=0;i<4;i++)b[i]=(i+2)*10;intb[4];b={20,30,40,50);intb[4];b[l]=20,b[2]=30,b[3]=40,b[4]=50;intb[4];b[4]={20,30,40,50};13-6要将0,10,20,30存入数组a中,下列不正确的程序段是([13])。B[13]A)inta[4];a[0]=0;a[l]=10;a[2]=20;a[3]=3O;inta[4];a={0,10,20,30);inti,a[4];for(i=0;i<4;i++)a[i]=i*10;inta[4]={0,10,20,30);13-7若有说明charc[]="China";则对该数组元素的正确引用是([13]).C[13]A)c[3+4]B)c(2)C)c[2*2] D)c{5}13-8若有说明charc[]={N,'a','n',K,'a','i'};则对其元素的非法引用是(【13】)。D[13]A)c[0]B)c[9-6]C)c[2*2]D)c[7]13-9设已包含标题文件<string.h>,以下程序段的输出结果是(【13】)。Achars[]="agirl";printf("%d\n",strlen(s));(结束标志不算)[13]A)6 B)5 C)8 D)713-10若有说明charsl[]="Theboy",s2[]="ishandsome";使用函数strcpy(sl,s2)后,(【13】)。B[13]A)sl的内容不变 B)有可能导致数据错误C)si的内容更新为TheboyishandsomeD)sl的内容更新为ishand\013-11已知l"J"的ASCII码为74,设已包含标题文件<string.h>,则运行以下程序的输出结果是(【13】)。Dcharsl[]='Tian",s2[]="TianJin";printf("%d\n",strcmp(sl,s2);[13]A)74 B)3C)-3 D)-7413-12判断字符串si是否小于字符串s2,应该使用([13])。D[13]A)if(strcmp(sl,s2)>0)B)if(sl<s2)C)if(strcmp(s2,sl)) D)if(strcmp(s2,si)>0)13-13一维数组定义的一般形式是(【13】),A[13]A)《存储类型>]〈数据类型〉〈数组名〉[〈常量表达式>]B)(数据类型〉[(存储类型>](数组名〉《常量表达式>]C)[<存储类型>](数据类型〉〈数组名〉《变量表达式>]D)〈数据类型〉[〈存储类型>]<数组名>[<变量表达式>]13-14在存储器中,二维数组的元素是(【13】)。B[13]A)按列序顺序存放的,同一列中元素则按行序顺序存放B)按行序顺序存放的,同一行中元素则按列序顺序存放C)按行列卜标之和的顺序存放的,卜称之和小的在前,大的在后D)无序存放的,用指针指向下一个元素13-15在数组说明时对数组初始化,不能([13])。C[13]A)对非静态数组进行 B)只对部分元素进行C)对数组整体赋初值 D)省略数组的长度13-16若有说明floata[5][4]={{2,3,4),{5,6,7},{8,9,1));则下述各关系式中(【13])为真。D[13]A)a[0]=2 B)a[l][l]=3C)a[2]={8,9,1}D)a[4]=={0,0,0,0)14-1运行下面程序段的输出结果是(【14】).Aautointa|7]={1,3,5};printf("%d\n",a[3]);(数组已经初始化)[14]A)0B)5C)3D)不确定数14-2运行下面程序段的输出结果是(【14】).Bchars1[6]={'d','o',\0',,i','tprintf("%6s",sl);[14]A)'d"o'B)doC)doitD)doit14-3若说明charsl[5],s2[7];为si和s2赋值,下列语句中正确的是(【14])B[14]A)scanf("%s%s",&sl,&s2);B)gets(sl),gets(s2);C)scanf(1,%c%c,\si,s2); D)sl=getchar();s2=getchar();14-4若说明由@「51[]="1<©丫”,52[]=535”;下列输出语句中正确的是(【14】)oD[14]A)printf(n%s%s,',&sl,&s2);B)printf(',%s%sH,sl[],s2[]);C)puts(sl,s2); D)puts(sl);puts(s2);14-5若有定义char inti;下列输入函数调用中有错误的是(【14】)。AA)for(i=0;i<9;i++)scanf(”%c”,川i]);(缺少寻址符号)for(i=0;i<9;++i)sl[i]=getchar();scanf("%s",sl); D)gets(sl);14-6若已有定义charsl[6]=Hclassw;inti;下列输出函数调用中含有错误的是(【14】)oBA)for(i=0;i<6;i++)putchar(sl[i]);for(i=0;i<6;i++)puts(sl[i]);printf("%s”,sl);D)puts(sl);14-7若有定义4纵记所221[9];血1;下列输入函数调用中正确的是(【14])C[14]A)for(i=0;i<9;i++)scanf("%c”,sl[i]); B)scanf(H%sM,&sl);C)for(i=0;i<9;4-+i)sl[i]=getchar(); D)gets(&sl);14-8若已有定义charsl[6]=Mapple";inti;下列输出函数调用中正确的是(【14】)。D[14]A)for(i=0;i<6;i++)putchar(sl);B)puts(&sl);C)puts(sl[6]); D)p「intf("%s”,sl);14-9若已有定义staticcharstr[7];要将键盘输入的字符串napear"赋给str,应使用(【14】)。A[14]A)gets(str);B)scanf(',%s,,,str);C)str="apear";D)getchar(str);14-10若已有定义charstr[6]={,a',\0','c',,u','p',\0'};inti;现要输出"acup",应使用(【14】)。B[14]A)printf("%s",str);B)for(i=0;i<5;++i)putchar(str[i]);C)puts(str); D)for(i=0;i<5;i++)printf("%c\n",str[i]);14-11设已包含标题文件<string.h>,下面程序段的运行结果是(【14】)。Ccharsl[10]="ChangChun";chars2[6]="JiNan";strcpy(sl,s2);printf("%c",sl[6]);A)\0B)<space>C)hD)C14-12下面的程序段,([14])(.Dchars1[6],s2[]="foxbase";sl=s2;printf("%s",sl);A)运行后输出foxba B)运行后输出foxbasC)运行后输出foxbaseD)编译出错14-13下述各选项中正确的是(【14】)oAA)C语言中使用字符数组来处理字符串C语言中用专门的字符串变量来处理字符串C语言中用字符变量来处理字符串C语言中必须使用字符数组来处理字符14-14若字符数组a[20]中存放着一个字符串,且a[10]='\0',则该字符串的长度是(【14】).B[14]A)9B)10C)11D)2014-15耍将字符串str2连接到字符串strl后,应使用的函数是(【14】).C[14]A)strcpy(strl,str2);B)strcat(str2,strl);C)strcat(strl,str2);D)strcmp(str2,strl);14-16下述二维字符数组初始化语句中正确的是(【14】)。DA)charstr[2][]={{'g'/o'.'o'.'d'},{;charstr[][6]={{'good'},{'night'}};charstr[2][]={{"good"),{"night")};charstr[][6]={"good","night")(获得字符串要使用双引号)15-1要比较字符串strl和字符串str2是否相同,应使用的函数是(【15】)。D[15]A)strcpy(strl,str2);B)strlen(strl,str2);strcat(strl,st⑵; D)strcmp(strl,str2);15-2若定义shortinti=100,*p=&i;设为i分配的内存地址为200~201(十进制),则printf("%d\n",p[O])为(【15】)。BA)201B)100C)200 D)出错15-3若定义int&b,*pl=&a,*p2=&b;使pl指向b的赋值语句是(【15】)。C[15]A)*pl=&b; B)pl=&p2;C)pl=*&p2 D)pl=*&b;15-4若定义intb=8,*p=&b;则下面均表示b的地址的一组选项为(【15】)。D[15]A)*p,*&b B)*p,&*b C)p,*&bD)p,&b15-5若定义inta=7,b=9,*pl,*p2;下列四组赋值语句中,正确的一组是(【15】).AA)p2=&a;pl=&b;*&a=*pl; B)pl=&a;p2=*&pl;a=&*p2;C)p1=&b;p2=*p1;*pl=*p2; D)p2=*&a;pl=*&b;15-6若定义inta=8,b,*p=&b;则赋值语句p=&a执行后,结果为([15]).BA)p同时指向a和b B)p指向a,而不再指向bC)p指向b,而b取a的值D)p指向a,a取b的值15-7指针和普通变量一样,其存储类型有四种,即(【15】)。CA)int、float、char,doubleint、float,auto>staticauto,static,register,extern;int、float、register,extern;15-8若定义intb[7],*p=b;则p+3表示([15]).D[15]A)元素b[3]的值B)元素b[4]的地址C)元素b[4]的值D)元素b[3]的地址15-9若定义inta[7],*pl=a,*p2=pl;则对数组元素a[3]的正确引用是([15]).A[15]A)*(p2+3)B)*(pl+4)C)pl+3D)*(p2+4)15-10指针本身的变量的类型是(【15】)。B[15]A)实型B)整型C)指针型D)字符型15-11指针本身占用存储单元的字节数为(【15】)。B[15]A)1字节 B)2字节C)3字节 D)4字节15-12若定义floatb[18],*p=b;且数组首地址为100H,则p+15表示的地址为([15])D[15]A)115HB)10FHC)160HD)13CH15-13下列各说法中不正确的的是(【15】)oB[15]A)变量的指针就是变量的地址;B)指针变量一经定义就指向了一个变量;C)指针变量一经赋值就成为变量的指针;D)指针变量的值是一个变量的地址;15-14C语言中访问地址的运算符有(【15】)。A[15]7*和口; B)*和&;C)口和&;D)y以上都不对;15-15若有说明charstr[]="people",*p=str;则下列各说法中正确的的是(【15】)。DA)变量p与str完全相同: (p指向的是字符串的首地址)B)指针变量p中的内容与数组str中的内容一致:C)*p与str中的内容相同; D)*(p+i)与str[i]相同(i为常数);15-16下列各选项中正确的的是(【15】)。CA)chars|15];s="Goodmorning";(不能这样赋值)chars[15];*s=HGoodmorning”;char*p=,,Goodmorning";chars[10]=''Goodmorning";16-1以下叙述中,错误的是(【16】)oCA)C语言允许函数嵌套调用B)C语言允许在函数中对被调用的函数进行说明C)C语言允许在函数中嵌套定义函数D)C语言允许main。函数递归调用16-2以下叙述中,错误的是(【16】).CA)允许用户在包含相应的标题文件后,调用所有的标准库函数B)允许用户重新定义标准库函数,若如此,该函数将失去原有含义C)不允许用户重新定义标准库函数D)不允许用户在自己的程序中直接调用标准函数库中的所有函数16-3在C语言程序中,以下叙述正确的是(【16】)。DA)函数的定义和函数的调用均可以嵌套B)函数的定义可以嵌套,但函数的调用不能嵌套C)函数的定义和函数的调用均不能嵌套D)函数的定义不能嵌套,但函数的调用可以嵌套164C语言中规定,函数返回值的类型是由(【16】)决定的。DA)mturn语句中的表达式类型C)系统B)调用该函数时的主调用函数类型 D)该函数定义时的类型16-5以下叙述中,正确的是(【16】)。AA)实参和与其对应的形参各占独立的存储单元B)实参和与其对应的形参共占存储单元C)只有当实参和与其对应的形参同名时才共占存储单元D)形参是虚拟的,不占用存储单元16-6如果省略函数的数据类型,则默认为(【16】)。BA)char型B)int型C)float型D)double型16-7以下叙述中,错误的是(【16】)。DA)函数调用可以作为独立的语句出现B)函数调用可以出现在表达式中C)函数调用可以作为函数的实参D)函数调用可以作为函数的形参16-8以下叙述中,错误的是(【16】)。DA)不同函数中可以使用相同名字的变量B)在函数外部定义的变量是全局变量C)形式参数是局部变量D)在main函数体内定义的变量是全局变量16-9C源程序中常定义多个不同的函数,函数之间不能通过(【16】)传递数据。DA)虚实结合 C)同名的全局变量B)返回值 D)同名的局部变量16-10若用数组名作为函数调用的实参,则传递给形参的是(【16】)。AA)数组的首地址 B)数组的第一个元素的值C)数组中全部元素的值 D)数组元素的个数16-11以下叙述中正确的是(【16】)。AA)定义函数时,形参的类型说明不能放在函数体内return后边不能用表达式C)如果函数的类型与返回值类型不•致,以返回值类型为准D)如果形参与实参的类型不一致,以实参类型为准16-12若函数的实参是数组名时,则以下叙述中,正确的是(【16】)。AA)必须在调用函数中说明此数组的大小B)实数组类型与形参数组类型可以不相同C)在被调用函数中,形参数组必须与实参数组大小相等D)实数组名与形参数组名必须一致16-13C语言中,函数间的数据传递方式错误的是(【16】)。A[16]A)单向值传递 B)哑实结合C)函数返回值 D)全局变量16-14C语言规定,函数返回值的类型是由(【16】)。B[16]A)调用该函数时系统临时决定B)在定义该函数时所指定的函数类型所决定C)Return语句中的表达式类型所决定D)调用该函数时的主调用函数类型所决定16-15在C语言中,以下正确的说法是(【16】)»DA)形参不占用存储单元B)只有当实参和与其对应的形参同名时才共占用存储单元C)实参和与其对应的形参共占一个存储单元D)实参和与其对应的形参各占用独臼的存储单元16-16若函数定义中没有return语句,则调用该函数时,函数(【16】)。BA)返回若干个系统默认值 B)返回一个不确定的值C)返回一个整型值 D)没有返回值17-1C语言规定,调用一个函数时,当实参和形参都是指针时,它们之间数据传递的方式是(【17】)oAA)按地址传递 B)按值传递C)按名称传递D)由用户指定传递方式17-2若一个void型函数定义中含有return曲),(void定义无返回值函数)则调用该函数时,函数(【17】)oCA)通过return返回一个用户所希望的函数值B)返回一个系统默认值C)没有返回值D)返回一个不确定的值17-3以下函数定义形式中,正确的是(【17】).CA)doublefun(intx,inty)doublefun(intx;inty)doubleftin(intx,inty);doublefun(intx;inty);17-4在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是([171)«DA)外部(extern) B)寄存器(register)C)自动(atuo) D)静态(static)17-5如果在复合语句中定义了一个变量,则该变量(【17】)oAA)只在该复合语句中有效B)在该函数中有效C)在本程序文件范围内有效D)为非法变量X17-6如果在函数定义时省略存储类别,则默认存储类别为(【17】)»AA)自动(atuo)B)静态(static)C)外部(extern)D)寄存器(register)17-7函数调用语句func((expl,exp2),(exp3,exp4,exp5));||1»实参的个数为(【17】).BA)1B)2C)4D)517-9以下函数定义中,正确的是(【17】)。DA)doublefun(intx,inty){z=x+y;retumz;}(z没有定义)fun(intx,y){intz;returnz;}fun(x,y){intx,y;doublez;z=x+y;returnz)doublefun(intx,inty){doublez;z=x+y;retumz;}17-10以下程序中有语法错误,有关错误原因的正确说法是(【17】)。Cmain(){intG=5,k;voidpar_char(intx,inty);k=par_char(G);(参数不能传递))[17]A)语句voidpar_char();有错,不能用void说明函数的类型B)变量名G不能使用大写字母 C)函数说明和函数调用语句之间有矛盾D)函数名中不能使用下划线17-11若定义数组inta[3][4];,并以f(a)语句调用函数f,则在定义f函数时,对形参数组array错误的定义方式为([17])。B[17]A)f(intarray[][6]) B)f(intarray[3][])C)f(intarray[][4]) D)f(intarray[2][5])17-12若定义函数int*funcl(),则funcl的函数返回值为(【17】)。CA)整数 B)指向函数的指针C)整型数的地址 D)以上说法均错17-13以下错误的描述是(【17】)«D(与16-7进行比较,有矛盾)A)函数调用可以出现在执行语句中B)函数调用可以出现在一个表达式中C)函数调用可以做为一个函数的实参D)函数调用可以做为一个函数的形参17-14若使用一维数组名作函数实参,则以下正确的说明是(【17】)。CA)实参数组与形参数组大小必须相同B)实参数组名与形参数组名必须一致C)必须在主调函数中说明此数组的大小D)实参数组类型与形参数组类型可以不匹配17-15若用数组名作为函数调用的实参,传递给形参的是(【17】)oBA)数组的第一个元素的值 B)数组的首地址C)数组中全部元素的值 D)数组元素的个数17-16在C语言程序中,以下正确的描述是(【17】)。CA)在不同函数中不能使用相同名字的形式参数B)在main函数内定义的变量是全局变量C)函数的定义不能嵌套,但函数的调用可以嵌套D)函数的定义可以嵌套,但函数的调用不能嵌套18-1定义以下结构体类型structs{inta;floatf;}m[3];语句printf("%d”,sizeof(m))的输出结果为(【18】).

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论