admin 管理员组

文章数量: 1086019


2025年1月1日发(作者:25的原码怎么算)

1 . C语言中规定函数的返回值的类型是由( )。

A.return语句中的表达式类型所决定

B.调用该函数时系统临时决定

C. 调用该函数时的主调用函数类型所决定

D. 在定义该函数时所指定的函数类型所决定

参考答案:D

2 . 以下不能正确进行字符串赋初值的语句是____。

A.char str[5]="good“

B.! char str[]=good

C.! char *str=good

D.! char str[5]={'g','o','o','d'}!

参考答案:A

3 . C语言中_______。

A.能使用do-while语句构成的循环

B.do-while语句构成的循环必须用break语句才能退出

C. do-while语句构成的循环,当while语句中的表达式为非零时结束循环

D. do-while语句构成的循环,当while语句中的表达式值小于零时结束循环

参考答案:A

4 . 以下选项中,与k=n++完全等价的表达式是_____。

A.k=n,n=n+1

B.n=n+1,k=n

C. k=++n

D. k+=n+1

参考答案:A

5 . 有定义语句:int b;char c[10]; ,则正确的输入语句是_____。

A.scanf("%d%s",&b,&c);

B.scanf("%d%s",&b,c);

C. scanf("%d%s",b,c);

D. scanf("%d%s",b,&c);

参考答案:B

6 . 若有定义:int aa[8];则以下表达式中不能代表数组元aa[1]的地址的是_____。

A.&aa[0]+1

B.&aa[1]

C. &aa[0]++

D. aa+1

参考答案:D

7 . 若 i 、 j 已定义为 int 型,则以下程序段中语句 printf( “ %d ” ,i*j); 的执行次数

是_____。 for ( i=3;i>0;i-- ) for ( j=0;j<4;j++ ) printf( “ %d ” ,i*j);

A.12

B.15

C.16

D.20

参考答案:A

8 . int a=3,b=2;printf(“%d,%dn”,--a,b++);输出结果是( )。

A.2,2

B.2,3

C. 3,2

D. 3,3

参考答案:A

9 . 以下程序段 ,正确的说法是______。 x = -1; do { x=x*x;} while(!x);

A.死循环

B.循环一次

C. 循环两次

D. 有语法错误

参考答案:B

10 . 若定义char ch[8],则以下表达式中____不能代表数组元素ch[1]的地址。

A.&ch[0]+1

B.&ch[1]

C. &ch[0]++

D. ch+1

参考答案:C

11 . 下列描述中不正确的是____。

A.字符型数组中可以存放字符串

B.可以对字符型数组进行整体输入、输出

C. 可以对整型数组进行整体输入、输出

D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值

参考答案:C

12 . 下面正确的函数定义形式是______。

A.double fun(int x,int y)

B.double fun(int x;int y)

C. double fun(int x,int y);

D. double fun(int x,y);

参考答案:C

13 . 下述对C语言字符数组的描术中错误的是____。

A.字符数组可以存放字符串

B.字符数组中的字符串可以整体输入、输出

C. 可以在赋值语句通过赋值运算符“=”对字符数组整体赋值

D. 不可以用关系运算符对字符数组中的字符串进行比较

参考答案:C

14 . 有下列程序段,while循环执行的次数是_____。 int k=0; while(k=1) k++;

A.无数次

B.有语法错,不能执行

C. 一次也不执行

D. 执行一次

参考答案:A

15 . 已知char ch[]=”my name”;则字符数组ch的长度是_____。

A.6

B.7

C.8

D.9

参考答案:C

16 . func((exp1,exp2),(exp3,exp4,exp5));下面函数调用语句含有实参的个数为_____。

A.1

B.2

C.5

D.4

参考答案:B

17 . 若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为 4 的表达式是_____。

A.a[4]

B.a[a[2]+1]

C. a[a[2]]

D. a[3]+1

参考答案:C

18 . 若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是_____。 for (i=5;i;i--)

for(j=0;j<4;j++){...}

A.20

B.25

C.24

D.30

参考答案:A

19 . 以下的for循环是______。 for(x=0,y=0; (y!=123)&&(x<4); x + + );

A.是无限循环

B.循环次数不定

C. 执行4次

D. 执行3次

参考答案:C

20 . 已知:char str1[10],str2[10]={"books"};则在程序中能够将字符串“books”赋给数组str1

的正确语句是( )。

A.str1={"books"};

B.strcpy(str1,str2);

C. str1=str2;

D. strcpy(str2,str1);

参考答案:B

1 . 内存单元的地址与内存单元中的内容是两个相同的内容。

