C语言试题库完整版文档格式.docx

上传人:b****6 文档编号:20488511 上传时间:2023-01-23 格式:DOCX 页数:45 大小:35.42KB
下载 相关 举报
C语言试题库完整版文档格式.docx_第1页
第1页 / 共45页
C语言试题库完整版文档格式.docx_第2页
第2页 / 共45页
C语言试题库完整版文档格式.docx_第3页
第3页 / 共45页
C语言试题库完整版文档格式.docx_第4页
第4页 / 共45页
C语言试题库完整版文档格式.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

C语言试题库完整版文档格式.docx

《C语言试题库完整版文档格式.docx》由会员分享,可在线阅读,更多相关《C语言试题库完整版文档格式.docx(45页珍藏版)》请在冰豆网上搜索。

C语言试题库完整版文档格式.docx

(1)putchar函数可以向终端输出一个

A、整型变量表达式值

B、实型变量值

C、字符串

D、字符或字符型变量值

(2)若x,y均定义为int型,z定义为double型,以下合法的scanf函数调用语句是

A、scanf(“%d%lx,%le”,&

x,&

y,&

z);

B、scanf(“%2d*%d%lf”,&

C、scanf(“%x%*d%o”,&

D、scanf(“%x%o%6.2f”,&

(3)当输入数据的形式为:

25,13,10<

回车>

时,以下程序的输出结果为

main()

{intx,y,z;

scanf(“%d%d%d”,&

printf(“x+y+z=%d\n”,x+y+z);

}

A、x+y+z=48

B、x+y+z=35

C、x+z=35

D、不确定值

(4)以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是

A、inta=b=c=5;

B、inta,b,c=5;

C、a=5,b=5,c=5;

D、a=b=c=5;

(5)若有以下定义,则正确的赋值语句是

inta,b;

floatx;

A、a=1,b=2;

B、b++;

C、a=b=5;

D、b=int(x);

第四章选择结构程序设计

(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是

A、(x>

=1)&

&

(x<

=10)&

(x.>

=200)&

=210)

B、(x>

=1)││(x<

=10)││(x.>

=200)││(x<

C、(x>

=1)&

=200)&

D、(x>

(x.>

(2)以下程序的运行结果是

#include“stdio.h”

{inta,b,d=241;

a=d/100%9;

b=(-1)&

(-1);

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

A、6,1

B、2,1

C、6,0

D、2,0

(3)请阅读以下程序:

{inta=5,b=0,c=0;

if(a+b+c)printf(“***\n”);

elseprintf(“$$$\n”);

以上程序。

A)有语法错误不能通过编译

B)可以通过编译但不能直接通过连接

C)输出***

D)输出$$$

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

{intm=5;

if(m++>

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

elseprintf(“%d\n”,m——);

A)4

B)5

C)6

D)7

(5)为了避免在嵌套的条件语句中if-else中产生二义性,c语言规定:

else子句总是与相配对。

A)缩排位置相同的if

B)其之前最近的if

C)其之后最近的if

D)同一行上的if

第五章循环控制

(1)设有程序段

intk=10

while(k=0)k=k-1

则下面描叙正确的是。

A)while(k=0)k=k-1;

B)循环是无限循环

C)循环体语句一次也不执行

D)循环体语句执行一次

(2)下面程序段的运行结果是。

intn=0;

while(n++<

=2);

printf(“%d”,n);

A)2

B)3

C)4

D)有语法错

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

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

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

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

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

(4)以下能正确计算1*2*3*…*10的程序段是。

A)do{i=1;

s=1;

s=s*i;

i++;

}while(I<

=10);

B)do{i=1;

s=0;

C)i=1;

do{s=s*i;

D)i=1;

第六章数组

(1)在c语言中,引用数组元素时,其数组下标的数据类型允许是____。

A)整型常量

B)整型表达式

C)整型常量或整型表达式

D)任何类型的表达式

(2)以下能对二维数组a进行正确初始化的语句是____。

