C语言编程 - 在线测验



以下测验提供与C语言编程框架相关的多项选择题 (MCQ)。您需要阅读所有给出的答案,然后点击正确的答案。如果您不确定答案,可以使用显示答案按钮检查答案。您可以使用下一题按钮查看测验中的新一组问题。

Questions and Answers
cprogramming_questions_answers.htm

题1 - 下面的代码片段的输出是什么?

#include<stdio.h>

main() 
{
   int x = 5;
   
   if(x=5)
   {	
       if(x=5) break;
       printf("Hello");
   } 
   printf("Hi");
}

A - 编译错误

B - Hi

C - HelloHi

D - 编译警告

答案:A

解释

编译错误,关键字break只能出现在循环/switch语句中。

题2 - 下面程序的输出是什么?

#include<stdio.h>

void swap(int m, int n)
{
   int x = m;
   
   m = n;
   n = x;
}
main()
{
   int x=5, y=3;

   swap(x,y);
   printf("%d %d", x, y);
}

A - 3 5

B - 5 3

C - 5 5

D - 编译错误

答案:B

解释

5 3,按值调用机制无法更改实际参数。

#include <stdio.h>
void swap(int m, int n)
{
   int x = m;
   
   m = n;
   n = x;
}
main()
{
   int x=5, y=3;

   swap(x,y);
   printf("%d %d", x, y);
}

题3 - 从下面选择无效的标识符

A - Int

B - volatile

C - DOUBLE

D - __0__

答案:B

解释

volatile是保留关键字,不能用作标识符名称。

题4 - 下面程序的输出是什么?

#include<stdio.h>

main()
{	
   fprintf(stdout,"Hello, World!");
}

A - Hello, World!

B - 无输出

C - 编译错误

D - 运行时错误

答案:C

解释

stdout是在stdio.h头文件中声明的标识符,需要包含它。

题5 - 局部变量存储在___

A - 代码段

B - 栈段

C - 堆段

D - 以上都不是

答案:B

解释

所有局部变量都存储在一个称为栈的内存中。

题6 - C语言中的变量名包含哪些特殊符号?

A - * (星号)

B - # (井号)

C - + (加号)

D - _ (下划线)

答案:D

解释

变量名中允许和不允许的字符:

  • 允许使用下划线(_)
  • 允许使用大写字母 (A-Z)
  • 允许使用小写字母 (a-z)
  • 允许使用数字 (0-9)
  • 第一个字符必须是字母或下划线
  • 不允许使用空格和逗号
  • 不允许使用特殊符号,但允许使用下划线(_)
  • 不允许使用保留字

题7 - 可以使用什么函数释放calloc()分配的内存?

A - dealloc();

B - strcat();

C - free();

D - memcpy();

答案:C

解释

calloc(): 为数组元素分配空间,初始化为零,然后返回指向内存的指针。

free(): 释放calloc()分配的空间

题8 - return关键字用于将控制权从函数转移回调用函数。

A - 是

B - switch

C - 返回

D - goto

答案:A

解释

在C语言中,return函数停止函数的执行,并将值和控制权返回给调用函数。执行在调用函数中立即跟随调用的地方开始。

题9 - 在下面的代码中,函数get()将返回什么?

#include<stdio.h>

int get();

int main()

{
   const int x = get();
   
   printf("%d", x);
   return 0;
}
   int get()
   {
    return 40;
}

A - 40

B - 20

C - 0

D - 错误

答案:A

解释

首先,“int get()”是一个get()函数原型,它在没有任何参数的情况下返回一个整数值。

其次,const int x = get();声明常量变量x为整型数据类型,并用get()的值初始化。因此,get()的值是40,printf("%d", x);将打印x的值,即40。所以程序输出将是40。

#include<stdio.h>

int get();

int main()

{
   const int x = get();
   
   printf("%d", x);
   return 0;
}
   int get()
   {
    return 40;
}

题10 - 库函数strrchr()查找另一个字符串中子字符串的第一次出现。

A - 是

B - strstr()

C - strchr()

D - strnset()

答案:B

解释

strstr()查找另一个字符串中子字符串的第一次出现。

广告