C语言章节复习检测_第1页
C语言章节复习检测_第2页
C语言章节复习检测_第3页
C语言章节复习检测_第4页
C语言章节复习检测_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

复习:

第一章

1.以下关于C语言的叙述不正确的是(D)o

A.一个C语言程序可由一个或多个函数组成

B.一个C语言程序必须包含一个主函数

C.C语言程序的基本组成单位是函数

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

2.以下叙述正确的是(C)0

AC程序基本组成单位是语句BC程序每一行只能写一个语句

C简单C语句必须以分号作为结束符D注释语句可以嵌套

3.一个C语言程序是从(B)开始执行的。

A程序中第一个函数B名为main的函数

C包含文件(头文件)的第一个函数D程序中的第一个语句

4.在计算机上可以直接运行的程序是(C)。

A.高级语言程序B.汇编语言程序

C.机器语言程序D.C语言程序

5.一个C语言程序是由(A)o

A.若干函数组成B.若干过程组成

C.若干主程序组成D.若干子程序组成

6.简单地说,设计和调试C语言程序要经过编辑、编译、链接

和执行4个阶段。

第二章

1.请选出合法的C语言赋值语句_Bo

Aa=b=58Bi++;Ca=58,b=58Dk=int(a+b);

2.若“w=l,x=2,y=3,z=4,\则条件表达式“w>x?w:y〈z?y:z”的结果是3

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

4.C语言中,设x为int型变量,则描述“x是偶数”的表达式是

x%2==0o

