C语言程序设计习题集及答案修改.docx

上传人:b****0 文档编号:18161125 上传时间:2023-08-13 格式:DOCX 页数:27 大小:57.32KB
下载 相关 举报
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_第6页
第6页 / 共27页
C语言程序设计习题集及答案修改.docx_第7页
第7页 / 共27页
C语言程序设计习题集及答案修改.docx_第8页
第8页 / 共27页
C语言程序设计习题集及答案修改.docx_第9页
第9页 / 共27页
C语言程序设计习题集及答案修改.docx_第10页
第10页 / 共27页
C语言程序设计习题集及答案修改.docx_第11页
第11页 / 共27页
C语言程序设计习题集及答案修改.docx_第12页
第12页 / 共27页
C语言程序设计习题集及答案修改.docx_第13页
第13页 / 共27页
C语言程序设计习题集及答案修改.docx_第14页
第14页 / 共27页
C语言程序设计习题集及答案修改.docx_第15页
第15页 / 共27页
C语言程序设计习题集及答案修改.docx_第16页
第16页 / 共27页
C语言程序设计习题集及答案修改.docx_第17页
第17页 / 共27页
C语言程序设计习题集及答案修改.docx_第18页
第18页 / 共27页
C语言程序设计习题集及答案修改.docx_第19页
第19页 / 共27页
C语言程序设计习题集及答案修改.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计习题集及答案修改.docx

《C语言程序设计习题集及答案修改.docx》由会员分享,可在线阅读,更多相关《C语言程序设计习题集及答案修改.docx(27页珍藏版)》请在冰点文库上搜索。

C语言程序设计习题集及答案修改.docx

C语言程序设计习题集及答案修改

C语言程序设计

习题集

基础知识

一单项选择题(每题2分,共44分)

1以下叙述正确的是___。

AC程序基本组成单位是语句BC程序每一行只能写一个语句

C简单C语句必须以分号作为结束符D注释语句可以嵌套

2一个C语言程序是从___开始执行的。

A程序中第一个函数B名为main的函数

C包含文件(头文件)的第一个函数D程序中的第一个语句

4下面标识符中,合法的用户标识符是___。

A1abcBincludeCa-b-c123Dchar

8已知inti;,则执行语句i=2.6;后,i的值为___。

A2B3C2.6D不确定

10若y为int型变量,则执行以下语句后,y的值是___。

y=8;y+=y-=y*y;

A64B–56C–112D–48

11以下合法的浮点型常量是___。

Ae-3B1.5e+2.4C3.14e+2LD3.14e+5

14若x、y、z均为整型常量,且a=100,则执行下列语句后的z值为___。

x=a++;y=--a;z=x+y-a--;

A100B400C200D300

18若有定义:

inta=8,b=5,c;chard='A';,则执行语句c=a/b+d%a+0.5;后c的值为___。

A2B2.5

C3D类型不一致,无法计算,编译出错

19在有以下程序:

intmain()

