c语言期末考试试题及答案文档格式.docx

上传人:b****5 文档编号:17771311 上传时间:2022-12-09 格式:DOCX 页数:12 大小:19.97KB
下载 相关 举报
c语言期末考试试题及答案文档格式.docx_第1页
第1页 / 共12页
c语言期末考试试题及答案文档格式.docx_第2页
第2页 / 共12页
c语言期末考试试题及答案文档格式.docx_第3页
第3页 / 共12页
c语言期末考试试题及答案文档格式.docx_第4页
第4页 / 共12页
c语言期末考试试题及答案文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

c语言期末考试试题及答案文档格式.docx

《c语言期末考试试题及答案文档格式.docx》由会员分享,可在线阅读,更多相关《c语言期末考试试题及答案文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

c语言期末考试试题及答案文档格式.docx

10.假设a=3,b=4,c=5,则逻辑表达式:

!

(a+b)+c-1&

&

b+c/2的值是(   )。

        

A)true    B)false    C)0    D) 1

11.若int a=3,b=4;

则执行c=a++>

2||b-->

=4之后, b变量的值为(  )。

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

12.以下哪个表达式的值为4(  )

 A)11/3  B)11.0/3     C)(flaot)11/3    D)(int)(11.0/3+0.5)

13.若变量a,i已经正确定义,且i已经正确赋值,合法的语句是()

A)a==1B)++iC)a=a++=5D)a=int(i)

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

inta=1234;

printf("

%2d"

a);

A)12B)34C)1234D)提示错误,无结果

15.设x,y分别为单精度和双精度类型变量,则下列选项(  )可将表达式x+y的运算结果强制转换为整型数据。

A) (int)x+y    B) int(x)+yC) int(x+y)    D) (int)(x+y)

16.当a=3,b=2,c=1时, 表达式f=a>

b>

c执行完后f的值是( )                             

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

17.若x=2,y=1,则表达式x>

y?

1:

1.5的值为(   )                                

 A)1 B)1.5   C)1.0    D)2

18.在位运算中,操作数每左移一位,其结果相当于( )                                  

   A)操作数乘以2   B)操作数除以2  C)操作数乘以4   D)操作数除以4

19.在位运算中,某操作数 右移3位,其结果相当于( )                                   

  A)操作数乘以6   B)操作数除以6  C)操作数乘以8   D)操作数除以8

20.在C语言中,若以下变量均为int型,则下面程序段的输出结果是(  )。

     s=6,u=6;

 u=s++;

 u++;

     printf("

%d"

u);

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

21.若有定义:

int x,y;

 char a,b,c;

并有以下输入数据:

x=1 2 A B C<

CR>

则能给x赋整数1,给赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的程序段是( )

A)scanf("

x%d y=%d"

&

x,&

y);

  a=getch();

b=getch();

c=getch();

B)scanf("

x=%d%d"

C)scanf("

x=%d%d%c%c%c"

7x,&

y,&

a,&

b,&

c);

D)scanf("

x=%d%d%c%c%c%c%c"

c,&

22.如下程序:

#include <

STDIO.H>

     void main()

     { int m,n,k;

        m=(n=4)+(k=10-7);

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

       }

运行后m的值为(  )。

  (A)4     (B)3       (C)7      (D)14

23.结构化程序的三种基本结构是(  )。

(A)顺序结构、选择结构、循环结构   (B)递归结构、循环结构、转移结构

(C)嵌套结构、递归结构、顺序结构   (D)循环结构、转移结构、顺序结构

24.有如下程序 

main( ) 

{ float x=4.0,y;

 if(x<

0.0) y=0.0;

 else if(x<

10.0) y=1.0/x;

  else y=1.0;

  printf(“%f\n”,y);

} 

该程序的输出结果是 ( )

A) 0.0   B) 0.25   C) 0.5  D) 1.0

25.设int a=0,b=5,c=2;

选择可执行x++的语句是( )。

(A)if(a) x++    (B)if(a=b) x++;

(C)if(a=<

b) x++;

 (D)if(!

(b-c)) x++;

26.下列程序段运行后,x的值是( )。

int a,b,c,x;

a=b=c=0;

x=35;

if(!

a) x--;

else if(b);

if(c) x=3;

else x=4;

A)3  B)4  C)34   D)35

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

A)a<

>

0      B)!

a        C)a=0       D)a

