选择题
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<b? a:b"的值是____。
A、3 B、4 C、0 D、1
答案:A
12.若int x=2,y=3,z=4 则表达式x<z?y:z的结果是( ).
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函数开始,到本程序文件的最后一个函数结束
- 本程序文件的第一个函数开始,到本程序main函数结束
答案:A
38.以下叙述正确的是()
A、在C程序中,main函数必须位于程序的最前面
B、C程序的每行中只能写一条语句
C、C语言本身没有输入输出语句
D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误
答案:C
39.以下叙述不正确的是()
A、一个C源程序可由一个或多个函数组成
B、一个C源程序必须包含一个main函数
C、C程序的基本组成单位是函数
- 在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语言的基本组成单位是函数。
一个C语言程序是由一个或多个函数组成,其中只有一个main函数。
与一般的变量不同,指针变量是用来存放内存地址的变量,如果一个指针变量的值是另一个变量的地址,则该指针变量指向那个变量。
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。对