{inti=10,j=1;

i=i+j++;

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

intmain()

执行后输出结果是___。

A12,3,11B12,2,11C11,3,11D12,3,12

20已知inti=65;,则putchar(i);printf("%d",i);printf("%c",i);的输出结果为___。

AA,65,AB65,65,ACA,A,65DA,A,A

21已知inty,a,i=1;,则语句printf("%d,%d",-i++,(y=a=3.6*3));的输出结果为___。

A-1,10B-2,1.8C0,3D1,18

22有以下程序:

intmain()

{chara,b,c,d;

a='\';b='\xbc';

c='\0xab';d='\023';

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

return0;

return0;

}

编译时出现错误,以下叙述中正确的是___。

A程序中只有a='\';语句不正确Bb='\xbc';语句不正确

Cd='\023';语句不正确Da='\';和c='\0xab';语句都不正确

二填空题(第1题2分,其余每题3分,共56分)

1设x为int型变量,请写出描述“x是偶数”的表达式是___。

2已知scanf("a=%d,b=%d,c=%d",&a,&b,&c);,若从键盘输入2、3、4三个数分别作为变量a、b、c的值则正确的输入形式是___。

3设有语句inta=3;,则执行了语句a+=a-=a*a后,变量a的值是___。

10设a、b、c为整形变量,且a=2、b=3、c=4,则执行完语句a*=16+(b++)-(++c);之后,变量a的值为___。

12以下程序的结果为___。

intmain()

{inta=2,b=3,c,d;

c=(a++)+(a++)+(a++);

d=(++b)+(++b)+(++b);

printf("a=%dc=%d\n",a,c);

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

return0;

}

顺序、选择结构程序设计

一单项选择题(每题2分,共40分)

7以下程序运行后的输出结果是___。

intmain()

{intx=4,y=7;

x-=y;y+=x;

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

return0;

}

A47B-3-3C-311D-34

10设a、b和c都是int型变量,且a=3,b=0,c=5,则以下值为0的表达式是___。

A'a'&&'b'Ba&&b||cCa&&b&&cDa||b&&c

11在嵌套使用if语句时,C语言规定else总是___。

A和之前及其具有相同缩进位置的if配对

B和之前及其最近的if配对

C和之前及其最近不带else的if配对

D和之前的第一个if配对

12若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为___。

Aa<>0B!

aCa=0Da

13以下程序运行后的输出结果是___。

intmain()

{inta=2,b=-1,c=2;

if(a

if(b<0)c=0;

elsec++;

printf("%d\n",c);

return0;

}

A0B1C2D3

14若k是int型变量,下面的程序段的输出结果是。

k=-3;

if(k<=0)printf("####")

elseprintf("&&&&");

A####B&&&&

C####&&&&D有语法错误,无输出

15以下程序运行后的输出结果是___。

intmain()

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

if(a=1)b=1;c=2;

elsed=3;

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

return0;

}

A0,1,2,0B0,0,0,3C1,1,2,0D编译有错

16以下程序运行后的输出结果是___。

intmain()

{intx1=1,x2=0,x3=0;

if(x1=x2+x3)printf("****");

elseprintf("####");

return0;

}

A****B有语法错误C####D无输出结果

17当a=1,b=3,c=5,d=4时,执行下面一行程序后,x的值是___。

if(a

A1B2C3D6

18下列叙述中正确的是___。

Abreak语句只能用于switch语句

B在switch语句中必须使用default

Cbreak语句必须及switch语句中的case配对使用

D在switch语句中不一定使用break语句

20以下程序运行后的输出结果是___。

#include

intmain()

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

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

}

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

return0;

}

Aa=2,b=1Ba=1,b=1Ca=1,b=0Da=2,b=2

二填空题(每题3分,共30分)

8为表示关系x≥y≥z,应使用C语言表达式___。

9下面的程序段的输出结果是___。

intx=3;

if((x%2)?

printf("**%d",x):

printf("##%d\n",x));

10以下程序运行后的输出结果是___。

intmain()

{intm=5;

switch(m/2)

{case1:

m++;

case2:

m+=3;

case5:

m+=6;break;

default:

m-=7;

}

printf("%d\n",m);

return0;

}

三程序填空(每空5分,共30分)

1下列程序的输出结果是16.00,请填空。

intmain()

{inta=9,b=2;

floatx=【1】,y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f\n",z);

return0;

}

循环结构程序设计

一单项选择题(每题2分,共40分)

1以下程序中,while循环的循环次数是___。

intmain()

{inti=0;

while(i<10)

{if(i<1)continue;

if(i==5)break;

i++;

}

……

return0;

}

A1B10C6D死循环

2以下程序的执行结果是___。

intmain()

{intn=9;

while(n>6){n--;printf("%d",n);}

return0;

}

该程序的输出结果是

A987B876C8765D9876

3以下程序段,while循环执行的次数是___。

intk=0;

while(k=1)k++;

A无限次B有语法错C一次也不执行D执行1次

4以下叙述正确的是___。

Ado-while语句构成的循环不能用其它语句构成的循环来代替

Bdo-while语句构成的循环只能用break语句退出

C用do-while语句构成的循环,在while后的表达式为非零时结束循环

D用do-while语句构成的循环,在while后的表达式为零时结束循环

6以下程序的执行结果是___。

intmain()

{intx=23;

do{printf("%d",x--);}while(!

x);

return0;

}

A321B23C不输出任何内容D陷入死循环

7有以下程序段,输出结果是___。

intx=3;

do{printf("%d",x-=2);}while(!

(--x));

A1B30C1-2D死循环

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

intmain()

