C语言试题库含答案.docx

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

C语言试题库含答案.docx

《C语言试题库含答案.docx》由会员分享,可在线阅读,更多相关《C语言试题库含答案.docx(251页珍藏版)》请在冰豆网上搜索。

C语言试题库含答案.docx

C语言试题库含答案

一、单项选择题(每小题2分)

【1】设字符型变量ch的值为'A',整型变量m的值为'1',假定执行putchar(m);putchar('');putchar(ch);后,则输出结果是。

A、A1

B、lA

C、Al

D、1A

标准答案:

D

【2】有如下函数调用语句

fuc(rec1,rec2+rec3,(rec4,rec5));

该函数调用语句中,含有的实参个数是。

A、3

B、4

C、5

D、有语法错

标准答案:

A

【3】有以下函数定义:

voidfun(intn,doublex){}

若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是。

A、fun(inty,doublem);

B、k=fun(10,12.5);

C、fun(x,n);

D、voidfun(n,x);

标准答案:

C

【5】设有以下程序片段,请问执行后的输出结果是

inti=010,j=10,k=0xl0;printf("%d,%d,%d",k,j,i);

A、16,10,8

B、81016

C、10,10,10

D、8,10,16

标准答案:

A

【9】有如下程序段:

charstr[14]={"Iam"};

