C语言基础测试练习题目.docx

上传人:b****6 文档编号:12645354 上传时间:2023-06-06 格式:DOCX 页数:25 大小:22.44KB
下载 相关 举报
C语言基础测试练习题目.docx_第1页
第1页 / 共25页
C语言基础测试练习题目.docx_第2页
第2页 / 共25页
C语言基础测试练习题目.docx_第3页
第3页 / 共25页
C语言基础测试练习题目.docx_第4页
第4页 / 共25页
C语言基础测试练习题目.docx_第5页
第5页 / 共25页
C语言基础测试练习题目.docx_第6页
第6页 / 共25页
C语言基础测试练习题目.docx_第7页
第7页 / 共25页
C语言基础测试练习题目.docx_第8页
第8页 / 共25页
C语言基础测试练习题目.docx_第9页
第9页 / 共25页
C语言基础测试练习题目.docx_第10页
第10页 / 共25页
C语言基础测试练习题目.docx_第11页
第11页 / 共25页
C语言基础测试练习题目.docx_第12页
第12页 / 共25页
C语言基础测试练习题目.docx_第13页
第13页 / 共25页
C语言基础测试练习题目.docx_第14页
第14页 / 共25页
C语言基础测试练习题目.docx_第15页
第15页 / 共25页
C语言基础测试练习题目.docx_第16页
第16页 / 共25页
C语言基础测试练习题目.docx_第17页
第17页 / 共25页
C语言基础测试练习题目.docx_第18页
第18页 / 共25页
C语言基础测试练习题目.docx_第19页
第19页 / 共25页
C语言基础测试练习题目.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言基础测试练习题目.docx

《C语言基础测试练习题目.docx》由会员分享,可在线阅读,更多相关《C语言基础测试练习题目.docx(25页珍藏版)》请在冰点文库上搜索。

C语言基础测试练习题目.docx

C语言基础测试练习题目

单项选择题

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

main()

{intm=9;

if(m++>9)printf(“%d\n”,m);elseprintf(“%d\n”,m--);}

A)8B)9C)10D)11

7、逻辑运算符中,运算优先级按从高到低依次为(d)。

A)&&,!

||B)||,&&,!

C)&&,||,!

D)!

&&,||

8、putchar函数可以向终端输出一个(D)。

A)整型变量表达式值B)实型变量值

C)字符串D)字符或字符型变量值

9、有以下程序

voidfun(inta,intb,intc)

{a=456;b=567;c=678;}

main()

{inta=10,b=20,c=30;

fun(a,b,c)

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

}输出的结果是(a)

A)30,20,10B)10,20,30

C)456,567,678D)678,567,456

10、C语言允许函数值类型缺省定义,此时函数值隐含的类型是(b)

A)float型B)int型C)long型D)double型

11、若有说明:

inta[3][4];则对a数组元素的正确引用是(A)

A)a[1][3]B)a[1,3]C)a[1+2][0]D)a

(2)

(1)

Aa[2][4]Ba[1+1][0]

inta[3][4],这个声明的第二维是4个元素,下标应该是从0到3。

而A中第二维的下标为4,大于3,越界。

12、已知inti,a;执行语句“i=(a=2*3,a*5),a+6;”后,变量i的值是(c)

A)6B)12C)30D)36

13、若inti=10;执行下列程序后,变量i的正确结果是(d)

switch(i)

{case0:

i+=1;xxxx

Xxxx

Xxxx

case10:

i+=1;

case11:

i+=1;

default:

i+=1;

}

A)10B)11C)12D)13

14、将整型变量a、b中的较大值为变量C赋值,下列语句中正确的是(b)。

A)(a>b)?

a:

b=c;B)c=(a>b)?

a:

b;

C)c=if(a>b)aelseb;D)(a>b)?

c=a:

c=b;

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

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

B)函数中的形参是局部变量

C)在一个函数内定义的变量只在函数内有效

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

16、为了判断两个字符串s1和s2是否相等,应当使用(d)

strcmp

cmp是compare的缩写,比较的意思,==0表示两个字符串相等。

A)if(s1==s2)B)if(s1=s2)

C)if(strcmp(s1,s2))

D)if(strcmp(s1,s2)==0)

17、以下正确的函数形式是(d)。

