C语言考试精选.docx

上传人:b****0 文档编号:12484748 上传时间:2023-04-19 格式:DOCX 页数:27 大小:26.07KB
下载 相关 举报
C语言考试精选.docx_第1页
第1页 / 共27页
C语言考试精选.docx_第2页
第2页 / 共27页
C语言考试精选.docx_第3页
第3页 / 共27页
C语言考试精选.docx_第4页
第4页 / 共27页
C语言考试精选.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

C语言考试精选.docx

《C语言考试精选.docx》由会员分享,可在线阅读,更多相关《C语言考试精选.docx(27页珍藏版)》请在冰豆网上搜索。

C语言考试精选.docx

C语言考试精选

《C语言程序设计》课程考试题库

第一章C语言概述

一、单项选择题

1、C语言规定,必须用()作为主函数名。

A.FunctionB.includeC.mainD.stdio

答案:

C

2、()是C程序的基本构成单位。

A.函数B.函数和过程C.超文本过程D.子程序

答案:

A

3、在C语言中,每个语句和数据定义是用()结束。

A.句号B.逗号C.分号D.括号

c

二、判断题

1、一个C程序可以包含任意多个不同名的函数,但有且仅有一个主函数。

()

答案:

正确

2、C语言规定:

在一个源程序中,main函数的位置必须在最开始。

()

答案:

错误

3、在C程序中语句是以分号结束的。

()

答案:

正确

 

第二章程序的灵魂——算法

一、单项选择题

1、一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是()。

A.有0个或多个输入B.有0个或多个输出C.有穷性D.可行性

答案:

B

2、以下叙述中正确的是()。

A.C语言比其它语言高级。

B.C语言可以不用编译就能被计算机识别执行。

C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。

D.C语言出现的,具有其它语言的一切优点。

答案:

C

3、以下叙述正确的是()。

A.C语言的源程序不必通过编译就可以直接运行。

B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令。

C.C语言源程序经编译形成的二进制代码可以直接运行。

D.C语言中的函数不可以单独进行编译。

答案:

B

答案:

B

二、判断题

1、C语言的书写格式不会影响程序的可读性。

()

答案:

错误

2、C语言程序实现与其他高级语言一样也要经过编辑、编译连接和运行这样的三步曲。

()

答案:

正确

3、健壮的算法不会因为非法输入而出现莫名其妙的状态。

()

答案:

正确

第三章数据类型运算符与表达式

一、单项选择题

1、下列字符串是标识符的是()。

A._HJB.9_studentC.longD.LINE1

答案:

A

2、()不是C语言提供的合法关键字。

A.switchB.printC.caseD.default

答案:

B

3、判断字符型变量ch为小写字母的表达式是()。

A.’a’<=ch<=’z’B.(ch>=a)&&(ch<=z)

C.(ch>=’a’)||(ch<=’z’)D.(ch>=’a’)&&(ch<=’z’)

答案:

D

4、在C语言中,回车换行符是()。

A.\nB.\tC.\vD.\b

答案:

A

5、设整型变量a值为9,则下列表达式中使b的值不为4的表达式()。

A.b=a/2B.b=a%2

C.b=8-(3,a-5)D.b=a>5?

4:

2

答案:

B

6、能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是()。

A.(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)

B.(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)

C.(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)

D.(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)

答案:

B

7、10+’a’+1.5-567.345/’b’的结果是()型数据。

A.longB.doubleC.intD.unsignedfloat

答案:

B

8、设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是()。

A.‘a’+‘b’B.a<=bC.a||b+c&&b-cD.!

