C语言初阶错题整理

简介: C语言初阶错题整理

一、

题目

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int a = 1;//定义全局变量
void test()
{
  int a = 2;//定义局部变量
  a += 1;
}
int main()
{
  test();
  printf("%d\n", a);
  return 0;
}

请问输出结果是什么?

答案:

a=1

解析:定义a两次,一个是全局变量,另一个是局部变量。

当局部变量和全局变量名冲突时,局部变量优先。(局部优先)

所以a+=1,对局部变量使用,且局部变量出定义区间时,会自动销毁。

二、

C语言规定,在一个源程序中,main函数的位置()

A、必须在开始

B、必须在系统调用的库函数的后面

C、可以任意

D、必须在最后

答案:C

因此,main函数的位置就是任意的

三、

题目:C语言本身没有输入输出函数。

答案:正确

解析:C语言只规定了语法规则,而库函数和C语言的语法规则是独立

image.png

四、

题目:求两个数的最大公倍数

解析:

直接求两个数其中任意一个数的倍数,进行循环,直到找到那个最大公倍数

int main()
{
  int a, b;
  scanf("%d %d", &a, &b);
  int m = a > b ? a : b;//求两个数的最大值直接用三目操作符
  int m_ = m;
  int cnt = 0;
  while (1)
  {
    cnt++;
    if (m % a == 0 && m % b == 0)
    {
      printf("%d\n", m);
      break;
    }
    else
    {
      m = m_ * cnt;
    }
  }
  return 0;
}
相关文章
|
5月前
|
C语言
C语言初阶⑧(结构体)知识点和笔试题
C语言初阶⑧(结构体)知识点和笔试题
44 0
|
4月前
|
C语言
C语言初阶:如何判断是否为素数并且输出
C语言初阶:如何判断是否为素数并且输出
25 0
|
3月前
|
编译器 C语言
【C语言初阶】指针篇—下
【C语言初阶】指针篇—下
|
3月前
|
存储 C语言
【C语言初阶】指针篇—上
【C语言初阶】指针篇—上
|
4月前
|
C语言
【初始C语言8】详细讲解初阶结构体的知识
【初始C语言8】详细讲解初阶结构体的知识
|
5月前
|
程序员 编译器 测试技术
C语言初阶⑨(调试)(如何写出好的代码)(模拟实现strcpy和strlen)
C语言初阶⑨(调试)(如何写出好的代码)(模拟实现strcpy和strlen)
39 1
|
5月前
|
C语言
C语言初阶测评
C语言初阶测评
30 0
|
5月前
|
算法 编译器 C语言
从C语言到C++⑩(第四章_模板初阶+STL简介)如何学习STL(下)
从C语言到C++⑩(第四章_模板初阶+STL简介)如何学习STL
39 0
|
5月前
|
编译器 C语言 C++
从C语言到C++⑩(第四章_模板初阶+STL简介)如何学习STL(上)
从C语言到C++⑩(第四章_模板初阶+STL简介)如何学习STL
26 0
|
5月前
|
存储 编译器 C语言
C语言初阶⑦(指针初阶)知识点+笔试题(下)
C语言初阶⑦(指针初阶)知识点+笔试题
41 0