A)inta[2][]={{1,0,1},{5,2,3,}};

B)inta[][3]={{1,2,3},{4,5,6}};

C)inta[2][4]={1,2,3,},{4,5},{6}};

D)inta[][3]={{1,0,1},{},{1,1}};

(3)若有说明:

inta[3][4]={0};

则下面正确的叙述是____。

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

B)此说明语句不正确

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

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

(4)下面程序___(每行程序前面的数字表示行号)。

1main()

2{

3floata[10]={0};

4inti

5for(i=0;

i<

3;

i++)scanf(“%d”,&

a[i];

6for(i=1;

10;

i++)a[0]=a[0]+a{i};

7printf(“%f\n”,a[0]);

8}

A)没有错误

B)第3行有错误

C)第5行有错误

D)第7行有错误

(5)若二维数组a有m列,则计算机一元素a[i][j]在数组中位置的公式为____。

(假设a[0][0]位于数组的第一个位置上。

A)i*m+j

B)j*m+i

C)i*m+j-1

D)i*m+j+1

第七章函数

(1)以下正确的函数定义形式是。

A)doublefun(intx,inty)

C)doublefun(intx;

inty)

D)doublefun(intx,inty)

E)doublefun(intx,y);

(2)以下正确的函数形式是。

A)doublefun(intx,inty)

{z=x+y;

returnz;

B)fun(intx,y)

{intz;

C)fun(x,y)

{intx,y;

doublez;

z=x+y;

returnz;

{doublez;

z=x+y;

(3)C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是

A)地址传递

B)单向值传递

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

D)传递方式

(4)C语言允许函数值型缺省定义,此时该函数值隐含的类型是。

A)float型

B)int型

C)long型

D)double型

(5)下面函数调用语句含有实参的个数为。

func((exp1,exp2),(exp3,exp4,exp5));

A)1

B)2

C)4

D)5

第八章编译预处理命令

(1)请读程序:

#defineADD(x)x+x

{

intm=1,n=2,k=3;

intsum=ADD(m+n)*k;

printf(“sum=%d”,sum);

上面程序的运行结果是。

A)sum=9

B)sum=10

C)sum=12

D)sum=18

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

#defineMIN(x,y)(x)<

(y)?

(x)+(y)

{intI=10,j=15,k;

k=10*MIN(I,j);

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

A)10

B)15

C)100

D)150

(3)在宏定义#definePI3.14159中,用宏名PI代替一个。

A)常量

B)单精度数

C)双精度数

D)字符串

(4)若有宏定义如下:

#defineX5

#defineYX+1

#defineZY*x/2

则执行以下printf语句后,输出结果是。

inta;

a=Y;

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

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

A)7B)12C)12D)7

6655

(5)若有以下宏定义:

#defineN2

#defineY(n)((N+1)*n)

则执行语句z=2*(N+Y(5));

后的结果是。

A)语句有错误

B)z=34

C)z=70

D)z无定值

第九章指针

(1)以下程有错误,错误原因是

{int*p,I;

char*q,ch;

p=&

I;

q=&

ch;

*p=40;

*p=*q;

……..

A)p和q的类型不一致,不能执行*P=*Q;

语句

B)P中存放的是地址值,因此不能执行*P=40;

C)Q没有指向具体的存储单元,所以*Q没有实际意义

D)Q虽然指向了具体的存储单元,但该单元中没有确定值,所以不能执行*P=*Q;

(2)已有定义intk=2;

int*ptr1,*ptr2;

且ptr1和ptr2均已指向变量K,下面不能正确执行的赋值语句是.

A)k=*ptr1+*ptr2;

B)ptr2=K;

C)ptr1=ptr2;

D)k=*ptr1*(*ptr2);

(3)变量的指针,其含义是指该变量的________.

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

(4)若有语句int*point,a=4;

和ponit=&

a;

下面均代表地址的一组选项是_________.

A)a,point,*&

a

B)&

*a,&

a,*point

C)*&

