2026年C语言专升本真题(巩固).docxVIP

  • 0
  • 0
  • 约6.3千字
  • 约 13页
  • 2026-01-31 发布于山东
  • 举报

2026年C语言专升本真题

第一部分单选题(50题)

1、若inta=10,p=a;则p的值是?()

A.10

B.a

C.p

D.无定义

【答案】:答案解析:*p是解引用,-用于结构体指针访问成员,.用于结构体变量访问成员,故选B。

2、以下关于void类型函数的说法正确的是?()

A.不能有return语句

B.可以有return语句(无表达式)

C.必须有return语句

D.可返回任意类型

【答案】:答案解析:void函数可写return;(无表达式),用于提前结束函数,不能返回表达式,故选B。

3、若charstr=Clanguage;则(str+2)的值是?()

A.C

B.

C.l

D.a

【答案】:答案解析:str+2指向第三个字符,值为l,故选C。

4、若inti=0;执行for(i=0;i5;i++){if(i==3)break;printf(%d,i);}输出结果是?()

A.012

B.0123

C.01234

D.无输出

【答案】:答案解析:i=3时break,输出012,故选A。

5、以下定义指向二维数组的指针正确的是?()

A.inta[2][3],(*p)[3]=a;

B.inta[2][3],*p=a;

C.inta[2][3],p=a[0];

D.inta[2][3],*p=a;

【答案】:答案解析:A是指向3列数组的指针(匹配二维数组a的行),B、C、D类型不匹配,故选A。

6、以下for循环的循环变量初始化表达式为“i=5”的是?()

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

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

C.for(i=2;i=5;i++)

D.for(i=5;i10;i+=2)

【答案】:答案解析:初始化表达式是for循环第一个部分,B中i=5符合,其余初始化非5,故选B。

7、若inta[5]={10,20,30,40,50},p=a+3;则p的值是?()

A.30

B.40

C.50

D.无定义

【答案】:答案解析:a+3指向a[3],*p=40,故选B。

8、以下switch语句中,break语句的位置正确的是?()

A.case后任意位置

B.必须在case代码最后

C.必须在default后

D.不能在default后

【答案】:答案解析:break可在case代码任意位置(执行到break即跳出),不一定在最后,default后也可加break,故选A。

9、以下哪个字符串的长度是3?()

A.abc

B.a\0b

C.ab\n

D.ab

【答案】:答案解析:字符串长度以\0结束,abc含a、b、c(3个字符),a\0b长度为1,故选A。

10、以下关于函数参数的说法正确的是?()

A.形参是函数定义时的变量

B.实参是函数调用时的变量/常量

C.形参和实参类型需匹配

D.以上都正确

【答案】:答案解析:A、B、C均是函数参数的基本规则,故选D。

11、若inti=0,s=0;执行do{s+=i;i++;}while(i5);后s的值是?()

A.10

B.15

C.5

D.0

【答案】:答案解析:do-while累加0+1+2+3+4=10,s=10,故选A。

12、以下if语句中,条件表达式正确的是?()

A.if(x=5)printf(yes);

B.if(x==5)printf(yes);

C.if(x=5;)printf(yes);

D.if(x==5;)printf(yes);

【答案】:答案解析:if条件需是判断表达式(==),A是赋值,C、D多加分号,故选B。

13、若inti=0;执行for(i=0;i5;i++){if(i==2)continue;printf(%d,i);}输出结果是?()

A.0134

B.01234

C.01

D.无限循环

【答案】:答案解析:i=2时执行continue,跳过printf,输出0134,故选A。

14、若charstr=abcde;则(str+4)的值是?()

A.d

B.e

C.\0

D.无定义

【答案】:答案解析:str+4指向第5个字符,值为e,故选B。

15、以下switch语句中,case穿透的情况是?()

A.case后加break

B.case后不加break

C.有default

D.无default

【答案】:答案解析:case后不加break会继续执行下一个case的代码(穿透),加break则跳出,故选B。

16、以下关于空指针的定义正确的是?()

A.#defineNULL0

B.#defineNULL(void*)0

C.int*p=NULL;

D.以上都正确

文档评论(0)

1亿VIP精品文档

相关文档