常熟理工学院 c语言题库 本二Word文件下载.docx

上传人:b****5 文档编号:17980364 上传时间:2022-12-12 格式:DOCX 页数:21 大小:33.21KB
下载 相关 举报
常熟理工学院 c语言题库 本二Word文件下载.docx_第1页
第1页 / 共21页
常熟理工学院 c语言题库 本二Word文件下载.docx_第2页
第2页 / 共21页
常熟理工学院 c语言题库 本二Word文件下载.docx_第3页
第3页 / 共21页
常熟理工学院 c语言题库 本二Word文件下载.docx_第4页
第4页 / 共21页
常熟理工学院 c语言题库 本二Word文件下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

常熟理工学院 c语言题库 本二Word文件下载.docx

《常熟理工学院 c语言题库 本二Word文件下载.docx》由会员分享,可在线阅读,更多相关《常熟理工学院 c语言题库 本二Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。

常熟理工学院 c语言题库 本二Word文件下载.docx

{staticfloatd=3;

…}

intx=1;

voidf1()

{intz=3;

关于程序段中各变量的属性,下面叙述中错误的是(D)。

A.x是全局变量,函数f1可以访问,函数f2不能访问

B.y是全局变量,函数f1和函数f2都可以访问

C.z是动态变量,函数f1可访问,函数f2不可访问

D.d是静态变量,函数f1和函数f2都可以访问

已知某编译系统中singedint类型数据的长度是16位,该类型数据的最大值是(A)。

A.32767B.32768C.127D.65535

设k=7,x=12,则下列表达式值为3的是(D)。

A.x%=(k%=5)B.x%=(k-k%5)

C.x%=k-k%5D.(x%=k)-(k%=5)

已有定义“inta[]={5,4,3,2,1},i=4;

”,下列对a数组元素的引用中错误的是(B)。

A.a[--i]B.a[a[0]]C.a[2*2]D.a[a[i]]

己有声明“inta=0,b=l,*p,*q;

”,下列正确的语句是(C)。

A.a=p;

B.b=q;

C.p=&

a;

D.p=&

q;

C语言中,结构体类型变量在程序执行期间(A)。

A.所有成员一直驻留在内存中

B.只有一个成员驻留在内存中

C.部分成员驻留在内存中

D.没有成员驻留在内存中

若有定义和声明typedefenum{green,red,yellow,blue,b1ack}color;

colorflower;

,则下列语句中正确的是(B)。

A.green=red;

B.flower=red;

C.color=red;

D.enum=red;

在文件包含预处理语句#include的使用形式中,当之后的文件名用双引号括起来时,寻找被包含文件的方式是(C)。

A.仅搜索当前目录

B.仅搜索源程序所在的目录

C.先在源程序所在目录搜索,再按系统设定的标准方式搜索

D.直接按系统设定的标准方式搜索目录

已有定义“inta[2][3]={0};

*p=a[0];

”,下面表达式中有语法错误的是(A)。

A.a[0]=1B.p[0]=1C.*p=1D.a[0][0]=1

下面关于C语言数据文件的叙述中正确的是(D)。

A.文件由ASCII码字符序列组成,C语言只能读写文本文件

B.文本由二进制数据序列组成,C语言只能读写二进制文件

C.文件由记录序列组成,可按数据的存放形式分为文本文件和二进制文件

D.文件由数据流序列组成,可按数据的存放形式分为文本文件和二进制文件

下面选项中,不能用作C语言标识符的是(C)。

A.FORB._10C.&

hD.print

下面合法的标识符是(A)。

A.IFB.-412C.akD.char

C语言源程序的三种基本结构是顺序结构、(B)结构和循环结构。

A.递归B.选择C.转移D.嵌套

已有定义“floatx=1.23456;

inti;

”,欲将x中的数值保留小数点后两位,第三位进行四舍五入运算,能实现该功能的表达式是(A)。

A.i=x*100+0.5,x=i/100.0B.x=(x*100+0.5)/100.0

C.x=((int)x*100+0.5)/l00.0D.x=(x/100+0.5)/100.0

下面定义符号常量p为3.14中正确的是(D)。

A.#definep3.14;

B.#definep(3.14)

C.#definep=3.14D.#definep3.14

表达式!

x等价于(A)。

A.x==0B.x==1C.x!

=0D.x!

=1

下面关于if语句和switch语句的叙述中错误的是(D)。

A.if语句和switch语句都可以实现算法的选择结构

B.if语句和switch语句都能实现多路(两路以上)选择

C.if语句可以嵌套使用

D.switch语句不能嵌套使用

下面关于循环语句for、while、do_while的叙述中正确的是(A)。

A.三种循环语句都可能出现无穷循环

B.三种循环语句中都可以缺省循环终止条件表达式

C.三种循环语句的循环体都至少被无条件地执行一次

D.三种循环语句的循环体都必须放入一对花括号中

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

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

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

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

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

若已定义一个有返回值的函数,则下面关于调用该函数的叙述中错误的是(A)。

A.函数调用可以作为一个函数形参

B.函数调用可以出现在表达式中

C.函数调用可以作为一个函数实参

D.函数调用可以作为独立的语句存在

关于程序段中各变量的属性,下面叙述中错误的是(D)。

D.d是静态变量,函数f1和函数f2都可以访问

若有代数式

,则不正确的C语言表达式是(C)。

A.x/b/c*y*6B.6*x*y/b/c

C.6*x*y/b*cD.x*y/c/b*6

已有定义“inti;

floatf;

”,则下面正确的表达式是(D)。

A.(intf)%iB.int(f)%iC.int(f%i)D.(int)f%i

已有定义“inta[2][3]”,下面选项中(A)正确地引用了数组a中的基本元素。

A.a[1>

2][!

1]B.a[2][0]C.a[1]D.a

已有定义“intm=3,c,*a=&

m,*b=&

c;

”,则下列语句中错误的是(C)。

A.a=b=0;

B.a=&

c,b=a;

C.&

a=&

b;

D.*b=*a

定义一个结构体变量时,系统分配给它的内存是(A)。

A.各成员所需内存总和

B.成员中所占内存最多的容量

C.结构中第一个成员所占内存的容量

D.结构中最后一个成员所占内存的容量

已有枚举类型定义“enumletter{E,F,G=7,H,I};

”,下面表达式中除(D)外,其他表达式的机内值均等于10。

A.'

\xb'

-1B.F+IC.010+2D.0xf-3

下面关于宏的叙述正确的是(A)。

A.宏定义没有数据类型限制

B.宏名必须用大写字母表示

C.宏定义必须位于源程序中所有语句之前

D.宏调用比函数调用耗费时间

设有声明语句“intb[3][3]={1,2,3,4,5,6,7,8,9};

”,下面语句中不能输出数组元素b[1][2]的值6的是(C)。

A.printf("

%d"

*(*(b+1)+2))B.printf("

*(&

b[2][0]-1));

C.printf("

*(b+1)[2]);

D.printf("

*(b[1]+2));

如果要用fopen()函数打开一个新的二进制文件,该文件要既能读也能写,则文件打开方式应为(A)。

A."

wb+"

B."

ab+"

C."

rb+"

D."

ab"

A.printB.INTC.&

aD._02

A.FORB.-523C.nbD.if

下面叙述中正确的是(B)。

A.C程序的基本组成单位是语句

B.简单C语句必须以分号结束

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

D.C程序必须在一行内写完

用C语言编写的源程序中,(A)是必不可少的。

A.名为main的函数定义B.#include<

stdio.h>

C.变量定义D.注释部分

C源程序中的命令#include与#define是在(A)阶段被处理的。

A.预处理B.编译C.连接D.执行

已有定义“inta=3,b=4,c=5;

”,则下列表达式中值为0的是(D)。

A.a&

bB.a<

=bC.a||b&

cD.!

(!

c||1)

一元二次方程ax2+bx+c=0有两个相异实根的条件是

且b2-4ac>

0,下面选项中正确的表达式是(C)。

A.a!

=0,b*b-4*a*c>

0B.a!

=0||b*b-4*a*c>

C.a&

b*b-4*a*c>

0D.!

a&

下面关于语句的说法中正确的是(B)。

A.while语句的循环体至少会被执行1次

B.do-while语句的循环体至少会被执行1次

C.for语句的循环体至少会被执行1次

D.在C语言中只能用do、do-while或for语句实现循环结构

下面叙述中正确的是(C)。

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

B.continue语句的作用是:

使程序的执行流程跳出包含它的所有循环

C.break语句只能用在循环体内和switch语句体内

D.在循环体内使用break语句和continue语句的作用相同

对于C语言函数,下列叙述中正确的是(A)。

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

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

C.函数的定义和调用都不能嵌套

D.函数的定义和调用都可以嵌套

表达式“'

A'

+4*25.0-'

b'

”的正确结果是(B)。

A.67B.67.0C.不确定D.67L

存储字符串"

\\\'

abc\376"

需要的字节数是(D)。

A.11B.13C.6D.7

若有数组a和b的声明“staticchara[]="

abcdef"

b[]={'

a'

'

c'

d'

e'

f'

};

”则数组a和数组b的长度分别是(A)。

A.7,6B.6,7C.6,6D.7,7

己有声明“inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

”,则不能表示数组a中元素的是(D)。

A.*pB.a[6]C.*aD.p[a]

C语言中,下列属于构造类型的是(D)。

A.整型B.实型C.指针类型D.结构体类型

若有枚举类型定义“enumvari{A1,A2,A3,A4=6,A5,A6};

”,则枚举常量A2和A6代表的值分别是(B)。

A.1,6B.1,8C.2,6D.2,8

下面叙述错误的是(C)。

A.宏替换不占用程序运行时间B.宏名无类型

C.宏名必须用大写字母表示D.宏替换只是字符替换

已有定义“inta[2][3]={1,2,3,4,5,6};

”,则下列表达式中不能正确引用值为5的数组元素的是(C)。

A.*(a[0]+4)B.*(a[1]+1)

C.*(*(a+3)+1)D.*(*a+4)

若只允许对数据文件abc.txt做一次打开文件操作,修改其中的数据,则打开文件语句应为“fp=fopen("

abc.txt"

(B));

”。

w+"

r+"

a+"

r"

以下叙述中正确的是

A)程序设计的任务就是编写程序代码并上机调试