对 错

参考答案:错

2 . func(ex1,(ex2,ex3),(ex4,ex5,ex6));含3个实参。

对 错

参考答案:对

3 . 下列程序段的输出结果是hello main() { char b[]="Hello,you"; b[5]=0; printf("%s n", b ); }

对 错

参考答案:对

4 . 对于二维数组a[2][3],则a[1]表示是第二行的首地址。

对 错

参考答案:对

5 . 一个数组能够存储不同类型的数据。

对 错

参考答案:错

6 . 对于二维数组a[2][3],则a[2]表示是第二行的首地址。

对 错

参考答案:错

7 . 在定义数组变量时,可以不指定数组的长度。

对 错

参考答案:错

8 . 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个

数是4。

对 错

参考答案:错

9 . break是结束本次循环,而continue是结束所有的循环。

对 错

参考答案:错

10 . 对于任何函数,它都有一个返回值。

对 错

参考答案:对

1要把高级语言编写的源程序转换为目标程序,需要使用_______。

A.编辑程序

B.驱动程序

C. 诊断程序

D. 编译程序

参考答案:D

答案解析: 详见第1章-1 程序设计和程序设计与语言,把高级语言的源程序翻译成机器语

言的目标程序主要有两种方式:编译方式和解释方式,编译方式是指将用高级语言编写的程

序经编译程序翻译形成可由计算机执行的目标程序的过程,C语言是编译型语言。

2 . 下列______属于C语言中字符常量。

A.abc'

B.”n”

C. 'a'

D. 'a0'

参考答案:C

3 . C语言对嵌套if语句的规定是:else总是和_____配对。

A.其之前最近的if

B.第一个if

C. 缩进位置相同的if

D. 其前面最近且尚未配对的if

参考答案:D

4 . 若变量已正确定义并赋值,下面符合C语言语法的表达式是______。

A.a:=b+1

B.a=b=c+2

C. int 18.5%3

D. a=a+7=c+b

参考答案:B

5 . 以下运算符中优先级最低的运算符是_____。

A.&&

B.&

C. ||

D. =

参考答案:D

答案解析: 详见教材附录A 运算符的优先级和结合性,优先级从高到低排序:&、&&、||、

=

6 . 已知int a=4;执行语句a+=a-=(a-2)*(a-2);后,a的值是_______。

A.0

B.6

C.-24

D.-60

参考答案:A

答案解析: 详见第2章-2 运算符和表达式,符合赋值运算符,首先a+=a-=4,然后由右向

左开始,a-=4相当于a=a-4=4-4=0,然后a+=0相当于a=a+0=0+0=0

7 . 设x和y均为int 型变量,则以下语句:x+y=y;y=x-y;y=x-y;x-=y;的功能是____。

A.把x和y按从大到小排列

B.把x和y按从小到大排列

C. 无确定结果

D. 交换x和y中的值

参考答案:D

8 . 以下叙述中错误的是_____。

A.用户所定义的标识符允许使用关键字

B.用户所定义的标识符应尽量做到“见名知意

C. 用户所定义的标识符必须以字母或下划线开头

D. 用户定义的标识符中,大、小写字母代表不同标识

参考答案:A

答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由

字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是

字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,

如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到

“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字

符。

9 . 二进制语言是属于面向_____的语言。

A.机器

B.过程

C. 问题

D. 对象

参考答案:A

答案解析: 详见第1章-1 程序设计和程序设计与语言,根据程序设计语言与计算机硬件的

联系程度,分为机器语言、汇编语言、高级语言三种,机器语言和汇编语言比较依赖于计算

机硬件,又被称为低级语言,机器语言是用计算机直接能理解和执行的由0和1组成的二进

制编码表示的命令,机器语言是面向机器的语言,计算机能直接识别,执行效率高。

10 . C语言程序从main()函数开始执行,所以这个函数要写在____。

A.程序文件的开始

B.程序文件的最后

C. 它所调用的函数的前面

D. 程序文件的任何位置

参考答案:D

11 . 以下选项中属于C语言的数据类型的_____。

A.复数型

B.逻辑型

C. 双精度型

D. 集合型

参考答案:C

12 . 以下选项中不属于C语言的类型的是_____。

A.signed short int

B.unsigned long int

C. unsigned int

D. long short

参考答案:D

13 . C语言程序中,下列( )组标识符是合法。

A.abc、2id、while

B.4d、DO、oodb

C. str_1、print、aBc

D. WORD、oodb、Iamm

参考答案:C

答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由

字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是

字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,

如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到

“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字