point,*point,&

a

D)&

a,&

*point,point

(5)下面能正确进行字符串赋值操作的是________.

A)chars[5]={“ABCDE”};

B)chars[5]={‘A’,’B’,’C’,’D’,’E’};

C)char*S;

s=”ABCDE”;

D)char*S;

scanf(“%s”,s);

(6)若有以下定义,则对A数组元素的正确引用是_______.

A)*&

a[5]

B)*a+2

C)*(P+5)

D)*(a+2)

(7)若有以下定义,则对a数组元素地址的正确引用是_______>

A)p+5

B)*a+1

C)&

a+1

D)&

a[0]

(8)若有定义:

inta[2][3];

则对a数组的第I行第J列(假设I,J已正确说明并赋值)元素值的正确引用为_______.

A)*(*(a+I)+J)

B)(a+I)[j]

C)*(a+I+j)

D)*(a+I)+j

(9)若有定义:

则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的正确引用为________.

A)*(a[i]+j)

B)(a+i)

C)*(a+j)

E)a[i]+j

(10)若有以下定义和语句,则对a数组元素地址的正确引用为_________.

Inta[2][3],(*p)[3]

P=a;

A)*(p+2)

B)p[2]

C)p[1]+1

D)(p+1)+2

 

第一十章结构体与共用体

(1)以下对结构体类型变量的定义中不正确的是_________.

A)#defineSTUDENTstructstudent

STUDENT

{intnum;

floatage;

}std1;

B)structstudent

floatage;

C)struct

{intnum;

}std1;

D)struct

}student;

structstudentstd1;

(2)设有以下语句

(3)structstu

{inta;

floatb;

}stutype;

则下面叙述正确的是__________.

A)struct是结构体类型的关键字

B)structstu是用户定义的结构体类型

C)stutype是用户定义的结构体类型名

D)a和b都是结构体成员名

(4)设有以下定义:

structsk

{intn;

}data,*p;

若要使p指向data中的n域,正确的赋值语句是_________

A)p=&

data.n;

B)*p=data.n;

C)p=(structsk*)&

D)p=(structsk*)data.n;

(5)设有以下语句:

structst

structst*next;

staticstructsta[3]={5,&

a[1],7,&

a[2],9,’\0’},*p;

p=&

a[0];

则以下表达式的值为6的是_______.

A)p++->

n

B)p->

n++

C)(*p).n++

D)++p->

第一十一章位运算

(1)以下运算符中优先级最低的是优先级最高的是。

A)&

B)&

C)||

D)|

(2)若有运算符<

<

sixeof,^,&

=则它们按优先级按由高到低的正确排列次序是。

A)sizeof,&

=,<

^

B)sizeof,<

^,&

=

C)^,<

sizeof,&

D)<

=,sizeof

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

A)^

B)%

C)!

D)>

(4)在C语言中,要求运算数必须是整型或字符型的运算符是。

A)&

C)!

D)||

(5)sozeof(float)是。

A)一种函数调用

B)一种不合法的表示形式

C)一个整型表达式

D)一个浮点表达式

第一十二章文件

(!

)系统的标准输入文件是指。

A)键盘

B)显示器

C)软盘

D)硬盘

(2)以下可作为函数fopen中第一个参数的正确格式是。

A)c:

user\text.txt

B)c:

\user\text.txt

C)"c:

\user\text.txt"

D)"c:

\\user\text.txt"

(3)若执行fopen函数时发生错误,则函数的返回值是     .

A)地址值

B)0

C)1

D)EOF

(4)若要用fopen函数打开一个新的二进制文件,该文件要既能读又能写,则文件方式字符串应是     。

A)"ab+"

B)"wb+"

C)"rb+"

D)"ab"

(5)当顺利执行了文件关闭操作时,fclose函数的返回值是     。

A)-1

B)TURE

C)0

D)1

二、填空

第一章C语言概述

(1)C源程序的基本单位是()

(2)一个C源程序至少应包括一个()

