牛客刷题
- 十进制变量i的值为100,那么八进制的变量i的值为:(C)
A 146
B 148
C 144
D 142
题中要求10进制转8进制,这里转换方式和10进制转2进制类似,将10进制数字不断除以8商为各个位,最终结果为144,选择C
- 执行下面语句后的输出为(A)
int I=1;
if(I<=0)
printf("****\n") ;
else
printf("%%%%\n");
A %%
B ****
C 有语法错,不能正确执行
D %%%%
题中这里使用的是printf格式化进行打印,例如%d按照整型进行打印,%f按照浮点数进行打印,格式串是有一定的规定的,%之后需要跟上特定的字符才能进行格式化打印,如果后面是无效的含义,则会直接输出%后的内容。两个连续的%会打印出一个%,因此选A
- 对于下面的C语言声明描述正确的一项是(C)
char (*p)[16]
A p是长度为16的字符指针数组
B p是包含16个字符的字符串
C p是指向长度为16的字符数组的指针
D p是长度为16的字符数组
这里p在()内先和*结合,代表p是一个指针,后面是[]代表p指针指向长度为16的字符型数组,因此C选项正确
- 数组a的定义语句为“float a[3][4];”,下列()是对数组元素不正确的引用方法。(D)
A a[i][j]
B *(a[i]+j)
C ((a+i)+j)
D (a+i4+j)
访问数组用两种方式:一种是使用[]加下标进行访问的方式,另外一种则是 使 用 指 针 即 *(a+i)对数组内容进行访问。这里需要访问二维数组。对二维数组解引用或者使用[]进行访问访问的实际上是一个一维数组,想要访问数组中的一个元素,需要再次进行[]或者解引用进