符。

14 . 若定义 int m=7,n=12; 则能得到值为3的表达式是( )

A.n%=(m%=5)

B.n%=(m-m%5)

C. n%=m-m%5

D. (n%=m)-(m%=5)

参考答案:D

答案解析: 详见第2章-2 运算符和表达式-符合赋值运算符

15 . 下面表示正确的是_____。

A.C语言中的逗号是一种运算符

B.在C语言中,一行只能有一个语句

C. C中的变量不区分大小写

D. c中的关键字可以做为变量名

参考答案:A

16 . 以下_______不是高级语言。

A.Basic语言

B.C语言

C. JAVA语言

D. 汇编语言

参考答案:D

答案解析: 详见第1章-1 程序设计和程序设计与语言,根据程序设计语言与计算机硬件的

联系程度,分为机器语言、汇编语言、高级语言三种,机器语言和汇编语言比较依赖于计算

机硬件,又被称为低级语言。

17 . 以下正确的叙述______。

A.在C程序中,每行只能写一条语句

B.若a是实型数据,C程序中允许赋值a=10,因此实型变量中允许存放整型数

C. 在C程序中,无论是整数还是实数,都能被正确无误的表示

D. 在C程序中,%是只能用于整数的运算符

参考答案:B

18 . 以下叙述中错误的是______。

A.C程序中的 #include和 #define行均不是C语句

B.除逗号运算符外,赋值运算符的优先级最低

C. C程序中,j++;是赋值语句

D. C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算

参考答案:D

答案解析: D选项中,%只能用于整型数据的运算。

19 . 已知int x=2,y=3;则计算表达式y+=x-=x*=y后,x和y分别为( )。

A.6,5

B.0,3

C. 0,5

D. -4,2

参考答案:B

答案解析: 详见第2章-2 运算符和表达式,符合赋值运算符的几个规则:(1)复合赋值复

合运算符的左边必须是变量。(2)复合赋值运算符右边的表达式计算完成后才参与复合赋值

运算。(3)复合赋值运算的优先级符合C语言运算符的优先级规则,结合方向为从右到左。

因此:首先x*=y运算后x=6y=3,然后x-=6运算后x=0y=3,继续y+=0运算后x=0y=3。

20 . 设有语句char a=’72’;则变量a____。

A.包含1个字符

B.包含2个字符

C. 包含3个字符

D. 说明不合法

参考答案:A

判断题(共10题,每题 2分)

1 . 假定x和y为double型,则表达式x=2,y=x+3/2的值是3。

对 错

参考答案:错

2 . C程序一般由一个或者多个函数组成,它们可以集中放在一个文件中,也可分散放在

几个文件中。

对 错

参考答案:对

3 . C语言中,每个程序都必须要有一个且只有一个main函数。

对 错

参考答案:对

答案解析: 详见第1章-3 简单C语言程序,每个C程序都是从main函数开始执行,并且

在main函数结束,一个C程序可以由一个或多个不同命名函数组成,但是可执行的C程序

必须有并且只能有一个main函数。

4 . 只能在循环体内和switch语句体内使用break语句。

对 错

参考答案:对

5 . 一个算法应该具备有穷性、确定性、输入、输出和有效性。

对 错

参考答案:对

6 . c程序是由c文件构成,而c文件是由函数构成。

对 错

参考答案:对

7 . 逻辑运算符的优先级比算术运算符高。

对 错

参考答案:对

8 . 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。

对 错

参考答案:对

9 . c语言中,每个函数都必须要有一个且只有一个main函数。

对 错

参考答案:错

10 . x的绝对值小于10的条件表达式是x-10

对 错

参考答案:错

已知int m,n,i=2;执行语句m=-i++;n=++i;后,m和n的值分别是_____。

A.-3 4

B.-2 4

C. -3 3

D. -2 3

参考答案:B

2 . 若有定义:int aa[8];则以下表达式中不能代表数组元aa[1]的地址的是_____。

A.&aa[0]+1

B.&aa[1]

C. &aa[0]++

D. aa

参考答案:D

3 . func(exp1,(exp2,exp3),(exp4,exp5,exp6));含有( )个实参。

A.1

B.2

C.3

D.6

参考答案:C

4 . 下列描述中不正确的是____。

A.字符型数组中可以存放字符串

B.可以对字符型数组进行整体输入、输出

C. 可以对整型数组进行整体输入、输出

D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值

参考答案:C

5 . 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。

A.地址传递

B.单向值传递

C. 由实参传给形参,再由形参传回实参

D. 传递方式由用户指定

参考答案:B