{inta=0,i;

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

{switch(i)

{case0:

case3:

a+=2;

case1:

case2:

a+=3;

default:

a+=5;

}

}

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

return0;

}

A31B13C10D20

9以下程序的输出结果是___。

intmain()

{inti=0,a=0;

while(i<20)

{for(;;)

if((i%10)==0)break;

elsei--;

i+=11;a+=i;

}

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

return0;

}

A21B32C33D11

10以下循环体的执行次数是___。

intmain()

{inti,j;

for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i);

return0;

}

A3B2C1D0

11下列程序的输出结果是___。

intmain()

{inti,j,m=0,n=0;

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

for(j=0;j<2;j++)

if(j>=i)m=1;n++;

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

return0;

}

A4B2C1D0

12下列程序的输出结果是___。

intmain()

{inti,sum;

for(i=1;i<=3;sum++)sum+=i;

printf("%d\n",sum);

return0;

}

A6B3C死循环D0

13以下程序执行后sum的值是___。

intmain()

{inti,sum;

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

printf("%d\n",sum);

return0;

}

A15B14C不确定D0

14以下程序执行后的输出结果是___。

intmain()

{inti,n=0;

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

{do{if(i%3)continue;n++;}while(!

i);

n++;

}

printf("n=%d\n",n);

return0;

}

An=5Bn=2Cn=3Dn=4

16以下程序执行后的输出结果是___。

intmain()

{intx=1,y=1;

while(y<=5)

{if(x>=10)break;

if(x%2==0)

{x+=5;continue;}

x-=3;y++;

}

printf("%d,%d",x,y);

return0;

}

A6,6B7,6C10,3D7,3

17以下程序执行后的输出结果是___。

intmain()

{inta=5;

while(!

(a-->5))

{switch(a)

{case1:

a++;

case4:

a+=4;

case5:

a+=5;break;

default:

a-=5;

}

}

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

return0;

return0;

}

A12B7C5D13

20当执行以下程序时,___。

inta=1;

do{a=a*a;}while(!

a);

A循环体将执行1次B循环体将执行2次

C循环体将执行无限次D系统将提示有语法错误

二填空题(每空3分,共33分)

1若输入字符串:

abcde<回车>,则以下while循环体将执行___次。

while((ch=getchar())=='e')printf("*");

2以下while循环执行的次数是___。

k=0;while(k=10)k=k+1;

3下列程序的输出结果是___。

intmain()

{intx=0,y=5,z=3;

while(z-->0&&++x<5)y=y-1;

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

return0;

}

6以下程序的输出结果是___。

intmain()

{ints,i;

for(s=0,i=1;i<3;i++,s+=i);

printf("%d\n",s);

return0;

}

7要使以下程序段输出10个整数,请填入一个整数。

for(i=0;i<=___;printf("%d\n",i+=2));

三程序填空题(每空3分,共27分)

数组

一单项选择题(每题2分,共40分)

1以下对一维整型数组a的正确定义(说明)的是___。

Ainta(10);B)intn=10,a[n];Cintn;D#defineSIZE10

scanf("%d",&n);inta[SIZE];

inta[n];

2若有定义(说明)inta[10];,则对数组a的元素正确引用的是___。

Aa[10]Ba[3.5]Ca(5)Da[10-10]

5以下对一维整型数组a初始化的语句中正确的是___。

Ainta[10]=(0,0,0,0,0);Binta[10]=();

Cintx=2,a[10]={10*x};Dinta[10]={0};

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

intmain()

{inty=18,i=0,j,a[8];

do{a[i]=y%2;i++;y=y/2;}while(y>=1);

for(j=i-1;j>0;j--)printf("%d",a[j]);

return0;

}

A1000B1001C1010D1100

9以下对二维数组a的正确定义(说明)的是___。

Ainta[3][];Bfloata(3,4);Cdoublea[1][4];Dfloata(3)(4);

10若有定义(说明)inta[3][4];,则对数组a的元素的引用非法的是___。

Aa[2][2*1]Ba[1][3]Ca[4-2][0]Da[0][4]

11以下不能对二维数组a进行正确初始化的语句是___。

Ainta[2][3]={0};Binta[][3]={{1,2},{0}};

Cinta[2][3]={{1,2},{3,4},{5,6}};Dinta[][3]={1,2,3,4,5,6};

