列举五个面试时最喜欢问的c语言题目,并附带详细答案
时间: 2023-12-03 08:47:27 浏览: 86
C语言容易被问的面试题
以下是五个常见的C语言面试题目以及它们的答案:
1. 如何交换两个变量的值?
答案:
这个问题可以通过使用第三个变量来完成。例如:
```
int a = 5, b = 10, temp;
temp = a;
a = b;
b = temp;
```
这将把a和b的值交换,使a等于10,b等于5。
2. 如何在C语言中实现字符串反转?
答案:
可以使用一个循环来反转字符串。例如:
```
char str[] = "Hello";
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
```
这将把“Hello”反转成“olleH”。
3. 如何检查一个数是否为素数?
答案:
素数是只能被1和自身整除的正整数。因此,可以使用一个循环来检查一个数是否为素数。例如:
```
int num = 7;
int isPrime = 1;
for (int i = 2; i <= num / 2; i++) {
if (num % i == 0) {
isPrime = 0;
break;
}
}
if (isPrime) {
printf("%d is a prime number", num);
} else {
printf("%d is not a prime number", num);
}
```
这将检查7是否为素数,并输出“7是一个素数”。
4. 如何计算一个字符串中给定字符出现的次数?
答案:
可以使用一个循环来遍历字符串,并使用一个计数器来计算给定字符出现的次数。例如:
```
char str[] = "Hello World";
char ch = 'l';
int count = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] == ch) {
count++;
}
}
printf("%c appears %d times in %s", ch, count, str);
```
这将计算出字符串“Hello World”中字符‘l’出现的次数,并输出“l出现了3次”。
5. 如何使用动态内存分配来创建一个整数数组?
答案:
可以使用malloc函数来动态分配内存。例如:
```
int size = 5;
int *arr = (int*) malloc(size * sizeof(int));
```
这将创建一个包含5个整数的数组,并返回指向第一个元素的指针。可以使用类似于数组的语法来访问和修改元素,例如:
```
arr[0] = 10;
arr[1] = 20;
printf("%d %d", arr[0], arr[1]);
```
这将输出“10 20”。记得在使用完数组后使用free函数释放内存,例如:
```
free(arr);
```
以上就是五个常见的C语言面试题目以及它们的答案。
阅读全文