大一C语言期末选择题和填空题题库

选择题

1.()是构成C语言程序的基本单位。

A、函数

B、过程

C、子程序

D、子例程

答案:A

2.C语言程序从()开始执行。

A、程序中第一条可执行语句

B、程序中第一个函数

C、程序中的main函数

D、包含文件中的第一个函数

答案:C

3.以下说法中正确的是()。

A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义

C、C语言程序总是从main( )函数开始执行

D、C语言程序中的main( )函数必须放在程序的开始部分

答案: C

4.下列关于C语言的说法错误的是()。

A、C程序的工作过程是编辑、编译、连接、运行

B、C语言不区分大小写。

C、C程序的三种基本结构是顺序、选择、循环

D、C程序从main函数开始执行

答案:B

5.下列正确的标识符是()。

A、-a1

B、a[i]

C、a2_i

D、int t

答案:C

6.下列C语言用户标识符中合法的是()。

A、3ax B、x C、case D、-e2 E、union

答案:B

7.下列四组选项中,正确的C语言标识符是()。

A、%x B、 a+b C、 a123 D、 123

答案:C

8.下列四组字符串中都可以用作C语言程序中的标识符的是()。

A、print _3d db8 aBc

B、I\am one_half start$it 3pai

C、str_1 Cpp pow while

D、Pxq My->book line# His.age

答案:A

9.C语言中的简单数据类型包括()。

A、整型、实型、逻辑型

B、整型、实型、逻辑型、字符型

C、整型、字符型、逻辑型

D、整型、实型、字符型

答案:D

10.在C语言程序中,表达式5%2的结果是。

A、2.5 B、2 C、1 D、3

答案:C

答案解析:

%为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1;5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1;

/为求商运算符,该运算符能够对整型、字符、浮点等类型的数据进行运算,5/2=2

11.如果int a=3,b=4;则条件表达式"a

A、3 B、4 C、0 D、1

答案:A

12.若int x=2,y=3,z=4 则表达式x

A、4 B、3 C、2 D、0 E、1

答案:B

13.C语言中,关系表达式和逻辑表达式的值是()。

A、0 B、0或1 C、1 D、T或F

答案:B

14. 下面( )表达式的值为4.

A、11/3 B、11.0/3

C、(float)11/3 D、(int)(11.0/3+0.5)

答案:D

答案解析:

(1)相同数据类型的元素进行数学运算(+、-、*、/)得到结果还保持原数据类型。(2)不同数据类型的元素进行数学运算,先要统一数据类型,统一的标准是低精度类型转换为高精度的数据类型。

选项A,11与3为两个整数,11/3结果的数据类型也应为整数,因此将3.666666的小数部分全部舍掉,仅保留整数,因此11/3=3.

选项B,11.0为实数,3为整数,因此首先要统一数据类型,将整型数据3转换为3.0,转换后数据类型统一为实型数据,选项B变为11.0/3.0,结果的数据类型也应为实型数据,因此选项B
11.0 /3=3.666666

选项C,先将整数11强制类型转换,转换为实型11.0,因此选项C变为11.0/3,其后计算过程、结果与选项B同

选项D,首先计算11.0/3,其计算过程、结果与选项B同,得到
3.666666;再计算3.666666+0.5=4.166666,最后将4.166666强制类型转换为整型,即将其小数部分全部舍掉,结果为4

15.设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是()

A、b=1.0/a

B、b=(float)(1/a)

C、b=1/(float)a

D、b=1/(a\*1.0)

答案:B

16. 若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是()

A、1

B、4

C、4.333333

D、4.6

答案:A

答案解析:

“(int)f“表示将f中的值强制类型转换为整型,即将13.8的小数部分舍掉,转换为13;然后计算13%3,结果为1,再将结果赋给变量n,因此n的值为1

17. 以下对一维数组a的正确说明是():

A、 char a(10); B、 int a[];

C、int k =5, a[k]; D、 char a[3]={‘a’,’b’,’c’}

答案:D

答案解析:

