华为c语言笔试题编程及答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

华为c语言笔试题编程及答案

单项选择题

1.以下哪个是C语言中合法的标识符?

A.2_variable

B.-var

C.variable_2

D.var

答案:C。标识符由字母、数字和下划线组成,且不能以数字开头,不能是C语言的关键字,选项A以数字开头,选项B以符号开头,选项D包含非法字符。

2.若有定义inta=5;,则执行语句a+=a-=aa;后,a的值是?

A.-40

B.-15

C.25

D.40

答案:A。先计算aa=25,然后a-=25,即a=5-25=-20,最后a+=-20,即a=-20+(-20)=-40。

3.以下关于数组的描述正确的是?

A.数组的大小可以在运行时动态改变

B.数组元素的下标从1开始

C.数组名代表数组首元素的地址

D.不同类型的元素可以存储在同一个数组中

答案:C。数组大小在定义时就确定,不能在运行时动态改变;数组元素下标从0开始;数组要求所有元素类型相同。

4.以下哪种循环结构一定会至少执行一次循环体?

A.for循环

B.while循环

C.do-while循环

D.以上都不是

答案:C。do-while循环是先执行循环体,再判断条件,所以至少执行一次。

5.若有函数声明voidfunc(intp);,以下调用正确的是?

A.inta=10;func(a);

B.inta=10;func(a);

C.intp;func(p);

D.以上都不正确

答案:B。函数参数是指针类型,需要传递变量的地址,选项A传递的是变量值,选项C指针未初始化。

6.以下哪个是C语言的标准输入函数?

A.printf

B.scanf

C.getchar

D.以上都是

答案:B。printf是输出函数,getchar是获取单个字符的函数,scanf是标准输入函数。

7.若有定义charstr[]=hello;,则str数组的长度是?

A.5

B.6

C.7

D.不确定

答案:B。字符串以\0结尾,hello实际存储为hello\0,所以长度是6。

8.以下关于函数的说法错误的是?

A.函数可以有返回值

B.函数可以没有参数

C.函数定义可以嵌套

D.函数调用可以嵌套

答案:C。函数定义不能嵌套,但函数调用可以嵌套。

9.若有定义inta[3][4];,则对数组元素a[1][2]的正确引用是?

A.(a+1+2)

B.((a+1)+2)

C.(a[1]+2)

D.以上都正确

答案:B。a是二维数组名,a+1指向第二行,(a+1)是第二行首元素地址,(a+1)+2指向第二行第三个元素,((a+1)+2)就是该元素的值。

10.以下关于指针的说法正确的是?

A.指针只能指向变量

B.指针可以不初始化直接使用

C.指针可以进行加减运算

D.指针和数组没有任何关系

答案:C。指针可以指向变量、数组、函数等;指针不初始化直接使用会导致未定义行为;指针和数组关系密切,数组名可以看作是指针常量。

多项选择题

1.以下属于C语言基本数据类型的有?

A.int

B.float

C.char

D.struct

答案:ABC。struct是构造数据类型,int、float、char是基本数据类型。

2.以下哪些是C语言的控制语句?

A.if语句

B.for语句

C.switch语句

D.break语句

答案:ABCD。if、for、switch是常见的控制语句,break用于跳出循环或switch语句,也是控制语句。

3.以下关于数组和指针的关系描述正确的有?

A.数组名可以看作是一个常量指针

B.可以通过指针来访问数组元素

C.指针可以指向数组

D.数组和指针完全相同

答案:ABC。数组名在很多情况下可以看作是常量指针,能通过指针访问数组元素,指针也能指向数组,但数组和指针并不完全相同。

4.以下哪些函数可以用于字符串处理?

A.strlen

B.strcpy

C.strcmp

D.sprintf

答案:ABCD。strlen计算字符串长度,strcpy复制字符串,strcmp比较字符串,sprintf将格式化的数据写入字符串。

5.以下关于函数递归调用的说法正确的有?

A.递归调用会不断消耗栈空间

B.递归调用必须有终止条件

C.递归调用可以提高程序的执行效率

D.递归调用可以解决所有问题

答案:AB。递归调用会不断在栈上分配空间,必须有终止条件,否则会导致栈溢出;递归调用不一定能提高执行效率,也不能解决所有问题。

6.若有定义in

文档评论(0)

177****6092 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档