6 . 若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( )。 for (i=3;i>0;i--)

for (j=0;j<4;j++){...}

A.12

B.15

C.16

D.20

参考答案:B

7 . 有定义语句:int b;char c[10]; ,则正确的输入语句是_____。

A.scanf("%d%s",&b,&c);

B.scanf("%d%s",&b,c);

C. scanf("%d%s",b,c);

D. scanf("%d%s",b,&c);

参考答案:B

8 . func((exp1,exp2),(exp3,exp4,exp5));下面函数调用语句含有实参的个数为_____。

A.1

B.2

C.5

D.4

参考答案:B

9 . 若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为4的表达式是_____。

A.a[4]

B.a[a[2]+1]

C. a[a[2]]

D. a[3]+1

参考答案:C

10 . 以下程序段 ,正确的说法是______。 x = -1; do { x=x*x;} while(!x);

A.死循环

B.循环一次

C. 循环两次

D. 有语法错误

参考答案:B

11 . 已知char ch[]=”my name”;则字符数组ch的长度是_____。

A.6

B.7

C.8

D.9

参考答案:C

12 . 若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是_____。 for (i=5;i;i--)

for(j=0;j<4;j++){...}

A.20

B.25

C.24

D.30

参考答案:A

13 . 以下语句:int b; char c[10];则正确的输入语句是_______。

A.scanf(“%d%s”,&b,&c);

B.scanf(“%d%s”,&b, c);

C. scanf(“%d%s”, b, c);

D. scanf(“%d%s”,b,&c);

参考答案:B

14 . 以下的for循环是______。 for(x=0,y=0; (y!=123)&&(x<4); x + + );

A.是无限循环

B.循环次数不定

C. 执行4次

D. 执行3次

参考答案:C

16 . 若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为 4 的表达式是_____。

A.a[4]

B.a[a[2]+1]

C. a[a[2]]

D. a[3]+1

参考答案:C

17 . 若有初始化语句int a[5]={1,2,3,4,5}; ,值为 5 的表达式是( )。

A.a[2]

B.a[a[2]+1]

C. a[a[2]]

D. a[2]+1

参考答案:B

19 . int a=3,b=2;printf(“%d,%dn”,--a,b++);输出结果是( )。

A.2,2

B.2,3

C. 3,2

D. 3,3

参考答案:A

20 . 若有定义char ch[8],则以下不能代表数组元素ch[1] 的地址是_____。

A.&ch[0]+1

B.&ch[1]

C. &ch[0]++

D. ch+1

参考答案:C

判断题(共10题,每题 2分)

1 . 已知:char str1[10],str2[10]={"books"};则在程序中能够将字符串“books”赋给数组str1

的正确语句是strcpy(str2,str1);。

对 错

参考答案:错

2 . 对于任何函数,它都有一个返回值。

对 错

参考答案:对

3 . 下列程序段的输出结果是hello main() { char b[]="Hello,you"; b[5]=0; printf("%s n", b ); }

对 错

参考答案:对

4 . getch()和getche()函数的功能相同。

对 错

参考答案:错

5 . 调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。

对 错

参考答案:对

6 . func(ex1,(ex2,ex3),(ex4,ex5,ex6));含3个实参。

对 错

参考答案:对

7 . C语言中规定函数的返回值的类型是由return语句中的表达式类型所决定。

对 错

参考答案:错

8 . 内存单元的地址与内存单元中的内容是两个相同的内容。

对 错

参考答案:错

9 . 对于二维数组a[2][3],则a[1]表示是第二行的首地址。

对 错

参考答案:对

10 . 对于二维数组a[2][3],则a[2]表示是第二行的首地址。

对 错

参考答案:错

下列变量名中合法的是______。

A.

B.3a6b

C. _6a7b

D. $ABC

参考答案:C

答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由

字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是

字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,

如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到

“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字

符。

2 . 以下叙述中错误的是_____。

A.用户所定义的标识符允许使用关键字

B.用户所定义的标识符应尽量做到“见名知意

C. 用户所定义的标识符必须以字母或下划线开头

D. 用户定义的标识符中,大、小写字母代表不同标识

参考答案:A

答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由

字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是

字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,

如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到

“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字

符。

3 . 已知在ascii代码中,字母a的序号为65,以下程序的输出的结果是_____。

#includemain(){ char c1=’a’, c2=’y’;printf(%d,%dn,c1,c2); }

A.因输出格式不合法,输出错误信息

B.65,90

C. A,Y

D. 65,89

参考答案:D

4 . C语言是_______语言。

A.高级

B.中级

