常熟理工学院C语言题库本三文档格式.docx

上传人:b****5 文档编号:20984828 上传时间:2023-01-26 格式:DOCX 页数:38 大小:216.17KB
下载 相关 举报
常熟理工学院C语言题库本三文档格式.docx_第1页
第1页 / 共38页
常熟理工学院C语言题库本三文档格式.docx_第2页
第2页 / 共38页
常熟理工学院C语言题库本三文档格式.docx_第3页
第3页 / 共38页
常熟理工学院C语言题库本三文档格式.docx_第4页
第4页 / 共38页
常熟理工学院C语言题库本三文档格式.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

常熟理工学院C语言题库本三文档格式.docx

《常熟理工学院C语言题库本三文档格式.docx》由会员分享,可在线阅读,更多相关《常熟理工学院C语言题库本三文档格式.docx(38页珍藏版)》请在冰豆网上搜索。

常熟理工学院C语言题库本三文档格式.docx

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

”,则数组a第一维的大小是。

程序中已使用预处理命令“#include<

>

”,为使语句“fp=fopen("

"

"

);

”能正常执行,在该语句之前必须有定义FILE;

执行“printf("

%d,%d"

a,b,c,d);

”后在屏幕上将输出个整数。

以下叙述中正确的是

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>

c1:

0):

0;

功能相同的是

A)if((a>

b)&

&

(b>

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-47

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

#include

{chara[10]=”abcd”;

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

程序运行后的输出结果是

A)7,4

B)4,10

C)8,8

D)10,10

下面是有关C语言字符数组的描述,其中错误的是

A)不可以用赋值语句给字符数组名赋字符串

B)可以用输入语句把字符串整体输入给字符数组

C)字符数组中的内容不一定是字符串

D)字符数组只能存放字符串

下列函数的功能是

fun(char*a,char*b)

{while((*b=*a)!

=’\0’){a++,b++;

}}

A)将a所指字符串赋给b所指空间

B)使指针b指向a所指字符串

C)将a所指字符串和b所指字符串进行比较

D)检查a和b所指字符串中是否有’\0’

设有以下函数

voidfun(intn,char*s){……}

则下面对函数指针的定义和赋值均是正确的是

A)void(*pf)();

pf=fun;

B)viod*pf();

C)void*pf();

*pf=fun;

D)void(*pf)(int,char);

pf=&

fun;

intf(intn);

{inta=3,s;

s=f(a);

s=s+f(a);

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

intf(intn)

{staticinta=1;

n+=a++;

returnn;

程序运行以后的输出结果是

A)7

B)8

C)9

#definef(x)x*x*x

{inta=3,s,t;

s=f(a+1);

t=f((a+1));

printf(“%d,%d\n’,s,t);

A)10,64

B)10,10

C)64,10

D)64,64

下面结构体的定义语句中,错误的是

A)structord{intx;

inty;

intz;

};

structorda;

B)structord{intx;

}structorda;

C)structord{intx;

}a;

D)struct{intx;

char*c;

,以下选项中能够使字符型指针c正确指向一个字符串的是

A)charstr[]=”string”;

c=str;

B)scanf(“%s”,c);

C)c=getchar();

D)*c=”string”;

structA

{inta;

charb[10];

doublec;

structAf(structAt);

{structAa={1001,”ZhangDa”,};

a=f(a);

jprintf(“%d,%s,%6.1f\n”,,,;

structAf(structAt)

(=1002;

strcpy,”ChangRong”);

=;

returnt;

A)1001,ZhangDa,

B)1001,ZhangDa,

C)1001,ChangRong,

D)1001,ChangRong,

若有以下程序段

intr=8;

printf(“%d\n”,r>

1);

输出结果是

A)16

B)8

C)4

D)2

下列关于C语言文件的叙述中正确的是

A)文件由一系列数据依次排列组成,只能构成二进制文件

B)文件由结构序列组成,可以构成二进制文件或文本文件

C)文件由数据序列组成,可以构成二进制文件或文本文件

D)文件由字符序列组成,其类型只能是文本文件

下面表示中,不能用作C语言常量的是。

A.0ULB.(long)110

C.1e0D.'

\x2c'

设有定义和声明如下:

#defined2

inta=3;

floatb=;

charc='

d'

下面表达式中有语法错误的是。

A.a++B.b++

C.c++D.d++

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

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

A.1,6B.1,8

C.2,6D.2,8

下面数组声明语句中正确的是。

A.intn,a[n];

B.inta[];

C.inta[2][3]={{2},{1},{3}};

D.inta[][3]={{2},{1},{3}};

下面函数定义中正确的是。

A.intfun(inta,b){}B.intfun(inta[][]){}

C.intfun(void){}D.intfun(staticinta,intb){}

在C语言中,数字010是一个。

A.十进制数B.八进制数

C.十六进制数D.非法数

若有说明“inta[3][4]={0};

,则下面正确的叙述是。

A.只有元素a[0][0]可得到初值

B.此说明语句不正确

C.数组a中各元素都可得到初值,但其值不一定为0

