总练习题C语言Word文件下载.docx

上传人:b****4 文档编号:16442103 上传时间:2022-11-23 格式:DOCX 页数:17 大小:22.90KB
下载 相关 举报
总练习题C语言Word文件下载.docx_第1页
第1页 / 共17页
总练习题C语言Word文件下载.docx_第2页
第2页 / 共17页
总练习题C语言Word文件下载.docx_第3页
第3页 / 共17页
总练习题C语言Word文件下载.docx_第4页
第4页 / 共17页
总练习题C语言Word文件下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

总练习题C语言Word文件下载.docx

《总练习题C语言Word文件下载.docx》由会员分享,可在线阅读,更多相关《总练习题C语言Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。

总练习题C语言Word文件下载.docx

%4.2f"

&

d);

当输入数据时,必须指明变量地址,例如:

f);

10.若有以下定义和语句:

A

intu=010,v=0x10,w=10;

printf("

%d,%d,%d\n"

u,v,w);

则输出结果是:

8,16,10B 

10,10,10

8,8,10D 

8,10,10

11.已知:

intx,y;

floatz;

则以下输入语句错误的是D

%d,%d,%f"

x,&

y,&

z);

scanf("

%d%d%f"

%d%d%f"

&

%d%d%6.2f"

12.计算机能直接执行的程序是_____D________。

A)源程序B)目标程序C)汇编程序D)可执行程序

13.以下叙述中正确的是________C____。

A)用C语言实现的算法必须要有输入和输出操作

B)用C语言实现的算法可以没有输出,但必须要有输入

C)用C语言程序实现的算法可以没有输入,但必须要有输出

D)用C语言程序实现的算法可以既没有输入,也没有输出

14.以下选项中合法的标识符是____C__________。

A)1_1B)1-1C)_11D)1_

15.5.C源程序中不能表示的数制是_____A_______。

A)二进制B)八进制C)十进制    D)十六进制

16.以下关于C语言数据类型使用的叙述中错误的是_____D_____。

A)若要准确无误地表示自然数,应使用整数类型

B)若要保存带有多位小数的数据,应使用双精度类型

C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型

D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型

17.以下选项中,能用作数据常量的是____D_______。

A)o115B)0118C)1.5e1.5D)115L

18.以下选项中不能作为C语言合法常量的是______A________。

A)’cd’B)0.1e+6C)”a”D)‘\011’

19.有以下定义:

inta;

longb;

doublex,y;

则以下选项中正确的表达式是__A_______。

A)a%(int)(x-y)B)A(a=x)!

=yC)(a*y)%bD)y=x+y=a

20.(int)((double)9/2)-(9)%2的值是____B_________。

A)0B)3C)4D)5

21.程序段:

intx=12;

doubley=3.141593;

printf(“%d%8.6f”,x,y);

输出结果是_____A_____。

A)123.141593B)123.141593C)12,3.141593D)123.1415930

22.有以下语句:

intb;

charc[10];

,则正确的输入语句是______B_____。

A)scanf(“%d%s”,&

b,&

c);

B)scanf(“%d%s”,&

b,c);

C)scanf(“%d%s”,b,c)D)scanf(“%d%s”,b,&

23.若变量已正确定义。

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

中,以下不可替代W的是____A_____。

A)a<

>

b+cB)c=getchar()C)a==b+cD)a++

24.已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是___B____________。

A)kk>

=’A”&

&

kk<

=’Z’B)!

(kk>

=’A’||kk<

=’Z’)

C)(kk+32)>

=’a’&

(kk+32)<

=’z’D)isalpha(kk)&

(kk<

91)

25.15.若a是数值类型,则逻辑表达式(a==1)||(a!

=1)的值是____A_______。

A) 1   B)0C)2D)不知道a的值,不能确定

26.当变量c的值不为2、4、6时值也为“真”的表达式是____B_________。

A)(c==2)||(c==4)||(c==6)B)(c>

=2&

c<

=6)||(c!

=3)||(c!

=5)

C)(c>

=6)&

(c%2)

D)(c>

(c%2!

=1)

27.如有表达式(w)?

(--x):

(++y),则其中与w等价的表达式是___D_________。

A)w=1B)w=0C)w!

=1D)w!

=0

1.C语言源程序文件的后缀是_.C___经过编译后生成文件的后缀是_.Obj___,经过链接后生成文件的后缀是.EXE____.

2.已知字母A的ASCII码为65。

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

main()  

{chara,b;

a='

A'

+'

5'

-'

3'

;

b=a+'

6'

2'

;

%d%c\n"

a,b);

  

}

1.有以下程序

#include<

stdio.h>

main(){

intx;

scanf(“%d”,&

x);

if(x<

=3);

elseif(x!

=10)

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

}

程序运行时,输入的值在哪个范围才会有输出结果________B____ 

