还剩14页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
全国计算机二级考试题库单选题道及答案2024100以下关于语言变量定义的说法,正确的是()
1.c变量定义可以放在函数体的任何位置A.变量只能在函数开头定义B.变量定义后不能再赋值C.变量定义时必须赋初值D.答案A解析在语言中,变量定义可以放在函数体的任何位置,并非只能在开头,定义后可再赋值,C也不一定要赋初值若有定义贝执行语句+二-二后,的值是()
2.inta=5;,U a a a*a;aA.0B.-40C.40D.25答案B解析根据运算符优先级,先算为然后此时为-最后为a*a25,a-=25,a20,a+=-20,a-40以下能正确定义一维数组的语句是()
3.)A.int a
[5]={0,1,2,3,4;B.int a[]={};()C.int a
[5]=0,1,2,3,4;()D.inta5={0,1,2,3,4};答案A而析选项空初始化列表错误;选项初始化应用花括号;选项数组定义用方括号B CD对于函数调用()以下说法错误的是()
4.strcpy strl,str2,该函数用于将的内容复制到中A.str2strl的空间要足够大以容纳的内容B.strl str2复制过程会包括字符串结束符C.,0该函数返回的首地址D.str2答案D解析函数返回的首地址,而不是的首地址strcpy strlstr2以下关于语言中循环语句的说法,错误的是()
5.C循环可以用于遍历数组A.for循环先判断条件再执行循环体B.while循环至少执行一次循环体C.do-while循环语句中不能使用语句D.break答案D解析循环语句中可以使用语句来提前结束循环break若有定义,则数组的长度是()
6.char s[]=hello”;sA.5B.6C.4不确定D.答案B解析字符串”包含个字符,但在语言中字符串以结尾,所以数组长度为hello”5C6c.getsa,b;D.fgetsa,b,stdin;答案B解析输入整数要传入变量地址;和用于字符串输入scanf getsfgets以下关于语言中函数参数的默认值,说法正确的是
59.C语言支持函数参数有默认值A.C函数参数默认值可以在函数声明中指定B.函数参数默认值可以在函数定义中指定C.语言不支持函数参数有默认值D.C答案D解析语言不支持函数参数有默认值C若有定义血⑵则的值是
60.a
[3]={{1,2,3},{4,5,6}};,**a+1+2A.3B.4C.5D.6答案D解析指向第二行,指向第二行第三个元素,就是该元素的值*3+1*a+1+2**a+1+26以下关于语言中逻辑非运算符!的说法,正确的是
61.C逻辑非运算符是一元运算符A.逻辑非运算符的操作数只能是整数类型B.逻辑非运算符的结果只能是或C.1以上都对此选项不选,按要求生成正确选项D.答案A解析逻辑非是一元运算符;操作数可以是各种表达式;虽结果为或但本题选正确描述运1,算符性质的选项A若有定义则的值是
62.floatf=
5.6;,intf+1A.5B.6C.
6.6不确定D.答案B解析先将强制转换为整数再加结果为f5,16以下关于语言中函数重载的说法,错误的是
63.C语言支持函数重载A.C函数重载是指多个函数名相同但参数不同B.函数重载可以提高代码的复用性C.语言中函数名必须唯一D.C答案A解析语言不支持函数重载,函数名必须唯一.C若有定义则执行语句后,的内容是
64.char sl
[10]=abc,s2[]=deF;,strcpysl+3,s2;siA.abcdef1B.abc”C.ndefn不确定D.答案A解析将复制到位置,结果为“strcpy s2si+3abcdef%以下关于语言中循环控制语句和的说法,正确的是()
65.C break continue语句用于跳出整个循环,语句用于跳过本次循环剩余部分A.break continue语句只能用于循环语句中,语句可以用于任何语句B.break continue语句和语句都可以用于多层循环C.break continue语句和语句的作用相同D.break continue答案A解析跳出循环,跳过本次循环剩余部分;二者都用于循环语句;在多层循环有breakcontinue不同作用若有定义则表达式的值是()
66.int a=3,b=4;,ab a:bA.3B.4C.O不确定D.答案B解析条件表达式中为假,取的值,所以结果为ab b4以下关于语言中文件定位函数的说法,错误的是()
67.C函数用于移动文件指针位置A.fseek函数用于返回文件指针当前位置B.ftell函数用于将文件指针移动到文件开头C.rewind文件定位函数只能用于二进制文件D.答案D解析文件定位函数可用于文本文件和二进制文件若有定义则以下对成员赋值正确的是()
68.struct{int num;char name
[20];}stu;,stuA.stu.num=1001;strcpy(stu.name,nTomn);;;B.stu.num=1001”stu.name=Tom”;C.stu-num=1001;stu-name=Tom”二;D.stu.num=1001;stu.name Tom”答案A解析是整数类型赋整数;是字符数组用赋值;是变量用点运算符num namestrcpy stu以下关于语言中指针数组的说法,正确的是()
69.C指针数组的元素是指针A.指针数组只能存储整数指针B.指针数组不能进行初始化C..指针数组的大小不能改变D答案A解析指针数组元素是指针;可存储各种类型指针;能初始化;大小定义后一般不变但和本题主旨无关若有定义则()的值是()
70.inta
[5]={l,3,5,7,9};,*a+4A.1B.3C.7D.9答案D解析指向数组第五个元素,()就是该元素的值a+4*a+49以下关于语言中逗号运算符的说法,正确的是()
71.C逗号运算符的优先级是所有运算符中最低的A.逗号运算符的结果是最后一个表达式的值B.逗号运算符可以连接多个表达式C.以上都对(此选项不选,按要求生成正确选项)D.答案A解析逗号运算符优先级最低;虽结果是最后表达式值、可连接多表达式,但本题选正确描述优先级的选项A若有定义则执行语句后,的值是()
72.int a=2,b=3;,a*=b+1;aA.6B.8C.12D.18答案B解析先算为然后变为b+14,a*=4,a8以下关于语言中结构体数组的说法,错误的是()
73.C结构体数组的元素是结构体变量A.结构体数组可以进行初始化B.结构体数组的元素可以通过下标访问C.结构体数组不能作为函数参数传递D.答案D解析结构体数组可以作为函数参数传递若有定义□廿则的值是()
74.chars CProgramming;,s
[5]A.PB.YC.VD.g答案A解析数组下标从开始,是第六个字符0s
[5]P以下关于语言中函数嵌套调用的说法,正确的是()
75.C函数嵌套调用是指一个函数调用另一个函数A.函数嵌套调用的层数没有限制B.函数嵌套调用会导致程序出错C.函数嵌套调用和递归调用是一样的D.答案A解析函数嵌套是一个函数调用另一个;嵌套层数有限制合理嵌套不会出错;和递归不同J;若有定义则执行语句后,的值是()
76.int a=10;,a=3;aA.0B.1C.2D.3答案B解析:按位与运算,(二进制)和(二进制)按位与结果为(二进制)1010103001110001o以下关于语言中字符串处理函数的说法,错误的是()
77.C strncpy函数用于复制指定长度的字符串A.strncpy函数不会自动添加字符串结束符B.strncpy,0函数可以用于复制部分字符串C.strncpy函数的第二个参数必须是字符串常量D.strncpy答案D解析第二个参数可以是字符串变量strncpy若有定义则以下语句正确的是()
78.int*p,a=5;,A.p=a;*p=10;B.p=a;*p=10;C.*p=a;*p=10;D.p=a;p=10;答案A解析先存储的地址,再通过*修改的值p a p a以下关于语言中全局变量和局部变量的说法,错误的是()
79.C全局变量在整个程序中都有效A.局部变量在其定义的函数或代码块内有效B.全局变量和局部变量可以同名C.全局变量的存储位置在栈上D.答案D解析全局变量存储在静态存储区,不是栈上若有定义则的值是()
80.inta
[3]
[3]={{l,2,3},{4,5,6},{7,8,9}};,A.7B.8C.9D.6答案B解析:⑵⑴是第三行第二列元素,值为a8以下关于语言中条件运算符嵌套的说法,正确的是()
81.C条件运算符可以嵌套使用A.条件运算符嵌套会降低程序的可读性B.条件运算符嵌套的层数没有限制C.以上都对(此选项不选,按要求生成正确选项)D.答案A解析条件运算符可嵌套;虽会影响可读性、理论上层数无严格限制,但本题选正确描述可嵌套性质的选项A若有定义则()()的值是()
82.float fl=
2.5,2=
1.5;,int fl-f2A.0B.1C.
1.0不确定D.答案B解析先算为再强制转换为整数为fl-f
21.0,1以下关于语言中函数参数的传递方向,说法正确的是()
83.C值传递是单向传递,地址传递是双向传递A.值传递和地址传递都是单向传递B.值传递和地址传递都是双向传递C.值传递是双向传递,地址传递是单向传递D.答案A解析值传递只把值传给形参,地址传递可通过指针改变实参,是双向的若有定义则执行语句)后,的内容是()
84.charsl
[20]=Hello”,s2[]=World”;,streams1,s2;siA.HelloWorldB.Hello”C.World不确定D.答案A解析函数的作用是将连接到的末尾,所以最终内容为“strcat s2si siHeHoWorkT以下关于语言中语句的说法,错误的是()
85.C switch语句中的后面可以是常量表达式A.switch case语句中的可以省略B.switch default语句中的语句可以省略C.switch break语句的表达式只能是字符类型D.switch答案D解析语句的表达式可以是整数类型(包括字符类型,因为字符本质上是整数编码),并switch非只能是字符类型若有定义则()的值是()
86.inta
[4]={l,2,3,4},*p=a;,*p+3A.1B.2C.3D.4答案D解析指针指向数组的首元素,指向数组的第四个元素,()就是该元素的值p ap+3*p+34o以下关于语言中宏定义的替换规则,说法正确的是()
87.C宏定义在编译时进行简单的文本替换A.宏定义的替换过程会进行语法检查B.宏定义的参数可以有默认值C.宏定义只能定义常量D.答案A而析宏定义在编译预处理阶段进行简单的文本替换,不进行语法检查,也没有参数默认值的概念,还可以定义带参数的宏若有定义则表达式的值是()
88.int a=7,b=2;,a/b*bA.6B.7C.4不确定D.答案A解析先进行运算,结果为(整数除法舍去小数),再乘以()结果为a/b7/23b2,6以下关于语言中文件操作模式的说法,正确的是()
89.C“w+”以读写方式打开文件,若文件不存在则创建,若存在则清空内容A.以只读方式打开文件,若文件不存在则报错B.以追加方式打开文件,若文件不存在则创建C.以二进制读写方式打开文件,若文件不存在则创建D.答案A而析模式是以读写方式打开文件,若文件不存在则创建,若存在则清空原有内容“w+”若有定义则以下对成员赋值正确的是()
90.struct Date{int year;int month;int day;}d;,dA.d.year=2024;d.month=10;d.day=1;B.d-year=2024;d-month=10;d-day=1;;;C.d.year=2024”d.month=10d.day=T;D.d={2024,10,1};答案A解苏是结构体变量,用点运算符访问成员并赋值;成员是整数类型,不能赋字符串;结构d体变量不能整体这样赋值以下关于语言中二维数组在内存中的存储方式,说法正确的是()
91.C二维数组按行优先存储A.二维数组按列优先存储B.二维数组的存储方式取决于编译器C.二维数组的每一行在内存中不一定连续D.答案A解析在语言中,二维数组按行优先存储,即先存储第一行元素,再存储第二行元素,每行C元素在内存中是连续的若有定义则执行语句后,的值是()
92.int a=12;,a|=3;aA.12B.15C.3不确定D.答案B解析:按位或运算,(二进制)和(二进制)按位或结果为(二进制)12110030011151111o以下关于语言中字符串比较函数的说法,错误的是()
93.C strcmp函数用于比较两个字符串的大小A.strcmp如果两个字符串相等,函数返回B.strcmp0如果第一个字符串大于第二个字符串,函数返回正数C.strcmp函数比较的是字符串的长度D.strcmp答案D解析函数比较的是字符串的内容(字符的码值),而不是长度strcmp ASCH若有定义要使指向数组的第三个元素,以下语句正确的是()
94.int*p,a
[5]={10,20,30,40,50};,pA.p=a+2;B.p=a
[3];C.p=a
[2];D.p=*a+2;答案A解析:数组名代表首元素地址,指向数组的第三个元素,可使指向该元素aa+2p=a+2p以下关于语言中递归函数的栈空间使用,说法正确的是()
95.C递归函数每调用一次会在栈上分配新的栈帧A.递归函数的栈空间使用是无限的B.递归函数不会使用栈空间C.递归函数的栈空间使用和普通函数一样D.答案A解析递归函数每调用一次会在栈上分配一个新的栈帧来保存局部变量等信息,栈空间是有限的,和普通函数在栈空间使用上有区别若有定义则()的值是()
96.floatf=
3.8;,int f%2A.0B.1C.
1.8不确定D.答案B解析先将强制转换为整数再进行取余运算结果为f3,3%21以下关于语言中函数返回指针的说法,错误的是()
97.C函数可以返回指向局部变量的指针A.函数返回的指针可以指向动态分配的内存B.函数返回的指针类型要和函数定义的返回类型一致C.函数返回指针时要注意内存泄漏问题D.答案A解析不能返回指向局部变量的指针,因为局部变量在函数结束后会销毁,指针会变成野指针若有定义⑵⑵则的值是()
98.int a={{1,2},{3,4}};,A.1B.2C.3D.4答案C解析指向第二行首地址,()就是第二行第一个元素的值a[l]*a[l]3以下关于语言中逻辑运算符的短路特性,说法正确的是()
99.C逻辑与运算符有短路特性,逻辑或运算符||没有A.逻辑或运算符||有短路特性,逻辑与运算符没有B.逻辑与运算符和逻辑或运算符||都有短路特性C.逻辑与运算符和逻辑或运算符||都没有短路特性D.答案C解析逻辑与运算符当左边表达式为假时,右边表达式不再计算;逻辑或运算符||当左边表达式为真时,右边表达式不再计算,二者都有短路特性若有定义则表达式@的值是()
100.inta=5,b=2;,13A.5B.10C.20D.40答案C解析左移运算符,相当于乘以的次方,左移位为a b a2b5220以下能正确表示逻辑关系大于等于且小于的语言表达式是
7.“a1020”CA.10=a20B.a=10a20C.a=10||a20D.!a10||a=20答案B解析选项这种写法不能正确表达逻辑关系;选项是或关系;选项虽逻辑等价但不如选A CD项直观B若有函数定义以下调用正确的是
8.void funint*p{*p=*p+1;},A.int a=5;funa;B.int a=5;funa;C.int*p;funp;D.int a=5;int*p=a;fun*p;答案B解析函数参数是指针,调用时要传入变量的地址,选项正确B以下关于语言中指针的说法,正确的是
9.C指针变量只能指向整数类型的变量A.指针变量的值是它所指向变量的地址B.指针变量不能进行算术运算C.指针变量定义后不需要初始化D.答案B解析指针可指向各种类型变量;指针能进行算术运算;指针定义后最好初始化,否则可能是野指针若有定义血则对数组元素⑵的正确引用是
10.a
[3]
[4];,a[l]A.*a[l]+2B.*a+1+2C.**a+1+2D.a[l*4+2]答案C解析二维数组可看作数组的数组,可通过来引用**a+l+2以下关于语言中宏定义的说法,错误的是
11.C宏定义是在编译预处理阶段进行替换的A.宏定义可以带参数B.宏定义可以嵌套C.宏定义的作用域是从定义处到文件结束,不能改变D.答案D解析可以用来取消宏定义,改变其作用域#undef
12.若有定义int a=10,b=20;,则执行语句a A=b;b A=a;a A=b;后,a和b的值分别是A.10,20B.20,10C.10,10D.20,20答案B解析通过异或运算可以实现两个变量值的交换以下关于语言中文件操作的说法,正确的是
13.C打开文件时必须指定读写模式A.文件关闭后可以继续对其进行读写操作B.函数只能从文本文件中读取字符C.fgetc函数不能向二进制文件中写入字符串D.fputs答案A解析打开文件必须指定读写模式;文件关闭后不能再操作;和可用于二进制文件fgetc fputs若有定义则以下对成员的引用正确的是()
14.struct{int x;inty;}s={1,2};,sA.s.x=3;B.s-x=3;()C.*s.x=3;D.s[x]=3;答案A解析是结构体变量,用点运算符访问成员,选项正确s A以下关于语言中函数的说法,错误的是()
15.C函数可以没有返回值A.函数可以有多个参数B.函数定义和函数声明可以放在不同的文件中C.函数调用时参数传递只能是值传递D.答案D解析语言函数调用参数传递有值传递和地址传递C若有定义则表达式的值是()
16.int a=5,b=3;,a/bA.1B.
1.666667C.2不确定D.答案A解苏两个整数相除结果为整数,舍去小数部分以下关于语言中条件运算符的说法,正确的是()
17.C条件运算符是三元运算符A.条件运算符的优先级高于赋值运算符B.条件运算符可以嵌套使用C.以上都对(此选项不选,按要求生成正确选项)D.答案A解析条件运算符是三元运算符,优先级低于赋值运算符,虽可嵌套但本题选正确描述条件运算符本质的选项A若有定义则执行语句后,的值是()
18.char c=c=c+32;cA.aB.AC32不确定D.答案A解析大写字母和小写字母码相差,加变为官ASCII32,A32以下关于语言中数组名的说法,错误的是()
19.C数组名代表数组首元素的地址A.数组名是一个常量指针B.数组名可以进行自增自减运算C.数组名作为函数参数传递时会退化为指针D.答案C解析数组名是常量指针,不能进行自增自减运算若有函数定义()以下调用该函数的语句正确的是()
20.intfun inta,intb{returna+b;},A.int c()=fun3,4;()B.fun3,4;()C.int c;c=fun3;()D.int c;c=fun;答案A解析函数调用要传入正确数量和类型的参数,选项正确A以下关于语言中位运算的说法,正确的是()
21.C位运算只能对整数类型的数据进行操作A.位运算的速度比算术运算慢B.位运算不能用于判断一个数的奇偶性C位运算只能进行按位与、按位或和按位异或D.答案A解析位运算针对整数类型;位运算速度快;可通过位运算判断奇偶;还有按位取反、左移、右移等位运算若有定义血则以下对数组元素的引用错误的是()
22.A.a
[0]B.a
[10]C.a
[5]D.a
[9]答案B解析数组下标从开始,越界0a
[10]以下关于语言中字符串处理函数的说法,错误的是()
23.C函数返回字符串的长度不包括A.strlen‘\0’函数用于连接两个字符串B.strcat函数比较字符串时是比较字符的码值C.strcmp ASCII函数返回的是字符串的长度D.strstr答案D解析函数返回子串在主串中首次出现的地址,不是字符串长度strstr若有定义则以下语句正确的是()
24.int*p,a=10;,A.p=a;B.p=a;C.*p=a;D.*p=a;答案B解析指针要存储变量的地址,选项正确p aB以下关于语言中函数递归调用的说法,错误的是()
25.C递归调用是函数自己调用自己A.递归调用必须有终止条件B.递归调用的效率一定比迭代高C.递归调用可能会导致栈溢出D.答案C解析递归调用不一定比迭代效率高,可能会有更多的函数调用开销若有定义则以下语句正确的是()
26.floatf=314;,A.int i=f;()B.int i=int f;C.int i;i=f;D.int i;i=f;答案B解析将浮点数转换为整数需要强制类型转换,选项正确B以下关于语言中结构体的说法,正确的是()
27.C结构体成员可以是不同类型的数据A.结构体变量不能作为函数参数传递B.结构体类型定义后不能再定义新的结构体变量C.结构体成员只能是基本数据类型D.答案A而析结构体成员可以是不同类型;结构体变量可作为函数参数;可定义多个同类型结构体变量;成员也可以是其他结构体等若有定义⑵则的值是()
28.int a
[3]={{1,2,3},{4,5,6}};,A.1B.4C.5D.6答案B解析二维数组中是第二行第一列元素,值为4以下关于语言中预处理指令的说法,错误的是()
29.C预处理指令以#开头A.预处理指令在编译前进行处理B.预处理指令可以出现在程序的任何位置C.预处理指令可以进行算术运算D.答案D解析预处理指令主要用于文件包含、宏定义等,不能进行算术运算若有定义则执行语句)后,的内容是()
30.char sl[]=”abc,s2[]=deF;,streams1,s2;siA.abedef1B.abc”C.def”不确定D.答案A解析函数将连接到后面strcat s2si以下关于语言中函数参数传递的说法,正确的是()
31.C值传递是将实参的值复制给形参A.地址传递会改变实参的值B.函数参数传递可以是引用传递C.以上都对(此选项不选,按要求生成正确选项)D.答案A而析值传递是复制值;地址传递可通过指针间接改变实参值,但语言无引用传递选描述C值传递本质的选项A若有定义则执行语句后,的值是()
32.int a=1,b=2,c;,c=aba:b;cA.1B.2C.O不确定D.答案A解析条件表达式中为真,取的值,所以为ab ac1以下关于语言中文件打开模式的说法,错误的是()
33.C模式用于只读打开文件A.Y模式会清空文件原有内容B.”展模式只能在文件末尾追加内容C.模式用于以文本方式打开二进制文件D.”rb”答案D解析模式是以二进制方式打开文件用于只读“rb”若有定义则以下对成员赋值正确的是()
34.struct Student{char name
[20];int age;}stu;,stu A.stu.name=Tom”;B.strcpy(stu.name,nTomn);C.stu.age=n20n;D.stu-age=20;答案B解析字符数组不能直接用赋值号赋值,用函数;是整数类型,不能赋字符串;strcpy agestu是变量用点运算符以下关于语言中循环嵌套的说法,正确的是()
35.C循环嵌套可以是不同类型的循环嵌套A.循环嵌套的层数没有限制B.内层循环执行完一次,外层循环才执行一次C.循环嵌套会降低程序的执行效率D.答案A解析可以不同类型循环嵌套;嵌套层数有限制;内层循环全部执行完外层循环才执行下一次;合理嵌套不一定降低效率若有定义则执行语句后,的值是()
36.int a=10;,a*=2+3;aA.20B.30C.50D.100答案C解析先算为然后变为2+35,a*=5,a50以下关于语言中指针和数组的关系,错误的是()
37.C可以用指针来访问数组元素A.数组名可以隐式转换为指针B.指针和数组是完全相同的概念C.指针可以进行算术运算来遍历数组D.答案C解析指针和数组有联系但不是完全相同概念若有定义则以下输入语句正确的是()38,chare;,(,)A.scanf%c c;(%,)B.scanfc c;()C.gets c;()D.fgets c,1,stdin;答案B解析输入字符要传入变量地址;和用于字符串输入scanf getsfgets以下关于语言中函数返回值的说法,错误的是
39.C函数可以没有返回值A.函数返回值的类型可以是任何数据类型B.函数返回值可以是数组C.函数返回值可以是指针D.答案C解析函数不能直接返回数组,但可以返回指向数组的指针若有定义则的值是
40.inta
[5]={l,2,3,4,5};,*a+2A.IB.2C.3D.4答案C解析指向数组第三个元素,就是第三个元素的值a+2*a+23以下关于语言中逻辑运算符的说法,正确的是
41.C逻辑与运算符的优先级高于逻辑或运算符||A.逻辑运算符的操作数只能是整数类型B.逻辑运算符的结果只能是或C.1逻辑运算符可以进行短路求值D.答案A解析优先级高于||;操作数可以是各种表达式;结果为真或假,用和表示;虽可短路10求值,但本题选正确描述优先级的选项A若有定义则表达式⑵的值是
42.floatfl=
3.14,f2=
2.71;,intfl+A.5B.
5.85C.6不确定D.答案A而析先计算为再将结果强制转换为整数,舍去小数部分,结果为fl+f
25.85,5以下关于语言中函数声明的说法,错误的是
43.C函数声明可以放在文件开头A.函数声明可以省略参数名B.函数声明和函数定义的返回值类型必须一致C.函数声明后就可以调用该函数,不需要再定义D.答案D解析函数声明只是告知编译器函数的存在和参数、返回值情况,调用前必须有函数定义若有定义则的值是
44.inta
[3]
[2]={{l,2},{3,4},{5,6}};,+1A.2B.3C.4D.5答案C解析指向第二行首地址,指向第二行第二个元素,+就是该元素的值a[l]a[l]+l4o以下关于语言中枚举类型的说法,正确的是
45.C枚举类型的成员默认从开始依次递增A.0枚举类型的成员可以是任意数据类型B.枚举类型的变量不能进行赋值操作C.枚举类型的成员可以重名D.答案A解析枚举成员默认从开始递增;成员只能是整数类型;变量可赋值;成员不能重名
46.若有定义char s[]=HelloWorld1;,则strlen(s)的值是()A.10B.11C.12不确定D.答案B解析函数返回字符串长度不包括,(长度为strlen h“Hello World”11以下关于语言中条件语句的说法,错误的是()
47.C语句可以嵌套使用A.if语句的表达式只能是整数类型B.switch语句必须和语句配对使用C.else if语句的后面可以是变量D.switch case答案D解析语句的后面必须是常量表达式,不能是变量switch case若有定义则以下使指向数组首元素的语句正确的是()
48.int*p,a
[5]={1,2,3,4,5};,p aA.p=a;B.p=a;C.p=*a;D.p=a
[0];答案A解析数组名代表首元素地址,可使指向数组首元素p=apa以下关于语言中宏函数和普通函数的区别,错误的是()
49.C宏函数在编译时展开,普通函数在运行时调用A.宏函数没有函数调用开销,普通函数有B.宏函数的参数没有类型检查,普通函数有C.宏函数和普通函数的定义格式相同D.答案D解析宏函数用#€匕自起定义,普通函数有特定的定义格式,二者不同1若有定义则表达式的值是()
50.int a=5,b=3;,a%bA.1B.
1.666667C.2不确定D.答案C解析%是取余运算符,结果为5%32以下关于语言中动态内存分配的说法,正确的是()
51.C函数用于分配内存,使用后不需要释放A.malloc函数用于释放动态分配的内存B.free函数分配的内存不需要初始化C.calloc函数不能改变已分配内存的大小D.realloc答案B解析分配的内存使用后要用释放;会初始化内存;可改变已分配内存malloc freecalloc realloc大小若有定义则以下使指向的语句正确的是()
52.struct{intx;inty;}*p,s={1,2};,p sA.p=s;B.p=s;C.*p=s;D.*p=s;答案B解析指针要存储结构体变量的地址,正确p sp=s以下关于语言中文件读写操作的说法,错误的是()
53.C函数用于从文件中读取数据块A.fread函数用于向文件中写入数据块B.fwrite函数只能从文本文件中读取数据C.fscanf函数可以向二进制文件中写入数据D.fprintf答案D解析主要用于向文本文件写入格式化数据,不适合二进制文件fprintf若有定义则以下对数组元素的引用错误的是()
54.inta
[4]={l,2,3,4};,A.a
[0]B.a
[3]C.a
[4]()D.*a+2答案C解析:数组下标从到越界03,a
[4]以下关于语言中函数递归的终止条件,说法正确的是()
55.C终止条件必须是一个常量A.终止条件可以没有B.终止条件是递归调用结束的关键C.终止条件只能是函数返回值为D.0答案C解析终止条件不是必须为常量,必须有终止条件,不一定是返回值为它是递归结束关键0,若有定义则执行语句后,的值是()
56.int a=10;,a»=2;aA.2B.3C.4D.5答案C解析右移运算符〉〉,>〉=相当于除以的次方,右移位为a2a221024以下关于语言中字符串和字符数组的关系,错误的是()
57.C字符串可以用字符数组来存储A.字符数组一定是字符串B.字符串以),结尾,字符数组不一定C.V可以用字符串初始化字符数组D.答案B解析字符数组不一定以‘\’结尾,不一定是字符串若有定义则以下输入语句正确的是
58.int a,b;,A.scanfn%d%dM,a,b;B.scanfn%d%d;a,b;。
个人认证
优秀文档
获得点赞 0