C++习题3
创始人
2024-03-25 04:05:37
0

求余运算符% 位运算(<< >>  &  |  ! ^ 左右移位,与,或,非 ,异或)

这些符号的运算对象都是整型

unsigned short x=0xffff 

cout<

cout输出的是整数,所以要将16进制数转化为整数

正常运算就行,结果是65535

如果将short改成unsigned short 那么结果变成-1

0xffff在内存中表示为16个1 

16进制转2进制方法: 

只需把每一位,变成二进制的四位数,然后拼在一起。

看个例子就懂了,ff bf 是二进制的几?答:1111 1111 1011 1111

如何十六进制转换二进制? - 知乎 (zhihu.com)

16个1,最高位为1,表示负数,在二进制中是补码,要将其转化为原码

先末位-1,得到1111 1111 1111 1110 符号位不变,其余取反,得到1000 0000 0000 0001 ,此为二进制的-1

 选D,e的x次方只能用exp(x)表示

double exp(double x); //返回e的x次方

转义字符 \xff 表示 转义字符能表示的最大16进制数

\177是转义字符能表示的最大8进制数

\178则要分为2部分 \17 和8

此外,想表示各种符号 \" \! \? 这样表示,都算一个字符

C++中,字符会尽可能多地结合

strlen()会统计第一个\0之前的字符个数

abcd00\0ahhf\0 用strlen求得结果是6

而sizeof()结果是13

 

 无论自己加不加\0,放在数组中其会自动加上一个\0(数组大小为空时)

11.设有int i=010,j=10; 

则 printf(“%d..%d\n”,++i,j--);的输出是。

(A) 11,10 (B) 9,10 (C) 010,9 (D)10,9.

010表示8进制,将其转化为10进制为8

答案为A

char *a="hello" 意思是将字符串的首地址赋给a

int *p ,*q; int k;

k=*p*(*q)这样计算是错误的

乘法*的优先级高于解引用*的优先级

正确运算是(*p)*(*q)

答案是 B C D

如果将*p改为p,结果是 BCD CD D 

cout<<"abcd"的意思是输出以a的地址开始,到\0结束的所有字符

对于字符串都是这样

理解原理即可

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...