类型符数组名[常量表达式]

类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;常量表达式是指数组的长度(数组中包含元素的个数),其值只能是整数,不可以是变量,而且从1开始计数。

选项A,常量表达式只能放在中括号[ ]中

选项B,只有在对数组初始化(即赋值)的时候才可以省略数组的长度,B中并未对a进行初始化。

选项C,常量表达式不能为变量。

18.以下能对一维数组a进行初始化的语句是: ( )

A、int a[5]=(0,1,2,3,4,)

B、int a(5)={}

C、int a[3]={0,1,2}

D、int a{5}={10\*1}

答案:C

答案解析:

选项B,D,常量表达式只能放在中括号[ ]中

选项A,数组可以看做是若干个相同数据类型元素的有序集合,因此以集合的形式对其初始化,使用{
}对其初始化,选项A用了().

19.在C语言中对一维整型数组的正确定义为()。

A、int a(10); B、int n=10,a[n];

C、int n;a[n]; D、#define N 10 int a[N];

答案:D

20.已知:int a[10]; 则对a数组元素的正确引用是( )。

A、a[10]

B、a[3.5]

C、a(5)

D、a[0]

答案:D

答案解析:

数组名[下标]

引用数组元素时,[
]中的下标为逻辑地址下标,只能为整数,可以为变量,且从0开始计数int
a[10]表示定义了一个包含10个整型数据的数组a,数组元素的逻辑地址下标范围为0~9,即a[0]
表示组中第1个元素; a[1] 表示组中第2个元素; a[2] 表示组中第3个元素; ......;a[9]
表示组中第10个元素.

选项A,超过了数组a的逻辑地址下标范围;

选项B,逻辑地址下标只能为整数

选项C,逻辑地址下标只能放在[ ]中

21.若有以下数组说明,则i=10;a[a[i]]元素数值是()。

int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};

A、10

B、9

C、6

D、5

答案:C

答案解析:

先算a[a[i]]内层的a[i],由于i=10,因此a[i]即a[10].

a[10]对应下面数组中的元素为9. 因此a[a[i]]即为a[9]

a[9]对应下面数组中的元素为6. 因此a[9]即为6

22.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: ( )

A、2

B、3

C、4

D、无确定值

答案:B

答案解析:

二维数组的一维大小,即指二维数组的行数,在本题中,按行对二维数组赋值,因此内层有几个大括号,数组就有几行

23.对二维数组的正确定义是()

A、int a[ ] [ ]={1,2,3,4,5,6};

B、int a[2] [ ]={1,2,3,4,5,6};

C、int a[ ] [3]={1,2,3,4,5,6};

D、int a[2,3]={1,2,3,4,5,6};

答案:C

答案解析:

类型符数组名[常量表达式][常量表达式]

二维数组可以看做是矩阵

类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;第一个常量表达式是指数组的行数;第二个常量表达式是指数组的列数;常量表达式的值只能是整数,不可以是变量,而且从1开始计数。

一维数组初始化时可以省略数组长度

二维数组初始化时可以省略行数,但不能省略列数

选项A,B,都省略了列数

选项D,不符合二维数组定义的一般形式,行、列常量表达式应该放在不同的[]中

24.已知int a[3][4];则对数组元素引用正确的是____

A、a[2][4] B、a[1,3] C、a[2][0] D、a(2)(1)

答案:C

数组名[下标] [下标]

引用数组元素时,[
]中的下标为逻辑地址下标,只能为整数,可以为变量,且从0开始计数第一个[下标]表示行逻辑地址下标,第二个[下标]表示列逻辑地址下标。

因此a的行逻辑地址范围0~2;a的列逻辑地址范围0~3;

选项A,列逻辑地址下标超过范围

选项B,D,的引用形式不正确。

25.C语言中函数返回值的类型是由()决定的.

A、函数定义时指定的类型 B、return语句中的表达式类型

C、调用该函数时的实参的数据类型 D、形参的数据类型

答案:A

26. 在C语言中,函数的数据类型是指( )