((a

c||1)

答案:

B

9、已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为()。

main()

{charc=’A’;inti=10;

c=c+10;

i=c%i;

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

}

A.75,7B.75,5C.K,5D.因存在非图形字符,无法直接显示出来

答案:

C

10、C语言中最简单的数据类型包括()。

A.整型,实型,逻辑型B.整型,实型,字符型

C.整型,字符型,逻辑型D.整型,实型,逻辑型,字符型

答案:

B

11、C语言中,运算对象必须是整型数的运算符是()。

A.%B.\C.%和\D.**

答案:

A

12、下面程序的输出结果是()。

mian()

{intx=2,y=0,z;

x*=3+2;printf(“%d”,x);

x*=y=z=4;printf(“%d”,x);

}

A.840B.1040C.10,4D.8,4

答案:

B

13、下面程序的输出结果是()。

main()

{inti,j;

i=16;j=(i++)+i;printf(“%d”,j);

i=15;printf(“%d%d”,++i,i);

}

A.321615B.331515C.341516D.341615

答案:

A

14、若已定义X和Y为double类型,则表达式:

x=1,y=x+3/2的值为()。

A.1B.2C.2.0D.2.5

答案:

C

 

二、判断题

1、在C语言中,整型数据与字符型数据在任何情况下都可以通用。

()

答案:

错误

2、在C语言程序中,AHP和ahp分别代表两个不同的标识符。

()

答案:

正确

3、在C语言中,int、char和short三种类型数据在内存中所占用的字节数都是由用户自

己定义的。

()

答案:

错误

4、在C程序中一行内可以写几个语句,一个语句可以分写在多行上。

因此,并不是每一条C语句都必须有一个分号的。

()

答案:

错误

5、在C语言程序中,happy是正确的标识符。

()

答案:

正确

6、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。

()

答案:

正确

7、浮点型常量的指数表示中,e是可以省略的。

()

答案:

错误

第四章最简单的C程序设计——顺序程序设计

一、单项选择题

1、C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同,如果格式说明的个数小于输出项的个数,多余的输出项将()。

A.不予输出B.输出空格C.照样输出D.输出不定值或0

答案:

A

2、为了表示关系x>=y>=z,应使用C语言表达式()。

A.(x>=y)&&(y>=z)B.(x>=y)AND(y>=z)

C.(x>=y>=z)D.(x>=y)&(y>=z)

答案:

A

3、若已定义inta=25,b=14,c=19;以下三项运算符(?

:

)所构成的语句的执行结果是()。

a++<=25&&b--<=2&&c++?

printf("***a=%d,b=%d,c=%d\n",a,b,c):

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

A.(***a=25,b=14,c=19)B.(***a=26,b=13,c=19)

C.(###a=25,b=14,c=19)D.(###a=26,b=13,c=19)

答案:

D

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

main()

{

inti=010,j=10,k=0x10;

printf("%d,%d,%d\n",i,j,k);}

A.8,10,16B.8,10,10C.10,10,10D.10,10,16

答案:

A

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

#include

main()

{printf("%d\n",NULL);}

A.不确定的值B.0C.-1D.1

答案:

B

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

main()

{

charc1='6',c2='0';

printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);

}

A.因输出格式不合法,输出出错信息B.6,0,6,102

C.6,0,7,6D.6,0,5,7

答案:

B

7、设有如下定义:

intx=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));输出结果是()。

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

答案:

A

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

main()

{

intx=10,y=10;

printf("%d%d\n",x--,--y);

}

A.1010B.99C.910D.109

答案:

D

9、下面程序的输出结果()。

main()

{

intx;

x=-3+4*5-6;printf("%d",x);

x=3+4%5-6;printf("%d",x);

x=-3*4%6/5;printf("%d",x);

x=(7+6)%5/2;printf("%d",x);

}

A.11101B.11-321C.12-321D.11121

答案:

A

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

main()

{

inta=-1,b=4,k;

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

(b--<=0);

printf("%d%d%d",k,a,b);

}

A.104B.004C.103D.003

答案:

C

二、判断题

1、C程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。

()

答案:

正确

2、程序是按书写的顺序执行的。

()

答案:

错误

3、如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。

()

答案:

正确

 

第五章选择结构的程序设计

一、单项选择题

1、分析以下程序:

main()

