整理.docx

上传人:b****4 文档编号:5006148 上传时间:2022-12-12 格式:DOCX 页数:33 大小:29.97KB
下载 相关 举报
整理.docx_第1页
第1页 / 共33页
整理.docx_第2页
第2页 / 共33页
整理.docx_第3页
第3页 / 共33页
整理.docx_第4页
第4页 / 共33页
整理.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

整理.docx

《整理.docx》由会员分享,可在线阅读,更多相关《整理.docx(33页珍藏版)》请在冰豆网上搜索。

整理.docx

整理

第三章分支结构

一、填空:

1.当a=9,b=4,c=2;时,执行以下程序段后a=【1】b=【2】c=【3】.

if(a>b)a=b;

if(b>c)b=c;

elsec=b;

c=a;

if(a>b>c)a=b;

elsea=c;

则a的值为【4】。

2.当a=3,b=7,c=10时,执行以下程序段后a=【1】b=【2】c=【3】.

if(a>c)b=a;

a=c;

c=b;

二、单选

1.C语言中用于结构化程序设计的三种基本结构是()。

A:

顺序结构、选择结构、循环结构

B:

if、switch、break

C:

for、while、do-while

D:

if、for、continue

2.C语言的if语句中,用作判断的表达式为

A:

任意表达式

B:

逻辑表达式

C:

关系表达式

D:

算术表达式

3.C语言的switch语句中case后

A:

只能为常量

B:

只能为常量或常量表达式

C:

可为常量或表达式或有确定值的变量及表达式

D:

可为任何量或表达式

4.C语言中,switch后的括号内表达式的值可以是

A:

只能为整型

B:

只能为整型,字符型,枚举型

C:

只能为整型和字符型

D:

任何类型

5.假定所有变量均已正确定义,下列程序段运行后x的值是()。

k1=1;

k2=2;

k3=3;

x=15;

if(!

k1)x--;

elseif(k2)x=4;

elsex=3;

A:

14

B:

4

C:

15

D:

3

6.以下不正确的if语句形式是()。

A:

if(x>y&&x!

=y);

B:

if(x==y)x+=y;

C:

if(x!

=y)scanf("%d",&x)elsescanf("%d",&y);

D:

