C语言测试练习题库2_第1页
C语言测试练习题库2_第2页
C语言测试练习题库2_第3页
C语言测试练习题库2_第4页
C语言测试练习题库2_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计习题1.复习、稳固所学习的知识点。2.强化自己的记忆。3.锻炼自己实际运用C语言知识的能力4.平时成绩。1.以下程序输出的结果为〔〕main(){inta=10,b=50,c=30;if(a<b)a=b,b=c;c=a;printf(“a=%d,b=%d,c=%d”,a,b,c);}A)a=10,b=50,c=10B)a=10,b=30,c=10C)a=50,b=30,c=10D)a=50,b=30,c=50C语言程序设计习题

2.以下程序的输出结果是〔〕main()

{charst[20]=“hello\0\t\n”;

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

}

A)99B)520C)1320D)2020C语言程序设计习题

在C语言中,一维字符数组的最普遍的用法是作为字符串。字符串被定义为一个以空字符〔‘\0’〕终结的一维字符数组。strlen用来计算字符串的长度,即字符串中包含的字符的个数,不计〔‘\0’〕;而sizeof那么用来计算数组地址的存放长度。3.以下程序的输出结果是〔〕

main()

{inta,b;

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

{if(b>=10)break;

if(b%3==1)

{b+=3;continue;}

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

}A)101B)6C)5D)4C语言程序设计习题

break用在循环中,强迫控制立即退出循环;只能退出它所在的那层循环;continue只用在循环中,跳过其后面的语句,将控制转移到下一循环。4.以下程序的输出结果是(

)main()

{charch[3][5]={"AAAA","BBB","CC"};

printf("\"%s\"\n",ch[1]);

}

A)"AAAA"B)"BBB"C)“BBBCC”D)“CC”

,C语言程序设计习题定义二维数组时,把它看成特殊的一维数组,它的元素又是一个一维数组,如chara[3][4];它有三个元素a[0],a[1],a[3],

5.以下程序段的输出结果是_____。

voidmain(){intk,s;

for(k=0,s=0;k<10;k++)

if(s>k)break;

elses+=k;

printf("k=%ds=%d",k,s);}k=4s=61s:k=0,s=0;2s:k=1,s=1;3s:k=2,s=3;4s:k=3,s=6,k=4;C语言程序设计习题6.以下程序段的输出是______。

voidmain(){intk;

floats;

for(k=0,s=0;k<7;k++)

s+=k/2;

printf("%d,%f\n",k,s);}1s:k=0,s=0;2s:k=1,s=0;3s:k=2,s=1;4s:k=3,s=2;5s:k=4,s=4;6s:k=5,s=6;7s:k=6,s=9,k=7;k=7s=9.0C语言程序设计习题7.以下程序段的输出结果是。voidmain(){intn='c';switch(n++){default:printf("error");break;case'a':case'A':case'b':case'B':printf("good");break;

case'c':case'C':printf("pass");

case'd':case'D':printf("warn");

}passwarnC语言程序设计习题8.以下程序段的输出结果是。voidmain()

{staticinta[4][5]={{1,2,3,4,0},{2,2,0,0,0},{3,4,5,0,0},{6,0,0,0,0}};

intj,k;

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

{for(k=0;k<5;k++)

{if(a[j][k]==0)break;

printf(“%d”,a[j][k]);

}}printf(“\n”);}C语言程序设计习题12342234569.以下不能定义为用户标识符是_______。

(A)Main(B)_0(C)_int(D)sizeof

C语言程序设计习题标识符关键字C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。预定义标识符指系统自带的库函数的名字和编译预处理命令,如学到的printf和include,具有特殊、约定成俗的含义,一般不他用。用户标识符用户根据需要给程序中的变量、常量、函数、构造类型等所起的名字,不允许和关键字和预定义标识符相重。命名规那么。10.有定义语句:intb;charc[10];,那么正确的输入语句是______。A〕scanf("%d%s",&b,&c);

B〕scanf("%d%s",&b,c);C〕scanf("%d%s",b,c);

D〕scanf("%d%s",b,&c);向数组c中输入一个字符串,由于数组名在数组中代表着首地址,所以scanf函数中的变量地址表中的输入变量只需写数组名c即可。不能写成:scanf〔“%s”,&c〕

11.下面程序的运行结果是:#include<stdio.h>main(){inty=10;do

{y--;}while(--y);printf("%d\n",y--);}A)-1B)1C)8D)0C语言程序设计习题