A、函数返回值的数据类型 B、函数形参的数据类型

C、调用该函数时的实参的数据类型 D、任意指定的数据类型

答案:A

27. 在函数调用时,以下说法正确的是()

A、函数调用后必须带回返回值

B、实际参数和形式参数可以同名

C、函数间的数据传递不可以使用全局变量

D、主调函数和被调函数总是在同一个文件里

答案:B

28. 在C语言中,表示静态存储类别的关键字是: ()

A、auto B、register C、static D、extern

答案:C

29.未指定存储类别的变量,其隐含的存储类别为()。

A、auto B、static C、extern D、register

答案:A

30. 若有以下说明语句:

struct student
{ 
    int num;

    char name[ ];

    float score;

}stu;

则下面的叙述不正确的是: ( D )

A、struct是结构体类型的关键字

B、struct student 是用户定义的结构体类型

C、num, score都是结构体成员名

D、stu是用户定义的结构体类型名

答案:D

31.若有以下说明语句:

struct date

{ 
    int year;

    int month;

    int day;
}brithday;

则下面的叙述不正确的是_____.

A、struct是声明结构体类型时用的关键字

B、struct date 是用户定义的结构体类型名

C、brithday是用户定义的结构体类型名

D、year,day 都是结构体成员名

答案:C

32.C语言源程序的基本单位是( )。

A、过程 B、函数 C、子程序 D、标识符

答案:B

33.下列程序的输出结果是( )。

main( )

{

    int a=7,b=5;

    printf("%d ",b=b/a);

} 

A、5 B、1 C、0 D、不确定值

答案:C

34.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是( )。

A、7 B、8 C、9 D、2

答案:B

35.设有如下程序段,下面描述中正确的是 ( )。

int k=10; while(k=0) k=k-1;

A、循环执行一次 B、循环是无限循环 C、循环体语句一次也不执行
D、循环体语句执行一次

答案:C

36.以下程序的输出结果为( )。

int i;

void prt( )

{

    for(i=5;i\<8;i++) printf("%c",'\*');

    printf(" ");

}

main( )

{

    for(i=5;i\<=8;i++) prt( );

}

A、 *** B、 *** *** *** *** C、 *** *** D、 * * *

答案:A

此处整形i的定义在mian函数外,意味着这是一个全局变量,所以,在里循环里面的i的值的改变也影响到了外循环的值。整个循环下来只有三次。

37.一个C程序的执行是从()

A、本程序的main函数开始,到main函数结束

B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C、本程序的main函数开始,到本程序文件的最后一个函数结束

  1. 本程序文件的第一个函数开始,到本程序main函数结束

答案:A

38.以下叙述正确的是()

A、在C程序中,main函数必须位于程序的最前面

B、C程序的每行中只能写一条语句

C、C语言本身没有输入输出语句

D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误

答案:C

39.以下叙述不正确的是()

A、一个C源程序可由一个或多个函数组成

B、一个C源程序必须包含一个main函数

C、C程序的基本组成单位是函数

  1. 在C程序中,注释说明只能位于一条语句的后面

答案:D

40.变量的指针,其含义是指该变量的().

A、值 B、地址 C、名 D、一个标志

答案:B

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

A、必须在最开始

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

C、可以任意

D、必须在最后

答案:C

42.一个C语言程序是由()

A、一个主程序和若干子程序组成

B、函数组成

C、若干过程组成

D、若干子程序组成

答案:B

43.C语言中注释的位置()

A、必须在程序的最开始

B、必须在程序的结尾

C、可以在程序的任何位置

D、不可以写到main函数里面

答案:C

44.一个C语言程序包括()个main函数

A、1

B、2

C、4

D、任意多

答案:A

45.字符串“COMPUTER”占用()个储存单元

A、8

B、9

C、10

D、1

答案:B

46.有符号10进制整数的格式符为()

A、C

B、D

C、E

D、F

答案:B

47.短整型变量占用()个字节的储存空间

A、2

B、8

C、11

D、1