{intx=5,a=0,b=0;

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

elseprintf(“####\n”);

以上程序()。

A.有语法错,不能通过编译B.通过编译,但不能连接

C.输出****D.输出####

答案:

D

2、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()。

main()

{intx;

scanf(“%d”,&x);

if(x++>5)printf(“%d”,x);

elseprintf(“%d\n”,x--);

}

A.7和5B.6和3C.7和4D.6和4

答案:

A

3、在C的if语句中,可用作判断的表达式是()。

A.关系表达式B.逻辑表达式C.算术表达式D.任意表达式

答案:

D

4、假定所有变量均已正确说明,下列程序段运行后x的值是()。

a=b=c=0;x=35;

if(!

a)x=-1;

elseif(b);

if(c)x=3;

elsex=4;

A.34B.4C.35D.3

答案:

B

5、若有以下变量定义:

floatx;inta,b;

则正确的switch语句是()。

A.switch(x)

{case1.0:

printf("*\n");

case2.0:

printf("**\n");

}

B.switch(x)

{case1,2:

printf("*\n");

case3:

printf("**\n");

}

C.switch(a+b)

{case1:

printf("*\n");

case2*a:

printf("**\n");

}

D.switch(a+b)

{case1:

printf("*\n");

case1+2:

printf("**\n");

}

答案:

D

6、在C语言中,多分支选择结构语句为

switch(c)

{case常量表达式1:

语句1;

……

case常量表达式n-1:

语句n-1;

default语句n;}

其中括号内表达式c的类型()。

A.可以是任意类型B.只能为整型

C.可以是整型或字符型D.可以为整型或实型

答案:

C

7、当a=1,b=3,c=5,d=4时,执行完下面程序段后x的值为()。

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

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

答案:

A

二、判断题

1、条件表达式不能取代一般if的语句。

()

答案:

错误

2、在if语句中,if子句与else子句都可以单独使用,构成了if语句的两种缺省形式。

()

答案:

错误

3、在C语言中,逗号既可以作为运算符,也可以作为分隔符。

()

答案:

正确

4、在if语句中,不可以没有else子句。

()

答案:

错误

5、在switch语句中,每一个的case常量表达式的值可以相同。

()

答案:

错误

6、在C语言的if语句中,用作条件判断的表达式只能是关系和逻辑表达式。

()

答案:

错误

7、在C语言中break和continue都是循环中途退出语句,其中break语句用来跳出一层循环结构;continue语句用来结束一次循环。

()

答案:

正确

第六章循环结构程序设计

一、单项选择题

1、while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定有能使此表达式的值变为(),否则,循环将会无限制地进行下去。

A.0B.1C.成立D.2

答案:

A

2、在do-while循环中,循环由do开始,用while结束,必须注意的是:

在while表达式后面的()不能丢,它表示do-while语句的结束。

A.0B.1C.;D.,

答案:

C

3、for语句中的表达式可以部分或全部省略,但两个()不可省略。

但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。

A.0B.1C.;D.,

答案:

C

4、程序段如下

intk=1;

while(!

k==0)

{k=k+1;printf("%d\n",k);}

说法正确的是()。

A.while循环执行2次B.循环是无限循环

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

答案:

B

5、以下for循环是()。

for(a=0,b=0;(b!

=123)&&(a<=4);a++)

A.无限循环B.循环次数不定C.执行4次D.执行5次

答案:

D

6、在下列程序中,while的循环次数是()。

main()

{inti=0;

while(i<10)

{if(i<1)continue;

if(i==5)break;

i++;

}

......

}

A.1B.10C.6D.死循环、不能确定次数

答案:

D

7、执行下面的程序后,a的值为()。

main()

{inta,b;

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

{if(b>=20)break;

if(b%3==1)

{b+=3;

continue;

}

b-=5;

}

}

A.7B.8C.9D.10

答案:

B

8、以下程序的输出结果()。

main()

{

intx=3;

do

{printf("%3d",x-=2);

}while(--x);

}

A.1B.30C.1-2D.死循环

答案:

A

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

A.do{i=1;s=1;s=s*i;i++;}while(i<=10);

B.do{i=1;s=0;s=s*i;i++;}while(i<=10);

C.i=1;s=1;do{s=s*i;i++;}while(i<=10);

D.i=1;s=0;do{s=s*i;i++;}while(i<=10);

答案:

C

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

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

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

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

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

答案:

D

二、判断题

1、do-while循环的while后的分号可以省略。

()

答案:

错误

2、在多层循环中,一个break语句只向外跳一层。

()

答案:

正确

3、do-while循环至少要执行一次循环语句。

()

答案:

正确

4、C语言中while和do-while循环的主要区别是while语句的循环体至少会被执行一次,而do-while语句的循环体则可能一次也不执行。

()

答案:

错误

5、for语句作为循环控制语句时,其括号内各个表达式及其后的分号都可缺省。

()

答案:

错误

6、C语言的三种循环不可以互相嵌套。

()

答案:

错误

7、continue只能用于循环体中。

()

答案:

正确

第七章数组

一、单项选择题

1、定义如下变量和数组:

inti;

intx[3][3]={1,2,3,4,5,6,7,8,9};

则下面执行语句的结果为()。

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

printf(“%3d”,x[i][2-i]);

A.159B.147

C.357D.369

答案:

C

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

A.整型常量B.整型常量或整型表达式

C.整型表达式D.任何类型的表达式

答案:

B

3、以下对一维整型数组a的正确说明是()。

A.inta(10);B.intn;scanf(“%d”,&n);inta[n];

C.intn=10,a[n];D.#defineSIZE10inta[SIZE];

答案:

D

4、若有说明语句:

charc=‘\64’;则变量C包含()。

A.1个字符B.2个字符

C.3个字符D.说明不合法,C值不确定。

答案:

A

5、判断字符串a和b是否相等,应当使用()。

A.if(a==b)B.if(a=b)C.if(strcpy(a,b))D.if(strcmp(a,b))

答案:

D

6、下面程序的运行结果是()。

main()

{

inta[6],i;

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

{

a[i]=9*(i-2+4*(i>3))%5;

printf("%2d",a[i]);

}

}

A.-40404B.-40403C.-40443D.-40440

答案:

C

7、若有说明:

inta[3][4]={0};则下面正确的叙述是()。

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

B.此说明语句不正确

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

D.数组a每个元素均可得到初值,但值不一定为0

答案:

C

8、下面几个字符串处理表达式中能用来把字符串str2复制到字符串str1后的是()。

A.strcat(str1,str2);B.strcat(str2,str1);

C.strcpy(str1,str2);D.strcmp(str1,str2);

答案:

C

9、若有二维数组a[m][n],则数组中a[i][j]之前的元素的个数为()。

A.j*m+iB.i*n+jC.i*m+j+1D.i*n+j+1

答案:

D

10、设有charstr[10],下列语句正确的是()。

A.scanf("%s",&str);B.printf("%c",str);

C.printf("%s",str[0]);D.printf("%s",str);

答案:

D

二、判断题

1、字符串可以用来给数组赋值,在C程序的执行语句中可以直接用字符串给数组名赋值。

()

答案:

错误

2、数组名也可作为函数参数使用,此时数组名代表数组的起始地址。

()

答案:

正确

3、数组在定义时没有必要指定数组的长度,其长度可以在程序中根据元素个数再决定。

()

答案:

错误

4、数组首地址不仅能通过数组中第一个元素的地址表示,也可以通过数组名来表示。

()

答案:

正确

5、C语言中,字符串常量存放在字符数组中要有一个结束符,该结束符是0。

()

答案:

错误

6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数。

()

答案:

错误

7、数组名能与其它变量名相同,数组名后是用方括号括起来的常量表达式,不能用圆括号。

()

答案:

正确

第八章函数

一、单项选择题

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

A.doublefun(intx,inty)B.doublefun(intx;inty)

C.doublefun(intx,inty);D.doublefun(intx,y)

答案:

A

2、C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是()。

A.地址传递B.单向值传递C.双向值传递D.由用户指定传递方式

答案:

B

3、以下关于C语言程序中函数的说法正确的是()。

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

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

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

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

答案:

B

4、一个数据类型为void的函数中可以没有return语句,那么函数的被调用时()。

A.没有返回值B.返回一个系统默认值

C.返回值由用户临时决定D.返回一个不确定的值

答案:

D

5、以下说法不正确的是()。

A.实参可以是常量、变量或表达式B.形参可以是常量、变量或表达式

C.实参可以

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

当前位置:首页 > 高中教育 > 数学

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

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