12.数字字符0的ASCII值为48,假设有以下程序

main()

{

chara=’1’,b=’2’;

printf(“%c,”,b++);

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

}

程序运行后的输出结果是_______。(A)3,2(B)50,2(C)2,2(D)2,50

C语言程序设计习题13.有以下程序main(){intm=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是______。A〕12353514 B〕12353513

C〕12343514 D〕12343513C语言程序设计习题

14. 下面程序的输出结果是

。main(){intx=1,y=1,z=0;if(z<0)if(y>0)x=3;elsex=5;printf(“%d\t”,x);if(z=y<0)x=3;elseif(y==0)x=5;elsex=7;printf("%d\t",x);printf("%d\t",z);}A)151B)370

C)550D)170C语言程序设计习题

15.下面程序的输出结果为_________。main(){inta=1,b=0;switch(a){case1:switch(b){case0:printf("**0**");break;case1:printf("**1**");break;};break;case2:printf("**2**");break;}}A)**0**B)**0****2**C)**0****1****2**D)有语法错误C语言程序设计习题

16.下面程序的输出结果是____。main(){inta=1,b=0;do{switch(a){case1:b=1;break;case2:b=2;break;default:b=0;}b=a+b;}while(!b);printf("%d,%d",a,b);}A)1,2B)2,1C)1,1D)2,2C语言程序设计习题

17.下面程序的输出结果是____。main(){intx,i;for(i=1;i<=100;i++){x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf("%d",x);}}A)3981B)4284C)2668D)2870C语言程序设计习题

18.下面程序的输出结果是________。#include<stdio.h>main(){inti,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf("%d\n",k);}A)20B)21C)22D)23C语言程序设计习题

a[0]-a[9]:0123456789;p[0]=a[0]=0;p[1]=a[2]=2;P[2]=a[6]=6;k0=k+2p[0]=5;k1=k0+2p[1]=9k2=k1+2p[2]=2119.下面程序的输出结果是________。main(){inti,j,k=10;for(i=0;i<2;i++)

{k++;

{

intk=0;for(j=0;j<=3;j++)

{if(j%2)continue;k++;

}

}k++;

}printf("k=%d\n",k);}A)k=4B)k=8C)k=14D)k=18C语言程序设计习题

220.下面程序的输出结果是_______

。#include<stdio.h>main(){inta[4][5]={1,2,4,-4,5,-9,3,6,-3,2,7,8,4};inti,j,n;n=9;i=n/5;j=n-i*5-1;printf("%d\n",a[i][j]);}A)6B)-3C)2D)不确定C语言程序设计习题

21.执行下面程序,输出的结果是

。#include<stdio.h>main(){inta=10,b=0;if(a=12){a=a+1;b=b+1;}else{a=a+4;b=b+4;}printf(“%d;%d\n”,a,b);}

A)13;1B)14;4C)11;1D)10;0C语言程序设计习题

赋值符号“=”关系运算符“==”a==1222.下面程序的输出是______。#include<stdio.h>voidmain(){intx=100,a=10,b=20,ok1=5,ok2=0;if(a<b)if(b!=15)if(!ok1)x=1;elseif(ok2)x=10;x=-1;printf("%4d\n",x);}A)-1B)0C)1D)不能确定C语言程序设计习题

23.下面的程序执行完后,a的值为______。#include<stdio.h>voidmain(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}printf("%4d\n",a);}A)7B)8C)9D)10C语言程序设计习题

24.有以下程序

main()

{

intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;

while(i++<7)if(p[i]%2)j+=p[i];

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

}

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

A)42B)45C)56D)60

C语言程序设计习题