A)不等于10的整数B)大于3且不等于10的整数

C)大于3或等于10的整数D)小于3的整数

2.以下程序运行后的输出结果是___A_____________。

#include<

main(){

inta=1,b=0;

if(!

a)b++;

elseif(a==0)if(a)b+=2;

elseb+=3;

printf(“%d\n”,b)

A)0B)1C)2D)3

3.若有定义:

floatx=1.5;

inta=1,b=3,c=2;

则正确的switch语句是_____C______。

A)switch(x)

{

case1.0:

printf(“*\n”);

case2.0:

printf(“**\”);

}

B)switch((int)x);

{

case1:

case2:

printf(“**\n”);

C)switch(a+b)

case2+1:

D)switch(a+b)

casec:

case2:

4.以下程序运行后的输出结果是______B________。

#include<

inta=1,b=2;

while(a<

6){b+=a;

a+=2;

b%=10;

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

A)5,11B)7,1C)7,11D)6,1

5.以下程序运行后的输出结果是___B_______。

inty=10;

while(y--);

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

A)y=0B)y=-1C)y=1D)while构成无限循环

6.设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是___D_____。

A)n=0;

while((ch=getchar())!

=”\n”)n++;

B)n=0;

while(getchar()!

C)for(n=0;

getchar()!

=”\n”;

n++);

D)n=0;

for(ch=getchar()!

7.以下程序段中的变量已正确定义,则程序段的输出结果是____D______。

for(i=0;

i<

4;

i++,i++)

for(k=1;

k<

3;

k++);

printf(“*”);

A)******B)****C)**D)*

8.以下叙述中正确的是_____C_________。

A)break语句只能用于switch语句体中

B)continue语句的作用是:

使程序的执行流程跳出包含它的所有循环

C)break语句只能用在循环体内和switch语句体内

D)在循环体内使用break语句和continue语句的作用相同

9.有程序段:

intn=1;

do{n=++n*5;

while(n=10);

则此循环的循环体(D)

A:

执行1次B:

执行2次C:

不执行D:

执行无限次

10.以下程序的输出结果是(A)

main()

{inti;

for(i=1;

=5;

i++)

{

if(i%2)printf(“*”);

elsecontinue;

printf(“#”);

printf(“$”);

*#*#*#$B:

*#*#$C:

#*#*#*$D:

#*#*$

11.以下程序段是(C)

x=-1;

do

{x=x*x;

}while(!

死循环B:

循环执行两次

C:

循环执行一次D:

有语法错误

12.C语言中,逻辑“真”等价于C

大于零的数B:

大于零的整数C:

非零的数D:

非零的整数

13.C语言的switch语句中,case后B

只能为常量B:

只能为常量或常量表达式

可为常量及表达式或有确定值的变量及表达式D:

可为任何量或表达式

1.以下程序的功能是:

将输入的正整数按逆序输出。

例如:

若输入135,则输出531.请填空。

main()

{intn,s;

printf(“Enteranumber:

”);

scanf(“%d”,&

n);

printf(“Output:

do{s=n%10;

printf(“%d”,s);

_n/=10___;

}while(n!

=0);

printf(“\n”);

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

{intn=10;

while(n>

7)

{n--;

printf(“%d”,n);

}}

2.以下程序的输出结果是9,10

main()

{inti=010,j=10;

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

3.以下程序的输出结果是0123456789

{inti;

for(i=0;

10;

i++)

printf(“%d”,i);

4.以下程序的输出结果是(1,2,0)

inta=1,b=2,c=2,t;

while(a<

b<

c){t=a;

a=b;

b=t;

c--;

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

5.#include<

{inti,j,sum;

for(i=3;

i>

=1;

i--)

{

sum=0;

for(j=1;

j<

=i;

j++)sum+=i*j;

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

1

编程题

1.编一个程序。

求出200-300之间的某些数,这些数应满足条件:

它们个位、十位、百位之积为42、之和为12。

#include“stdio.h”

main()

{inti,j,k;

i=2;

for(j=0;

=9;

j++)

{k=0;

while(k<

=9)

{if(i*j*k==42&

i+j+k==12)

printf(“i=%d,j=%d,k=%d.\n”,i,j,k);

k++;

2.编程判断输入的正整数是否既是5又是7的整倍数。

若是,输出yes,否则输出no。

#include<

intx;

printf(“pleaseinputanintegar:

%d"

if(x%5==0&

x%7==0)printf("

yes\n"

);

elseprintf("

no\n"

1.下列定义数组的语句中,正确的是__B________。

A)intN=10;

intx[N];

B)#defineN10

intx[N];

C)intx[0..10];

D)intx[];

2.若要定义一个具有5个元素的整形数组,以下错误的定义语句是____D______。

A)inta[5]={0};

B)intb[]={0,0,0,0,0};

C)intc[2+3];

D)inti=5,d[i];

3.以下程序运行后的输出结果是_____C_____。

{inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;

5;

i++)s=s+a[b[i]];

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

A)6B)10C)11D)15

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

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

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

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

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

5.以下程序运行后的输出结果是______C__________。

voidfun(intp)

{intd=2;

p=d++;

printf(“%d”,p);

{inta=1;

fun(a);

printf(“%d\n”,a):

A)32B)12C)21D)22

6.下面的函数调用语句中func函数的实参个数是________A_____。

func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));

A)3B)4C)5D)8