答案:A

48.字符“B”的ASCII值为()

A、63

B、64

C、65

D、66

答案:D

49.当函数中有多条return语句出现时,程序执行到()条结束

A、第一条return

B、最后一条return

C、中间一条return

D、全部执行完

答案:A

50. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()

A、必须为字母

B、必须为下划线

C、必须为字母或下划线

D、可以是字母、数字和下划线中任一种字符

答案:C

51.下列()是合法的标识符

A、1DAY

B、a>b

C、_total

D、#25

答案:C

52. 函数的类型是由()决定的

A、返回值类型

B、调用该函数时临时

C、调用函数的实参

D、函数的形式

答案:A

53.执行语句for(i=1;i++<4;),后变量i的值是()

A、3

B、4

C、5

D、不定

答案:C

尽管判断4<4时已经结束循环,但是i还是进行了自增运算,所以i=5

54.下列程序的输出结果是()

fun(int a,int b,int c)

{ 
  c=a\*b; 
}
 void main()

{ 
  int c=5;

  fun(2,3,c);

  printf(“%d\\n”,c)

}

A、0

B、5

C、6

D、无法确定

答案:B

55.有以下程序

#include
void main()
{
    int a=2,b=0;
    if(!a)b++;
    else if (a=1)b+=2;
    else b+=3;
    printf(“%d\\n”,b);
}

程序运行后的结果为()

A、0

B、1

C、2

D、3

答案:C

56.有以下程序#include

void main()

{ 
    int y=10;

    whihe (--y)

    printf(“y=%d\\n”,y);

}

程序运行后,输出的结果是()

A、y=0

B、y=-1

C、y=1

D、while构成无限循环

答案:A

57.下列程序的执行结果是()

#include“stdio.h”

#include“string.h”

void main()

{

    static chars[10]=“cgdh9\\0and”

    ptintf(“%d\\n,strlen(s)”);
}

A、6

B、5

C、11

D、10

答案:B

58.执行下列语句后,b的值为()

int b=8

b+=b-=b*b;

A、-240

B、64

C、112

D、-112

答案:D

注意运算顺序,先运算8*8,再就是b-=64,在此运算之后,-64赋给了b,最后就是b+=(-64),也就是(-64)+=(-64);

59.二进制语言是属于( )

A、面向机器语言 B、面向问题语言 C、面向过程语言 D、面向汇编语言

答案:A

60.下列语言中不属于面向过程的语言是( )

A、高级语言 B、低级语言 C、 C 语言 D、 PASCAL 语言

答案:B

答案解析:

C语言和 PASCAL
等程序设计语言都是高级语言,它们用于描述复杂加工的处理过程,所以也称它们是面向过程语言。低级语言是指机器语言和汇编语言,低级语言是面向机器的语言,而不是面向问题的语言。

61.下列字符中属于键盘符号的是( )

A、\ B、\n C、 \t D、 \b

答案:A

答案解析:

键盘符号是指键盘上有标记,并能在显示器上直接以其标记字样显示的字符。有许多键盘上有标记的符号,它们不是用于直接显示的,键入这种字符用于表示特定的意义,如常用的回车符。
为了能让C程序标记这种符号,程序采用转义字符的方式书写这种字符。如'\n'、'\t'
、'\b'都不是键盘字符,在C语言中,它们都得用转义字符来表达。
只有字符\才是键盘字符。

62.下列字符列中,不是用来表达转义字符是

A、 \\ B、\' C、074 D、 \0

答案:C

答案解析:

转义字符有三种书写形式:

反斜杠字符后接上某个规定的字符;

反斜杠字符后接上3个八进制数字符;

反斜杠字符和字符 X 之后接上 1 至 2 个十六进制数字符。

后两种分别八进制数和十六进制数直接给出字符的ASCll值。

074 是八进制整数,不是转义字符。

63.不是 C 语言提供的合法关键字是()

A、switch B、 begin C、 case D、 default

答案:B

64.下列字符列中,能作为单个标识符是()