B)程序设计的任务就是确定所用数据结构

C)程序设计的任务就是确定所用算法

D)以上三种说法都不完整

以下选项中,能用作用户标识符的是

A)void

B)8_8

C)_0_

D)unsigned

阅读以下程序

#include

main()

{intcase;

floatprintF;

printf(“请输入2个数:

”);

scanf(“%d%f”,&

case,&

pjrintF);

printf(“%d%f\n”,case,printF);

}

该程序编译时产生错误,其出错原因是

A)定义语句出错,case是关键字,不能用作用户自定义标识符

B)定义语句出错,printF不能用作用户自定义标识符

C)定义语句无错,scanf不能作为输入函数使用

D)定义语句无错,printf不能输出case的值

表达式:

(int)((double)9/2)-(9)%2的值是

A)0

B)3

C)4

D)5

若有定义语句:

intx=10;

,则表达式x-=x+x的值为

A)-20

B)-10

C)0

D)10

有以下程序

{inta=1,b=0;

printf(“%d,”,b=a+b);

printf(“%d\n”,a=2*b);

程序运行后的输出结果是

A)0,0

B)1,0

C)3,2

D)1,2

设有定义:

inta=1,b=2,c=3;

,以下语句中执行效果与其它三个不同的是

A)if(a>

b)c=a,a=b,b=c;

