前言
关于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的三个应用场景。