C. 机器

D. 汇编

参考答案:A

答案解析: 详见第1章-1 程序设计和程序设计与语言,根据程序设计语言与计算机硬件的

联系程度,分为机器语言、汇编语言、高级语言三种,机器语言和汇编语言比较依赖于计算

机硬件,又被称为低级语言,高级语言与具体的计算机硬件平台无关,更符合人类叙述问题

的习惯,常见的有C、JAVA、C#等,并且C是编译型语言。

5 . 已知int a=1;执行语句a+=a-=a*a;后,a的值是_______。

A.0

B.1

C.-1

D.2

参考答案:A

答案解析: 详见第2章-2 运算符和表达式,符合赋值运算符,首先a+=a-=1,然后由右向

左开始,a-=1相当于a=a-1=1-1=0,然后a+=0相当于a=a+0=0+0=0

6 . 以下说法正确的是_____。

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

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

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

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

参考答案:C

7 . 将高级语言编写的程序翻译成目标程序的是_______程序。

A.解释程序

B.编译程序

C. 汇编程序

D. 源程序

参考答案:B

答案解析: 详见第1章-1 程序设计和程序设计与语言,把高级语言的源程序翻译成机器语

言的目标程序主要有两种方式:编译方式和解释方式,编译方式是指将用高级语言编写的程

序经编译程序翻译形成可由计算机执行的目标程序的过程。

8 . 下列____________数据类型属于构造类型。

A.数组类型

B.指针类型

C. 整型

D. 字符型

参考答案:A

9 . 设有语句char a=’72’;则变量a____。

A.包含1个字符

B.包含2个字符

C. 包含3个字符

D. 说明不合法

参考答案:A

10 . 要把高级语言编写的源程序转换为目标程序,需要使用_______。

A.编辑程序

B.驱动程序

C. 诊断程序

D. 编译程序

参考答案:D

答案解析: 详见第1章-1 程序设计和程序设计与语言,把高级语言的源程序翻译成机器语

言的目标程序主要有两种方式:编译方式和解释方式,编译方式是指将用高级语言编写的程

序经编译程序翻译形成可由计算机执行的目标程序的过程,C语言是编译型语言。

11 . 若变量已正确定义并赋值,下面符合C语言语法的表达式是______。

A.a:=b+1

B.a=b=c+2

C. int 18.5%3

D. a=a+7=c+b

参考答案:B

12 . C语言程序中,下列______组用户标识符是合法。

A.abc、_2id、while

B.4d、DO、oodb

C. str_1、print、aBc

D. WORD、oodb、Iamm

参考答案:C

答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由

字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是

字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,

如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到

“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字

符。

13 . C语言程序的基本单位是_______。

A.程序行

B.语句

C. 函数

D. 字符

参考答案:C

14 . C语言程序中,下列( )组标识符是合法。

A.abc、2id、while

B.4d、DO、oodb

C. str_1、print、aBc

D. WORD、oodb、Iamm

参考答案:C

答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由

字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是

字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,

如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到

“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字

符。

15 . 以下运算符中优先级最低的运算符是_____。

A.&&

B.&

C. ||

D. =

参考答案:D

答案解析: 详见教材附录A 运算符的优先级和结合性,优先级从高到低排序:&、&&、||、

=

16 . 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是____。

A.1

B.3

C.2

D.2.5

参考答案:C

17 . 设x和y均为int 型变量,则以下语句:x+y=y;y=x-y;y=x-y;x-=y;的功能是____。

A.把x和y按从大到小排列

B.把x和y按从小到大排列

C. 无确定结果

D. 交换x和y中的值

参考答案:D

18 . 在C语言中,属于单目运算符的是____。

A.%

B./

C. <

D. !

参考答案:D

19 . 执行以下程序段后, x, y和z的值分别是______。int x=10,y=20,z=30;if(x>y) z=x; x=y;

y=z;

A.10,20,30

B.20,30,30

C. 20,30,10

D. 20,30,20

参考答案:B

20 . 二进制语言是属于面向_____的语言。

A.机器

B.过程

C. 问题

D. 对象

参考答案:A

答案解析: 详见第1章-1 程序设计和程序设计与语言,根据程序设计语言与计算机硬件的

联系程度,分为机器语言、汇编语言、高级语言三种,机器语言和汇编语言比较依赖于计算

机硬件,又被称为低级语言,机器语言是用计算机直接能理解和执行的由0和1组成的二进

制编码表示的命令,机器语言是面向机器的语言,计算机能直接识别,执行效率高。

1 . 在if-else语句中,配对规则是else总是与最近的未配对的if配对。

