zoukankan      html  css  js  c++  java
  • [c++]牛客刷题记录2.18

    1.c++标签使用

    #include<iostream>  
    using namespace std;  
    int main()  
    {  
        http://www.csdn.net  
        cout<<"hello world!"<<endl;  
        return 0;  
    }  

    这里运行不会报错,http:作为标签label的使用,可以实验goto http;跳转到这里,进行cout语句。

     1 //例子
    2 for(int i = 0; i <= 100; i++) 3 { 4 cout < <"Hello:" < <i < <endl; 5 if(i == 4) 6 { 7 goto case; 8 } 9 } 10 11 //中间可以有很多代码 12 13 case: cout < <"Case" < <endl; //这是一个标签 14 15 输出结果: 16 Hello 1 17 Hello 2 18 Hello 3 19 Hello 4 20 Case

    来源参考:http://blog.csdn.net/szchtx/article/details/21647159

    2.scanf的引用要求和数组的地址

    有定义语句:
    int b;
    char c[10];
    则正确的输入语句是______。 B   
    scanf("%d%s",&b,&c);
    scanf("%d%s",&b,c);
    scanf("%d%s",b,c);
    scanf("%d%s",b,&c);

    解释:scanf需要引入变量地址,变量b的变量地址为&b(取址符+变量),而c[10]是数组,因此c就是数组的地址。
       如果引用c就是对c起一个别名,c内存储的地址还是数组的首地址。
       A也可以,但是优先选B。


    3.CPU Cache预读效率
       x是一个行列数均为1000二维数组,下面代码效率执行最高的是(D)
    for(int j=0;j<1000;j++) for(int i=0;i<1000;i++) x[i][j]+=x[j][i];
    for(int i=0;i<1000;i++) for(int j=0;j<1000;j++) x[i][j]+=x[j][i];
    for(int i=0;i<1000;j++) for(int j=0;j<1000;j++) x[j][i]+=x[j][i];
    for(int i=0;i<1000;i++) for(int j=0;j<1000;j++) x[i][j]+=x[i][j];

       解释:因为cache会预读当前页的后几页,如果命中,就会继续预读后面的页面,加快速度。

        因为数组的预读是逐行预读的,所以D的情况最快,而其他几个选项有跳列的情况。

     来源:http://blog.sina.com.cn/s/blog_6237dcca0100ffxu.html


  • 相关阅读:
    廖雪峰Java6IO编程-2input和output-1inputStream
    安装spy-debugger查看前端日志
    廖雪峰Java6IO编程-1IO基础-1IO简介
    廖雪峰Java5集合-6Stack-1使用Stack
    廖雪峰Java5Java集合-5Queue-1使用Queue
    廖雪峰Java5集合-4Set-1使用Set
    20)升级登录标志
    19)加了验证码验证
    94)图片验证码
    18)添加引号转移函数,防止SQL注入
  • 原文地址:https://www.cnblogs.com/Faiz-room/p/6412028.html
Copyright © 2011-2022 走看看