5.已知scanf("a=%d,b=%d,c=%d\&a,&b,&c);,若从键盘输入5、3、8三个数分别

作为变量a、b、c的值,则正确的编辑语句是

scanf("%d.%d.%d".&a,&b,&c)。

6.请选出可以作为C诏言用户标识符的•组标识符(B)o

A.void,define,WORDB.A3B3,_123,abc

C.FOR,-abc,CaseD.2a,Do,Sizeof

7.sizeof(float)是(C)。

A.一种函数调用B.一个不合法的表示形式

C.一个整型表达式D.一个浮点表达式

8.以下程序运行后的输出结果是(C)。

main()

{inta=0,b=0;

a=30;b=20;printf("a-b二%d\n〃,a-b);

)

Aa-b=30Ba-b=10C10D出错

9.在C语言中,要求运算数必须是整型的运算符是(D)

A./B.++C.!=D.%

10.若X、j和k都是int型变量,则计算表达式“x=(i=4,j=16,k=32)”后,

x的值为(C)0

A.4B.16

C.32D.52

11.以下程序运行后的输出结果是(B)o

main()

{inta=0,b=0;

a=10;b=20;printR,,a+b=%d\n'\a+b);

)

Aa+b=10Ba+b=30C30D出错

12.设a、b和c都是int型变量,且a=3,b=0,c=5,则以下值为0的表达式是()。

ABa&&b||cCa&&b&&cDa||b&&c

13.表示关系“x«y〈=z”的C语言表达式为(A)o

A.(x<=y)&&(y<=z)B.(x<=y)AND(y<+z)

C.(x<=y<=y)D.(x<=y)&(y<=z)

14.已知x=12,y=10,执行语句“尸x>12?x+1:x-1”后y的值为(B)o

A.13B.11C.0D.10

15.下列运算符优先级最高的是(C)o

A.关系运算符B.赋值运算符

C.算术运算符D.逻辑运算符

16.编译C语言程序时,程序中的注释部分将(A)o

A.不参加编译,也不会出现在目标程序中

B.参加编译,但不会出现在目标程序中

C.不参加编译,但会出现在目标程序中

D.参加编译,并会出现在目标程序中

17.以下选项中不属于C语言类型的是(D)o

A.signedshortintB.unsignedlongint

C.unsignedintD.longshort

18.当c的值不为0时,以下能将c的值赋给变量a,b的是(C)o

A.c=b=aB.(a=c)||(b=c)

C.(a=c)&&(b=c)D.a=c=b

第三章

L以下程序中,while循环的循环次数是(D)0

main(){inti=0;

whilc(i<10)

{if(i<i)continue;

iRi==5)break;

i++;

A1B10C6D死循环

2.以下叙述正确的是(D)o

Ado-while语句构成的循环不能用其它语句构成的循环来代替

Bdo-while语句构成的循环只能用break语句退出

C用do-while语句构成的循环,在while后的表达式为非零时结束循环

D用do-while语句构成的循环,在while后的表达式为零时结束循环

C.只能在循环体内使用continue诘句

D.从循环嵌套中退出时,只能使用goto语句

9.C语言的if语句中,用做判断的条件表达式为(A)。

A.任意表达式B.逻辑表达式

C.关系表达式D.算术表达式

10.若希望当x的值为奇数时,表达式的值为真,x的值为偶数时,表达式的值

为假,则以下不能满足要求的表达式是(C)。

A.x%2==lB.x%2

C.!(x%2)D.!(x%2=0)

11.下列叙述正确的是(D)0

A.break语句只能用于switch语句中

B.在switch语句中必须使用default

C.break语句必须与switch语句中的case配对使用

D.在switch语句中不一定使用break语句

12语句“while(!A);”中的表达式“!A”等价于(A)。

A.A=0B.A=1C.A!=0D.A!=l

13.在C语言中,break语句只能用于switch语句和循环

语句中。

14.输出所有的水仙花数。水仙花数是一个3位整数,它的各位数字的立方和等

于该数本身。

15.编写程序,打印九九乘法表。

16.从键盘输入任意一个整数,判断其是否为偶数。

17.从键盘输入一个字符,判断它是否是小写英文字母。

第四章

1.以下有关C语言中数组的说法正确的是(D)。

A.数组元素的数据类型可以不一致

B.数组元素的个数可以不确定,允许随机变动

C.可以使用动态内存分配技术定义元素个数可变的数组

D.定义一个数组后就确定了它所容纳的具有相同数据类型元素的个数

2.以下对一维整型数组a的正确定义(说明)的是(D)o

Ainta(10);Bintn=10,a[n];Cintn;D//defineSIZE10

scanf("%d”,&n);inta[SIZE];inta[n],

3.若有定义(说明)inta[10];,则对数组a的元素正确引用的是(D)。

Aa[10]Ba[3.5]Ca(5)Da[10-10]

4.以下不能对二维数组a进行正确初始化的语句是(C)o

Ainta[2][3]={0};Binta[][3]={{l,2},{0}};

Cinta[2][3]={{l,2},{3,4},{5,6}};Dinta[][3]={l,2,3,4,5,6);

5.对于以下定义,叙述正确的是(C)o

charx[]=nabcdef;

chary[]={'a:b''c',d,'e',f};

A数组x和数组y等价B数组K和数组y的长度相等

C数组x的长度大于数组y的长度D数组x的长度小于数组y的长度

6.下列语句错误的是(D)。

A.staticcharword[]={'C','h','i','n','a'};

B.staticcharword[]={"China”};

C.staticcharword[]="China”;

D.staticcharword[]='China';

7.以下不能对二维数组a进行正确初始化的语句是(C)。

Ainta[2][3]={0};Binta[][3]={{1,2},{O));

Cinta[2][3]={{l,2},{3,4},{5,6});Dinta[][3]={1,2,3,4,5,6);

8.以下有关C语言中数组的说法正确的是(D)。

A.数组元素的数据类型可以不一致

B.数组元素的个数可以不确定,允许随机变动

C.可以使用动态内存分配技术定义元素个数可变的数组

D.定义一个数组后就确定了它所容纳的具有相同数据类型元素的个数

9若有定义“inta[][3]={0,0};”,则下列所述正确的是(A)。

A.数组a的每个元素都可得到初值0

B.二维数组a的第一维的大小为4

C.数组a的行数为2

D.只有元素a[0][0]和可得到初值0,其他元素均得不到初值

10.若有定义“inta[3][4];则对a的数组元素引用正确的是(C

A.a[2][4]B.a[l,3]C.a[l+l][0]D.a(2)(1)

11.编写程序,从键盘任意输入20个整数,统计其中非负数个数,并计算非负数

之和。

12.

第五章

1.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为自动

(auto)o

2.C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是

值传递。

3.C程序中如果调用了strcmp函数,需要在程序开头加上编译预处理命令:

/include<string.h>。

4.函数调用语句"func((expl,exp2),(exp3,exp4,exp5));”包含的实参个

数为(B)o

A.1B.2C.4D.5

5.己知一个函数的定义如下:

doublefun(intx,doubley){.......}

则该函数正确的函数原型声明为_Ao

Adoublefun(intx,doubley)Bfun(intx,doubley)

Cdoublefun(int,double);Dfun(x,y);

6.在源程序的一个文件中定义的全局变量的作用域是(D)o

A在本文件的全部范围B该程序的全部范围

C一个函数的范围D从定义该变量的位置开始至该文件的结束

7.关于函数的参数,以下正确的说法是(A)。

A实参和与其对应的形参各占用独立的存储单元

B实参和与其对应的形参共占用一个存储单元

C有当实参和与其对应的形参同名时才共占用相同的存储单元

D形参是虚拟的,不占用存储单元

8.己知一个函数的定义如下:

doublefiin(intx,doubley){.......}

则该函数正确的函数原型声明为_A。

Adoublefun(intx,doubley)Bfun(intx,doubley)

Cdoublefun(int,double);Dfun(x,y);

9.在源程序的一个文件中定义的全局变量的作用域是(D)0

A在本文件的全部范围B该程序的全部范围

C一个函数的范围D从定义该变量的位置开始至该文件的结束

10.求字符串长度的函数为strlen,使用该函数时要用预处理命

令将头文件string/包含进来。

11.以下说法正确的是(C)o

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

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

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

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

12.函数调用不可以(D)。

A.出现在执行语句中B.出现在一个表达式中

C.作为一个函数的实参D.作为一个函数的形参

13.将一个函数声明为static后,该函数将(B)o

A.既可以被同一源文件中的函数调用,也可以被其他源文件中的函数调用

B.只能被同一源文件中的函数调用,不能被其他源文件中的函数调用

C.只能被其他源文件中的函数调用,不能被同一源文件中的函数调用

D.既不能被同一源文件中的函数调用,也不能被其他源文件中的函数调用

14.以下叙述中错误的是(D)0

A.在不同函数中可以使用相同名称的变量

B.函数中的形参是局部变量

C.在一个函数内定义的变量只在本函数范围内有效

D.在一个函数的复合语句中定义的变量在本函数范围内有效

15.函数gongyuO的作用是求整数numl和num2的最大公约数,并返回该值,请

填空。

gongyu(intnuml,intnum2)

inttemp,a,b;

if(numl<num2)

temp=numl;

numl=num2;

num2=temp;

)

a=numl;b=num2;

while(b!=0)

(

temp-a-b;a=b;b=temp;

)

return(a);

)

16.编写程序,调用函数使输入的一个字符串反序存放并输出。

17.在主函数中通过键盘输入10个互不相同的整数并存入一维数组中,调用函数

找出数组中的最大值,并从数组中删除该值,最后在主函数中输出删除后的

数组。

18.从键盘上输入若干个学生的成绩(用输入负数结束输入),统计出平均成绩,

并输出低于平均分的学生成绩。

19.

第六章

1.若已定义a为int型变量,则将指针变量p进行说明的同时使其指向变量a

的语句为int*p=ao

2.若有定义“intx,*pb;",则以下正确的赋值表达式是(A)o

A.pb=&xB.pb=xC.*pb=&xD.*pb=*x

3.若有定义“int则以下叙述正确的是(A)o

A.p是一个指针数组

B.p是一个指针,它只能指向一个每行包含3个int类型元素的二维数组

C.p是一个指针,它可以指向一个一维数组中的任意元素

D.(*p)[3]与*p[3]等价

4.语句int*p;说明了(C)_。

A.p是指向一维数组的指针

B.p是指向函数的指针,该函数返回一血型数据

C.p是指向ini型数据的指针

D.p是函数名,该函数返回一指向int型数据的指针

5.当执行以下程序时,(A)o

inta=l;

do{a=a*a;}whilc(!a);

A循环体将执行1次B循环体将执行2次

C循环体将执行无限次D系统将提示有语法错误

6.说明语句int*(*p)();的含义为(D)

Ap是一个指向血型数组的指针

Bp是指针变量,它构成了指针数组

Cp是一个指向函数的指针,该函数的返回值是一个整型

Dp是一个指向函数的指针,该函数的返回值是一个指向整型的指针

7.对下语句int*px[10];,下面正确的说法是(B)o

Apx是一个指针,指向一个数组,数组的元素是整数型。

Bpx是一个数组,其数组的每一个元素是指向整数的指针。

CA和B均错,但它是C语言的正确语句。

DC语言不允许这样的语句

8.指针的含义是(BJo

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

9.若有定义“intx,*pb;",则以下正确的赋值表达式是(A)o

A.pb=&xB.pb=xC.*pb=&xD.*pb=*x

10.若有定义“inta[5]={10,20,30,40,50),*p;p=&a[l];”,则执行语句“*p++;”

后*p的值是(B)o

A.20B.30C.21D.31

11.设计一个函数,使得每次调用该函数时都可以实现不同的功能,第一次调用

时可以求给定数组元素之和,第二次调用时求数组元素的最大值,第三次调

用时求数组元素的平均值。数组arry[6]={2.3,3.6,2.1,6.7,10.0,5.3}(要求:

通过指向函数的指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论