C语言自测题.docx

上传人:b****5 文档编号:12052951 上传时间:2023-04-16 格式:DOCX 页数:11 大小:18.11KB
下载 相关 举报
C语言自测题.docx_第1页
第1页 / 共11页
C语言自测题.docx_第2页
第2页 / 共11页
C语言自测题.docx_第3页
第3页 / 共11页
C语言自测题.docx_第4页
第4页 / 共11页
C语言自测题.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C语言自测题.docx

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

C语言自测题.docx

C语言自测题

单选题

1.A是构成C语言的基本单位。

A.函数B.过程C.子程序D.子例程

2.能正确表示a≥10或a≤0关系表达式的是C。

A.a>=10ora<=10B.a>=10|a<=0C.a>=10||a<=0D.(a>=10,a<=0)

3.以下B是C合法的标识符。

A.A#CB.entryC.voidD.ab*

4.设c1是char类型的变量,则判断c1是否为数字字符的正确表达式是A。

A.(c1>=’0’)&&(c1<=’9’)B.(c1>=0)&&(c1<=9)

C.’0’<=c1<=’9’D.(c1>=’0’)||(c1<=’9’)

5.在C语言中,字符型数据在内存中是以D形式存放的。

A.原码B.BCD码C.反码D.ASCII码

6.若有以下类型说明语句:

charw;intx;floaty;doublez,则表达式w*x+z-y结果的类型是:

D。

A.floatB.charC.intD.double

7.若有inta=0,x=1;则循环语句while(a<10)x++;a++;循环执行A。

A.无限次    B.不确定次C.10次    D.9次

8.定义intn=5;下面语句的输出结果为B。

printf(n%2?

“AAA”:

”BBB”);

A.无输出B.AAAC.BBBD.AAABBB

9.下列语句中,正确的是:

D

A.inta[3][]={{1},{2}}B.inta[][]={{1,2},{4},{5,6,7}};

C.inta[3][]={{1,2},{4,5}};D.inta[4][3]={{1},{4,2},{0,6,7}};

10.下列定义不正确的是:

A。

A.inti,*p=i;B.int*p,i;C.inti,*p=&i;D.inti,*p;

11.在C语言程序中,有关函数的描述正确的是C。

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

B.一个C语言程序的执行是从函数main开始,直到最后一个函数结束。

C.C语言函数的返回值类型由定义函数时所指定的函数值类型决定。

D.若一个C语言程序由多个函数组成,必须完全按调用顺序书写程序。

12.调用函数时若以数组名(一维数组)作为实参,则实际上传递的是C。

A.数组第一个元素值B.数组中所有元素值

C.数组第一个元素地址D.数组元素个数

13.有如下定义“charstr1[20]=”Visual”,str2[10]=”C++6.0”;intc;”,调用函数strcat(str1,str2);后,str1的内容是C。

A.VisualB.C++6.0C.VisualC++6.0D.C++6.0Visual

14.若定义:

charstr[3]=”AB”;char*p=str+1;则*(p+1)的值为C。

A.”B”B.’B’C.’\0’D.0

15.若有以下定义和语句,不正确的引用方式是:

D。

Structperson

{intno;

charname[10];

}stu,*p=&stu;

A.stu.noB.(*p).noC.p->noD.stu->no

16.下列正确的预编译命令是BD。

A.definePI3.14159B.#defineP(a,b)strcpy(a,b)

C.#definestdio.hD.#definePI3.14159

17.放100个学生的数据、包括学号、姓名、成绩。

在如下的定义中,不正确的是B。

A.structstudent{intsno;charname[20];floatscore;}stu[100];

B.structstudentstu[100]{intsno;charname[20];floatscore;};

C.struct{intsno;charname[20];floatscore;}stu[100];

D.structstudent{intsno;charname[20];floatscore};structstudentstu[100];

18.在下列语句中,将C定义为文件型指针变量的是B。

A.FILEcB.FILE*cC.filecD.file*c

19.若用函数打开一个已存在的文本文件,保留该文件原有数据,且可读可写,文件打开模式是:

C。

A.”r”B.”w+”C.”a+”D.”a”

二、程序阅读题

1.假定所有变量均已正确定义,则下列程序段运行后y的值是:

A。

inta=0,y=10;

if(a=0)y=y-1;

elseif(a>0)y=y+1;

elsey+=y;

A.20B.11C.9D.0

2.定义intn=7下面程序段的执行结果为C。

switch(n)

{

case6:

n+=2;break;

case7:

n+=3;break;

case8:

n+=4;break;

case9:

n++;

}

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

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

3.下面程序的运行结果是B。

#include

main()

