172-牛客网C语言刷题15

本文介绍了C语言中char型数据在内存中的存储形式,它以ASCII码存储。此外,文章涉及了类型声明、返回值转换、运算符重载以及大规模字符数组的赋值问题,解析了相关知识点和常见误区,并提供了实例分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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的指针

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值