25.对下述程序,〔〕是正确的判断。main(){intx,y;scanf(“%d,%d”,&x,&y);if(x>y)x=y;y=x;elsex++;y++;printf(“%d,%d”,x,y);}A)有语法错误,不能通过编译B)假设输入数据3和4,那么输出4和5C)假设输入数据4和3,那么输出3和4D)假设输入数据4和3,那么输出4和4C语言程序设计习题点评:不管if语句中条件为真或假,只能执行一个语句。改正的方法为将多个语句合成符合语句{}

C语言程序设计习题26.以下程序的输出结果是〔〕

main()

{inti,a[10];

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

printf(“%d%d%d”,a[2],a[5],a[8]);

}A)258B)741C)852D)369

1.题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

1s.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。

2s.main()

{

inti,j,k;

printf(“\n”);

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

/*以下为三重循环*/

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

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

{

if(i!=k&&i!=j&&j!=k)

/*确保i、j、k三位互不相同*/

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

}

}

习题-编程2.把316这个数表示成为两个数之和,使其中的一个数能被13整除,而另一个数能被11整除。编写一个程序求解这两个数。1s:采用穷举法求解。n1+n2=316,n1的取值范围为1~316。2s:#include<stdio.h>voidmain(){intn1,n2;for(n1=1;n1<316;n1++){n2=316-n1;if((n1%13==0)&&(n2%11==0))printf("n1=%d,n2=%d\n",n1,n2);}

}3.输出下三角形乘法九九表main(){inti,j;for(i=1;i<10;i++)printf("%4d",i);printf(\n***************************\n);for(i=1;i<10;i++)for(j=1;j<=i;j++)printf((j==i)?"%4d\n":"%4d",i*j);}123456789*********124369481216510152025612182430367142128354249816243240485664918273645546372814.假设一个口袋方有12个球,其中有3个红的,3个白的和6个黑的,问从中任取8个共有多少种不同的颜色搭配?1s:设任取的红球个数为i,白球个数为j,那么黑球个数为8-i-j;根据题意红球和白球的取值范围是〔0-3〕,在白球和红球个数确定的条件下,黑球个数取值应为:8-i-j<=6.2s:程序main(){inti,j,count=0;for(i=0;i<=3;i++)for(j=0;j<=3;j++)if((8-i-j)<=6)printf("%2d|%d|%d|%d|\n",++count,i,j,8-i-j);}5.如果一个正整数等于其各个数字的立方和,那么该数称为阿姆斯特朗数。如:试求1000以内所有的阿姆斯特朗数根本概念题表达式______的值是0。

A、3%5

B、3/5.0

C、3/5

D、3<5

根本概念题假设变量已正确定义并赋值,表达式______不符合C语言语法。

A、4&&3B、+aC、a=b=5D、int(3.14)

根本概念题假设所有变量均为整型,那么表达式(a=2,b=5,b++,a+b)的值是_______。A)7B)8C)6D)2

根本概念题以下不能定义为用户标识符是_______。

(A)Main(B)_0(C)_int(D)sizeof

根本概念题12.数字字符0的ASCII值为48,假设有以下程序

main()

{

chara=’1’,b=’2’;

printf(“%c,”,b++);

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

}

程序运行后的输出结果是_______。(A)3,2(B)50,2(C)2,2(D)2,50

2005年4月全国计算机等级考试二级笔试题根本概念题有以下程序main(){intm=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是______。A〕12353514 B〕12353513

C〕12343514 D〕12343513

2005年4月全国计算机等级考试二级笔试题根本概念题有定义语句:intb;charc[10];,那么正确的输入语句是______。A〕scanf("%d%s",&b,&c);

B〕scanf("%d%s",&b,c);C〕scanf("%d%s",b,c);

D〕scanf("%d%s",b,&c);

2005年4月全国计算机等级考试二级笔试题向数组c中输入一个字符串,由于数组名在数组中代表着首地址,所以scanf函数中的变量地址表中的输入变量只需写数组名c即可。不能写成:scanf〔“%s”,&c〕根本概念题下面四个选项中,均是不合法的用户标识符的选项是_______。

A)AB)floatC)b-aD)一123P_01a0gototempdo_AintINT

