admin 管理员组

文章数量: 1184232


2024年4月21日发(作者:common lisp)

c语言期末考试试题及答案

1.一个C程序的组成部分可以是()。

A)一个主函数和一至若干个其他函数B)一至若干个主函

C)一个主程序和一至若干个其他函数D)一个主程序和一

至若干个子程序2.一个C程序的执行是从()。

(A)本程序的main函数开始,到main函数结束

(B)本程序文件的第一个函数开始,到本程序文件的最后一

个函数结束

(C)本程序的main函数开始,到本程序文件的最后一个函

数结束

(D)本程序文件的第一个函数开始,到本程序main函数结

3.C语言中的标识符只能由字母、数字和下划线三种字符

组成,且第一个字符(A)必须为字母B)必须为下划线C)必须

为字母或下划线

D)可以是字母、数字和下划线中任一种字符

4.设有定义:intm=1,n=-1;则执行语句printf("%dn",(m--

&++n);后的输出结果是(A)–1B)C)1D)2

5.表达式11&10的结果用二进制表示为()。

A)11B)3C)1D)10

6.设有语句inta=3;则执行语句a+=a-=a*a后,变量a的值

是()。

(A)3(B)(C)9(D)-12

7.在下列选项中,不的赋值语句是()。

A)t/=5;B)n1=(n2=(n3=0));C)k=i==j;D)a=b+c=1;8.下列()表

达式不满足:当x的值为偶数时值为"真",为奇数时值"假"。

A)X%2==0B)!x%2!=0

C)(x/2*2-x)==0D)!(x%2)

9.若有定义:int a=8,b= 5,c;执行语句c=a/b+0.4后c

的值为()

A)1.4B)1C)2.0D)2

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

!(a+b)+c-1&&b+c/2的值是()。

A)trueB)falseC)0D)1

11.若inta=3,b=4;则执行c=a++>2||b-->=4之后,b变量的

值为()。

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

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

)。

13.若变量a,i已经正确定义,且i已经正确赋值,合法

的语句是()

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

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

int a=1234;

printf("%2d",a);

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

15.设x,y分别为单精度和双精度类型变量,则下列选项()

可将表达式x+y的运算结果强制转换为整型数据。

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

16.当a=3,b=2,c=1时,表达式f=a>b>c执行完后f的值是()

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

17.若x=2,y=1,则表达式x>y?1:1.5的值为()

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

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

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

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

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

除以820.在C语言中,若以下变量均为int型,则下面程序段

的输出结果是()。

s=6,u=6;u=s++;u++;

printf("%d",u);

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

21.若有定义:intx,y;chara,b,c;并有以下输入数据:

x=12ABC,则能给x赋整数1,给赋整数2,给a赋字符

A,给b赋字符B,给c赋字符C的程序段是()

A)scanf("x%dy=%d",&x,&y);

a=getch();b=getch();c=getch();

B)scanf("x=%d%d",&x,&y);

a=getch();b=getch();c=getch();

C)scanf("x=%d%d%c%c%c",7x,&y,&a,&b,&c);

D

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

22.如下程序:#include

voidmain()

{intm,n,k;

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

printf(“m=%dn”,m);

}

运行后m的值为()。

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

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

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

构、转移结构

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

构、顺序结构

24.有如下程序

main()

{floatx=4.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=1.0/x;

elsey=1.0;

printf(“%fn”,y);

}

该程序的输出结果是()

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

25.设inta=0,b=5,c=2;选择可执行x++的语句是()。

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

(C)if(a=

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

inta,b,c,x;

a=b=c=0;x=35;

if(!a)x--;

elseif(b);

if(c)x=3;

elsex=4;

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

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

能表示这一关系的表达式为A)a<>0B)!aC)a=0D)a

28.若N为整型变量,则for(N=10;N=0;N--);循环里的循环

体被()。

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

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

inti=10

switch(i+1)

{case10:i++;break;

case11:++i;

case12:++i;break;

default:i=i+1;

}

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

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

#include

main()

{inti;

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

printf("%d",i);

}

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

31. C语句for(;;){……}是指()。

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

有如下程序

main()

{intx=1,a=0,b=0;

switch(x){

case0:b++;

case1:a++;

case2:a++;b++;

}

printf(“a=%d,b=%dn”,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和2B)2和5C)2和2D)5和5

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

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

C)intx[];D)intx[5];

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

(A)gets(''a'');(B)scanf("%c",a);(C)scanf("%s",a);(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.定义如下变量和数组:

inti;

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

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

for(i=0;i<3;i++)printf("%d",x[i][2-i]);

A)159B)147C)357D)36939. C语言中,以下叙述中错误的

是()。

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

变量和局部变量可以同名C)全局变量的作用域从定义处开始

到本源程序文件结束

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

40. C语言中,函数调用时若实参是数组名,则被调函数

对应形参()。

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

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

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

A)intfun(int,int);B)intfun(intx,y);

C)intfun(x,y);D)intfun(intx;inty);

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)intB)int*C)(*int)D)(int*)


本文标签: 程序 函数 结果 文件 变量