C 中细节问题的试题

下面函数的功能是什么?仔细分析!

#include<stdio.h>
#include<Windows.h>

//函数的功能
//  a<0 输出0
// 0<=a<=255 输出  a
// a>255   输出255
unsigned char function(int a)
{
    if(a&(~0xff))
    {
        return (-a)>>31;

    }else
    {

        return a;
    }

}
int main()
{
    int   n=0;
    n=function(-55);
    printf("%d\n",n);

    system("pause");
    return 0;
}

下面的代码的有结果吗?为什么?

int a=1;
a+=++(a++);
//此时a的值是多少?

解析:编辑错误,数值不能进行自增运算。

Question:若一个视频中图像分辨率为1920*1080,每像素采样精度为16-bit,每秒25帧图像,则每秒图像占内存(1920*1080*25*16)/8_byte(所有数据连续存放)

16-bit=2byte    1920*1080表示的是像素点

图像分辨率之1080P与1080i

int16_t  x=32767; x++;  printf("%d",x);输出的结果是什么?

int16_t  x=32767;   // -32768  why????     //
//16位int范围-32768~32767
x++; printf("%d",x);

上面的问题可以和下面的问题同解:

int x=-32769;
printf("%d",x);
//为什么输出的结果是32767?
这是int型数据溢出的问题,16位int范围-32768~32767

所以-32769超出了int范围,-32768多减一个就变成了32767如何理解多减一个:可以往数的进制上面考虑,不够就往回挪了一个(自己的理解)
时间: 2024-10-14 17:50:49

C 中细节问题的试题的相关文章

从生活中细节看产品设计

已经有一段时间没有写博客,端午节好好休息了一下,在家休息的时候感觉自己对于生活中的一些细节特别的敏感,也许是自己的职业习惯,今天就把生活中一些细节和产品设计结合起来谈谈. 1.端午节前家中父母出去游玩,照了很多的照片,我端午回到父母家中,他们想把照片从相机中翻出来跟我分享,但不懂得如何去按相机后面的操作按钮. 首先我指着相机背后对应按钮一一问他们按钮上的图标代表什么意思吗?他们基本上都不知道.随后我交了他们如何翻照片的几个常用键 还好,通过按钮上的图标加深记忆,在告知他们一遍后他们就会使用了,这

Python中的一些面试题(2)

python有什么工具可以找程序的bug,和分析程序的错误? PyChecker: PyChecker是一个python脚本分析工具,它可以发现python脚本中的bugs Pylint: ylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准和有潜在问题的代码. Pylint 是一 个 Python 工具,除了平常代码分析工具的作用之外,它提供了更多的功能:如检查一行代码的长度,变量名是否符合命名标准,一个声明过的接口是否被真正实现等等. 怎

深入了解 Java 中的异常处理 + 面试题

# 深入了解 Java 中的异常处理 + 面试题 在程序开发中,异常处理也是我们经常使用到的模块,只是平常很少去深究异常模块的一些知识点.比如,try-catch 处理要遵循的原则是什么,finally 为什么总是能执行,try-catch 为什么比较消耗程序的执行性能等问题,我们本讲内容都会给出相应的答案,当然还有面试中经常被问到的异常模块的一些面试题,也是我们本篇要讲解的重点内容. 异常处理基础介绍 先来看看异常处理的语法格式: try{ ... } catch(Exception e){

一些JAVA中有趣的面试题

这几天的JAVA培训课上,不断的唤醒自己对JAVA的理解(时间太长,大学学的快忘干净了),其中有一些很有趣的面试题,都是在抠JAVA细节(唉,我是那种见坑就往下跳的人,一做就错),下面就来分享一下: 1)用JAVA程序写出当你在超市购物花费1.1元时,你给收银员2元钱,收银员找你0.9元的过程: 当时一看题目,好简单啊!迅速写出: public class Sell{ public static void main(String[] args){ double total = 2.0; doub

【学习ios之路:C语言】C语言中容易出错的试题整理.

注:此类题都是比较基础的试题,但是都容易让人忽视,或者平常不在意的. 1.表达式3.6-5/2+1.2+5%2的值是(D). A. 4.3  B. 4.8  C.3.3  D. 3.8 2.设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为:(D) A. float   B. char  C. int  D. double 3.以下关于运算符优先顺序的描述中正确的是:(C) A.关系运算符<算术运算符<赋值运算符<逻辑与运算符  

JAVA的程序代码小细节,变量的使用,以及一些细节的面试题

package cn.hncu; public class LableDemo { public static void main(String[] args) { //demo1(); demo2(); } //如果要跳出多层循环,建议采用标签技术 private static void demo2() { aa:for(int i=0;i<20;i++){ for(int j=0;j<20;j++){ for(int k=0;k<20;k++){ if(k==3*i+5*j-8){

Putnam竞赛一道题及中科大自主招生试题的联系

Putnam试题 For any positive integer n let denote the closest integer to $\sqrt{n}$,Evaluate $$\sum_{n=1}^{∞}\frac{2^{<n>}+2^{-<n>}}{2^{n}}$$ Solution: Since $(k-\frac{1}{2})^{2}=k^{2}-k+\frac{1}{4}$ and $(k+\frac{1}{2})^{2}=k^{2}+k+\frac{1}{4}$

C++中细节知识点

C++中常识小知识: 1.在C++的类中成员变量与成员函数默认为私有的,结构体中的成员变量与成员函数默认为公有的. 2.C++中this关键字是指针,指向当前对象. 3.在C++中一般类的成员变量与成员函数声明放在.h文件中,对成员函数的实现放在.cpp文件,为了防止不同类中实现了同名函数,一般在.h与.cpp文件外加上命名空间.在main.cpp中直接using namespace name_space即可. 注:在Makefile文件中,[email protected]代表生成目标,$^代

多线程中共享变量——CCF总决赛试题

题目要求 数据格式 Q 系统的输入为纯文本格式的文件,由若干行组成,每一行由城市编号.年龄.收入组成,相邻两项之间用一个空格分隔.以下是输入的一个片段: 1001 20 12000 1001 50 24200 1020 30 30000 其中,城市编号是四位数(第一位不为 0),年龄与收入为整数类型. 查询描述 Q 系统需要实现以下三个常用的查询功能: Q1: 查询城市 X 某个年龄段的平均收入: Q2: 查询城市 X 的收入最高的前 K 位的收入: Q3: 分别查询某些城市某一年龄段收入的中位