C语言基础-水平指导(模拟试题② 选择题 答案+解析)

1
初始化指针的值: 
*p=NULL (注意:因为 #define NULL 0)   所以, 初始化的值可以为0;
当然, p=&a  初始化的值可以是地址。

所以: 不可以是 1;

2.
注意: unsigned 表明了是 无符号类型数据
记住; ox 代表了16 进制数  所以: ox31   为 十进制的49.
同时,在初始定义的时候,a1为 字符型(无符号)
所以,在输出的时候,对应ASCII码,而49 对应的ASCII码为 ‘1’。
所以,选择 1.


3.

同样,为函数的递归调用。按部就班即可,
所以,选择 5


4.
数组的正确初始化:
int x[5]={1,2,3,4,5};
int x[5]={1,2,3};
int x[]={1,2,3,4,5}


但是:  int x[]={}   不可以!!!


5.

注意:  n-- 为后缀算法!   所以: for(n=2;n-->0;);   ->   就相当于   for(n=2;n>0,n--;);

所以,一共执行了两次


6.

注意该switch 函数: 缺少了 break;  所以,会一直持续下去!
所以:  为-3


7.

注意这里的判断条件,是= 而不是==
所以,while语句的判断条件一直为  “真”  所以,无穷循环!

8.

注意:字符数组的末尾处,系统会自动加入 结束字符 '\0'  所以:
str[3]="xyz"   超出了空间大小,应该定义为 char[4]
同理于 C.D
注意: 可以这样表达  char a[5]="xzc"    char a[]="asdqwe"  char a[80]={a,x,c,s,a,"sdasda"};

9.

注意:以运算等级最高的是: !

运算等级:

赋值运算符、|| && 、 关系运算符 、 算术运算符。


10.

注意: 数组a[5]   a不可以进行自加自减,是一个常量,非变量!
而指针是一个变量, *pp=a (pp指针指向了a数组)
所以: pp++ pp+1 a+1  都是表示了a[1]  。 说明: a+1  时,a的值没有改变。


11.

这段代码涉及了: 赋值兼容原则,继承(基类,派生类),虚函数的概念。

首先,对x1中的x进行表达式的赋值,所以x=1; 同理于派生类的XX 所以,y=2;
指针p指向基类,并调用函数print()  输出 1;
指针p指向派生类,调用了同名函数,根据赋值兼容原则,且根据virtual 虚函数的概念,指向了谁,就调用哪个对象的函数。 所以输出2,!而不是1!
若,未加上  virtual 关键字  则 输出 1 1.

12.
正确的函数声明:
①: 不用写上代码;
②: 形参列表里面,可以不写 变量名,但一定要写 类型   所  int sun(x,y)  错误;
所以,选择 int sub(long,long)


13.
注意题目所问!
不是 输入流的   !类! 是:
所以 : istream ifstream iostream ....    包含stream的都是 类 
所以,cin 是输入流的 !对象!

14.

需要注意两点:

①:   *(p+i)=*p  中,*(p+i)未改变列,只改变了行。
②: cout<<*p+3   全部代码中,指针的指向并未改变! 所以,一直是指向首地址的。  所以:*p+3 就是 1+3  
所以,答案是为   4.


15.

运算符成员函数 ,可以是 友元函数,普通函数,成员函数。
所以,A 选项错误


16.


注意 y==x+1  是一个判断问题:  明显 y!=x+1  所以,返回值是0(不可以大于0);


17.
数组中,也是不可以超过空间的大小,A选项 中 明显超过了!

18.

字符型数组和数字型的数组,只要定义的内容不超过 定义长度即可(除了 !字符串定义的以外!)
static char  s[10]  表示数组的元素均为空字符。'\0'


19.

同理于第八题!
所以选择 B


20.

2||y%x&&!z    2||.....   ||左边的2以是为“真”, 对于“或”逻辑判断符,一个为真,就不用看别的了!
所以选择:B (因为为真,所以放回值是 1  (大于0))
 真->  1   假-> 0

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值