题库总结(选择判断)
- == 和 != 优先级最低
-
表达式 (j=3, j++) 的值是4(F) 表达式值为3
-
共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。(T)
-
共用体变量不可以进行初始化。(F)
可以初始化
-
枚举类型中的元素都具有一个整型值。(T)
-
函数形参的存储单元是动态分配的。(T)
全局变量静态分配,专门给个空间给它。 动态分配的空间叫做栈
-
随机操作只适用于文本文件。(F)
随机操作可用于二进制文件、文本文件
-
条件运算符?和:是一对运算符,不能分开单独使用。(T)
-
文件指针和位置指针都是随着文件的读写操作在不断改变。 (F)
位置指针指向文件内部的字节位置,随着文件的读取会移动。文件指针如果不重新赋值将不会改变指向别的文件。
-
文件指针用于指向文件,文件只有被打开后才有对应的文件指针。(T)
文件指针通常用于指示文件的位置,而且在对文件进行读取或写入之前,文件必须被打开。
-
增1减1运算符的前缀运算和后缀运算的表达式值是相同的。(F)
int a=5; int b=++a; //先++a,然后b=a,所以b=a=6 int c=a++; //先c=a=5,后a++=6
-
结构体成员的类型必须是基本数据类型。(F)
可以是指针类型
-
凡在函数中未指定存储类别的局部变量,默认的存储类别为static。(F)
是auto。未指定存储类别的局部变量将默认为auto,分配在栈上这意味着它们在函数调用时会被创建,函数返回时会被销毁。
-
结构体数组中可以包含不同结构体类型的结构体变量。(F)
结构体数组中的元素必须是相同类型的结构体变量。每个元素的大小和结构体类型必须一致,否则将导致错误。
结构体成员可以
-
以“r”方式打开一个文件时,文件指针指向文件首。(T)
-
变量被定义后 , 它的作用域和寿命就被确定了 , 并且不可改变。(T)
-
“a” 方式是以追加方式打开文件,文件指针在文件末尾。(T)
-
使用static k定义的变量属于静态变量。(T)
静态变量通过使用
static
关键字来定义。
例如:static int x;
-
在switch语句中,多个case可以共用一组执行语句。 (T)
在C语言中,可以在多个标签下共用一组执行语句。这通常被称为**“case 穿透”**,即当一个满足条件后,它会执行该标签下的语句,并继续执行后续的标签下的语句,直到遇到语句
break
或者语句结束。 -
输入操作称为写操作,将输入流中的信息存到内存时,使用写函数。(F)
输入操作通常是读操作,而写操作用于将信息从内存写入输出流。
-
fseek函数一般用于文本文件。(F)
-
fseek函数一般用于二进制文件。(T)
可以用于文本文件,但不是一般,一般用于二进制
-
一个C语言源程序可以由一个或多个源文件组成。只有一个main函数(T)
-
文件是否打开是可以判断的。(T)
可以检查文件指针是否为 NULL 来确定文件是否成功打开
-
在一个函数内部调用另一个函数的调用方式称为嵌套调用。(T)
嵌套调用是指一个函数内部调用函数
递归是一个函数调用自身
函数不能嵌套定义
宏定义可以嵌套定义
-
寄存器类变量的作用域和寿命与自动类变量的相同。(T)
它们在作用域和寿命上是相同的,但是存储方式和访问速度有差异。
-
内部静态类变量的作用域和寿命与自动类变量的相同。 (F)
内部静态变量的寿命更长。
-
结构体类型本身不占用内存空间,结构体变量占用内存空间。(T)
-
分号是 C 语言中语句的结束符 , 不可用作分隔符。(F)
for循环里的 ;
-
变量的两个值 : 本身值和地址值都是可以改变的。(F)
专门分配一块地址,除非程序结束
-
C语言函数返回类型的默认定义类型是void(F)(应当是int)
-
函数的形参可以是常量,变量或表达式(F)
形参只能是变量
实参才能是常量,变量,表达式
-
指针变量可以存放指针(地址)、数值和字符(F)
就只是存其他各种东西的地址
-
不允许把一个数值或字符赋予指针变量。(T)
-
结构体名在定义结构体时不可省略。(F)
可以省略
-
一个变量的数据类型被强制转换后,它将保持被强制转换后的数据类型。(F)
int a=9;
double d=(double)a/2.0
a的数据类型就没变 -
C 语言规定 : 定义符号常量时必须用大写字母。(F)
不是必须,是最好
-
while,do-while的条件表达式不能省略。(T)
永久循环了
-
C语言中的全局变量如果没有指定初值,则其初值自动设置为0。(T)
全局变量会默认值为0
局部变量未初始化是随机数
-
C语言程序是从源文件的第一条语句开始执行的。(F)
从main的第一条
-
实参向形参进行数值传递时,数值传递的方向是单向的,即形参变量值的改变不影响实参变量的值。(T)
-
用typedef可以增加新类型。(T)
-
注册回调函数就相当于是定义回调函数。(F)
-
运行包含以下代码段的程序将可能进入死循环。(F)
int i = 1; while(i>0){ i++; printf("%d ",i); }
会溢出变为负数
-
已知字符
B
的ASCII码是66,那么也可以通过转义符\
,用'\66'
来表示字符常量B
。(F)通常\后是八进制
-
在C程序中,函数可以嵌套定义,但不可以嵌套调用。(F)
-
注册回调函数就相当于是定义回调函数。(F)
-
7.以下关于结构体的描述中,哪个是错误的?(D)
A.结构体是一种复合数据类型,可以包含多个不同类型的成员变量。
B.结构体的成员变量可以是指针类型。
C.结构体的成员变量可以是数组类型。
D.结构体的成员变量可以是函数类型。