网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
#include<stdio.h>
int x = 5, y = 7;
void swap()
{
int z;
z = x;
x = y;
y = z;
}
int main()
{
int x = 3, y = 8;
swap();
printf("%d,%d\n",x, y);
return 0;
}
A: 5,7 B: 7,5 C: 3,8 D: 8,3
swap函数调用时用的是全局变量,主函数中定义的变量只在主函数中有效,因为主函数也是一个函数,它与其他函数是平 行关系;输出语句这里,考虑局部优先的原则。所以答案选 C
知识点:
第二题
2.以下不正确的定义语句是( )
A: double x[5] = {2.0, 4.0, 6.0, 8.0, 10.0} ;
B: char c2[] = {‘\x10’, ‘\xa’, ‘\8’} ;
C: char c1[] = {‘1’,‘2’,‘3’,‘4’,‘5’} ;
D: int y[5+3]= {0, 1, 3, 5, 7, 9} ;
本题B选项考察转义字符的应用
\ddd ddd表示1到3个八进制数 如:\130 转义为 字符X
\xhh hh表示1到2位十六进制数 如 \x30 转义为 字符‘0’
选项B第三个字符中 \ 后没有 x ,故表示8进制数,但8进制数的范围是 0~7,故B 不对,选 B
第三题
3.test.c 文件中包括如下语句,文件中定义的四个变量中,是指针类型的变量为【多选】( )
#define INT_PTR int*
typedef int* int_ptr;
INT_PTR a, b;
int_ptr c, d;
A: a B: b C: c D: d
这道题考察 #define定义的替换和类型的重命名。
INT_PTR 在预处理阶段被替换为了 int* ,语法规则上讲它的 * 只会被 a 使用,b的类型就变为了 int 型;而typedef 却是对类型进行重定义,它后面的 c d 的类型就都是 int*类型。
所以答案选 A,C,D
知识点:
第四题
4、编程题:打印从1到最大的n位数
题目描述
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。
用返回一个整数列表来代替打印
n 为正整数,0 < n <= 5
知识点:
C语言for循环http://t.csdn.cn/0xvjx 示例:
输入:
1
返回值:
[1,2,3,4,5,6,7,8,9]
这道题牛客网上采用核心代码模式
//* @param n int整型 最大位数
//* @return int整型一维数组
//* @return int* returnSize 返回数组行数
int* printNumbers(int n, int* returnSize ) {
int Max=0;
while(n--)
Max=Max*10+9;
int *arr=(int*)malloc(Max*sizeof(int));
for(int i=0;i<Max;i++)
{
arr[i]=i+1;
}
*returnSize=Max;
return arr;
}
其中 returnSize 是打印的数字的个数,而需要返回数组首元素的地址。
第五题
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!