strcat(str,"sad!

");

scanf("%s",str);

printf("%s",str);

当输入为happy!

时,输出的结果是()。

A、Iamsad!

B、happy!

C、Iamhappy!

D、happy!

ad!

标准答案:

B

【11】以下if语句中格式正确的是

A、if(a>b)b++elsea++;

B、if(a>b){b++;printf("%d",b);}

else{a++;printf("%d",a);}

C、if(a>b){b++;printf("%d",b)}

else{a++;printf("%d",a);}

D、if(a>b)b++;printf("%d",b);

elseprintf("%d",a);

标准答案:

B

【1】设有整型变量m值为8,下列赋值语句中,正确的是。

A、++m=6;

B、m=m++;

C、m+1=8;

D、m+1+=8;

标准答案:

B

【2】.有以下程序

#include

voidfun(int*a,inti,intj)

{

intt;

if(i

{

t=a[i];a[i]=a[j];a[j]=t;

i++;j--;

fun(a,i,j);

}

}

voidmain()

{

intx[]={2,6,1,8},i;

fun(x,0,3);

for(i=0;i<4;i++)printf("%2d",x[i]);

}

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

A、1268

B、8621

C、8162

D、8612

标准答案:

C

【3】关于C语言以下说法正确的是()。

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

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

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

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

标准答案:

C

【4】根据下面的定义,能打印出字母“M”的语句是。

structperson

{charname[9];intage;};

structpersonclass[10]={"John",17,

"Paul",19,"Mary",18,"adam",16};

A、printf("%c\n",class[3].name);

B、printf("%c\n",class[3].name[l]);

C、Printf("%c\n",class[2].name[l]);

D、printf("%c\n",class[2].name[0]);

标准答案:

D

【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。

A、f+=g

B、f-=g+5

C、f*=g-5

D、f/=g*5

标准答案:

A

【6】下面程序的输出是

main()

{inta=-1,b=4,k;

k=(a++<=0)&&(!

(b--<=0));

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

A、003

B、012

C、103

D、112

标准答案:

C

【7】C语言中最基本的数据类型包括。

A、整型,实型,逻辑型

B、整型,实型,布尔型

C、整型,实型,字符型

D、整型,实型,指针型

标准答案:

C

【8】假定int类型变量占用两个字节,其有定义:

intx[10]={0,2,4};,则数组x在内存中所占字节数是。

A、3

B、6

C、10

D、20

标准答案:

D

【9】下面程序的输出结果是()。

#include

voidmain()

{

inti,j,k;

charstr[5];

for(i=0;i<5;i++)str[i]='A';

k=4;

for(i=0;i

for(j=0;j

str[j]=str[i]+32;

printf("%c\n",str[k]);

}

A、a

B、A

C、B

D、不确定的值

标准答案:

B

【10】有以下程序片段:

inta[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[3],i;

for(i=0;i<3;i++)

p[i]=&a[i*4];

printf(“%d”,*(p[2]+1));

则输出结果为

A、9

B、5

C、10

D、6

标准答案:

C

【11】设a,b,w为整型变量,ch为字符型变量,用if语句改写以下的程序段:

switch(ch)

{case'+':

w=a+b;break;

case'-':

w=a-b;break;

case'*':

w=a*b;break;

case'/':

w=a/b;break;}

在下列写法中,错误的是

A、if(ch=='+')w=a+b;

if(ch=='-')w=a-b;

if(ch=='*')w=a*b;

if(ch=='/')w=a/b;

B、B)if(ch=='*')w=a*b;

elseif(ch=='/')w=a/b;

if(ch=='+')w=a+b;

elseif(ch=='-')w=a-b;

C、if(ch=='+')w=a+b;

elseif(ch=='-')w=a-b;

if(ch=='*')w=a*b;

elsew=a/b;

D、D)if(ch=='+')w=a+b;

elseif(ch=='-')w=a-b;

if(ch=='*')w=a*b;

elseif(ch=='/')w=a/b;

标准答案:

C

【12】有以下程序:

#include

main()

{intal=0,a2=0,a3=0;

charch;

while((ch=getchar())!

='\n')

switch(ch)

{case'A':

a1++;

case'B':

a2++;

default:

a3++;}

printf("%d,%d,%d",a1,a2,a3);}

现从键盘上输入AAAAABBBC<回车>,则程序执行后的输出结果是

A、5,8,9

B、5,3,1

C、5,3,9

D、5,8,1

标准答案:

A

【13】下面程序的输出是

main()

{inty=9;

for(;y>0;y--)

if(y%3==0)

{printf(“%d”,--y);continue;}}

A、741

B、852

C、963

D、875421

标准答案:

B

【14】下面程序的运行结果是

#include

main()

{inti=1;

do{i--;}while(i++);

printf("%d",i--);}

A、-1

B、0

C、1

D、陷入死循环

标准答案:

C

【15】以下对C语言描述中正确的是()。

A、C语言源程序中可以有重名的函数

B、C语言源程序中要求每行只能书写一条语句

C、C语言源程序中,注释可以出现在任何位置

D、最小的C源程序中没有任何内容

标准答案:

C

【2】返回值为void的函数,其含义是()。

A、调用函数之后,被调用的函数没有返回值

B、调用函数之后,被调用的函数不返回

C、调用函数之后,被调用的函数的返回值为任意的类型

D、以上三种说法都是错误的

标准答案:

A

【3】以下函数

fff(floatx)

{printf(“%d\n”,x*x);}

的类型是

A、与参数x的类型相同

B、void类型

C、int类型

D、无法确定

标准答案:

C

【4】有如下定义:

structdate{intyear,month,day;};

structworklist{charname[20];charsex;structdatebirthday;}personone;

对结构体变量personone的出生年份进行赋值时,下面正确的赋值语句是。

A、year=1968

B、birthday.year=1968

C、personone.birthday.year=1968

D、personone.year=1968

标准答案:

C

【5】设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是

A、'a'&&'b'

B、a<=b

C、a||b+c&&b-c

D、!

((a

c||1)

标准答案:

D

【6】字符串“\t\n\\\045\’”的长度为。

A、4

B、10

C、5

D、说明不合法

标准答案:

C

【7】sizeof(float)是()。

A、一种函数调用

B、—个单精度表达式

C、—个整型表达式

D、—个不合法的表达式

标准答案:

C

【8】以下程序的输出结果是。

#include

#include

voidmain()

{

charst[20]="hello\0\t\\";

printf("%d%d\n",strlen(st),sizeof(st));

}

A、99

B、520

C、1320

D、2020

标准答案:

B

【9】有以下程序

#include

voidmain()

{

charp[]={'a','b','c'},q[]="abc";

printf("%d%d\n",sizeof(p),sizeof(q));

}

程序运行后的输出结果是______。

A、44

B、33

C、34

D、43

标准答案:

C

【10】若有以下定义,则对数组元素地址的正确引用是。

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

i=3;p=a;

A、&p

B、a++

C、&(p+1)

D、&p[i]

标准答案:

D

【11】有以下程序:

#include

main()

{intx,y;printf("Enteraninteger(x):

");

scanf("%d",&x);

if(x++<0)y=-1;

elseif(x==0)y=0;elsey=1;printf("%d",y);}

现从键盘上输入-1,则程序的输出是。

A、-1

B、0

C、1

D、不确定的值

标准答案:

A

【12】已知a,b,c的值分别是1,2,3,则执行下列语句后a,b,c的值分别是

if(a++

elsea=b=c=0;

A、0,0,0

B、1,2,3

C、1,2,1

D、2,2,2

标准答案:

D

【13】请读程序:

#include

main()

{inta,b;

for(a=1,b=1;a<=100;a++)

{if(b>=20)break;

if(b%3==1){b+=3;continue;}

b=-5;}

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

上面程序的输出结果是

A、7

B、8

C、9

D、10

标准答案:

B

【14】有以下程序段:

inti,j;

for(i=0;i<5;++i)

for(j=i;j<5;++j)

printf(“*”);

则执行以上的程序片段后,输出‘*’个数是

A、15

B、10

C、25

D、20

标准答案:

A

【15】程序段的基本结构中,不包含()。

A、函数结构

B、循环结构

C、顺序结构

D、分支结构

标准答案:

A

【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。

A、1

B、2

C、1,2

D、12

标准答案:

c

【3】若用数组名作为函数调用的实参,传递给形参的是()。

A、数组的首地址

B、数组第一个元素的值

C、数组中全部元素的值

D、数组元素的个数

标准答案:

A

【4】设有以下结构体定义:

structemproyer

{charname[8];intage;charsex;}staff;

则下面的叙述不正确的是

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

B、structemproyer是用户定义的结构体类型

C、staff是用户定义的结构体类型名

D、nameage和sex都是结构体成员名

标准答案:

C

【6】表达式-l?

(10?

10:

1):

(0?

0:

-1)的值为

A、10

B、1

C、0

D、-1

标准答案:

A

【8】下面正确的数组定义语句是。

A、inty[1][4]={1,2,3,4,5};

B、floatx[3][]={{1},{2},{3}};

C、longs[2][3]={{1},{1,2},{1,2,3}};

D、doublet[][3]={0};

标准答案:

D

【10】下面程序的输出结果是

voidprtv(int*x)

{printf("%d\n",++*x);}

main()

{inta=25;prtv(&a);}

A、23

B、24

C、25

D、26

标准答案:

D

【11】设有如下程序:

#include

main()

{charch1,ch2;

scanf(“%c%c”,&ch1,&ch2);

if(ch1!

=’B’)

{switch(ch2)

{case’B’:

switch(ch1)

{case’A’:

printf("AB")

break;

case’B’:

printf("BB")

break;}

case‘A’:

switch(ch1)

{case’A’:

printf("AA")

break;

case’B’:

printf("BA");

break;

}}}}}

若执行是从键盘上输入的数据时AB,则输出是

A、AB

B、ABAA

C、BBBAABBBAABA

D、BBBA

标准答案:

B

【12】请读程序:

#include

main()

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

switch(x)

{casel:

switch(y)

{case0:

a++;break;

case1:

b++;break;}

case2:

a++;b++;break;}

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

上面程序的输出结果是

A、a=2,b=l

B、a=l,b=l

C、a=l,b=0

D、a=2,b=2

标准答案:

A

【13】有下面的程序:

main()

{inti,n,k;

n=15496;k=2;

for(i=1;i

n=n%10;

printf("%d",n);}

则执行后的输出结果是

A、9

B、6

C、2

D、1

标准答案:

B

【2】一个函数返回值的类型是由()。

A、return语句中的表达式类型决定

B、定义函数时所指定的函数类型决定

C、调用该函数的主调函数的类型决定

D、在调用函数时临时指定

标准答案:

B

【4】以下对结构体变量stul中成员age的非法引用是

structst

{intage;intnum;}stul,*p;

p=&stul;

A、stul.age

B、age

C、p→age

D、(*p).age

标准答案:

B

【5】设ch是char型变量,其值为'a',且有下面的表达式:

ch=(ch>='a'&&ch<='z')?

(ch-32):

ch

上面表达式的值是

A、'a'

B、'A'

C、'Z'

D、'z'

标准答案:

B

【6】以下运算符中,运算优先级最低的是。

A、->

B、++

C、*

D、=

标准答案:

D

【7】属于实型常量的是

A、E10

B、10

C、10L

D、1E10

标准答案:

D

【12】有以下程序:

#include

main()

{intx,y;printf("Enteraninteger(x):

");

scanf("%d",&x);

if(x++<0)y=-1;

elseif(x==0)y=0;elsey=1;printf("%d",y);}

现从键盘上输入-1,则程序的输出是。

A、-1

B、0

C、1

D、不确定的值

标准答案:

A

【14】有下列程序段:

charch;

ints=0;

for(ch=’A’;ch<’Z’;++ch)

if(ch%2==0)s++;

printf("%d",s);

则执行上述片段后,程序的输出结果是

A、13

B、12

C、26

D、25

标准答案:

A

【15】C语言程序的基本单位是什么是()。

A、程序行

B、语句

C、函数

D、字符

标准答案:

C

一、单项选择题(每小题2分)

【1】设字符型变量ch已有值,下列语句中错误的是。

A、scanf("%c%c",ch,ch);

B、{intch=6;printf("%d",ch);}

C、ch=5;

D、ch>48&&ch<0x3A;

标准答案:

A

【4】若有以下定义和语句:

structstudent

{intnum;intage;};

structstudentstu[3]={{l001,20},{1002,19},{1003,2l}};

main()

{structstudent*p;p=stu;

...}

则下列引用中不正确的是。

A、(p++)→num

B、p++

C、(*p).num

D、p=&stu.age

标准答案:

D

【5】若a是float型变量,则表达式a=l,a++,a+=a的值为。

A、2

B、4

C、2.0

D、4.0

标准答案:

D

【6】若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是    。

A、A%2==1

B、!

(A%2==0)

C、!

(A%2)

D、A%2

标准答案:

C

【10】有以下程序,请问执行后的输出结果是。

#include

main()

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

p=a;*(p+3)+=2;

printf("%d,%d",*p,a[3]);}

A、1,4

B、0,4

C、1,6

D、0,6

标准答案:

C

【11】若要求表示a不等于0的关系,错误的表达式是

A、)a<>0

B、a!

=0

C、a

D、a<0||a>0

标准答案:

A

【13】下面的程序,描述正确的是

main()

{intx=3;

do

{printf(“%d\n”,x-=2);}

while(!

(--x));}

A、输出的是1

B、输出的是1和-2

C、输出的是3和0

D、是死循环

标准答案:

B

【15】C语言中主函数的个数是()

A、2个

B、1个

C、任意个

D、10个

标准答案:

B

【2】以下关于函数的叙述中正确的是______。

A、每个函数都可以被其它函数调用(包括main函数)

B、每个函数都可以被单独编译

C、每个函数都可以单独运行

D、在一个函数内部可以定义另一个函数

标准答案:

B

【3】若函数的形参为一维数组,则下列说法中正确的是()。

A、调用函数时的对应实参必为数组名

B、形参数组可以不指定大小

C、形参数组的元素个数必须等于实参数组的元素个数

D、形参数组的元素个数必须多于实参数组的元素个数

标准答案:

B

【7】C浯言中的构造类型包括。

A、数组型,结构体型,联合体型

B、结构体型,联合体型,指针型

C、结构体型,联合体型,枚举类型

D、数组型,结构体型,联合体型,指针型

标准答案:

A

【10】请读程序:

#include

#include

main()

{char*s1="AbCdEf",*s2="aBcDeF";s1++;s2++;

printf("%d\n",strcmp(s1,s2));}

上面程序的输出结果是

A、正数

B、负数

C、零

D、不确定的数

标准答案:

A

【12】若执行下面的程序时从键盘上输入10,则输出是

main()

{inta;scanf("%d",&a);

if(a++>10)

printf("%d\n",++a);

elseprintf("%d\n",a--);}

A、12

B、11

C、10

D、9

标准答案:

B

【13】下面的程序段不能实现求阶乘8!

(8!

=1*2*3*4*5*6*7*8,结果存放在p中)的是

A、p=1;

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

p=p*i;

B、p=2;

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

p=p*i;

C、p=1;i=1;

while(i<9)

p=p*i++;

D、p=1;i=8;

do

{p=p*i--;}

while(i>1);

标准答案:

B

【14】下列循环中哪一个不是无限循环

A、for(i=1;;i++)

printf(“%d”,i);

B、i=1;while(i--)

{printf(“%d”,i++);}

C、i=1

do

{printf(“%d”,i);

i++;}while(--i);

D、for(i=0;i;i++)

printf(“%d”,i);

标准答案:

D

【3】若函数的形参为一维数组,则下列说法中正确的是()。

A、调用函数时

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

当前位置:首页 > 小学教育 > 其它课程

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

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