根本概念题C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符

A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字和下划线中任一种字符

根本概念题下面正确的字符常量是_______。A)"a"B)'\\''C)'W'D)'‘以下选项中,不能作为合法常量的是_______。

(A)1.234e04(B)1.234e0.4(C)1.234e+4(D)1.234e0

根本概念题假设有代数式3ae/bc,那么不正确的C语言表达式是:A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*3

根本概念题各变量的类型说明如下:intk,a,b;unsignedlongw=5;doublex=1.42;那么以下不符合C语言语法的表达式是_______。A)x%(-3) B)w+=-2C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)

根本概念题假设有定义:inta=7;floatx=2.5,y=4.7;那么表达式x+a%3*(int)(x+y)%2/4的值是_______。A)2·500000B)2.750000C)3.500000D)0.000000。

x+a%3*(int)(x+y)%2/4根本概念题sizeof(float)是_______。A)一个双精度型表达式

B)一个整型表达式C)一种函数调用D)一个不合法的表达式表达式18/4*sqrt(4.0)/8值的数据类型为:A)intB)floatC)doubleD)不确定

根本概念题已有如下定义和输入语句,假设要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是inta1,a2;charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);A)10A20B<CR>B)10A20B<CR>C)10A20<CR>D)10A20B<CR>。

根本概念题有以下语句:intb;charc[10];,那么正确的输入语句是_______。

A)scanf("%d%s",&b,&c);B)scanf("%d%s",&b,c);

C)scanf("%d%s",b,c);D)scanf("%d%s",b,&c);

根本概念题有以下程序

main()

{

intm,n,p;

scanf("m=%dn=%dp=%d",&m,&n,&p);

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

}

假设想从键盘上输入数据,使变量M中的值为123,N中的值为456,P中的值为789,那么正确的输入是_______。

A)M=123N=456P=789B)M=123N=456P=789C)M=123,N=456,P=789D)123456789

根本概念题设x、y均为f1oat型变量,那么以下不合法的赋值语句是_______。A)++x;B)y=(x%2)/10;C)x*=y+8;D)x=y=0;

根本概念题下关于运算符优先顺序的描述中正确的选项是_______。A)关系运算符<算术运算符<赋值运算符<逻辑与运算符B)逻辑运算符<关系运算符<算术运算符<赋值运算符C)赋值运算符<逻辑与运算符<关系运算符<算术运算符D)算术运算符<关系运算符<赋值运算符<逻辑与运算符以下运算符中优先级最高的是一一一。A)<B)+C)&&D)!=

根本概念题以下能正确定义一维数组的选项是_______。

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

C)chara={’A’,’B’,’C’};D)inta[5]="0123";

根本概念题已有定义:chara[]=“xyz”,b[]={’x’,’y’,’z’};,以下表达中正确的选项是_______。

A)数组a和b的长度相同B)a数组长度小于b数组长度

C)a数组长度大于b数组长度D)上述说法都不对

填空类的选择假设变量已正确定义,执行语句scanf("%d%d%d",&k1,&k2,&k3);时,_____是正确的输入。

A、2030,40B、203040C、20,3040D、20,30,40

填空类的选择执行语句

printf(”______”,2);将得到出错信息。

A、%d

B、%o

C、%x

D、%f

设变量定义为“ints[]="hello\nworld\n";”,那么数组s中有______个元素。

A、12B、13C、14D、15

假设变量已正确定义并赋值,表达式-k++等价于______。

A、-(k++)B、(-k)++C、-(k+1)D、-(++k)

填空类的选择已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为_______。

main(){inta;floatf;printf("\nInputnumber:");

/*输入语句*/printf("\nf=%f,a=%d\n,f,a);}Inputnumber:4.52<CR>A)scanf("%d,%f",&a,&f);B)scanf("%f,%d",&f,&a)C)scanf("%d%f",&a,&f);D)scanf("%f%d",&f,&a);

填空类的选择阅读以下程序,当输入数据的形式为251310<CR>正确的输出结果为_______。

main(){intx,y,z;scanf("%d,%d,%d",&x,&y,&z);printf("x+y+z=%d\n”,x+y+z);。

}A)x+y+z=48B)x+y+z=35C)x+z=35D)不确定值