B)if(a>

b){c=a,a=b,b=c;

}

C)if(a>

b)c=a;

a=b;

b=c;

D)if(a>

b){c=a;

{intc=0,k;

for(k=1;

k<

3;

k++)

switch(k)

{default:

c+=k

case2:

c++;

break;

case4:

c+=2;

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

A)3

B)5

C)7

D)9

以下程序段中,与语句:

k=a>

b?

(b>

c?

1:

0):

0;

功能相同的是

A)if((a>

c))k=1;

elsek=0;

B)if((a>

b)||(b>

c)k=1;

C)if(a<

=b)k=0;

elseif(b<

=c)k=1;

b)k=1;

elseif(b>

elsek=0;

20)有以下程序

{chars[]={“012xy”};

inti,n=0;

for(i=0;

s[i]!

=0;

i++)

if(s[i]>

=’a’&

s[i]<

=’z’)n++;

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

B)2

C)3

D)5

{intn=2,k=0;

while(k++&

n++>

2);

printf(“%d%d\n”,k,n);

A)02

B)13

C)57

D)12

有以下定义语句,编译时会出现编译错误的是

A)chara=’a’;

B)chara=’\n’;

C)chara=’aa’;

D)chara=’\x2d’;

#include

main()

{charc1,c2;

c1=’A’+’8’-‘4’;

c2=’A’+’8’-‘5’;

printf(“%c,%d\n”,c1,c2);

已知字母A的ASCII码为65,程序运行后的输出结果是

A)E,68

