• C语言题收录(一)


    1、以下能正确地定义整型变量a、b和c,并为他们赋初值5的语句是____。

    • A: int a = b = c = 5;
    • B: int a , b , c = 5;
    • C: a = 5 , b = 5 , c = 5;
    • D: int a = 5 , b = 5 , c = 5;
    解析
    • 选项A中,变量b、c未定义;
    • 选项B中,a、b未赋值;
    • 选项C中a、b、c均未定义;
    答案:D

    2、C语言规定,在一个源程序中,main函数的位置____。

    • A:必须在最开始
    • B:必须在系统调用的库函数的后面
    • C:可以任意
    • D:必须在最后
    解析

    C语言规定,在一个源程序中,main函数的位置可以任意。

    答案: C

    3、执行语句:for(i=1;i++<4; ),后,变量i的值是___。

    • A:3
    • B:4
    • C:5
    • D:不定
    解析

    注意i++和++i的区别。同样是把i+1,i++返回的是+1前的值,++i返回的是+1后的值。
    当i=3时,执行i++后,i变成了4,但i++返回值是3,因此满足条件,循环继续。
    当i=4时,执行i++后,i变成了5,而i++返回值是4,跳出循环。
    所以最后i是5。

    答案:C

    4、在一个源文件中定义的外部变量的作用域为____。

    • A:本文件的全部范围
    • B:本程序的全部范围
    • C:本函数的全部范围
    • D:定义该变量的位置开始至本文件结束
    解析

    外部变量可以有同一个工程下任何代码访问。
    一个程序的所有源代码是一个工程,一个工程可以包含任意多的源代码文件。

    答案: D

    5、 执行字符串比较函数strcmp(“abc”,“bca”)的返回结果是_____。

    • A:1
    • B:-1
    • C:0
    • D:NULL
    解析

    按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。a的ASCII码(97)小于b的ASCII码(98)。
    字符串1 = 字符串2,返回值 = 0;
    字符串1 > 字符串2,返回值 > 0;
    字符串1 < 字符串2,返回值 < 0。

    答案:B

    6、下列叙述正确的是____。

    • A:局部变量都是auto类型
    • B:全局变量都是static类型
    • C:局部变量都是register类型
    • D:全局变量的生命周期比static类型变量的声明周期长
    解析

    static全局变量和普通全局变量的区别:

    1. 作用域不同: static全局变量的作用域为定义该变量的源文件,也就是只能被该文件中的函数公用,从而避免在其他源文件中引起错误,称为文件作用域。
    2. static全局变量在编译时初始化,也就是在main()函数之前初始化并仅能初始化一次。

    相同点:
    3. 静态存储方式:被放在程序的静态数据存储区(全局可见)中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它们与堆变量的区别。而局部变量在栈里分配空间。

    总结:全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。

    答案:D

    7、以下选项中能表示合法常量的是____。

    • A:整数:1,200
    • B:实数:1.5E2.0
    • C:字符斜杠:“”
    • D:字符串:“\007”

    解析

    • 选项A中,整型常量中出现了",",所以错误;
    • 选项B中,实数的表示形式要求e(E)前必须有数字,e(E)后必须是整数,而"2.0"是实数,不满足要求;
    • 选项C中,表示字符斜杠,正确的写法是’\';
    • 选项D中,正确地表示了一个字符串常量。
    答案:D

    8、使用操作符对数据进行格式输出,应包含____文件。

    • A:iostream.h
    • B:iomanip.h
    • C:stdio.h
    • D:stdib.h
    解析

    所有不带形参的操作符都定义在都文件iostream.h中,而带形参的操作符则定义在头文件iomanip.h中,使用时应包含iomanip.h头文件。

    答案:B

    9、派生类的构造函数的成员初始化列表中,不能包含____。

    • A:基类的构造函数
    • B:派生类中子对象的初始化
    • C:基类的子对象的初始化
    • D:派生类中数据成员的初始化
    解析

    构造函数的主要作用是对数据成员初始化。在设计派生类的构造函数中,不仅要考虑派生类所增加数据成员的初始化,还应考虑基类中构造函数的初始化。子对象是对象中的对象,子对象的初始化是在建立派生类时通过调用派生类构造函数来实现。所以派生类构造函数的任务包括3部分:对基类数据成员初始化;对子对象数据成员初始化;对派生类数据成员初始化

    答案:C

    10、有以下定义

    int a;
    long b;
    double x,y;
    
    • 1
    • 2
    • 3

    则以下选项中正确的表达式是:

    • A:a%(int)(x-y)
    • B:a=x!=y
    • C:(a*y)%b
    • D:y=x+y=x
    解析
    • 选项A中,如果x与y的值相等,则取余时就会有除数为0的情况。
    • 选项C中,取余的两个数据都应为整数,不能有一方为实型变量,而a*y的结果为double型。
    • 选项D中,表达式本身就错误,不能给表达式赋值。
    答案:B

    学海无涯苦作舟

    这里写图片描述

  • 相关阅读:
    WEB自动化_xpath高级语法与应用
    2022.11.14-11.20 AI行业周刊(第124期):给自己的礼物
    使用 L293D 电机驱动器 IC 和 Arduino 控制直流电机
    RobotRules 和UserAgent来下载文件
    css齿轮转动效果
    跳过wifi认证直接上网
    网络基础知识
    Kubernetes - Kubernetes详解;安装部署(一)
    练习:查询学生新学期选课(python之str、dict、list试炼)
    CycleGAN 论文泛读
  • 原文地址:https://blog.csdn.net/HunterArley/article/details/126498926