对 错

参考答案:对

2 . 逻辑运算符的优先级比算术运算符高。

对 错

参考答案:错

3 . x的绝对值大于5的条件表达式是x-5。

对 错

参考答案:错

4 . 表达式a=a+b可以写成a+=b。

对 错

参考答案:对

5 . 表达式16/8*sqrt(4.0)/2值的数据类型为double双精度实型。

对 错

参考答案:对

6 . c语言中,每个函数都必须要有一个且只有一个main函数。

对 错

参考答案:错

7 . x的绝对值小于10的条件表达式是x-10

对 错

参考答案:错

8 . 在C语言中,变量不区分大小写。

对 错

参考答案:错

答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由

字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是

字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,

如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到

“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字

符。

9 . C语言中,每个程序都必须要有一个且只有一个main函数。

对 错

参考答案:对

答案解析: 详见第1章-3 简单C语言程序,每个C程序都是从main函数开始执行,并且

在main函数结束,一个C程序可以由一个或多个不同命名函数组成,但是可执行的C程序

必须有并且只能有一个main函数。

10 . c程序是由c文件构成,而c文件是由函数构成。

对 错

参考答案:对

已知:char str1[10],str2[10]={"books"};则在程序中能够将字符串“books”赋给数组str1的正

确语句是( )。

A.str1={"books"};

B.strcpy(str1,str2);

C. str1=str2;

D. strcpy(str2,str1);

参考答案:B

2 . 在C语言中,函数的数据类型是指_______。

A.函数返回值的数据类型

B.函数形参的数据类型

C. 调用该函数时的实参的数据类型

D. 任意指定的数据类型

参考答案:A

3 . 若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为 4 的表达式是_____。

A.a[4]

B.a[a[2]+1]

C. a[a[2]]

D. a[3]+1

参考答案:C

4 . 下面正确的函数定义形式是______。

A.double fun(int x,int y)

B.double fun(int x;int y)

C. double fun(int x,int y);

D. double fun(int x,y);

参考答案:C

5 . 有下列程序段,while循环执行的次数是_____。 int k=0; while(k=1) k++;

A.无数次

B.有语法错,不能执行

C. 一次也不执行

D. 执行一次

参考答案:A

6 . 下面叙述中正确的______。

A.对于用户自己定义的函数,在使用前必须加以说明

B.说明函数时必须明确其参数类型和返回类型

C. 函数可以返回一个值,也可以什么值也不返回

D. 空函数不完成任何操作,所以在程序设计中没有用处

参考答案:C

7 . func((exp1,exp2),(exp3,exp4,exp5));下面函数调用语句含有实参的个数为_____。

A.1

B.2

C.5

D.4

参考答案:B

8 . 已知int m,n,i=2;执行语句m=-i++;n=++i;后,m和n的值分别是_____。

A.-3 4

B.-2 4

C. -3 3

D. -2 3

参考答案:B

9 . 若有定义char ch[8],则以下不能代表数组元素ch[1] 的地址是_____。

A.&ch[0]+1

B.&ch[1]

C. &ch[0]++

D. ch+1

参考答案:C

10 . 以下正确的函数声明形式是______。

A.double fun(int x , int y)

B.double fun(int x ; int y)

C. double fun(int x , int y);

D. double fun(int x , y);

参考答案:C

12 . 下列( )不属于结构化程序设计的循环结构。

A.for

B.while

C. if-else

D. do-while

参考答案:C

13 . 合法的数组定义是________。

A.int a[]="string";

B.int a[5]={0,1,2,3,4,5};

C. vhst s="string";

D. char a[]={0,1,2,3,4,5};

参考答案:D

14 . 若定义char ch[8],则以下表达式中____不能代表数组元素ch[1]的地址。

A.&ch[0]+1

B.&ch[1]

C. &ch[0]++

D. ch+1

参考答案:C

15 . 下述对C语言字符数组的描术中错误的是____。

A.字符数组可以存放字符串

B.字符数组中的字符串可以整体输入、输出

C. 可以在赋值语句通过赋值运算符“=”对字符数组整体赋值

D. 不可以用关系运算符对字符数组中的字符串进行比较

参考答案:C

16 . 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。

A.地址传递

B.单向值传递

C. 由实参传给形参,再由形参传回实参

D. 传递方式由用户指定

参考答案:B

17 . 若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是_____。 for (i=5;i;i--)

for(j=0;j<4;j++){...}

A.20

B.25

C.24

D.30

参考答案:A

19 . 有以下程序段执行后,b的值是_____。 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[4];

