软件技术C语言基础知识练习题(典优).docxVIP

  • 0
  • 0
  • 约6.42千字
  • 约 13页
  • 2026-01-27 发布于河南
  • 举报

软件技术C语言基础知识练习题(典优).docx

软件技术C语言基础知识练习题

第一部分单选题(50题)

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

A.C

B.

C.l

D.a

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

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

A.函数可提高代码复用性

B.函数可简化程序结构

C.函数可便于维护

D.以上都正确

【答案】:答案解析:函数的核心优势是复用、简化结构、便于维护,故选D。

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

A.7

B.10

C.14

D.5

【答案】:答案解析:a*=a+3等价于a=a*(a+3)=2*(2+3)=10,故选B。

4、函数的形参在______时分配内存?()

A.函数定义

B.函数声明

C.函数调用

D.程序编译

【答案】:答案解析:形参是局部变量,函数调用时分配内存,调用结束释放,故选C。

5、若inta=5;执行if(a10);elsea=20;后a的值是?()

A.5

B.20

C.10

D.无定义

【答案】:答案解析:if后分号表示空语句,else执行a=20,故选B。

6、以下关于return语句的说法正确的是?()

A.函数中可有多条return语句

B.函数中必须有return语句

C.return语句必须在函数末尾

D.return语句只能返回一个值

【答案】:答案解析:A函数中可有多条return(如条件判断后返回),Bvoid函数可无return,Creturn可在任意位置,Dreturn只能返回一个值(返回多个值需用指针/数组),故选A。

7、若inti;执行for(i=0;i5;i++)printf(%d,i);输出结果是?()

A.01234

B.12345

C.012345

D.无输出

【答案】:答案解析:for循环初始化i=0,条件i5(成立时执行),每次循环后i++,执行5次,输出01234,故选A。

8、若inta=6;执行a/=3;后a的值是?()

A.2

B.3

C.6

D.18

【答案】:答案解析:a/=3等价于a=a/3=6/3=2,故选A。

9、若inta=10,b=20,*p=a,q=b;执行p=q;后p的值是?()

A.10

B.20

C.a

D.b

【答案】:答案解析:p=q使p指向b,*p=b=20,故选B。

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

A.10

B.a

C.p

D.无定义

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

11、continue语句只能用于以下哪种结构?()

A.循环语句

B.switch语句

C.if语句

D.所有结构

【答案】:答案解析:continue仅用于循环语句(for/while/do-while),用于跳过本次循环,故选A。

12、以下指针运算中,结果为指针的是?()

A.*p

B.p+1

C.a

D.B和C

【答案】:答案解析:p+1是指针偏移,a是取地址,结果均为指针;*p是解引用(获取值),故选D。

13、函数定义的格式是?()

A.返回类型函数名(参数列表){函数体}

B.函数名(返回类型,参数列表){函数体}

C.函数名(参数列表)返回类型{函数体}

D.返回类型函数名{参数列表,函数体}

【答案】:答案解析:函数定义标准格式为“返回类型函数名(参数列表){函数体}”,故选A。

14、若intx=0;执行if(x)printf(A);elseprintf(B);输出结果是?()

A.A

B.B

C.AB

D.无输出

【答案】:答案解析:x=0为假,执行else分支,输出B,故选B。

15、若inta[4]={1,2,3,4};则*(a+1)的值是?()

A.1

B.2

C.3

D.4

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

16、以下数组初始化中,未赋值元素默认为0的是?()

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

B.charstr[5];

C.inta[5];

D.以上都是

【答案】:答案解析:全局数组未初始化默认为0,局部数组未初始化是随机值,A初始化部分元素,未赋值默认为0,故选A。

17、函数返回值的类型与return语句中表达式类型不一致时,会?()

A.编译错误

B.自动强制转换为函数返回类型

C.程序崩溃

D.无影响

【答案】:答案解析:编译器会将return表达式类型强制转换为函数返回类型(可能丢失精度),不报错,故选B。

18、以下switch语句中,break语句的作用是?(

文档评论(0)

1亿VIP精品文档

相关文档