28.若N为整型变量,则for(N=10;

N=0;

N--);

循环里的循环体被(  )。

A) 无限循环B) 执行10次C) 执行一次D) 一次也不执行

29.下列程序段运行后i的值是( )。

int i=10

switch(i+1)

{case 10:

i++;

break;

 case 11:

++i;

 case 12:

 ++i;

 default:

i=i+1;

}

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

30.以下程序的输出结果为(  )。

stdio.h>

 main()

{ int i;

  for (i=0;

i<

10;

 i++) ;

  printf("

i);

(A) 0   (B) 123456789  (C) 0123456789  (D) 10

31.C语句for(;

;

){ ……}是指(  )。

(A)无意义    (B)无限循环    (C)循环执行1次   (D)循环执行0次

32.有如下程序 

{ int x=1,a=0,b=0;

switch(x){ 

case 0:

 b++;

case 1:

 a++;

case 2:

b++;

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

A) a=2,b=1   

B) a=1,b=1  

C) a=1,b=0   

D) a=2,b=2

33.如果程序中有 #include "

文件名"

 则意味着( )。

(A) 将"

 所指的该文件的全部内容,复制插入到此命令行处。

(B) 指定标准输入输出(C) 宏定义一个函数(D) 条件编译说明 

34.要将一个整数12000分别以ASCII码文件和二进制文件形式存放,各自所占的存储空间数分别是( )字节。

A)5和2   B)2和5   C) 2和2  D) 5和5

35.在下面关于一维数组的定义中,其中(  )有语法错0。

A) int x[ ] = {1,2,3,4,5};

B) int x[5] = {0};

C) int x[ ];

D) int x[5];

36.设有字符数组a,则的输入语句是(  )。

(A) gets('

'

a'

);

    (B) scanf("

%c"

a);

(C) scanf("

%s"

   (D) gets("

a"

37.函数调用“strcat(strcpy(str1,str2),str3)” 的功能是(  )。

(A)将字符串str1复制到字符串str2后再连接到字符串str3之后

(B)将字符串str1连接到字符串str2后再复制到字符串str3之后

(C)将字符串str2复制到字符串str1后再将字符串str3连接到str1之后

(D)将字符串str2连接到字符串str1后再将str1复制到字符串str3中

38.定义如下变量和数组:

int i;

int x[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是(  )。

for(i=0;

3;

i++)  printf("

%d "

x[i][2-i]);

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

39.C语言中,以下叙述中错误的是(  )。

A) 主函数中定义的变量是全局变量B) 同一程序中,全局变量和局部变量可以同名

C) 全局变量的作用域从定义处开始到本源程序文件结束

D) 局部变量的作用域被限定在其所定义的局部范围中

40.C语言中,函数调用时若实参是数组名,则被调函数对应形参(  )。

A) 可以是相应类型简单变量  B) 必须是相应类型数组名

C) 可以是相应类型数组名  D) 必须是相应类型的指针变量

41.在下面C语言的函数说明语句中,的是(  )。

A) int fun(int , int);

   B) int fun(int x,y);

C) int fun(x,y);

   D)int fun(int x;

 int y);

42.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件读写方式字符串应是(  )。

  A)”a+”  B)”r+”    C)”wb+”   D)”ab”

43.C语言中规定,简单变量做实参时,它和对应形参之间的数据传递方式是(  )。

(A)地址传递   (B)单向值传递  (C)有实参传给形参,再由形参传回给实参    (D)由用户指定传递方式

44.已知:

int *p;

 使用“p = malloc(sizeof(int));

”语句动态申请int型的存储单元,应当使用(  )。

A)int   B)int*    C)(*int)   D)(int*)

45.在C函数中,局部变量的隐含存储类型是(  )。

 (A) auto    (B) static    (C) register    (D) extern

46.有定义:

int x,*p;

,能使指针变量p指向变量x的语句是(  )。

A) *p=&

x;

    B) p=&

C) *p=x;

    D) p=*&

47.有定义:

int x,y=10,*p=&

y;

,则能使得x的值也等于10的语句是(  )。

A) x=p;

    B) x=&

p;

C) x=&

    D) x=*p;

48.有定义:

int *p1,*p2;

,则的赋值语句为(  )。

A) p1=p2;

    B) p1/=p2;

C) p1+=p2;

    D) p1*=p2;