A.5

B.6

C.8

D.9

参考答案:C

1 . 在定义数组变量时,可以不指定数组的长度。

对 错

参考答案:错

2 . 调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。

对 错

参考答案:对

3 . func(ex1,(ex2,ex3),(ex4,ex5,ex6));含3个实参。

对 错

参考答案:对

4 . break是结束本次循环,而continue是结束所有的循环。

对 错

参考答案:错

5 . 内存单元的地址与内存单元中的内容是两个相同的内容。

对 错

参考答案:错

6 . 已知:char str1[10],str2[10]={"books"};则在程序中能够将字符串“books”赋给数组str1

的正确语句是strcpy(str2,str1);。

对 错

参考答案:错

7 . 对于二维数组a[2][3],则a[2]表示是第二行的首地址。

对 错

参考答案:错

8 . 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是 10,2 。

printf("%d,%dn",x--,--y);

对 错

参考答案:对

9 . 在C语言中,for循环的表达式一是必须要的。

对 错

参考答案:错

10 . 对于任何函数,它都有一个返回值。

对 错

参考答案:对

3 . 有以下函数定义:void fun(int n, double x) { …… }如果对此函数正确定义并赋值,则

对函数fun的正确调用语句是______。

A.fun(int y,double m);

B.k=fun(10,12.5);

C. fun(x,n)

D. void fun(n,x);

参考答案:C

执行下面程序片段的结果是______。 int x=23; do { printf("%2d",x--);} while(!x);

A.打印出321

B.打印出23

C. 不打印任何内容

D. 陷入死循环

参考答案:B

16 . 设i、j均为整形变量,且i=9,j=2,则printf(“%d,%dn”,i--,--j);语句的输出结果是_____。

A.9,2

B.10,2

C. 9,1

D. 10,1

参考答案:C

1 . 若变量已正确定义并赋值,下面符合C语言语法的表达式是______。

A.a:=b+1

B.a=b=c+2

C. int 18.5%3

D. a=a+7=c+b

我的答案: B

参考答案:B

答案解析: 暂无

2 . 与十进制数87相等的十六进制数是( )。

A.3F

B.214

C.57

D.127

我的答案: C

参考答案:C

答案解析: 暂无

3 . 以下运算符中优先级最低的运算符是_____。

A.&&

B.&

C. ||

D. =

我的答案: C

参考答案:D

答案解析: 详见教材附录A 运算符的优先级和结合性,优先级从高到低排序:&、&&、||、

=

4 . 已知int a=4;执行语句a+=a-=(a-2)*(a-2);后,a的值是_______。

A.0

B.6

C.-24

D.-60

我的答案: C

参考答案:A

答案解析: 详见第2章-2 运算符和表达式,符合赋值运算符,首先a+=a-=4,然后由右向

左开始,a-=4相当于a=a-4=4-4=0,然后a+=0相当于a=a+0=0+0=0

5 . 二进制语言是属于面向_____的语言。

A.机器

B.过程

C. 问题

D. 对象

我的答案: A

参考答案:A

答案解析: 详见第1章-1 程序设计和程序设计与语言,根据程序设计语言与计算机硬件的

联系程度,分为机器语言、汇编语言、高级语言三种,机器语言和汇编语言比较依赖于计算

机硬件,又被称为低级语言,机器语言是用计算机直接能理解和执行的由0和1组成的二进

制编码表示的命令,机器语言是面向机器的语言,计算机能直接识别,执行效率高。

6 . 以下说法不正确的是_____。

A.在C程序中,逗号运算符的优先级最低

B.在C程序中,aph和aPh是两个不同的变量

C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不

D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数

我的答案: D

参考答案:D

答案解析: 暂无

7 . 若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输

入是______。

A.5,6 ,7

B.5回车换行 6 7

C.5 6 7

D.5,6,7

我的答案: A

参考答案:A

答案解析: 详见第2章-4 数据的输出和输入-数据分隔,调用scanf()函数进行数值型数据

输入时,遇到以下几种情况则认为数据输入结束:(1)遇空格、回车符或制表符(Tab)。(2)

达到指定的宽度。(3)遇到非法输入。

8 . 下面表示正确的是_____。

A.C语言中的逗号是一种运算符

B.在C语言中,一行只能有一个语句

C. C中的变量不区分大小写

D. c中的关键字可以做为变量名

我的答案: A

参考答案:A

答案解析: 暂无

9 . 在C语言中,属于单目运算符的是____。

A.%

B./

C. <

D. !

我的答案: D

参考答案:D

答案解析: 暂无

