`
liu1028701143
  • 浏览: 34648 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

C 语言重点知识 面试必备2

阅读更多
1、unsigned int 类型的数据与int类型的数据运算后自动转化为unsigned int 类型。
   比如说-20和6运算后就会变成一个很大的数;
  
  下面解释一个判断语句:
   (a+b>6)?{
      c=1

   }:(c=0);
   具体的意思就是如果a+b>6则c+1,否则C=0;
  // %f.2:表示的意思是小数点后保留几位;
  
[color=orange]2、隐式类型转换:[/color]
在混合类型的算式表达式中,最宽的数据类型肩负起了目标转换类型的责任,
   这被称为算术转换。(Arithmetic Conversion)
        int ab = 4;
double ab = 4.111;
此时ab=4.0;

表达式不同类型间的赋值】
在这时候目标转换类型是被赋值的对象,

用一个表达式传递给一个函数,表达式类型和形参类型不同: 此时的目标值是形参的值;
function momo(double)   momo(2)  结果值是double type;

函数返回值和i形参不同type
double difference(int );
目标类型为函数返回值类型;

3、 i?i
itn i = 3,j = 4;
i?i++;++j;
printf("%d %d\n",i,j);  the answer is 4,4;
等价于:(

   if(i=true){
     i++
   }else{
     ++j;
   }




4、很纠结的式子,:i++j;
mean is :first:i++;
          next: +j;

 
5、最扯淡的分析,
  x = x+1; x+=1;x++ 这三个式子哪个效率最高:
  从她得执行过程分析:
  第一个:先读取右X地址
          X+1;
  读取做X的地址;
  将右值传给左边的X;
  第二个:读取右X的地址;
           x+1
   得到值传给X(X地址早已经读出);
  第三个:效率最高
          读取有X的地址;
  X自增1.
 
6、编程规范方面:
      ‘A’==a比a=='A'合适: because 常量是不能被赋值的少写一个‘=’时能检查出错误

7、a、b交换:(神奇的算最大值的方法)
  扩展:abs( int x )是求整数的绝对值的 ,
  fabs( double x )是精确到双精度浮点型的求绝对值的
  简单的说就是保留的精度位数更高
     求两个数中最大的那个:
    int max  = ((a+b)+abs(a-b))/2(so牛逼);

int c = a-b;
     char *strs[2] = {"a大","b大"};
c = unsigned(c)>>(sizeof(int)*8-1) ;
     c=a-b,假如a<b的话,c为负数,转换为无符号数的话,最高位将是1
     第二句c=unsigned(c)>>(sizeof(int)*8-1);就是求c的最高位,
     之后只要判断是否为1就可以知道a和b哪个大了
  
  ----0、真正的交换来啦:
      不用中间变量交换:a、b;
  a^b 表示 a 和b 进行 异或运算
 
  a=a^b; 
  b=a^b;
  a=a^b;
 
8、c、c++的区别;
 
    (1)、c++支持函数的重载,c不支持,c++中的 void foo(int x,int y).
被C编译后就成了 void _foo();
(2)、头文件中的ifndef、define、endif是防止头文件被重复引用的!!
(3)、<filename.h>是在标准库路径开始搜索的
     "filename.h"是从用户的工作路径开始搜索的!!
     
9、如何判断一段程序是C还是C++;

      1、C是void main()而标准C++是int main() ;
  2、文件就不同
      c++有输入输出流文件即#include<iostream>
      c用的是scanf 和printf
      而c++用的是cout 和cin
      3、c++有类的定义,c是没有的
      4、C++在编译时定义了_cplusplus,C编译时定义了_STDC.

10、主函数想不到的地方,
       在main函数退出执行之后,可以使用atexit()函数注册一个函数,
         注意需要<stdlib.h>文件;



















    
1
0
分享到:
评论

相关推荐

    技术面试必备知识点,密码学等等.zip

    技术面试必备知识点:Android、Java、C、C++、Python、Flutter、Gradle、数据结构、计算机组成原理、计算机网络、操作系统、算法、数据结构、设计模式、密码学等等 软件开发设计:应用软件开发、系统软件开发、移动...

    技术面试必备知识点.zip

    包括::Android、Java、C、C++、Python、Flutter、Gradle、数据结构、计算机组成原理、计算机网络、操作系统、算法、数据结构、设计模式、密码学等等 Java是一种高性能、跨平台的面向对象编程语言。它由Sun ...

    程序员面试宝典(it找工作必备)

    本书取材于各大IT公司历年面试真题(笔试、口试、电话面试、英语面试,以及...最后本书着力讲述了如何进行英语面试和电话面试,并给出了大量实际英语面试中的面试題除了有详细解析和回答外,对相关知识点还有扩展说明。

    C/C++程序员面试指南.杨国祥(带详细书签).pdf

    C、C++语言是IT行业的主流编程语言,也是很多程序员必备的软件基本功,是软件开发行业招聘考查的重点。本书以流行的面试题讲解为主要内容,介绍了C、C++语言基本概念,包括保留字、字符串、指针和引用、结构体、...

    Python工程师面试必备25条知识点

    Python工程师面试必备25条Python知识点: 1.到底什么是Python?你可以在回答中与其他技术进行对比 下面是一些关键点: Python是一种解释型语言。这就是说,与C语言和C的衍生语言不同,Python代码在运行之前不需要...

    程序员面试宝典第三版

    本书的面试题除了有详细解析和答案外,对相关知识点还有扩展说明。真正做到了由点成线,举一反三,对读者从求职就业到提升计算机专业知识都有显著帮助。, 本书适合计算机相关专业应届毕业生阅读,也适合作为正在应聘...

    TechCPP:【C ++面试&C ++学习指南】这里整理了C ++精确研发工程师面试和工作必备的知识点

    如下是C ++后台开发技术路线以及知识点,这里有很多细节,还需要不断完善。欢迎大家通过或者加我与我交流,一起成长一起进步! 以下没有连接的内容就是还没有写,笔者正在拼命赶草稿...。 C ++ primer B站视频讲解 ...

    计算机类书籍:操作系统、计算机网络、计算机组成原理大数据、人工智能、面试题

    计算机类书籍:操作系统、计算机网络、计算机组成原理、汇编语言、C语言、C++、Java、Python、Go、前端、算法与数据结构、大数据、人工智能、面试题 实验报告:通过实际操作与数据记录,让您深入理解计算机内部的...

    纸上谈兵-C++求职必备宝典

    互连网、程序员求职必备宝典,涵盖相关各个方面的知识点与应用。包括操作系统、C/C++语言、TCP/IP、数据结构、数据库等等。

    CS 自学指南(Java编程语言、数据库、数据结构与算法、计算机组成原理、操作系统、计算机网络、英语、简历、面试).zip

    每份实验报告都详细记录了实验步骤、结果及分析,助您巩固知识点。 学习笔记:由资深学者精心整理的学习笔记,重点突出,为您梳理课程脉络,把握核心内容。 复习资料与试卷:涵盖了各类复习资料和历年试卷,助您备战...

    Java常用算法手册.zip

    书中知识点覆盖全面,结构安排紧凑,讲解详细,实例丰富。全书对每一个知识点都给出了相 应的算法及应用实例,虽然这些例子都是以Java语言来编写的,但是这些算法并不局限于Java语言。如果读者采用其他的编程语言,例如C++...

    高薪程序员必备刷题软件-mysql_doc:mysql_doc

    第2章:mysql数据库面试必备入门基础知识 简介:主讲面试时,面试官必问的知识点,主要关于版本号,服务进程,有哪些sql操作语句等 2.1 mysql各个版本的重要性介绍 **简介:各个版本的区别** 官网:...

Global site tag (gtag.js) - Google Analytics