答案解析——C语言—第1次作业:编译与连接基础知识

发布时间:2024年01月02日

本次作业题目链接如下:

C语言—第1次作业:编译与连接基础知识

1.字符串的结束标志是:( )

答案解析:

C语言规定:以'\0'作为有效字符串的结尾标记

A:错误,是'\0'不是字符0

B:EOF一般用来作为检测文本文件的末尾

C:正确

D:明显错误

因此:选择C

2.关于C语言关键字说法正确的是:( )

答案解析:

??C语言关键字:C语言定义的,具有特定含义、专门用于特殊用途的C语言标识符,也称为保留字

??A:错误,关键字是语言自身定义的

??B:正确

??C:错误,关键字具有特殊含义,不能作为变量名

??D:错误,typedef是用来给类型取别名的关键字

??

??因此,选择B

C语言中的关键字有

由ANSI标准定义的C语言关键字共32个:

auto double int struct break else long switch

case enum register typedef char extern return union

const float short unsigned continue for signed void

default goto sizeof volatile do if while static

3.用在switch语言中的关键字不包含哪个?( )

答案解析:A

??switch是用来进行多分支选择的语句,一般结构是:

switch语句的详细解释参考:三、C语言中的分支与循环—switch语句(4)分支结构 完

??switch(变量表达式)

??{

????case xx1:

?????// ...

?????break;

????case xx2

?????// ...

?????break;

????default:

??????// ...

??}

??当变量表达式的内容与某个case后的常量相等后,就执行该case下的语句,break表示该case以后的内容不会执行,如果没有跟break,会继续执行当前case之后的case分支。

??当变量表达式的内容没有与那个case匹配,就会执行default下的内容。

??switch中常用的关键字:case 、break、 default,当然case中语句比较复杂时,可能会用if进行判断。

??continue是用来结束本次循环的,而switch不是循环,因此其中不能使用continue关键字。

??

??因此:选择A

4.下面哪个不是关键字:( )

?答案解析:

??C语言关键字:C语言定义的,具有特定含义、专门用于特殊用途的C语言标识符,也称为保留字

??define不是关键字,是编译器实现的,用来定义宏的预处理指令,不是C语言中的内容。

??int、struct和continue都是C语言中包含的关键字。

??

??因此:选择C

5.C语言规定,在一个源程序中,main函数的位置( )

答案解析:

main函数的位置可以在任意位置,但是如果在主函数之中调用了哪些函数,必须在main函数前对其所调用函数进行生命或包含其被调用函数的头文件。

因此:选择C

6.关于集成开发环境描述错误的是?

集成开发环境中集成了编译器,如果说集成开发环境就是编译器,有些片面了

7.关于C语言中源文件和头文件说法正确的是?

多C语言编译器就是通过文件的后缀来区分是源文件还是头文件的,一般都是要明确的写出文件后缀的

头文件的后缀是.h,是header的意思

源文件的后缀是.c

在稍微复杂的C语言程序中,头文件是很有必要的,一般是用来函数声明、类型声明等

因此:选择C

8.关于main函数错误的是?

CD

一个C语言程序中的main函数,有且仅有一个

main函数的名字是固定的,编译器以main函数作为程序的入口,程序是从main函数的第一行开始执行的。

9.printf和库函数描述错误的是?

A

printf是库函数,必须含头文件才能正确使用

10.下面关于C语言的编译和链接说法错误的是?

B

C语言是一门编译型计算机语言,代码需要经过编译和链接生成可执行程序才能运行的,C语言代码经过编译生成目标文件,目标文件和链接库通过链接生成可执行程序。

11.下列代码的结果是:

答案解析:

strlen是用来获取字符串的有效长度的,结尾标记'\0'不包含在内。

strlen获取的规则非常简单:从前往后依次检测,直到遇到'\0'是就终止检测。

而上题中arr是一个字符数组,不是一个有效的字符串,因为后面没有放置'\0',因此strlen在求解时,将有效字符检测完之后,还会继续向后检测,直到遇到'\0'是才终止,因此答案为不确定,就看紧跟在't'之后的第一个'\0'在什么位置。

因此:答案选C

12.关于字符的ASCII编码错误的是?

小写字母的ASCII码值-32就能得到对应的大写字母的ASCII码值

小写字母的ASCII码值比对应的大写字母的ASCII码值更大的。

文章来源:https://blog.csdn.net/m0_52889787/article/details/135335967
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。