{inty;

for(y=9;y>0;y--)

{if(y%3!

=0)

continue;printf("%d",y);}

printf("\n");

}

A.369B.963C.875D.246

4.有一函数的定义:

voidfun(char*s){……}不正确的函数调用是D。

A.main()B.main()

{chara[20]=”abcdefgh”;{chara[20]=”abcdefgh”;

fun(a);fun(&a[0]);

…………

}}

C.main()D.main()

{chara[20]=”abcdefgh”;{chara[20]=”abcdefgh”;

char*p=a;fun(p);fun(a[5]);

…………

}}

5.若输入字符串“Szu!

”,程序的运行结果是C。

#include

voidmain()

{charc;

while((c=getchar())!

='\n')

{if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))

{c=c-4;

if(c<'a'&&c>='a'-4||c<'A')c=c+26;

}

printf("%c",c);

}

}

A.Wdy!

B.Szu!

C.Ovq!

D.Wdy!

!

!

6.程序的运行结果是A。

#include

intf1(int);

voidmain()

{

inta=1,i;

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

printf("%d",f1(a));

}

intf1(inta)

{autointb=0;

staticc=3;

a=a+1;b=b+1;c=c+1;

return(a+b+c);

}

A.789B.777C.8910D.24

7.下列程序的输出结果为A。

#include

voidmain()

{

inta[2][3],b[3][2],i,j;

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

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

{a[i][j]=3*i+j+1;

b[j][i]=a[i][j];}

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

{

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

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

printf("\n");

}

}

A.14B.123C.33D.25

254563336

363347

8.下列程序的运行情况为C。

#include

intfun(intx)

{

intp;

if(x==0||x==1)return3;

p=fun(x-2)+1;

returnp;

}

voidmain()

{

printf(“%d\n”,fun(7));

}

A.5B.9C.6D.3

9.下列程序的输出结果为D。

#include

voidmain()

{voidf(int*x,intn);

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

f(a,5);

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

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

printf("\n");

}

voidf(int*x,intn)

{int*p,temp,*i,*j,m=(n-1)/2;

i=x;j=x+n-1;p=x+m;

for(;i<=p;i++,j--)

{temp=*i;*i=*j;*j=temp;}

return

}

A.2,4,3,1,10B.10,4,3,2,1C.1,2,3,4,10D.10,1,3,4,2

10.下面程序的功能是A。

#include

#include

main()

{FILE*fp;

charstr[]=”enjoy”;

inti;

fp=fopen(“study1”,”w”);

for(i=0;i

fputc(str[i],fp);

fclose(fp);

}

A.在屏幕上显示“enjoy”B.把“enjoy”存入study1

C.在打印机上打印出“enjoy”D.在屏幕上显示“study1”

三、编程题

1.编写程序,由键盘输入某位同学的百分制成绩,要求:

(1)将其转换为等级制输出。

转换标准是:

90-100分,‘A’,80-89分,‘B’,70-79分,‘C’,60-69分,‘D’,60分以下,‘F’。

(2)如输入的成绩不在0-100之间,提示“输入错误!

”。

#include

voidmain()

{

floati,c;

charg;

printf("请输入学生成绩:

");

scanf("%f",&c);

if(c>0&&c<=100)

{

i=c/10;

switch(i)

{

case10:

point='A';break;

case9:

point='A';break;

case8:

point='B';break;

case7:

point='C';break;

case6:

point='D';break;

case5:

case4:

case3:

case2:

case1:

case0:

point='E';break;

}

printf("pointis%c\n",point);

}

else

printf("error");

}

2.编写程序,实现由键盘输入15个整数,按照由大到小的顺序重新排序,并输出排序后的结果。

#include

Voidmain()

{

inta[15];

inti,j,t;

printf("input15numbers:

\n");

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

scanf("%d",&a[i];

printf("\n");

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

for(i=0;i<14-j;i++)

if(a[i]>a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

printf("thesortednumbers:

\n");

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

print("%d",a[i]);

printf("\n");

}

编写程序:

计算5!

+7!

要求定义一个求阶乘函数(fac),调用函数来完成计算。

#include

intfac(inta);

voidmain()

{

inta=5,b=7,c;

c=fac(5)+fac(7);

printf("5!

+7!

%d",c);

printf("\n");

}

intfac(inta)

{

inti,b=1;

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

b=b*i;

return(b);

}

4.用结构体存放下表中的学生成绩,计算平均成绩(avg),将表中的数据和avg存入文件student中。

namecomputerEnglishmath

zhao90.0085.0075.00

qian86.0070.0065.00

sun75.0056.0080.00

#include

structstudent

{charname[3];

floatsco

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

当前位置:首页 > 初中教育 > 学科竞赛

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

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