A、 ? a B、 a =2 C、 a.3 D、 a_3

答案:D

答案解析:在C语言中,规定标识符是这样一种字符序列,由英文字母或下线字符开始,后接任意个英文字母、下线字符和数字符组成。

65.在 C 语言中,下列说法中错误的是()

A、函数定义可以分为两个部分:函数说明部分和函数体

B、主函数可以调用任何非主函数

C、任何非主函数可以调用其它任何非主函数

D、程序可以从任何函数开始执行

答案:D

答案解析:

每个C函数的定义分两部分,函数说明部分和函数体,所以A是正确的叙述。C语言中,函数可以递归调用,主函数可以调用程序中的任何函数,当然可以调用任何非主函数,所以B是一个正确的叙述。同样理由,C选项也是正确的。C
语言规,C 程序只有一个主函数,
并总是从主函数开始执行,不能从非主函数开始执行。所以,说程序可以从任何函数开始执行是错误的。

66.下列字符列中,可以作为“字符串常量”的是()

A、ABC B、”ABC” C、‘abc’ D、‘a’

答案:B

答案解析:

C程序中,一个字符率常量是表示一个字符序列,书写时,用双引号在字符前后括住这个字符序列。所以只有“ABC”是一个正确的字符串常量,其余都不是。其中,ABC
可作为标识符,字符‘a’是一个字符常量。所以解答是B。

67.在以字节存储字符的系统中,‘\n ’在内存占用的字节数是()

A、1 B、2 C、3 D、4

答案:A

答案解析:一般来说,一个字符在内存中只占
1个字节,‘\n’是转义字符,其意义是换行符,它作为一个字符存储,在内存也只占 1
个字节。

68.字符串“xyz”在内存占用的字节数是()

A、3 B、4 C、6 D、8

答案:B

答案解析:

字符串中的每个字符占1个字节,但C程序在存储字符串时,要在最后一个有效字符后面接上1个字符串结束的标记符‘\0’。这样,存储字符串常量“xyz”需要
4 个字节。所以解答是B。

69.在以下字符列中,合法的长整型常数是()

A、0L B、4962710 C、0.054838743 D、2.1869el0

答案:A

答案解析:

为表示不同范围的整数,整型数据分短整型、基本型和长整型,并对三种整型内部表示的最高位的不同理解,又分别分成无符号和带符号两种。若要明确指明一个整数是长整型的,必须在整数之后接上字符‘L’。所以
0L
是一个长整型的整型常量,而4962710是基本整型数据,而对于用2个字节表示一个基本整型数据的系统来说,该整数将因超出范围而是一个错误的整数;0.054839743和2.1869el0
都是double型的实数。所以解答是A。

70.一个char型数据,它的值在内存中存放的是()

A、ASCll 代码值 B、BCD 代码值 C、内码值 D、十进制代码值

答案:A

答案解析:

计算机存储字符,通常是存储字符的某种代码值。有许多种字符编码的方法,最流行的是ASCII代码。在C语言中,Char
型数据也用ASCII代码表示。所以解答是A。

71.设变量 m,n,a,b,c,d 的初值均为
0,执行(m=a==b)||(n=c==d)后,m,n 的值是()

A、0,0 B、0,1 C、l,0 D、1,1

答案:C

答案解析:

编译总是倾向于把多个字符识别为一个运算符
计算(m=a==b)||(n=c==d)的过程是先计算逻辑或的左运算分量(m=a==b)的值,由于赋位运算符的优先级比关系运算符==的优先级低,又先计算
a==b.因 a,b 均为 0 后,所以比较结果值为 1.将 1 赋给变量 m,使变量 m 的值变为 1
.同时这个赋值运算的结果也是 1,这样逻辑运算的左运算分量的值为
1.由于逻辑或运算的左运算分量值为
1,按照C语言对逻辑或运算优化计算的规定,不再计算逻辑或的右运算分量,而直接得到逻辑或运算的结果为
1 .由于逻辑或的右运算分量不曾计算过,所以变量 n
的值也不为变化。这样,上述表达式计算后,变量 m 的情为 1,变量 n 的值为0。

