南京信息工程大学822C/C++历年考研重点选择题、填空题

这篇博客整理了南京信息工程大学822C/C++考研的选择题和填空题,包括C语言结构体、常量、数据类型转换、指针、函数等多个知识点的考题及解析,帮助考生复习备考。
摘要由CSDN通过智能技术生成

选择题

以下是曾经考过的

1、C语言结构体类型变量在程序执行期间( )。
A.所有成员一直驻留在内存中
B.没有成员驻留在内存中
C.部分成员驻留在内存中
D.只有一个成员驻留在内存中

答案:A

解析:在C语言的结构体类型变量在程序执行期间所有成员一直驻留在内存中。

 

2、以下选项中表示一个合法的常量是(说明:符号口表示空格)( )。
A.9□9□9
B.0Xab
C.123E0.2
D.2.7e

答案:B

解析:当用指数形式表示浮点数据时,E的前后都要有数据,并且E的后面数要为整数。

 

3、关于C语言中数的表示,以下叙述正确的是(  )。
A.只有整型数在允许范围内能精确无误的表示,实型数会有误差
B.只要在在允许范围内整型和实型都能精确表示
C.只有实型数在允许范围内能精确无误的表示,整型数会有误差
D.只有八进制表示的数在不会有误差

答案:A

解析:实型数据在内存中存储的二进制位数是有限的,例如float型数据在内存中有24位二进制尾数。而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。

 

4、表达式18/4*sqrt(4.0)/8值的数据类型为______。
A.int
B.float
C.double
D.不确定

答案:C

解析:根据数据类型转换时的就长转换规则,可以得到最后的结果应是实型。

 

5、有如下说明: int a[10] ={1,2,3,4,5,6,7,8,9,10},* p=a; 则数值为9的表达式是
A.*p+9
B.* (p+8)
C.* p+=9
D.p+8

答案:B

解析:按照C++语言的数组元素的引用方法,如数组元素a[0] ,可以用表达式 * (p+0) ,即* p来引用,对于数组元素a[1] ,可以用表达式 * (p+ 1) 来引用,在这里,p+1的值就是数组元素a[1] 的地址,对此地址使用“间接访问运算符”:* (p+1) 就代表存储单元a[1] ,注意一对圆括号不可少。同样,对于数组元素a[2] ,则可以用表达式 * (p+2) 来引用…,对于数组元素a[9] ,可以用表达式 * (p+9) 来引用。因此,当指针变量p指向a数组的起始地址时,若0≤i< 10,则数组元素a[i] 可以用表达式 * (p+i) 来引用。

 

6、以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原是( )。
#include<iostream.h>
void main()

{
int*p,*q,a,b;
p=&a;
eout<<"input a:";
cin>>p;
}
A.*p表示的是指针变量p的地址
B.p表示的是变量a的地址,而不是变量a的值
C.*p表示的是指针变量p的值
D.*p只能用来说明p是一个指针变量

答案:B

解析:p表示的是变量a的地址,定义后*p表示的是变量a的值。

 

7、有以下程序

#include<iostream.h>

void main() {

    int a=5,b=0,c=0;

    if(a=b+c)cout<<"***"<<endl;

    else cout<<"$$"<<<endl;

}

下列选项叙述正确的是( )。
A.有语法错不能通过编译
B.可以通过编译但不能通过连接
C.输出***
D.输出$$

答案:D

 

8、若定义:int a=511,*b=&a࿱

  • 23
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值