A)doublefun(intx,inty){z=x+y;returnz;}

B)fun(intx,y){intz;returnz;}

C)fun(x,y){intx,y;doublez;z=x+y;returnz;}

D)doublefun(intx,inty){doublez;z=x+y;returnz;}

18、以下程序段(a)。

x=-1;

do

{

x=x*x;

}

while(!

x);当x=-1时﹐执行do语句体"x=x*x",即此时的x==1,再while语句循环判断!

1=0﹐显然不成立﹐即while一次也不循环﹐选择A答案

A)是死循环B)循环执行二次

C)循环执行一次D)有语法错误

19、有以下程序

main( )

{  int i,s=0;

   for(i=1;i<10;i+=2)  s+=i+1;//s=s+(i+1)

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

}      程序执行后的输出结果是(d)

A)自然数1~9的累加和  B)自然数1~10的累加和

C)自然数1~9中的奇数之和  D)自然数1~10中的偶数之和

20、若程序中定义了以下函数

    double  myadd(double a,double b)

     { return (a+b);}

并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是(A)而A却忘了写B的数据类型应该改成doublemyadd(doublea,doubleB);

A)double myadd(double a,b);      B)double myadd(double,double);

C)double myadd(double b,double a);    D)double myadd(double x,double y);

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

main()

{inta=5,b=6;

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

}

(A)5,6(B)5,7(C)4,6(D)4,7

7、以下程序的运行结果为(b)。

main()

{intm=7,c;

if(m%2==0)c=m;

elsec=m+1;

printf("%d",c);

}

(A)7(B)8(C)0(D)提示错误

8、以下程序的运行结果为(d)。

main()

{intm=5;

switch(m%2)

{case0:

printf("ok1");break;

case1:

printf("ok2");break;

case2:

printf("ok3");break;

default:

printf("ok4");break;

}

}

(A)ok1ok2ok3ok4(B)ok2ok3ok4(C)ok3(D)ok2

9、有定义:

inti=1;while(i<5){printf(“*”);i++;}的循环次数为(A)。

(A)4(B)5(C)6(D)0

10、以下语句中能够跳出当前循环结构的是(a)。

(A)break(B)continue(C)do(D)end

11、与语句for(i=2;i<10;i++)printf(“*”);不同的语句是(c)。

(A)i=2;for(;i<10;i++)printf(“*”);

(B)for(i=2;i<10;++i)printf(“*”);

(C)for(i=2;i<10;i+1)printf(“*”);

(D)for(i=2;;i++){printf(“*”);if(i>=10)break;}

12、一个完整的c语言程序可以由多个函数来共同实现,在这些函数中只有一个是(c)。

(A)标准函数(B)自定义函数(C)主函数(D)子函数

13、有定义:

intst[3][4];包含有十二个数组元素,其中下标最大的元素为(d)。

(A)st[0][0](B)st[3][4](C)st[3,4](D)st[2][3]

14、以下程序的运行结果为(b)。

main()

{inti;

intst[5]={4,6,3,7,9};

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

if(i%2!

=0)printf("%d,",st[i]);

}

(A)4,3,9(B)6,7(C)1,3,5(D)3,7,9

15.已知inta=3,*p=&a;printf(“%d”,*p);输出结果为(a);

(A)3(B)&a(C)a的地址(D)随机值

16数组定义为,inta[11][11];则数组a有(d)个数组元素.

A.12B.144C.100D.121

17.对于以下的变量定义,表达式(b)是不正确的。

structnode{

intj,k;

}x,*p=&x;B(*p)是指针地址.

A.p->k=2;B.(*p).k=2;C.x.k=2D.x->k=2

18.不正确的赋值或赋初值的方式是(b)。

A.charstr[]=”string”;B.charstr[10];str=”string”;

C.char*p=”string”;D.char*p;p=”string”;

19、下列运算符中,优先级最高的是A。

!

—算数—关系—且或—赋值

A.->B.++C.&&D.=

20、在C语言提供的合法的关键字是(d)

A、swicthB、cherC、CaseD、default

一、填空题(本大题共10小题,每小题2分,共20分)

请在每小题的空格中填上正确答案。

错填、不填均无分。

1、在c语言程序设计中,指定了一些标识符表示特定含义,如int用来表示整型数据,将这样的标识符称为关键字。

