C语言--每日五道选择题--Day19

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: C语言--每日五道选择题--Day19

第一题

1. 为了避免在嵌套的条件语句if-else中产生二义性,C语言规定else子句总是与( )配对。


A:缩排位置相同的if

B:之前最近的未匹配的if配对

C:其之后最近的if

D:同一行上的if

答案及解析 B

else语句是跟最近的未匹配的if语句配对

第二题

2. 若有定义语句: int year=1009 ,  *p=&year ;以下不能使变量 year 增至 1010 的语句是


A:*p+=1;

B:(*p)++;

C:++(*p)

D:*p++A

答案及解析 D

A:*p += 1 等价于 *p = *p + 1;

B:(*p)++ 先解引用获得year的值再++

C:跟B同理,只不过是前置++和后置++

D:*p++ 这里++的优先级是高于*的,所以这里p++之后,到往后跳了1个整型的距离,再解引用肯定不是year,是一未知的数字;

第三题

3. 已定义ch为字符型变量,以下赋值语句中错误的是()


A:ch='\';

B:ch=62+3;

C:ch=NULL;

D:ch='\xaa';

答案及解析 A

A:错误,\把后面的'转义了,所以错误

B:正确,由于字符型变量有ASCII值,所以62+3 = 65 也就是 A字符

C:正确,NULL是由#define定义的宏,为0,是'\0'这个字符

D:正确,\xaa是一个字符,是16进制字符的表示方法,所以正确

第四题

4. 已知:char str1[8],str2[8]={"good"};,则在程序中不能将字符数组str2赋值给str1的语句是


A:str1=str2;

B:strcpy(str1,str2);

C:strncpy(str1,str2,6);

D:memcpy(str1,str2,5);

答案及解析 A

A:数组名是地址常量,不可以更改,所以不能做赋值运算符的左值,因为赋值运算符的左值必须是变量;

B:strcpy是拷贝函数,遇到\0停止,所以可以完成拷贝。

C:strncpy是我们让他拷贝几个字符就拷贝几个,题中给6个,完全够用。

D:memcpy是按照字节拷贝,char类型是一个字节,所以题中给5个字节完全够用

第五题(错了)

5. 以下程序的输出结果是:

1. #include<stdio.h>
2. int  main()
3. {
4. int x = 0, y = 5, z = 3;
5. while(z-->0 && ++x<5)
6.     {
7.         y= y - 1;
8.     }
9. printf("%d, %d, %d\n", x, y, z);
10. return 0;
11. }

A:2,2,0

B:3,2,-1

C:4,3,-1

D:5,-2,-5

答案及解析 B

这里需要注意的一点就是

后置--/++ 返回的是变化之前的值,这个值是变量的临时拷贝,但是变量本身是变化了。

前置--/++返回的就是变化后的变量的值。

在最后一次z == 0的时候,进入循环,虽然不满足条件,但是z--已经运算了,所以是-1


相关文章
|
6月前
|
编译器 C语言 C++
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题(下)
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题
52 2
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题(下)
|
6月前
|
算法 C语言 C++
从C语言到C++_14(vector的常用函数+相关选择题和OJ题)(中)
从C语言到C++_14(vector的常用函数+相关选择题和OJ题)
154 1
|
6月前
|
算法 编译器 C语言
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题(上)
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题
44 3
|
6月前
|
编译器 C语言 C++
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题(中)
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题
42 1
|
6月前
|
存储 编译器 C语言
从C语言到C++_22(继承)多继承与菱形继承+笔试选择题(下)
从C语言到C++_22(继承)多继承与菱形继承+笔试选择题
46 0
|
6月前
|
Java 编译器 定位技术
从C语言到C++_22(继承)多继承与菱形继承+笔试选择题(中)
从C语言到C++_22(继承)多继承与菱形继承+笔试选择题
45 0
|
6月前
|
安全 程序员 C语言
从C语言到C++_22(继承)多继承与菱形继承+笔试选择题(上)
从C语言到C++_22(继承)多继承与菱形继承+笔试选择题
48 0
|
6月前
|
存储 算法 C语言
从C语言到C++_14(vector的常用函数+相关选择题和OJ题)(下)
从C语言到C++_14(vector的常用函数+相关选择题和OJ题)
42 0
|
6月前
|
存储 C语言 C++
从C语言到C++_14(vector的常用函数+相关选择题和OJ题)(上)
从C语言到C++_14(vector的常用函数+相关选择题和OJ题)
35 0
|
6月前
|
C语言 C++
从C语言到C++⑧(第二章_类和对象_下篇_续)笔试选择题和OJ题
从C语言到C++⑧(第二章_类和对象_下篇_续)笔试选择题和OJ题
37 0