72.设a 为 5,执行下列计算后,b 的值不为2的是()

A、 b=a/2 B、 b=6-(--a) C、b=a%2 D、b=a<3?3:2

答案:C

答案解析:
因两个整型数据相除,结果是整数,当a 的值为 5 时,计算表达式 b=a/2 后,使b
的值为2。计算表达式 b=6-(--a)是先计算子表达式(--a)的,先让 a 的值减 1 变成
4,并以减 1 后的 a 为子表达式的结果,所以子表达式的结果为 4,最后使b 的值为
2。在计算表达式 b= a%2 时,求余运算 a%2的结果为 1,最后使变量 b 的值为
1.计算表达式 b=a<3?3:2 时,先计算条件表达式 a<3?3:2,以 2
为结果,最后也使变量 b 的值为2。

73.执行语句“x=(a=3,b=a--);”后,X,a,b 的值依次为()

A、3,3,2 B、2,3,2 C、3,2,3 D、2,3,3

答案:C

答案解析:

> 计算表达式
x=(a=3,b=a--)时,先计算赋值号右端圆括号内的逗号表达式。逗号表达式要求各子表达式顺序计算,并以最后子表达式的值为整个逗号表达式的结果。所以该表达式计算时,先让变量
a 的值为 3,a--的值是 a 当时的值,以该值为结果赋给变量
b,并以该值为逗号表达式的值赋给变量 x,然后 a 的值被减少
1.所以计算该表达式后,使变量 x,a,b 的值依次为 3,2,3.

74.设有代码“int a=3;”,则执行了语句“a+=a-= a*a;”后,变量a的值是()

A、3 B、0 C、9 D、-12

答案:D

答案解析:
由于赋值运算符的结合性自右至左,语句“a+=a-=a*a;”的执行是先计算a*a,得到值
9,再计算 a-=a*a,使a的值为-6,接着计算 a+=a,使 a 的值为-12.所以解答是D。

75.在以下一组运算符中,优先级最高的运算符是()

A、<= B、= C、% D、&&

答案:C

答案解析:常规运算符的优先级自高到低的排列顺序是算术运算符、移位运算符、关系运算符。按位运算符、逻辑运算符、条件运算符、赋值运算符、逗号运算符。所以问题所给的四个运算符按优先级自高到低的排列顺序是%,<=,&&,=。

76.设整型变量 i 的值为 3,则计算表达式 i———i后表达式的值为()

A、0 B、l C、2 D、表达式出错

答案:A

答案解析:

有些运算符只有一个字符,也有许多运算符由两个字符组成。特别是有些字符既可是单个字符的运算符,又能组成双字符的运算符。编译系统在识别源程序时,通常是尽量多地读入字符,能组成多字符单词的先尽量组成多字符单词。所以表达式
i---i,被编译器理解为(i--)-i.另外,当表达式中某变量有后缀自增和自减运算时,先按变量的原值计算表达式,然后再对变量进行自增和自减运算。同样地,当表达式中某变量有前缀自增和自减运算时,先对变量进行自增和自减运算,然后再按变量的新值计算表达式。按这个约定,求表达式(i--)-i
是计算 i-i 的值为 0,然后再对 i 作自减运算。这样,表达式(i--)-i 的值为 0。

77.设整型变量 a 、 b 、 c 均为 2 ,表达式a+++b+++c++ 的结果是()

A、6 B、9 C、8 D、表达式出错

答案:A

答案解析:与上一小题解答的理由相同,表达式a+++b+++c++被系统理解成:(a++)+(b++)+(c++)。

78.若已定义 x 和 y 为 double 类型,则表达式:x=l, y=x+3/2 结果是()

A、l B、2 C、2.0 D、2.5

答案:C