14以下程序的输出结果是___。

intmain()

{inti,a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);

return0;

}

A0650B1470C5430D输出值不定

16下列描述不正确的是___。

A字符型数组中可以存放字符串

B可以对字符型数组进行整体输入和输出

C可以对整型数组进行整体输入和输出

D不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值

17对于以下定义,叙述正确的是___。

charx[]="abcdef";

charx[]={'a','b''c','d','e','f'};

A数组x和数组y等价B数组x和数组y的长度相等

C数组x的长度大于数组y的长度D数组x的长度小于数组y的长度

18以下选项中,不能正确赋值的是___。

Achars1[10];s1="Ctest";Bchars2[]={'C','t','e','s','t'};

Cchars3[20]="Ctest";Dchars4[30];strcpy(s4,"Ctest");

19若有定义和语句:

chars=[10];s="abcd";printf("%s\n",s);,则输出结果是___。

(以下□表示空格)

AabcdBaCabcd□□□□□D编译不通过

AABC6789BABC67C12345ABC6DABC45678

二填空题(每空3分,共24分)

3下列程序的输出结果是___。

intmain()

{inti,a[10];

for(i=9;i>=0;i--)a[i]=10-i;

printf("%d%d%d\n",a[2],a[5],a[8]);

return0;

}

三程序填空题(每空3分,共36分)

函数

一单项选择题(每题2分,共40分)

1以下正确的函数定义是___。

Adoublefun(intx,inty)Bdoublefun(intx,y)

{z=x+y;returnz;}{intz;returnz;}

Cfun(x,y)Ddoublefun(intx,inty)

{intx,y;doublez;{doublez;

z=x+y;returnz;}returnz;}

2以下正确的说法是___。

A实参和及其对应的形参各占用独立的存储单元

B实参和及其对应的形参共占用一个存储单元

C有当实参和及其对应的形参同名时才共占用相同的存储单元

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

3若调用一个函数,且此函数中没有return语句,则正确的说法是___。

A该函数没有返回值B该函数返回若干个系统默认值

C能返回一个用户所希望的函数值D返回一个不确定的值

4以下正确的描述是___。

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

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

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

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

5若用数组名作为函数调用的实参,传递给形参的是___。

A数组的首地址B数组中第一个元素的值

C数组中的全部元素的值D数组元素的个数

6以下不正确的说法是___。

A在不同函数中可以使用相同名字的变量

B形式参数是局部变量

C在函数内定义的变量只在本函数范围内有定义

D在函数内的复合语句中定义的变量在本函数范围内有定义

9调用函数的实参及被调用函数的形参应有如下关系___。

A只要求实参及形参个数相等B只要求实参及形参顺序相同

C只要求实参及形参数据类型相同D上述三点均需具备

10凡在函数中未指定存储类别的变量,其隐含的存储类别是___。

A自动B静态C外部D寄存器

11在源程序的一个文件中定义的全局变量的作用域是___。

A在本文件的全部范围B该程序的全部范围

C一个函数的范围D从定义该变量的位置开始至该文件的结束

12下列程序运行后的输出的数据是___。

intsum(intn)

{intp=1,s=0,i;

for(i=1;i<=n;i++)s+=(p*=i);

returns;

}

intmain()

{printf("sum(5)=%d\n",sum(5));return0;

}

Asum(5)=151Bsum(5)=152Csum(5)=153Dsum(5)=155

14运行下面的程序后,其输出结果是___。

intmain()

{inta=6,b=2,c;

c=f(a)/f(b);

printf("%d\n",c);

return0;

}

intf(intx)

{inty;

y=x++*x++;

returny;

}

A9B6C36D18

18下列程序运行后的输出结果是___。

intmain()

{intm=4,n=2,k;

k=fun(m,n);printf("%d\n",k);

k=fun(m,n);printf("%d\n",k);

return0;

}

intfun(intx,inty)

{staticintn=3,i=2;

i+=n+1;n=i+x+y;

return(n);

}

A12B12C12D12

12232516

二填空题(每空3分,共30分)

1函数调用语句:

fun((a,b),(c,d,e));,实参个数为___。

2凡在函数中未指定存储类别的局部变量,其默认的存储类别为___。

3在一个C程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为___。

4C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是___。

5运行下面程序,其输出结果是___。

#include

in

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2