B)D,69

C)E,D

D)输出无定值

voidfun(intp)

{intd=2;

p=d++;

printf(“%d”,p);

{inta=1;

fun(a);

printf(“%d\n”,a);

A)32

B)12

C)21

D)22

以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能

#defineMIN-2147483647

intfindmax(intx[],intn)

{inti,max;

i<

N;

I++)<

p="

"

/>

{max=MIN;

if(max

returnmax;

}

造成错误的原因是

A)定义语句inti,max;

中max未赋初值

B)赋值语句max=MIN;

中,不应给max赋MIN值

C)语句if(max

D)赋值语句max=MIN;

放错了位置

{intm=1,n=2,*p=&

m,*q=&

n,*r;

r=p;

p=q;

q=r;

printf(“%d,%d,%d,%d\n”,m,n,*p,*q);

A)1,2,1,2

B)1,2,2,1

C)2,1,2,1

D)2,1,1,2

inta[4][10],*p,*q[4];

且0≤i<

4,则错误的赋值是

A)p=a

B)q[i]=a[i]

C)p=a[i]

D)p=&

a[2][1]

#include

{charstr[][20]={“One*World”,“One*Dream!

”},*p=str[1];

printf(“%d,”,strlen(p));

printf(“%s\n”,p);

A)9,One*World

B)9,One*Dream

C)10,One*Dream

D)10,One*World

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

4;

switch(i%2)

{case0:

switch(a[i]%2)

{case0:

a[i]++;

case1:

a[i]--;

}break;

a[i[=0;

for(i=0;

i++)printf(“%d”,a[i]);

printf(“\n”);

A)3344

B)2050

C)3040

D)0304

 

结构化程序设计语言编写的程序由三种结构组成:

顺序结构、分支结构和。

一个完整的C程序可以有多个函数,其中有且只能有一个名为的函数。

数学式

所对应的C语言表达式为(m,1/3.0)。

在调用函数fopen("

d:

\\b.dat"

"

)时,若d盘根目录下不存在文件b.dat,则函数的返回值是。

执行下面程序段中的语句“k=A*A+1;

”后k的值是。

#defineB2

#defineAB+1

k=A*A+1;

已有定义“floatm;

doublen;

inta;

longb;

charc;

”,则表达式m+n*a/m+b/n+c值的类型为。

C语言有效的预处理命令总是以开头。

已有定义“inta[10],*p=a+3;

”,则数组a的最后一个元素是p[]。

已有定义“intn=12;

doublea;

”,则执行语句“a=n/=5;

”后,a的值为。

若要声明一个类型名STR,使得定义语句STRs等价于char*s,则声明语句是。

程序设计语言的发展经历了几个阶段:

机器语言、汇编语言和。

一个C程序总是从函数开始执行的。

已有定义“doublea=5,b=10;

”,则计算ab的库函数调用形式是。

已有定义“charch='

;

”,则表达式ch=ch-'

+'

的值为字符的编码。

表示“x≥y≥z”的C语言表达式是x>

=y。

C语言有效的预处理命令总是以

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

当前位置:首页 > 初中教育 > 英语

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

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