【C语言】关键字选择题

前言

题目一:

题目二:

题目三:

题目四:

题目五:

题目六:


前言

关于C语言关键字相关的选择题


题目一:

用在switch语言中的关键字不包含哪个?( )

A .continue

B .break

C .default

D .case
选择A。

讲解:continue不能在Switch语句中使用,只能在循环语句中使用。


题目二:

关于C语言关键字说法正确的是:( )

A .关键字可以自己创建

B .关键字不能自己创建

C .关键字可以做变量名

D .typedef不是关键字
选择B。

讲解:c语言中的关键字由官方定义,不能自己创建,更不能作为变量名。


题目三:

下面哪个不是关键字:( )

A .int

B .struct

C .define

D .continue
选择C。

讲解:选项C define是c语言中预处理阶段的关键字,不是c语言本身定义的关键字,常用于定义#define 标识符常量、以及宏定义。


题目四:

关于指针说法正确的是:( )

A .sizeof(char*)大小一定是1

B .指针变量是个变量,用来存放地址

C .指针变量的大小都是4个字节

D .指针不是变量
选择B。

讲解:A选项的sizeof是一种操作符,其目的是求字符指针类型的字节大小,c语言规定,指针的大小在32位机器上是4字节,64位机器中是8字节,估A和C均是错误的,而D选项说指针不是变量,我们常常说的指针就是指指针变量,指针变量也是用来存放地址。


题目五:

下面代码的结果是什么?( )

A . 6,8,10,12,14

B .8,10,12,14,16

C .10,12,14,16,18

D .12,14,16,18,20

cpp 复制代码
#include <stdio.h>
int sum(int a)
{
    int c = 0;
    static int b = 3;
    c += 1;
    b += 2;
    return (a + b + c);
}
int main()
{
    int i;
    int a = 2;
    for (i = 0; i < 5; i++) 
    { 
        printf("%d,", sum(a)); 
    } 
} 

选择B。

讲解:c语言中关键字static有三个作用:1、修饰局部变量后,该变量出来作用域不销毁; 2、修饰全局变量后,该变量失去了外部链接属性,别的源文件访问不了,只能在本源文件使用; 3、修饰函数,该函数失去了外部链接属性,别的源文件调用不了,只能在本源文件使用;该题为第二种情况,修饰了局部变量,因此每次调用sum函数时,变量b还保留着上一次+2的值。


题目六:

关于static说法不正确的是:( )

A .static可以修饰局部变量

B .static可以修全局变量

C .static修饰的变量不能改变

D .static可以修饰函数
选择C。

讲解:B选项是错误的。static修饰的变量是可以修改的,static对变量的作用是除了作用域不销毁或者失去外部链接属性。在c语言中const修饰的变量不能修改。ABD选项为static的三个应用场景。

相关推荐
特立独行的猫a21 分钟前
OpenHarmony平台移植 gifsicle:C/C++ 三方库适配实践(Lycium / tpc_c_cplusplus)
c语言·c++·harmonyos·openharmony·三方库适配·lycium
吴声子夜歌30 分钟前
ES6——对象的扩展详解
开发语言·javascript·es6
aq553560036 分钟前
编程语言对比:从汇编到PHP的四大层级解析
开发语言·汇编·php
kyle~41 分钟前
工程数学---Eigen库(C++唯一标配线性代数库)
开发语言·c++·线性代数
CoderCodingNo43 分钟前
【GESP】C++五、六级练习题 luogu-P1886 【模板】单调队列 / 滑动窗口
开发语言·c++·算法
好家伙VCC1 小时前
**发散创新:基于Rust的轻量级权限管理库设计与开源许可证实践**在现代分布式系统中,**权限控制(RBAC
java·开发语言·python·rust·开源
xiaoshuaishuai81 小时前
C# 方言识别
开发语言·windows·c#
John.Lewis1 小时前
C++进阶(6)C++11(2)
开发语言·c++·笔记
@atweiwei1 小时前
用 Rust 构建agent的 LLM 应用的高性能框架
开发语言·后端·rust·langchain·eclipse·llm·agent
skilllite作者1 小时前
Spec + Task 作为「开发协议层」:Rust 大模型辅助的标准化、harness 化与可回滚
开发语言·人工智能·后端·安全·架构·rust·rust沙箱