D.数组a中每个元素均可得到初值0

如果有声明“intm,n=5,*p=&

m;

”,与m=n等价的语句是。

A.m=*p;

B.*p=*&

n;

C.m=&

D.m=**p;

已有定义“charb[6],*p=b;

”,则正确的赋值表达式语句是。

A.b="

China"

B.*b="

C.p="

D.*p="

已有定义“charch[5]={'

'

b'

c'

},*p=ch,i;

”,则下面语句中不能正确输出ch数组全部元素值的是。

A.for(i=0;

i<

i++)printf("

%c"

ch[i]);

B.for(i=0;

*(ch+i));

C.for(i=0;

*p++);

D.for(i=0;

*ch++);

C语言中可以处理的文件类型有。

A.文本文件和二进制文件B.文本文件和数据文件

C.数据文件和二进制文件D.以上三个都不对

若有定义“inta[5],*b=a,(*c)[3],*d[3];

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

A.a[0]=0B.b[0]=0

C.c[0]=0D.d[0]=0

已知有程序段“charstr[][8]={"

first"

second"

},*p=&

str[0][0];

printf("

%s\n"

p+8);

”,则执行printf语句后输出为。

A.secondB.first

C.ondD.nd

下面叙述错误的是。

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

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

设有定义和声明语句:

typedefstructcc

structcc*b;

}node;

staticnodeaa[3]={5,&

aa[1],7,&

aa[2],9,'

\0'

aa[0];

下列选项中,表达式值不为5的是。

A.aa[1].b->

a-2B.p->

b->

a-2

C.(p+1)->

a-2D.p->

a

下面关于共用体类型的叙述正确的是。

A.可以给共用体类型变量直接赋值

B.一个共用体类型变量中可以同时存入其所有成员

C.一个共用体类型变量中不能同时存入其所有成员

D.共用体类型定义中不能同时出现结构体类型的成员

表达式sizeof("

abc"

)的值是。

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

下面选项中,不能用作用户标识符的是。

A.&

aB._00C.FORD.print

已知有声明“intx=3,y=4,z;

”,则执行语句“z=1/2*(x+y);

”后,z的值是。

A.0B.3

C.D.4

下列运算符中,优先级最低的是。

A.*B.!

=

C.+D.=

一元二次方程ax2+bx+c=0有两个相异实根的条件是a≠0且b2-4ac>

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

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&

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

A.#definep;

B.#definep

C.#definep=D.#definep

已有定义“intx=4,y=3,z=5;

”,下面4个程序段中有3个程序段的执行效果是相同的,另一个执行效果不同的是。

A.if(x>

y)z=x,x=y,y=z;

B.if(x>

y){z=x,x=y,y=z;

C.if(x>

y)z=x;

x=y;

y=z;

D.if(a>

y){z=x;

下面关于continue和break语句的叙述中正确的是。

A.continue和break语句都可以出现在switch语句中

B.continue和break语句都可以出现在循环语句的循环体中

C.在循环语句和switch语句之外允许出现continue和break语句

D.执行循环语句中的continue和break语句都将立即终止循环

在while(e)语句中的e与下面条件表达式等价的是。

A.e==0B.e==1

C.e!

=1D.e!

=0

若函数调用时的实参为变量,则下面关于函数形参和实参的叙述中正确的是。

A.实参和其对应的形参占用同一存储单元

B.形参不占用存储单元

C.相同名称的实参和形参占用同一存储单元

D.实参和其对应的形参占用不同的存储单元

在C程序中,若对函数类型未加说明,则函数的隐含类型为。

A.intB.double

C.voidD.char

下面函数中能正确计算n!

(n<

13)的是。

A.longf(longn)B.longf(longn)

{{if(n<

=1)return1;

returnn*f(n-1);

elsereturnn*f(n);

}}

C.longf(longn)D.longf(longn)

{staticlongs,i;

{longs=1,i;

for(i=1;

=n;

i++)s=s*i;

for(i=1;

returns;

returns;

}}

设n=10,i=4,则赋值运算“n%=i+1”执行后n的值是。

A.0B.1

C.2D.3

已有定义“inta=2;

”,下面表达式中值不等于8的是。

A.a+=2,a*2B.a+=a*=a

C.(a+7)/2*((a+1)%2+1)D.a*a+1

下面选项中,可以作为用户标识符的是。

A.6_6B.void

C.unsignedD._0_

已有定义“intn;

floata,b;

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

”后,b的值为。

A.3B.

C.D.

表达式!

(x>

0&

y>

0)等价于。

A.!

0)||!

(y>

0)B.!

x>

0||!

C.!

!

0D.!

0)&

0)

B.#definep

C.#definep=D.#definep

若变量已正确定义,语句“if(a>

b)k=0;

elsek=1;

”和等价。

A.k=(a>

b)1:

0;

B.k=a>

b;

C.k=a<

=b;

D.a<

=b

0:

1;

C.在循环语句

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

当前位置:首页 > 农林牧渔 > 林学

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

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