(3)在一个C源程序中,注释部分两侧的分界符分别为()和()

(4)在C语言中,输入操作是由库函数()完成的,输出操作是由库函数()完成的。

(1)在C语言中(以16位机为例),一个char型数据在内存中所占的字节数为(),一个int型数据在内存中所占的字节数为()。

(2)在C语言中,实型变量分为两种类型,它们是()和()。

(3)若a是int型变量,则计算表达式a=25/3%3后,a的值为()。

(4)C语言中的标识符只能由三种字符组成,它们是(),()和()

(5)表达式8/4*(int)2.5/(int)(1.25*3.7+2.3)值的数据类型为()。

(1)以下程序的输出结果是()。

{intx=1,y=2;

printf(“x=%dy=%d*sum*=%d\n”,x,y,x+y);

printf(“10squaredis:

%d\n”,10*10);

(2)以下程序的输出结果是()。

#include<

studo.h>

{inta=325;

doublex=3.1415926;

printf(“a=%+06dx=%+e\n”,a,x,);

(3)假设变量a和b均为整型,以下语句可以下借助任何变量把a、b中的值进行交换。

请填空。

a+=();

b=a-();

a-=();

(4)设x,y和z都是int型变量,m为long型变量,则在16位微型机上执行下面的赋值语句后,x值为(),y值为(),z值为()。

y=(x=32767,x=-1);

z=m=0xFFFF

(5)若x为int型变量,则执行以下语句后x的值是()

x=7;

x+=x-=x+x;

(1)当a=3,b=2,c=1时,表达式f=a>

b>

c的值是()。

(2)在C语言中表示逻辑“真”值用()。

(3)设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式().

(4)当m=2,n=1,a=1,b=2,c=3时,执行完d=(m=a!

=b)&

(n=b>

c)后;

n的值为(),m的值为()。

(5)有inta=3,b=4,c=5;

则表达式a||b+c&

b==c的值为()。

(1)执行下面程序段后,K值是()。

K=1;

n=263;

Do{k*=n%10;

n/=10}while(n);

(2)下面程序段中循环体的执行次数是()。

A=10;

B=0;

Do{b+=2;

a-=2+b;

}while(a>

=0);

(3)下面程序段的运行结果是()。

X=2’

Do{printf(“*”);

x--;

}while(!

x==0);

(4)下面程序段的运行结果是()。

I=1;

a=0;

s=1;

Do{a=a+s*i;

s=-s;

i++;

}while(i<

=10)

Printf(“a=%d,a”);

(5)鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,请填空。

For(x=1;

x<

=29;

x++)

{y=30-x;

if()printf(“%d,%d\n”,x,y);

(1)在C语言中,二维数组的定义方式为:

类型说明符 数组名()();

(2)在C语言中, 二维数组元素在内存中的存放顺序是()。

(3)若有定义:

doublex[3][5];

则x数组中行下标的下限为(),列下标的上限为()。

(4)若二维数组a有m列,则计算机任一元素a[i][j]在数组中位置的公式为:

().(假设a[0][0]位于数组的第一个位置上。

(5)若有定义:

inta[3][4]={{1,2},{0},{4,6,8,10}};

则初始化后,a[1][2]得到的初值是(),a[2][1]得到初值是()。

(1)C语言规定,可执行程序的开始执行点是()。

(2)在C语言中,一个函数一般由两个部分组成,它们是()和()。

(3)下面add函数的功能是求两个参数的和,并将和值返回调用函数。

函数中错误的部分是();

改正后为()。

Voidadd(floata,floatb)

{floatc;

c=a+b;

returnc’

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

main()

{increment();

increment();

}

{intx=0;

x+=1;

printf(“%d”,x);

(5)以下Check函数的功能是对value中的值进行四舍五入计算,若计算后的值与ponse值相等,则显示“WELLDONE!

!

”,否则显示计算后的值。

已有函数调用语句Check(po

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

当前位置:首页 > 医药卫生 > 基础医学

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

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