5、有数组inta[10];最后一个数组元素是a[9]。

6、有定义int*p,s;其中p的值应该是一个地址。

7、语句float*s;其中的类型标识float表示单精度实数的类型。

8、头文件的扩展名可以是.h。

9、“时间”结构体包含“时,分,秒”三个数据成员,写出它的类型说明

Classtime{inthour,minute,second;}。

10、已说明文件指针fp,以读方式打开e:

\myflie\aaa.txt文件的命令是

fp=fopen(“e:

\\myflie\\aaa.txt”,”r”)。

1、若已知a=10,b=20,则表达式!

a

5、定义3行4列的整型二维数组a的语句是_int__a[3][4]_;_______。

6、结构化程序设计所规定的三种基本控制结构是顺序结构选择结构和__循环___结构。

7、对应scanf("a=%d,b=%d",&a,&b);语句的输入a为3,b为7的键盘输入格式是_______a=3,b=7____。

8、已定义文件指针(FILE*fp;),打开d:

\my\abc.txt文件的命令是

fp=fopen("d:

\\my\\abc.txt","openwith");。

9、在C语言中,能代表逻辑值"真"的是1

10、结构体“日期”包含“年,月,日”三个数据成员,请写出其类型说明

Structdate

{intyear,mouth,day;}。

三、简答题:

1.下列程序

#defineMAX10

main()

{

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

sum=1;

for(i=0;i

sum-=a[i];//sum=sum-a[i]

printf(“SUM=%d”,sum);

}

程序运行结果是:

-54

3.有如下程序

intfunc(inta,intb)

{

return(a+b);

}

voidmain()

{

intx=2,y=5,z=8,r;

r=func(func(x,y),z);

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

}

该程序的输出结果是15

4.有如下程序

voidfun(char*a,char*b)

{

a=b;(*a)++;

}

voidmain()

{

charc1=‘A’,c2='a',*p1,*p2;

p1=&c1;

p2=&c2;

fun(p1,p2);

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

}

程序运行后的输出结果是(Ab)

2.

voidmain()

{inta[10]={11,5,8,6,15,10,21,3,7,2};

inti,s=0;

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

if(a[i]<10)s=s+a[i];51319222931

printf("%d",s);

}

结果:

31

3.

main()

{

inta[3][3]={{1,3},{5}};

inti,j;

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

{

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

if(i==1||j==1)

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

else

printf("%3c",'');

printf("\n");

}

}

结果:

3,,

5,0,0,

0,,

4.

main()

{inta=10,b=20,t,*p1=&a,*p2=&b;

if(*p1<*p2)

{t=a;a=b;b=t;}

printf("%d,%d,%d,%d",a,b,*p1,*p2);

}20102010

二、编程题

1.输入一个成绩,如果小于60分,则输出“不及格”,否则输出“及格”

#include

voidmain()

{inta;

printf("输入:

");

scanf("%d",&a);

if(a>60)

printf("及格");

elseprintf("不及格");

}

2.任意输入n值,求n!

并输出结果。

(求阶乘部分用子函数实现)

intA(inta)

{

int,i;longj=1;for(i=1;i<=a;i++){j=j*i;}

returnj;

}

voidmain()

{intA(inta);

intn,m;

printf("输入:

");

scanf("%d",&n);

m=A(n);

printf("%d!

=%d\n",n,m);

}

3.从键盘输入100个学生的成绩,统计最高分、最低分和平均分

#include

voidmain()

{

floata[100];

floatmax,min,sum=0.0,pj;

inti;

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

{

scanf("%f",&a[i]);

}

max=min=a[0];

for(intj=0;j<100;j++)

{

if(a[j]>max)

max=a[j];

if(a[j]

min=a[j];

sum+=a[i];//sum=sum+a[i]

pj=sum/100;

}

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

sum+=a[i];//sum=sum+a[i]

pj=sum/100;

printf("最高分%.2f最低分%.2f平均分%.2f\n",max,min,pj);

}

4.输入三个数,按从小到大排序输出。

(要求:

交换两个数用函数实现)

#include

main()

{inta,b,c,t;

scanf("%d%d%d",&a,&b,&c);

if(a>b)

{t=a;a=b;b=t;}

if(a>c)

{t=a;a=c;c=t;}

if(b>c)

{t=b;b=c;c=t;}

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

}

5..水仙花数

#include

main()

{

inti=0,j=0,k=0,n=0;

printf("水仙花数为:

");

for(n=100;n<1000;n++)

{

i=n/100;

j=n/10%10;

k=n%10;

if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)

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

}

}

二维数组应用举例3

//找最大值

#include

voidmain()

{

inta[3][4]={{101,67,78,89},{102,60,70,40},{103,35,55,70}};

inti,j;

intmax,row,col;

max=a[0][1];

row=0;//行

col=1;//列

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

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

if(max

{

max=a[i][j];

row=i;

col=j;

}

printf("%d学生的成绩最高%d\n",a[row][0],a[row][col]);

二维数组应用举例4

//找特定值

#include

voidmain()

{

inta[3][4]={{101,67,78,89},{102,60,70,40},{103,35,55,70}};

inti,j;

intkey,row,col;

intflag=0;//未找,标记为0

printf("找谁:

");

scanf("%d",&key);

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

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

if(key==a[i][j])

{

row=i;

col=j;

flag=1;//找到,标记为1

}

if(flag)

printf("找到在第%d行第%d列\n",row,col);

else

printf("无此数据\n");

}

//成绩管理

#include

voidmain()

{

inta[3][4]={{101,67,78,89},{102,60,70,40},{103,35,55,70}};

inti,j;

intbks[3]={0};

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

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

if(a[i][j]<60)

bks[i]++;

printf("\t补考名单\n\n");

printf("\t学号门数\n");

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

if(bks[i]>0)

printf("%12d%d\n",a[i][0],bks[i]);

printf("\n");

}

//矩阵的转置

#include

voidmain()

{

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

inti,j;

intb[4][3];

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

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

b[j][i]=a[i][j];//转置

printf("矩阵A=\n");

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

{

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

printf("%5d",a[i][j];//输出矩阵A

printf(“的转置矩阵B=\n”);

}

printf("的转置矩阵B=\n");

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

{

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

printf("%5d",b[i][j];//输出矩阵B

printf(“\n”);

}

存钱

#include

#include

floatv[2]={0.028,0.035};//利率

floatf0(floatb,intn)//活期存款

{

floats;

s=b*(1+n*v[0]);//本利和

returns;

}

floatf1(floatb,intn)//一年定期存款

{

floats;

s=b*pow(1+v[1],n);//本利和

returns;

}

voidmain()

{

floatbj;//本金

floatss;//到期本利和

intk;//期数(按年计算)

intch;//存款方式

printf("请选择存款方式(1--活期,2--一年定期):

");

scanf("%d",&ch);

printf("请输入存款金额:

");

scanf("%f",&bj);

printf("请输入存款期数:

");

scanf("%d",&k);

if(ch==1)

ss=f0(bj,k);

elseif(ch==2)

ss=f1(bj,k);

else

ss=0;

printf("到期本利和=%4.2f\n",ss);

}

//课题:

求1+2+3+。

+n的值

//其中n由键盘输入

#include

intsum(intk)

{

inti;

ints=0;

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

s=s+i;

returns;//请写出函数体

}

voidmain()

{

intn;

intss;

printf("n=");

scanf("%d",&n);

ss=sum(n);

printf("1+2+3+...+%d=%d\n",n,ss);

}

//课题:

计算期评成绩

//期评=平时×30%+实验×20%+期考×50%

#include

#defineN50

voidsv(inta[][5],intk)

{

inti;

for(i=0;i

a[i][4]=a[i][1]*0.3+a[i][2]*0.2+a[i][3]*0.5;//计算期评成绩

}

voidmain()

{

intstu[N][5]={{101,90,86,56},{102,95,80,45},{103,88,90,80}};//3个学生

inti,j;

sv(stu,3);

printf("\t\t成绩表\n");

printf("学号平时实验期考期评\n");

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

{

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

printf("%7d",stu[i][j]);

printf("\n");

}

}

//课题:

计算期评成绩

//期评=平时×30%+实验×20%+期考×50%

#include

#defineN50

voidsv(inta[][5],intk)

{

inti;

for(i=0;i

a[i][4]=a[i][1]*0.3+a

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

当前位置:首页 > 医药卫生 > 基础医学

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

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