10 . 以下正确的叙述______。

A.在C程序中,每行只能写一条语句

B.若a是实型数据,C程序中允许赋值a=10,因此实型变量中允许存放整型数

C. 在C程序中,无论是整数还是实数,都能被正确无误的表示

D. 在C程序中,%是只能用于整数的运算符

我的答案: C

参考答案:B

答案解析: 暂无

11 . C语言程序中,下列______组用户标识符是合法。

A.For、-sub、Case

B.4d、DO、Size

C. f2_G3、IF、abc

D. WORD、void、define

我的答案: C

参考答案:C

答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由

字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是

字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,

如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到

“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字

符。

12 . 以下叙述中错误的是______。

A.C程序中的 #include和 #define行均不是C语句

B.除逗号运算符外,赋值运算符的优先级最低

C. C程序中,j++;是赋值语句

D. C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算

我的答案: D

参考答案:D

答案解析: D选项中,%只能用于整型数据的运算。

13 . C语言程序的基本单位是_______。

A.程序行

B.语句

C. 函数

D. 字符

我的答案: C

参考答案:C

答案解析: 暂无

14 . 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是____。

A.1

B.3

C.2

D.2.5

我的答案: B

参考答案:C

答案解析: 暂无

15 . 设x和y均为int 型变量,则以下语句:x+y=y;y=x-y;y=x-y;x-=y;的功能是____。

A.把x和y按从大到小排列

B.把x和y按从小到大排列

C. 无确定结果

D. 交换x和y中的值

我的答案: D

参考答案:D

答案解析: 暂无

16 . 以下_______不是高级语言。

A.Basic语言

B.C语言

C. JAVA语言

D. 汇编语言

我的答案: D

参考答案:D

答案解析: 详见第1章-1 程序设计和程序设计与语言,根据程序设计语言与计算机硬件的

联系程度,分为机器语言、汇编语言、高级语言三种,机器语言和汇编语言比较依赖于计算

机硬件,又被称为低级语言。

17 . C语言程序中,下列______组用户标识符是合法。

A.abc、_2id、while

B.4d、DO、oodb

C. str_1、print、aBc

D. WORD、oodb、Iamm

我的答案: C

参考答案:C

答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由

字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是

字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,

如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到

“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字

符。

18 . 以下选项中属于C语言的数据类型的_____。

A.复数型

B.逻辑型

C. 双精度型

D. 集合型

我的答案: C

参考答案:C

答案解析: 暂无

19 . 下面说法错误的是______。

A.整型变量可以存放字符型数据

B.字符型变量可以存放任意整型常量的值

C. 变量必须限定以后使用

D. 字符串的长度不等于它占的字节数

我的答案: B

参考答案:B

答案解析: 暂无

20 . 字符型常量在内存中存放的是______代码值。

A.ASCII

B.二进制

C. 十进制

D. 八进制

我的答案: A

参考答案:A

答案解析: 暂无

判断题(共10题,每题 2分)

1 . 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。

对 错

我的答案: 错

参考答案:对

答案解析: 暂无

2 . 字符型常量在内存中存放的是ASCII代码值。

对 错

我的答案: 对

参考答案:对

答案解析: 暂无

3 . x的绝对值小于10的条件表达式是x-10

对 错

我的答案: 错

参考答案:错

答案解析: 暂无

4 . 逻辑运算符的优先级比算术运算符高。

对 错

我的答案: 错

参考答案:对

答案解析: 暂无

5 . x的绝对值大于5的条件表达式是x-5。

对 错

我的答案: 错

参考答案:错

答案解析: 暂无

6 . C语言中,每个程序都必须要有一个且只有一个main函数。

对 错

我的答案: 对

参考答案:对

答案解析: 详见第1章-3 简单C语言程序,每个C程序都是从main函数开始执行,并且

在main函数结束,一个C程序可以由一个或多个不同命名函数组成,但是可执行的C程序

必须有并且只能有一个main函数。

7 . 表达式16/8*sqrt(4.0)/2值的数据类型为double双精度实型。

对 错

我的答案: 对

参考答案:对

答案解析: 暂无

8 . 在if-else语句中,配对规则是else总是与最近的未配对的if配对。

对 错

我的答案: 对

参考答案:对

答案解析: 暂无

9 . c语言中,每个函数都必须要有一个且只有一个main函数。

对 错

我的答案: 错

参考答案:错

答案解析: 暂无

10 . 只能在循环体内和switch语句体内使用break语句。

对 错

我的答案: 对

参考答案:对

答案解析: 暂无


本文标签: 语言 函数 语句