Daily practice——2021/5/20

1.可在C程序中用作用户标识符的一组标识符是( )
A.nk ak-g2 #Fim 3h
B.W.D _total day student
C.C<D average while month
D.cher name addr class2
正确答案: D
解析:标识符的定义是:
1.标识符的第一个字符必须是字母或下划线,后面的字符可以是字母、数字或下划线,不能为其它字符。
2.标识符的长度可以是一个或多个字符,最长不允许超过32个字符。
3.标识符不能和C语言的关键字相同,也不能和用户自定义的函数或C语言库函数同名。

2.For which of these values of a (I. 4 II.6 III. 8) is the expression (a != 3 && a != 4 && a != 5 && a != 6) false?
A.I only
B.II only
C.III only
D.I and II only
E.I, II, and III
正确答案: D
解析:&& 运算时出现false时运算结果就判断为false。
a != 3 && a != 4 && a != 5 && a != 6
a = 4;
因为a != 4 false 所以 结果false;
a = 6;
因为a != 6 false 所以 结果false;
a = 8;
因为a != 3 a != 4 a != 5 a != 6都为 ture 所以,结果true。
所以,答案D。

3.以下程序运行后的输出结果是( )。

main()
{
  char str[][10]={"China","Beijing"},*p=(char*)str;
  printf("%s\n",p+10);
}

A.China
B.Bejing
C.ng
D.ing
正确答案: B
解析:str定义为一个二维字符数组,即为str[2][10],p指向这个数组的首指针,那么p+10指向这个数组第二维的首指针,所以输出字符串为Beijng。
即便在定义中没有充分使用申请的空间,也不意味着 china 后面存储的是 beijing ,china后面剩余的5个字节依旧坚挺。

4.下面有关c++线程安全,说法错误的是?
A.线程安全问题都是由全局变量及静态变量引起的。
B.若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步,否则的话就可能影响线程安全。
C.c++标准库里面的string保证是线程安全的。
D.POSIX线程标准要求C标准库中的大多数函数具备线程安全性。
正确答案: C
解析:标准库里面的string在多线程下并不保证是都是安全的,只提供两种安全机制:
1.多个线程同时读取数据是安全的。
2.只有一个线程在写数据是安全的。

5.如果想使一个数组中全部元素的值为0,可以写成int a[10]={0*10};请问这句话的说法是正确的吗?
A.正确
B.错误
正确答案: A
解析:这个题目的赋值等价于 int a[10]={0},表示只给第一个元素赋初值,后面9个元素值默认为0。

6.定义字符串 String str = “用户1|用户2|用户3|用户4”,现在想要对字符串根据字符“|”进行分割解析,下面哪种分割方式是正确的?()
A.str.split("|")
B.str.split("|")
C.str.split("\|")
D.str.split("\|")
正确答案: C
解析:| 属于正则表达式中的一部分,所以要加双斜杠 \\ |

7.全局变量和局部变量在内存中的区别是什么?
A.二者没有区别
B.生存周期不同
C.作用范围不同
D.占用的内存大小一样
正确答案: B C
解析:1.生存周期不同 全局变量:全局区(静态区)(static):全局变量和静态变量是存储在一起的,初始化过的全局变量和静态变量在同一块区域,未初始化的全局变量和静态变量存放在一块相邻的区域内。此区域由系统在程序结束后释放 局部变量: 放在堆栈中。由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈
   2.作用范围不同 全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量。 局部变量也只有局部作用域,它是自动对象(auto),它在程序运行期间不是一直存在,而是只在函数执行期间存在,函数的一次调用执行结束后,变量被撤销,其所占用的内存也被收回

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值