day 14 C语言strcmp()函数:比较两个字符串


(1).下列关于C语言文件的叙述中正确的是【C】

(A).文件由一系列数据依次排列组成,只能构成二进制文件

(B).文件由结结构序列组成,可以构成二进制文件或文本文件

(C).文件由数据序列组成,可以构成二进制文件或文本文件

(D).文件由字符序列组成,其类型只能是文本文件

分析:文件由一系列数据依次排列组成这句话是对的

(2).有以下程序:

 则程序运行时的结果是【A】

(A).1

   0

(B).0

   1

(C).1

   1

(D).0

   0

分析:(0 < x < 20) 满足一个就可以,因此为真,输出1,负责为假,输出0。

(3).有以下程序:实现函数功能:计算三名学生各个学科的平均成绩。

(4).有以下程序:用冒泡法对6个字符串按由大到小的顺序进行排序

 代码有点不易理解,主要是通过指针进行寻址。然后根据指针对应的元素位置进行冒泡排序。其实就是通过指针的进行操作元素。

函数strcmp();

头文件:

函数原型:int strcmp(const char* stri1,const char* str2);

strcmp() 会根据 ASCII 编码依次比较 str1 和 str2 的每一个字符,直到出现不到的字符,或者到达字符串末尾(\0).

返回值:

  • 如果返回值 < 0,则表示 str1 小于 str2。
  • 如果返回值 > 0,则表示 str1 大于 str2。
  • 如果返回值 = 0,则表示 str1 等于 str2。

(5).有以下程序:

 计算函数fun(),输出n(包括n在内)能被5或者9整除的所有自然数的倒数之和。并且要求n的值不大于100。

(6).在长度为n的有序线性表中进行二分查找,最坏的情况下需要比较的次数是【C】

(A).O(n)

(B).O(n^2)

(C).O(log2n)

(D).O(nlog2n)

分析:这个题吧,主要考察二分查找的方法,每次分半的去寻找。所有在时间复杂度上是O(log2n)【咱找最坏的情况】