C及C++每日练习(1)

03-07 1606阅读

一.选择:

1.以下for循环的执行次数是()

 for(int x = 0, y = 0; (y = 123) && (x  

A.是无限循环 B.循环次数不定 C.4次 D.3次

对于C及C++每日练习(1)循环,其组成部分可以四个部分:

 

for(初始化;循环进行条件;调整)
{
   循环语句//
}

对于上面给出的C及C++每日练习(1)循环的循环条件,由于中间用于&&连接,因此,必须左右的条件都为真,循环才能继续进行。因此,当循环进行五次时,此时的C及C++每日练习(1),不满足条件,退出循环,因此答案选择:C及C++每日练习(1)循环四次

2.以下程序的运行结果是()

 #include  
int main(void) { 
    printf("%s , %5.3s\n", "computer", "computer"); 
    return 0; 
}

A.computer , puter

B. computer , com

C. computer , computer

D.computer , compu.ter

此题目的考点主要在于打印的格式,即题目中的%C及C++每日练习(1)。对于这种%C及C++每日练习(1)格式的格式。其中C及C++每日练习(1)表示输出字符串的宽度,C及C++每日练习(1)表示左起截取字符串中的多少字符,且对齐格式为右对齐,如果字符不足则用空格补足。但是也存在特殊情况:

当字符串长度C及C++每日练习(1),此时C及C++每日练习(1)的作用不再生效。即输出左起截取字符串中的前C及C++每日练习(1)个字符。

C及C++每日练习(1)字符串长度时,直接从头打印至尾部。

例如本题中,C及C++每日练习(1),字符串长度C及C++每日练习(1),所以上述的打印格式应该为:打印字符串的长度C及C++每日练习(1),从左截取字符串中的C及C++每日练习(1)个字符,由于截取的字符小于需要打印的字符,因此,用空格补齐,由于存在右对称,所以打印结果为:

computer,空格空格com

答案选择C及C++每日练习(1),不过此处的答案并没有体现右对齐和补齐空格。

3.下列main()函数执行后的结果为()

int func(){  
 int i, j, k = 0; 
 for(i = 0, j = -1;j = 0;i++, j++){ 
  k++; 
 } 
 return k; 
} 
int main(){ 
    cout {1}, {3, 2}, {4, 5, 6}, {0}};
pA.1 B. 0 C.6 D.2/p p给出的数组是一个二维数组,其行数没有给出,列数为img src="https://latex.csdn.net/eq?4" /,在数组中的数组中,如果给出的数没有达到img src="https://latex.csdn.net/eq?4" /位,则会用img src="https://latex.csdn.net/eq?0" /补齐。因此,题目中给出的二维数组的结构为:/p pre class="brush:python;toolbar:false"{1,0,0,0} {3,2,0,0} {4,5,6,0} {0,0,0,0}/pre p对于二维数组,其行、列数都是从img src="https://latex.csdn.net/eq?0" /开始算起的,因此,img src="https://latex.csdn.net/eq?p%5B1%5D%5B2%5D%3D%3D0" /.,因此答案选择img src="https://latex.csdn.net/eq?B" //p p7.选择表达式 11|10 的结果(本题数值均为十进制):/p pA.11 B. 10 C.8 D.2/p p题目涉及到二进制的运算,将img src="https://latex.csdn.net/eq?11" /转为二进制形式,其后八位为:/p pre class="brush:python;toolbar:false"0000 1011/pre p对于img src="https://latex.csdn.net/eq?10" /,其二进制位数为:/p pre class="brush:python;toolbar:false"0000 1010/pre p对于二者的img src="https://latex.csdn.net/eq?%7C" /运算,规则为二进制位数有img src="https://latex.csdn.net/eq?1" /为img src="https://latex.csdn.net/eq?1" /,全img src="https://latex.csdn.net/eq?0" /则为img src="https://latex.csdn.net/eq?0" /.:/p pre class="brush:python;toolbar:false"11:0000 1011 10:0000 1010 运算结果:0000 1011/pre p因此答案选择img src="https://latex.csdn.net/eq?A" //p p8.fun(21)运行结果是/p pre class="brush:python;toolbar:false" int fun(int a){ a^=(15)-1; return a; }/pre pA.10 B. 5 C.3 D.86/p p在本题目中,涉及到了两个操作符,分别是异或操作符img src="https://latex.csdn.net/eq?" /^,以及位运算操作符img src="https://latex.csdn.net/eq?%3E%3E%20%5C%2C%20%5C%2C%20%5C%2C%20%3C%3C" /。对于异或操作符,其运算规则为两个二进制位相异为img src="https://latex.csdn.net/eq?1" /,相同则为img src="https://latex.csdn.net/eq?0" /。/p p对于本处的位操作符是左移操作符img src="https://latex.csdn.net/eq?%3C%3C" /,其规则是右边二进制位丢弃且补img src="https://latex.csdn.net/eq?0" //p p而对于右移操作符img src="https://latex.csdn.net/eq?%3E%3E" />,则分为算术右移和逻辑右移,对于题目,一般默认采用算术右移,即右边丢弃,左边补上符号位,负数补C及C++每日练习(1),正数补C及C++每日练习(1).

在本题中,C及C++每日练习(1),其位移后为:

移动前:0000 0001
移动后:0010 0000

移动后,此时二进制位数转换为C及C++每日练习(1)进制,则表示的数为C及C++每日练习(1)。所以,答案是变量C及C++每日练习(1),即C及C++每日练习(1)C及C++每日练习(1)的异或,即:

21的二进制位:0001 0101
31的二进制位:0001 1111
异或结果:    0000 1010

所以答案选择C及C++每日练习(1)

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

A.*p+=1;

B. (*p)++;

C.++(*p)

D. *p++

在本题目中,涉及到了操作符结合的优先顺序,在选项C及C++每日练习(1)中,C及C++每日练习(1)的优先级大于C及C++每日练习(1),因此可以增到C及C++每日练习(1)。对于C及C++每日练习(1)存在括号,因此不做解释,可以增到C及C++每日练习(1).对于选项C及C++每日练习(1)由于后置C及C++每日练习(1)的优先级大于C及C++每日练习(1)。但是由于是后置C及C++每日练习(1),因此C及C++每日练习(1)选项的整体运行顺序为:解引用指针,在对指针进行C及C++每日练习(1),答案选择C及C++每日练习(1)

10.下面关于"指针"的描述不正确的是

A.当使用free释放掉一个指针内容后,指针变量的值被置为NULL

B. 32位系统下任何类型指针的长度都是4个字节

C.指针的数据类型声明的是指针实际指向内容的数据类型

D.野指针是指向未分配或者已经释放的内存地址

对于C及C++每日练习(1)选项,当指针被C及C++每日练习(1)后,指针变量的值不是C及C++每日练习(1),而是依旧指向一块空间的地址,但是由于这块空间被释放,因此指针为野指针。

对于C及C++每日练习(1)选项,指针的定义,正确

对于C及C++每日练习(1)选项正确,此处给出避免野指针的措施,即创建指针时即使初始化,C及C++每日练习(1)掉指针指向的空间后将指针置空,不进行数组的越界访问

二.编程:

2.1 删除公共字符:

C及C++每日练习(1)

题目对于链接如下:
删除公共字符_牛客题霸_牛客网 (nowcoder.com)

对于本题,可以利用哈希的思想进行解决,首先创建两个C及C++每日练习(1)类型的对象,分别命名为C及C++每日练习(1),其中,C及C++每日练习(1)分别用于接收第一行、第二行的输入。

在完成输入后,创建一个数组C及C++每日练习(1),用于统计C及C++每日练习(1)中各个字符出现的次数,如果出现一个字符,则对于数组的位置置为C及C++每日练习(1).

最后,从头遍历C及C++每日练习(1)中的字符,如果C及C++每日练习(1)位置的值为C及C++每日练习(1),即C及C++每日练习(1)中的字符在数组中在C及C++每日练习(1)中没有出现过。则输出该字符,具体代码如下:

int main()
{
    string str1,str2;
    getline(cin,str1);
    getline(cin,str2);
    int arr[256] = {0};
    for( size_t i = 0; i  n;
   v.resize(3*n);
   for( size_t i = 0; i > v[i];
   }
   long long sum = 0;
   sort(v.begin(),v.end());
   for( size_t j = 0; j 
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]