填空类的选择有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是_______。A)132(回车)B)1,3,2(回车)C)a=1b=3c=2(回车)D)a=1,b=3,c=2(回车)

填空类的选择能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否那么为假”的表达式是。

A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B)(x>=1)||(x<=10)||(x>=200)||(x<=210)C)(x>=1)&&(x<=10)||(x>=200)&&(x<=210)D)(x>=1)||(x<=10)&&(x>=200)||(x<=210)

填空类的选择以下程序的运行结果是_______。

#include"stdio.h"main(){inta,b,d=241;

a=d/100%9;b=(-1)&&(-1);printf("%d,%d",a,b);}A)6,1B)2,1C)6,0D)2,0

填空类的选择有以下程序

main()

{

inti=1,j=2,k=3;

if(i++==1&&(++j==3||k++==3))

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

}

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

(A)123(B)234(C)223(D)233

填空类的选择请阅读以下程序:main(){inta=5,b=0,c=0;

if(a=b+c)printf("***\n");elseprintf("$$$\n");}

以上程序:A)有语法错不能通过编译

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

C)输出***

D)输出$$$

下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空:#indude"stdio.h"main(){intm=0,n=0;charc;while((__【1】

___。)!='\n'){if(c>='A'&&C<='Z')m++;

if(c>='a'&&c<='z')n++;}printf("%d\n",m<n?n:m);}【1】A)c=putchar()B)getchar()C)c=getchar()D)scanf("%c",c)

填空类的选择下面程序的运行结果是:#include<stdio.h>main(){inty=10;do

{y--;}while(--y);printf("%d\n",y--);}A)-1B)1C)8D)0

填空类的选择有以下程序

main()

{

intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;

while(i++<7)if(p[i]%2)j+=p[i];

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

}

程序运行后的输出结果是

A)42B)45C)56D)60

填空类的选择有以下C程序

main()

{

chara[7]=“a0\0a0\0”;intj;

j=strlen(a);

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

}

程序运行后的输出结果是

A)6B)7C)2D)4

填空类的选择intf1(intx,inty){returnx>y?x:y;}

intf2(intx,inty){returnx>y?y:x;}

main()

{

inta=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,b),f1(c,d));f=f1(f2(a,b),f2(c,d));

g=a+b+c+d-e-f;

printf(“%d,%d,%d\n”,e,f,g);

}

以上程序运行后的输出结果是

A)4,3,7B)3,4,7C)5,2,7D)2,5,7

填空类的选择voidf(int*x,int*y)

{

intt;

t=*x;*x=*y;*y=t;

}

main()

{

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

p=a;q=&a[7];

while(p{f(p,q);p++;q--;}

for(i=0;i<8;i++)printf("%d,",a[i]);

}

程序运行后的输出结果是

A)8,2,3,4,5,6,7,1,B)5,6,7,8,1,2,3,4,

C)1,2,3,4,5,6,7,8,D)8,7,6,5,4,3,2,1,

填空类的选择main()

{

inta[3][3],*p,i;

p=&a[0][0];

for(i=0;i<9;i++)p[i]=i;

for(i=0;i<3;i++)printf("%d",a[1][i]);

}

程序运行后的输出结果是

A)012B)123C)234D)345

填空类的选择#defineN20

fun(inta[],intn,intm)

{inti,j;

for(i=m;i>=n;i--)a[i+1]=a[i];

}

main()

{

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

fun(a,2,9);

for(i=0;i<5;i++)printf("%d",a[i]);

}

程序运行后的输出结果是

A)10234B)12344C)12334D)12234

填空题结构化程序由【1】三种根本结构组成。2.字符串的结束标记是【2】。3.以下程序的输出结果是【3】

main()

{inta=1,b=2;

a=a+b;b=a-b;a=a-b;

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论