1.在C语言中,char 型数据在内存中的存储形式是?
A.补码
B.反码
C.原码
D.ASCII码
答案:D
数据在内存中是以二进制形式存放的,数值是以补码表示的
整型: 无论是正数还是负数都是以补码的形式存储的,只不过正数的原码反码补码相同,而负数的补码方式是将其绝对值的二进制形式“按位求反再加1”
实型:浮点数是采用某种规则转换后存储的,是按照指数形式存储的,实型数据分为小数部分和指数部分,分别存放,计算机用二进制表示小数部分,用2的幂次来表示指数部分
字符型:在内存中字符的存储实际上是把字符相对应的ASCII代码放到存储单元中的,而这些ASCII代码值在计算机中也是以二进制形式存放的,这个与整型的存储很相似,因此这两类之间的转换也比较方便!
2.下面的类型声明中正确是?
A.int & a[4];
B.int &=p;
C.int &&q;
D.int i,*p=&i;
答案:D
A:不能建立引用的数组,例如:int & ref[3] = { 2, 3, 5}; 是错误的
但是可以建立数组的引用:例如:int arr[3]; int (&tef)[3] = arr; 是正确的,引用实际上不是一个变量,更本质来说,可以理解为引用没有自身的地址,也不占用内存空间,因此,声明引用数组没有办法分配空间,因为根本就没有空间可以分配给引用, 所以不能声明和定义引用数组
C:右值引用必须初始化
3.return 后面括号中表达式的值即是函数的值,这句话是错误的,当return 后面表达式值的类型与函数的类型不一致时,需要强制类型转化
4.运算符可重载为成员函数,也可重载为非成员函数函数,当重载为成员函数时,运算符重载函数的形参个数要比运算符操作数的个数少一个;当重载为非成员函数时,其形参个数应与操作数的个数相同
5.使用C语言将一个1G字节的字符数组从头到尾全部设置为字’A’,在一台典型的当代PC上,需要花费的CPU时间的数量级最接近1s
答案:现在机器 cpu 都是GHz,每次需要若干个指令,大约在1秒,执行1条语句约 1ns 即 10 的 -9 次方秒,1G=1024M=10241024k=102410241024byte(byte是字节,bit是位),每次赋值 1byte 都要执行一次语句,故至少花费 10241024102410^-9=1.073741824s,即当代典型 PC 机运算速度可达10亿次/秒
6.空指针是指所指向的空间位置的地址就是0的指针
本文介绍了C语言中char型数据在内存中的存储形式,它以ASCII码存储。此外,文章涉及了类型声明、返回值转换、运算符重载以及大规模字符数组的赋值问题,解析了相关知识点和常见误区,并提供了实例分析。
941

被折叠的 条评论
为什么被折叠?



