2026年贵州大学c语言期末试题(易错题).docxVIP

  • 2
  • 0
  • 约6.21千字
  • 约 13页
  • 2026-01-31 发布于中国
  • 举报

2026年贵州大学c语言期末试题(易错题).docx

2026年贵州大学c语言期末试题

第一部分单选题(50题)

1、以下if语句中,逻辑运算符使用正确的是?()

A.if(x3x7)

B.if(x3x7)

C.if(x3|||x7)

D.if(x3||x7)

【答案】:答案解析:逻辑与用,逻辑或用||,B是按位与,C多写||,D逻辑错误(x3或x7恒为真),故选A。

2、若inti=1;执行do{printf(%d,i);i++;}while(i=0);输出结果是?()

A.1

B.无输出

C.无限循环

D.12

【答案】:答案解析:do-while先执行一次(输出1,i=2),再判断i=0为假,循环结束,故选A。

3、以下哪个关键字用于定义整型变量?()

A.char

B.int

C.float

D.double

【答案】:答案解析:int定义整型,char字符型,float单精度浮点型,double双精度浮点型,故选B。

4、以下if-elseif语句的执行逻辑是?()if(x0)printf(负);elseif(x==0)printf(零);elseprintf(正);

A.多个条件可同时满足

B.仅执行第一个满足的条件分支

C.所有满足的条件分支都执行

D.无满足条件则不执行

【答案】:答案解析:if-elseif是互斥分支,仅执行第一个满足条件的分支,故选B。

5、递归函数的优点是?()

A.代码简洁,逻辑清晰

B.效率高,占用内存少

C.避免栈溢出

D.适合所有问题

【答案】:答案解析:递归优点是代码简洁(如阶乘、斐波那契数列),缺点是效率低、占用栈空间多(可能溢出),故选A。

6、以下数组定义错误的是?()

A.inta[5];

B.inta[5]={1,2,3,4,5};

C.inta[5]={1,2,3,4,5,6};

D.inta[]={1,2,3,4,5};

【答案】:答案解析:C初始化元素超5个,编译报错,其余正确,故选C。

7、以下函数递归调用的例子是?()

A.计算阶乘

B.循环输出数字

C.数组遍历

D.变量交换

【答案】:答案解析:阶乘常用递归实现(n!=n*(n-1)!),B、C、D用循环更高效,故选A。

8、continue语句在循环中的作用是?()

A.终止整个循环

B.跳过本次循环剩余部分,继续下一次

C.暂停循环

D.无作用

【答案】:答案解析:continue跳过本次循环剩余代码,直接进入下一次循环条件判断,故选B。

9、以下for循环中,循环变量初始化、条件判断、更新表达式均正确的是?()

A.for(i=0;i5;i++)

B.for(i=5;i0;i--)

C.for(i=0;i5;i+=2)

D.以上都正确

【答案】:答案解析:A(递增)、B(递减)、C(步长2)的三个表达式均合法,循环逻辑正确,故选D。

10、若inta[5];执行a[0]=1;a[1]=2;则a[2]的值是?()

A.0

B.3

C.随机值

D.无定义

【答案】:答案解析:全局数组默认0,局部数组未初始化是随机值?题目未说明存储类别,通常默认全局,a[2]=0,故选A。

11、指针与字符串的关系,以下说法正确的是?()

A.字符串常量是字符数组,数组名是指针

B.字符串可通过指针遍历

C.字符指针可指向字符串常量

D.以上都正确

【答案】:答案解析:A、B、C均是指针与字符串的基本关系,故选D。

12、break语句在循环中的作用是?()

A.跳过本次循环,继续下一次

B.终止整个循环

C.终止当前语句

D.无作用

【答案】:答案解析:break在循环中用于终止整个循环(跳出循环体),continue是跳过本次循环,故选B。

13、函数参数传递中,值传递的特点是?()

A.形参修改影响实参

B.形参是实参的副本

C.传递的是变量地址

D.用于数组传参

【答案】:答案解析:值传递时形参是实参的拷贝,修改形参不影响实参,地址传递才影响实参,故选B。

14、以下switch语句中,default的执行时机是?()

A.所有case都不匹配时

B.第一个case不匹配时

C.最后一个case不匹配时

D.任何时候

【答案】:答案解析:default仅在所有case都不匹配时执行,故选A。

15、若inta[4]={10,20,30,40};则*(a+2)的值是?()

A.20

B.30

C.40

D.10

【答案】:答案解析:a+2是第三个元素地址,*(a+2)=a[2]=30,故选B。

16、若inta=3;执行a+=aa;后a的值是?()

A.12

B.6

C.9

D.15

【答案】:答案解析:优先级先乘后加,a+=aa等价于a=a

文档评论(0)

1亿VIP精品文档

相关文档