if(x

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

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{

case1:

switch(y)

{

case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

case3:

a++;b++;break;

}

printf("a=%d,b=%d\n",a,b);

}

A:

a=1,b=0

B:

a=2,b=1

C:

a=1,b=1

D:

a=2,b=2

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

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{

case1:

switch(y)

{

case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

case3:

a++;b++;break;

}

printf("a=%d,b=%d\n",a,b);

}

A:

a=1,b=0

B:

a=2,b=1

C:

a=1,b=1

D:

a=2,b=2

 

第四章循环结构

一、填空:

1.设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】.

for(x=0,y=0;y!

=123&&x<3;x++)

scanf("%d",&y);

2.程序段intk=10;while(k=0)k=k-1循环体语句执行【1】次.

3.若输入字符串:

abcde<回车>,则以下while循环体将执行【1】次.

While((ch=getchar())=='e')printf("*");

4.设i,j,k均为int型变量,则执行完下面的for循环后,k的值为【1】.

for(i=0,j=10;i<=j;i++,j--)

k=i+j;

5.以下程序段要求从键盘输入字符,当输入字母为'Y'时,执行循环体,则括号内应填写【1】.

ch=getchar();

while(ch____'Y')/*在括号中填写*/

ch=getchar();

6.以下do-while语句中循环体的执行次数是【1】.

a=10;

b=0;

do{b+=2;a-=2+b;}while(a>=0);

二、单选

1.从循环体内某一层跳出,继续执行循环外的语句是

A:

break语句

B:

return语句

C:

continue语句

D:

空语句

2.C程序的基本结构单位是

A:

文件

B:

语句

C:

函数

D:

表达式

3.设j和k都是int类型,则下面的for循环语句()。

for(j=0,k=0;j<=9&&k!

=876;j++)scanf("%d",&k);

A:

最多执行10次

B:

最多执行9次

C:

是无限循环

D:

循环体一次也不执行

4.C语言中while和do-while循环的主要区别是()。

A:

do-while的循环体至少无条件执行一次

B:

while的循环控制条件比do-while的循环控制条件更严格

C:

do-while允许从外部转到循环体内

D:

do-while的循环体不能是复合语句

5.以下叙述正确的是()。

A:

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

B:

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

C:

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

D:

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

6.t为int类型,进人下面的循环之前,t的值为0

while(t=1){……}则以下叙述中正确的是______。

A:

循环控制表达式的值为0

B:

循环控制表达式的值为1

C:

循环控制表达式不合法

D:

以上说法都不对

7.以下程序的执行结果是main()

{intx=0,s=0;

while(!

x!

=0)s+=++x;

printf("%d",s);}

A:

0

B:

1

C:

语法错误

D:

.无限循环

8.选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。

哪个数作为逻辑“假”值()。

A:

-1

B:

1

C:

非零的数

D:

0

9.下面有关for循环的正确描述是()。

A:

for循环只能用于循环次数已经确定的情况

B:

for循环是先执行循环循环体语句,后判断表达式

C:

在for循环中,不能用break语句跳出循环体

D:

for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

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

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

A:

A%2==1

B:

!

(A%2==0)

C:

!

(A%2)

D:

A%2

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

A:

3

B:

4

C:

5

D:

不定

12.若i为整型变量,则以下循环执行次数是()。

for(i=2;i==0;)printf("%d",i--);

A:

无限次

B:

0次

C:

1次

D:

2次

13.以下描述中正确的是()。

A:

由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句

B:

do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

C:

在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作

D:

do-while循环中,根据情况可以省略while

14.对for(表达式1;;表达式3)可理解为()。

A:

for(表达式1;0;表达式3)

B:

for(表达式1;1;表达式3)

C:

for(表达式1;表达式1;表达式3)

D:

for(表达式1;表达式3;表达式3)

15.以下不是无限循环的语句为()。

A:

for(y=0,x=1;x>++y;x=i++)i=x;

B:

for(;;x++=i);

C:

while

(1){x++;}

D:

for(i=10;;i--)sum+=i;

16.以下语句中,循环次数不为10次的语句是()。

A:

for(i=1;i<10;i++);

B:

i=1;do{i++;}while(i<=10);

C:

i=10;while(i>0){--i;}

D:

i=1;m:

if(i<=10){i++;gotom;}

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

charc[]="abc";

inti=0;

do;while(c[i++]!

='\0');printf("%d",i-1);

A:

abc

B:

ab

C:

2

D:

3

18.判断两个字符串是否相等,正确的表达方式是

A:

while(s1==s2)

B:

while(s1=s2)

C:

while(strcmp(s1,s2)==0)

D:

while(strcmp(s1,s2)=0)

19.以下程序的执行结果是_______.

main()

{intnum=0;

while(num<=2){num++;printf("%d,",num);}}

A:

0,1,2

B:

1,2,

C:

1,2,3,

D:

1,2,3,4,

20.以下程序的运行结果是()。

main()

{intn;

for(n=1;n<=10;n++)

{

if(n%3==0)continue;

printf("%d",n);

}

}

A:

12457810

B:

369

C:

12

D:

1234567890

21.设j和k都是int类型,则for循环语句

for(j=0,k=-1;k=1;j++,k++)printf("****\n");()。

A:

循环结束的条件不合法

B:

是无限循环

C:

循环体一次也不执行

D:

循环体只执行一次

22.下列程序的输出为()。

答案:

D

main()

{inty=10;

while(y--);

printf("y=%d\n",y);

}

A:

y=0

B:

while构成无限循环

C:

y=1

D:

y=-1

 

第五章函数

一、填空

1.静态变量和外部变量的初始化是在【1】阶段完成的,而自动变量的赋值是在【2】时进行的.

2.C语言源程序的基本单位是【1】,【2】是程序的基本组成部分.

3.计算机中内存储器的最小存储单位是【1】.

4.函数调用时的实参和形参之间的数据是单向的【1】传递.

5.预处理命令行都必须以【1】号开始.

6.函数的定义不可以嵌套,但函数的调用【1】嵌套.

7.函数调用语句func((e1,e2),(e3,e4,e5))中含有【1】个实参.

8.函数的【1】调用是一个函数直接或间接地调用它自身.

9.在c语言中,格式输入操作是由库函数在C语言中,格式输入操作是由库函数【1】完成的,格式输出操作是由库函数【2】完成的.

10.如果函数不要求带回值,可用【1】来定义函数返回值为空.

11.getchar()函数只能接收一个【1】.

二、单选

1.若变量已正确定义,执行语句scanf("%d,%d,%d",&k1,&k2,&k3);时,()是正确的输入.

A:

2030,40

B:

203040

C:

20,3040

D:

20,30,40

2.C语言函数的隐含存储类别是().

A:

static

B:

auto

C:

register

D:

extern

3.以下对C语言函数的描述中,正确的是().

A:

C程序必须由一个或一个以上的函数组成

B:

C函数既可以嵌套定义又可以递归调用

C:

函数必须有返回值,否则不能使用函数

D:

C程序中有调用关系的所有函数必须放在同一个程序文件中

4.C语言中函数调用的方式有().

A:

函数调用作为语句一种

B:

函数调用作为函数表达式一种

C:

函数调用作为语句或函数表达式两种

D:

函数调用作为语句、函数表达式或函数参数三种

5.经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为().

charx=65;

floaty=7.3;

inta=100;

doubleb=4.5;

A:

2,2,2,4

B:

1,2,2,4

C:

1,4,2,8

D:

2,4,2,8

6.下列说法不正确的是().

A:

主函数main中定义的变量在整个文件或程序中有效

B:

不同函数中,可以使用相同名字的变量

C:

形式参数是局部变量

D:

在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效

7.C语言程序中,当调用函数时().

A:

实参和虚参各占一个独立的存储单元

B:

实参和虚参可以共用存储单元

C:

可以由用户指定是否共用存储单元

D:

计算机系统自动确定是否共用存储单元

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

main()

{inta=1,b=2,c=3,d=4,e=5;

printf("%d\n",func((a+b,b+c,c+a),(d+e)));

}

intfunc(intx,inty)

{

return(x+y);

}

A:

15

B:

13

C:

9

D:

函数调用出错

9.关于return语句,下列正确的说法是().

A:

在主函数和其他函数中均可出现

B:

必须在每个函数中出现

C:

可以在同一个函数中出现多次

D:

只能在除主函数之外的函数中出现一次

10.C语言程序中,若对函数类型未加显式说明,则函数的隐含说明类型为().

A:

void

B:

double

C:

int

D:

char

11.下面叙述中错误的是().

A:

主函数中定义的变量在整个程序中都是有效的

B:

在其它函数中定义的变量在主函数中也不能使用

C:

形式参数也是局部变量

D:

复合语句中定义的函数只在该复合语句中有效

12.下列字符序列中,是C语言保留字的是().

A:

sizeof

B:

include

C:

scanf

D:

sqrt

13.当调用函数时,实参是一个数组名,则向函数传送的是().

A:

数组的长度

B:

数组的首地址

C:

数组每一个元素的地址

D:

数组每个元素中的值

14.在C语言中,调用函数除函数名外,还必须有().

A:

函数预说明

B:

实际参数

C:

()

D:

函数返回值

15.在调用函数时,如果实参是简单变量,它与对应形参之间的数据

传递方式是().

A:

地址传递

B:

单向值传递

C:

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

D:

传递方式由用户指定

16.以下正确的描述是:

在C语言程序中().

A:

函数的定义可以嵌套,但函数的调用不可以嵌套

B:

函数的定义不可以嵌套,但函数的调用可以嵌套

C:

函数的定义和函数的调用均不可以嵌套

D:

函数的定义和函数的调用均可以嵌套

17.char*match(charc)是().

A:

函数定义的头部

B:

函数预说明

C:

函数调用

D:

指针变量说明

18.sizeof(float)是().

A:

一种函数调用

B:

一个不合法的表达式

C:

一个整型表达式

D:

一个浮点表达式

第六章数据类型和表达式

一、填空

1.已知a=13,b=6,a&b的十进制数值为【1】.

2.设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!

(a+b)+c-1&&b+c/2后,t的值是【1】.

3.在C语言中的实型变量分为两种类型,它们是float型和【1】型.

4.已知a=10,b=15,c=1,d=2,e=0,则表达式(c==b)>e的值为【1】.

5.在微机中,字符的比较就是对它们的【1】进行比较。

6.intx=4,y=z=2;z=x==(y=z);则z的值为【1】.

7.写出语句b=(a=6,a*3);执行后整型变量b的值是【1】.

8.c语言表达式5>2>7>8的值是【1】,表达式!

10的值是【2】.(填数字)

9.若有定义:

charc='\010';则变量C中包含的字符个数为【1】.

10.设chara,b;若想通过a&&b运算保留a的第1位和第6位的值,则b的二进制数是【1】.

11.变量的本质是代表内存中的一个存储单元的【1】.

二、单选

1.下列数据中属于"字符串常量"的是().

A:

ABC

B:

"ABC"

C:

'ABC'

D:

'A'

2.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类型是().

A:

extern

B:

register

C:

auto

D:

static

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

A:

_do

B:

6a

C:

%y

D:

a+b

4.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为().

A:

算术运算、赋值运算、关系运算

B:

关系运算、赋值运算、算术运算

C:

算术运算、关系运算、赋值运算

D:

关系运算、算术运算、赋值运算

5.C语言函数内定义的局部变量的隐含存储类别是().

A:

static

B:

auto

C:

register

D:

extern

6.C语言中,逻辑"真"等价于().

A:

大于零的数

B:

非零的数

C:

大于零的整数

D:

非零的整数

7.下列运算符中,不属于关系运算符的是().

A:

<

B:

>

C:

>=

D:

!

8.以下运算符中,优先级最高的运算符是().

A:

=

B:

!

=

C:

*(乘号)

D:

()

9.若有以下定义:

chars='\092';则该语句().

A:

使s的值包含1个字符

B:

定义不合法,s的值不确定

C:

使s的值包含4个字符

D:

使s的值包含3个字符

10.C语言中要求对变量作强制定义的主要理由是().

A:

便于移植

B:

便于写文件

C:

便于编辑预处理程序的处理

D:

便于确定类型和分配空间

11.在位运算中,操作数每右移一位,其结果相当于().

A:

操作数乘以2

B:

操作数除以2

C:

操作数乘以16

D:

操作数除以16

12.以下关于long、int和short类型数据占用内存大小的叙述中正确的是().

A:

均占4个字节

B:

根据数据的大小来决定所占内存的字节数

C:

由用户自己定义

D:

由C语言编译系统决定

13.全局变量的定义不可能在().

A:

函数内部

B:

函数外面

C:

文件外面

D:

最后一行

14.在C语言中,int、char和short三种类型数据在内存中所占用的字节数().

A:

由用用户自己定义

B:

均为2个字节

C:

是任意的

D:

由所用机器的机器字长决定

15.位字段数据的单位是()位.

A:

十六进制

B:

八进制

C:

二进制

D:

十进制

16.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为().

A:

自动(auto)

B:

静态(static)

C:

外部(extern)

D:

寄存器(register)

17.用户定义的函数不可以调用的函数是().

A:

非整型返回值的

B:

本文件外的

C:

main函数

D:

本函数下面定义的

18.在位运算中,操作数每右移一位,其结果相当于().

A:

操作数乘以2

B:

操作数除以2

C:

操作数除以4

D:

操作数乘以4

第七章数组

一、填空

1.设a取二进制数00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的二进制数是【1】.

2.执行以下程序段后,s的值是【1】inta[]={5,3,7,2,1,5,3,10},s=0,k;

for(k=0;k<8;k+=2)

s+=*(a+k);

3.复制字符串的库函数是【1】,合并字符串的库函数是【2】,求字符串长度的库函数是【3】,字符串比较的库函数是【4】,只写函数名即可.

4.若有以下数组a,数组元素:

a[0]~a[9],其值为941282107513,该数组的元素中,数值最大的元素的下标值是【1】.

5.若有定义:

chars[]="china";则TurboC系统为数组s开辟【1】个字节的内存单元.

6.数组在内存中占一段连续的存储区,由【1】代表它的首地址.

7.staticinta[3][3]={{1,2,3},{4,5,6},{7,8,9}};其中a[1][2]的值为【1】.

8.执行语句charstr[81]="abcdef";后,字符串str结束标志存储在str[【1】(在括号内填写下标值)中.

9.C程序在执行过程中,不检查数组下标是否【1】.

10.C语言中,二维数组在内存中的存放方式为按【1】优先存放.

11.C语言中,数组名是一个不可变的【1】量,不能对它进行加减和赋值运算.

二、单选

1.下列说法中错误的是().

A:

一个数组只允许存储同种类型的变量

B:

如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值

C:

数组的名称其实是数组在内存中的首地址

D:

当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改

2.若有如下定义和语句,且0<=i<5,下面()是对数值为3数组元素的引用.

inta[]={1,2,3,4,5},*p,i;

p=a;

A:

*(a+2)

B:

a[p-3]

C:

p+2

D:

a+3

3.对于定义,char*aa[2]={"abcd","ABCD"},选项中说法正确的是().

A:

aa数组元素的值分别是"abcd"和"ABCD"

B:

aa是指针变量,它指向含有两个数组元素的字符型一维数组

C:

aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D:

aa数组的两个元素中各自存放了字符'a'和'A'的地址

4.下列数组说明中,正确的是().

A:

intarray[][4];

B:

intarray[][];

C:

intarray[][][5];

D:

intarray[3][];

5.数组名作为实参数传递给函数时,数组名被处理为().

A:

该数组的长度

B:

该数组的元素个数

C:

该数组的首地址

D:

该数组中各元素的值

6.chara[]="Thisisaprogram.";输出前5个字符的语句是().

A:

printf("%.5s",a);

B:

puts(a);

C:

printf("%s",a);

D:

a[5*2]=0;puts(a);

7.以下对一维整型数组a的正确说明是().

A:

inta(10);

B:

intn=10,a[n];

C:

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

D:

#defineSIZE10(换行)inta[SIZE];

8.若有说明:

inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是().

A:

2

B:

3

C:

4

D:

无确定值

9.若使用一维数组名作函数实参,则以下正确的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1