49.在C语言中,关于文件存取方式,()。

A、只能顺序存取B、只能随机存取(也称直接存取)

C、可以顺序存取,也可以随机存取D、只能从文件开头存取

50.有定义:

int a[]={1,3,5,7,9},*p=a;

,则值为5的表达式是(  )。

A) p+=2, *p++   B) p+=2, *++pC) p+=2, (*p)++  D) a+=2, *a

填空

1.将百分制成绩转化为A-E这5个等级,90以上为A;

80-89为B;

70-79为C;

60-69为D,60以下为E

Voidmain()

{

Intscore;

printf(“输入一个介于0-100之间的数”);

scanf(“__1___”,&

score);

___2___(score/10)

case10:

printf(“A\n”);

case9:

case8:

printf(“B\n”);

case7:

printf(“C\n”);

case6:

printf(“D\n”);

____3___:

printf(“E\n”,score);

2.输入三角形三条边长度a,b,c,判断能不能组成三角形.如果可以输出YES,如果不能输出NO

main()

___4__a,b,c;

scanf(“%f%f%f”,&

if((a+b>

c)&

(a+c>

b)&

(b+c>

a))

printf(“YES”);

___5__

printf(“NO”);

3计算1---100的和

inti,sum;

sum=0;

i=___6___;

do

sum=sum+i;

i++

}while(i<

=___7___);

sum);

4、*计算每个学生成绩的平均分,并把结果保存在数组bb中。

例如,当score[N][M]={{83.5,82,86,65,67},{80,91.5,84,99,95},{90.5,95,86,95,97}}时,三个学生的平均分为76.7,89.9,92.7。

#include<

#defineN3

#defineM5

void__8___(intx,inty,floatcc[],floataa[][5])

inti,j;

i++)

for(j=0;

j<

j++)

cc[i]+=aa[i][j];

cc[i]/=y;

voidmain()

inti;

staticfloatscore[N][M]={{83.5,82,86,65,67},{80,91.5,84,99,95},{90.5,95,86,95,97}};

float__9___[N];

N;

bb[i]=0;

Fun(N,M,bb,score);

\nstudent%d\taverage=%5.1f"

i+1,bb[i]);

\n"

5.判断某个大于2的证书是否是素数

intn,i,flag;

scanf("

__10___);

for(i=2;

n;

if(n%i==0)

flag=0;

_____11___;

if(flag!

=0)

yes"

else

no"

6.输出程序的运行结果

inta,b;

int*p_1,*p_2;

a=100;

b=10;

p_1=&

a;

p_2=&

b;

%d%d"

*p_1,*p_2);

运行结果____12_____,____13______

7.打印9*9乘法表,输出格式要求为:

1*1=1

2*1=22*2=4

3*1=33*2=63*3=9

intm,n;

for(m=1;

m<

=9;

m++)

for(n=1;

n___14____m;

n++)

%d*%d=%2d"

m,m,m*n);

___15___"

编程

1.*编写程序:

*计算20到30的每个整数立方根之和(保留小数点后两位)

参考答案:

math.h>

intmain()

{inti;

doubles=0;

for(i=20;

=30;

s=s+pow(i,1.0/3);

//如果平方根改为s=s+sqrt(i);

printf("

%.2f\n"

s);

return0;

运行结果:

32.11

*编写程序:

*读取文件wj6.txt中数据,一行为一组,作为三角形三边长,统计有多少组能组成三角形。

参考答案:

{inta,b,c,k=0;

FILE*p;

p=fopen("

D:

\\wj6.txt"

"

r"

while(!

feof(p))

{fscanf(p,"

%d%d%d"

if(a+b>

c&

b+c>

a&

c+a>

b)

k++;

}

k);

fclose(p);

C语言001

选择

1.A2.A3.C4.B5.D6.D7.D8.B9.B10.D11.C12.D13.B14.C15.D16.B17.C18.A19.D20.B

21.D22.C23.A24.B25.B26.B27.D28.D29.C30.D31.B32.A33.A34.A35.C36.C37.C38.C39.A40.C

41.A42.C43.B44.D45.A46.B47.D48.A49.C50.A

1.%d2.case3.default

4.float5.else

6.17.100

8.Fun9.bb

10.&

n11.break

12.10013.10

14.<

=15.\n

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

当前位置:首页 > 高中教育 > 其它课程

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

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