注意++b 和b++的区别。b++是先以b的值参与运算,
答案解析:由于变量 x 和 y 都是 double 类型,表达式 x=l, y=x+3/2 是先计算
x=1,由于 1 是整型的,x 是 double 类型的,该计算先将整数 1 转换成 double 类型的
1.0,并将 1.0 赋给变量 x.计算 y=x+3/2 是先求 3/2
的值,因是两整数相除,结果是整型值 1,然后在计算 x+1 时,也先将 1转换成
1.0,然后求得 x+l 的值为 2.0,最后将该值赋给变量 y,并得到整个表达式的值为 2.0.

填空题

1、结构化程序设计中的三大基本结构是顺序结构、选择结构、循环结构。

2、C语言的基本组成单位是函数。

  1. 一个C语言程序是由一个或多个函数组成,其中只有一个main函数。

  2. 与一般的变量不同,指针变量是用来存放内存地址的变量,如果一个指针变量的值是另一个变量的地址,则该指针变量指向那个变量。

5、自增、自减运算符的运算对象只能为变量,不能是常量和表达式。

6、计算机能直接识别和接受的二进制代码称为机器指令。

7、高级语言经历了非结构化的语言、结构化语言、面向对象语言三个发展阶段。

8、一个程序主要包括算法和数据结构两方面的内容。

9、一个有效的算法应该包括有穷性、确定性、有效性三个特点。

10、数据的两种表现形式为常量、变量。

11、函数的递归是指函数调用过程中出现直接或者间接调用函数本身。

12、C语言中调用函数时,将实参对应的值传递给形参。

13、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。

14、表达式11/3+9%2的结果是4。

15、设int x=3,y=5;则执行printf(“%d\n”,!x&&y)后输出的结果为0 。

16、设int a=10,则执行printf(“%d\n”,++a)后输出的结果为11 。

三、判断题

1、C语言中的每条简单语句以分号作为结束符。对

2、C语言中的每条复合语句以花括号作为结束符。错

3、在C语言程序中,在行尾使用注释的开始标记符为一对单斜线字符。对

4、注释内容的开始所使用的标记符为/*,则注释内容的结束所使用的标记符为*/。对

5、在一个C语言程序文件中,若要包含一个头文件,则使用以百分号开始的预处理命令。错

6、用于输出表达式值的标准输出函数是printf()。对

7、当不需要函数返回任何值时,则需要使用保留字void作为函数的返回值类型。对

8、每个C程序文件在编译时可能出现有警告性错误,其对应的标识符为error。错

9、十进制数25表示成符合C语言规则的八进制数为31。错

10、十进制数25表示成符合C语言规则的十六进制数为0x19。对

11、在C语言中,转义字符'\n'表示一个换行符。对

12、执行“printf("%c",'F'-2);”语句后得到的输出结果为H。错

13、已知字符'C'的ASCII码为67,当执行“int x='C'+5;”语句后x的值为72。对

14、假定一个枚举类型的定义为“enum RB{ab,ac=3,ad,ae}x=ad;”,则x的值为2。错

15、float的类型长度为8。错

16、在C语言中,常数28和3.26具有相同的数据类型。错

17、若需要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的开始使用保留字const。对

18、使用const语句定义一个符号常量时,不必对它进行初始化。错

19、表达式45%13的值为3。错

20、假定x=5,则表达式2*x++的值为12。错

21、表达式(float)25/4的值为6。错

22、表达式x=x+1表示成增量表达式为++x。对

23、关系表达式(x!=0)的等价表达式为(x)。对

24、关系表达式x+y>5的相反表达式为x+y<=5。对

25、逻辑表达式(a>b || b==5)的相反表达式为(a>b && b==5)。错

26、若x=5,y=10,则x>y逻辑值为真。错

27、假定x=5,则执行“a=(x?10:20);”语句后a的值为10。对

28、带有随机函数的表达式rand()%20的值所在的区间范围是0~19。对

29、假定x=5,则执行“y=x++;”语句后,x的值为5。错

30、假定x=5,则执行“y=++x;”语句后,y的值为6。对

你可能感兴趣的:(大一C语言期末选择题和填空题题库)