zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Interview:人工智能岗位—校招真题—算法工程师(计算机视觉方向)选择题——C++语言、sql语言编程相关习题的部分笔记

2023-09-14 09:04:45 时间

Interview:人工智能岗位—校招真题—算法工程师(计算机视觉方向)选择题——C++语言、sql语言编程相关习题的部分笔记

目录

指针相关

sql语言


指针相关

1、已知int a[]={1,2,3,4,5};int*p[]={a,a+1,a+2,a+3};int **q=p;表达式*(p[0]+1)+**(q+2)的值是
解析:其中p[0]=a也就是a[0],p[0]+1=a+1,*(p[0]+1)即是a[1]的地址,其值就是2。
**q=p 表示q保存的是p的地址,q+2表示p[2]的地址;*(q+2)表示p[2],而**(q+2)表示*p[2],即表示*(a+2)就是a[2]的值就是3,
故:*(p[0]+1)+**(q+2)=2+3=5 
知识补充:int是整型类型,存放比如1,2,3,4,5这些数字;而int*就是一个整型的指针类型,是存放一个地址,但是这个地址指向整型的地址。

2、下面代码在64位Linux系统编译执行,输出结果是40 8

#include <stdint.h> 
#include <stdio.h> 
void print_size(int32_t array[10]){ 
 printf("%d\n", sizeof(array)); 
} 
int main () { 
 int32_t myArray[10]; 
 printf("%d ", sizeof(myArray)); 
 print_size(myArray); 
} 

解析
sizeof(数组名),返回的整个数组占据的字节数。在这里,数组长度为10,每个4字节,所以,总共40字节。
64位操作系统中,地址为64位,也就是指针64位占8字节
通过函数调用后,数组名退化成指针,占8字节

sql语言

1、如下SQL语句中,____可能返回null值。
(1) select count(*) from t1;         #返回的是表的行数,如果没有记录,应该返回0,不会出现NULL,
(2) select max(col1) from t1;                              #如果表里面没有记录,则会出现NULL
(3) select concat('max=',max(col1)) from t1;      #如果表里面没有记录,则会出现NULL
解析:只有(1)不对!