7.以下程序运行后的结果是____A_______。

intfun()

{staticintx=1;

x+=1;

returnx;

inti,s=1;

for(i=1;

=5;

i++)s=fun();

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

A)11B)21C)6D)120

8.若函数的形参为一维数组,则下列说法中正确的是B

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

形参数组可以不指定大小。

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

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

9.在函数的说明和定义时若没有指出函数的类型,则A

系统自动地认为函数的类型为整型。

系统自动地认为函数的类型为字符型。

系统自动地认为函数的类型为实型。

编译时会出错。

10.以下对一维数组a进行不正确初始化的是A

inta[10]=(0,0,0,0);

B:

inta[10]={};

inta[]={0};

D:

inta[10]={10*2};

11.以下叙述中正确的是_________B_____。

A)C语言程序是由过程和函数组成的

B)C语言函数可以嵌套调用,例如:

fun(fun(x))

C)C语言函数不可以单独编译

D)C语言中除了main函数外,其他函数不可以作为单独文件形式存在

1.以下程序统计从终端输入的字符中大写字母的个数,num[0]中统计字母A的个数,num[1]中统计字母B的个数,其他以此类推。

用#号结束输入,请填空。

ctype.h>

intnum[26]={0},i;

charc;

while(_c=getchar()_!

=’#’)

if(isupper(c))num[c-‘A’]+=__1__;

26;

i++)printf(“%c:

%d\n”,i+’A’,num[i]);

2.以下程序用以删除字符串中的所有的空格,请填空。

chars[100]={“our.tercherteachclanguage!

“};

inti,j;

for(i=j=0;

s[i]!

=’\0’;

if(s[i]!

=’’){s[j]=s[i];

j++;

s[j]=__s[i+1]___;

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

3.以下fun函数的功能是在N行M列的整型二维数组中,选出一个最大值作为函数数值返回,请填空。

(设M、N已定义)

intfun(inta[N][M])

inti,j,row=0,col=0;

N;

M,j++)

if(a[i][j]>

a[row][col]){row=i;

col=j;

return__a[row][col]__;

1.以下程序的输出结果是(a+b=9)

inta=5;

intb=7;

intplus(intx,inty)

intz;

z=x+y;

return(z);

voidmain()

inta=4,b=5,c;

c=plus(a,b);

a+b=%d\n"

c);

2.#include<

intfun(intx)

{staticintt=0;

return(t+=x);

{ints,i;

for(i=1;

i++)s=fun(i);

}

15

1.编一个程序,计算任一输入的整数的各位数字之和。

#include“stdio.h”

#include“math.h”

{intn;

printf("

Enterainteger:

"

result:

func(n));

intfunc(intnum)

{ints=0;

num=abs(num);

do

{s=s+num%10;

num=num/10;

}while(num);

return(s);

2.通过调用自定义函数来完成求圆柱体的体积(v=3.14*r<

SUP>

2<

/SUP>

*h),

要求圆柱体的高和底半径在主函数中做输入,圆柱体的体积在主函数中做输出。

floatarea(floatr,floath)

floatv;

v=3.14*r*r*h;

returnv;

}

voidmain()

floatr,h,v;

scanf("

%f%f"

r,&

h);

v=area(r,h);

printf("

v=%f"

v);

}1.有以下程序C

char*s={“ABC”};

{printf(“%d”,*s%10);

s++;

}while(*s);

A)5670B)656667C)567D)ABC

2.以下程序运行后的输出结果是____B___________。

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,2B)1,2,2,1C)2,1,2,1D)2,1,1,2

3.以下程序中关于指针输入格式正确的是____C________。

A)int*p;

p);

B)int*p;

scanf(“%d”,p);

C)intk,*p=&

k;

D)intk,*p;

*p=&

4.变量的指针,其含义是指该变量的B

值B:

地址C:

名D:

一个地址

阅读程序给出结果

1.#include<

#defineN5

intfun(int*s,inta,intn)

intj;

*s=a;

j=n;

while(a!

=s[j])j--;

returnj;

ints[N+1];

intk;

=N;

k++)s[k]=k+1;

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

3

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

当前位置:首页 > 表格模板 > 合同协议

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

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