2010上学期C语言期末试卷选择题

更新时间:2023-11-30 20:59:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1、下列叙述中,不正确的是( )。

A、一个C源程序必须有且只有一个主函数 B、一个C源程序可以包含零个或若干个子函数 C、在C源程序中,注释说明必须位于语句之后 D、C源程序的基本结构是函数 2、下列叙述中,不正确的是( )。 A. 分号是C语句的必要组成部分 B. C语句的注释可以写在语句的后面 C. 函数是C程序的基本单位

D. 主函数的名字不一定有main表示 3、以下不是C语言的特点是( )。 A、 C语言简洁紧凑

B、C语言可以直接对硬件进行操作 C、C语言的可移植性好 D、C语言编程容易

4、构成C语言的基本单位是( )。

A、过程 B、函数 C、子程序 D、命令 5、一个C程序的执行是从( ) 。

A、main函数开始,直到main函数结束

B、main函数开始,直到最后一个函数结束 C、从第一个函数开始,直到最后一个函数结束 D、第一条语句开始,直到最后一条语句结束 6、在C语言中,main函数的位置 A、必须作为第一个函数 B、必须作为最后一个函数 C、可以任意

D、必须放在它所调用的函数之后 7、C程序是由( )构成的。

A、一个主程序与若干个子程序 B、一个或多个函数 C、若干过程 D、若干子程序 8、以下叙述不正确的是( )。

A.在C程序中,注释说明只能位于一条语句的后面 B. 注释说明被计算机编译系统忽略

C. 注释说明必须括在“/*”和“*/”之间,注释符必须配对使用 D. 注释符“/”和“*”之间不能有空格

9、下列符号串中,属于C语言合法标识符的是。

A. ex-1 B. if C. _cook D. 951a 10、当把以下四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是( )。 A、K%2 B、K%2= =1 C、(K%2)! =0

D、!K%2= =1

11、对于一个完整的可运行的C源程序,下列哪一个说法是正确的? A、C语言程序总是从第一个定义的函数开始执行。

B、在C语言程序中,要调用的函数必须在main()函数中定义。 C、C语言程序总是从main()函数开始执行。

D、C语言程序中的main()函数必须放在程序的开始部分。 12、下列运算符中优先级最高的是( ) A.< B.+ C.&& D.!=

13、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后的值为( ) A.1 B.2 C.3 D.0

14、设有int = 14,则表达式(x++ *1/3)的值是: ( ) A、5 B、4 C、14 D、15

15、若x是单精度实型变量,表达式 x = 10/4 的值是_____ 。 A. 2.5 B. 2.0 C. 3 D. 2 16、 表达式 !x 等价于_____。

A. x == 0 B. x == 1 C. x != 0 D. x != 1

17、 在 C 程序中,用_____表示逻辑值\真\。

A. 1 B. 非 0 的数 C. 非 1 的数 D. 大于 0 的数

18、若变量已正确定义,语句if(a>b) k=0; else k=1;和______等价。 A. k=(a>b)?1:0; B. k=a>b; C. k=a<=b; D. a<=b ? 0 : 1;

19、若x、i、j、k都是int型变量,则计算下面表达式后,x的值为( )。 x=(i=4,j=16,k=32)

A. 4 B. 16 C.32 D. 52

20、10.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 。

A.0~255 B. 0~32767 C. 0~65535 D.0~2147483647 21、以下合法的十六进制数是()。 A、0x B、0x4de C、0xlh D、ox77

22、若a 为 int 型,且其值为3,则执行完表达式:a += a -= a*a后,a 的值是( )。 A、-3 B、9 C、-12 D、6

23、若t 已定义为 double 型,则表达式:t = 1 ,t + +,t +5 的值为( )。 A、 7 B、7.0 C、2.0 D、1.0

24、 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为______。 A. int B. float C. double D. 不确定

25、 下关于运算符优先顺序的描述中正确的是_____。 A. 关系运算符<算术运算符<赋值运算符<逻辑与运算符 B. 逻辑运算符<关系运算符<算术运算符<赋值运算符 C. 赋值运算符<逻辑与运算符<关系运算符<算术运算符

D. 算术运算符<关系运算符<赋值运算符<逻辑与运算符 26、 下列运算符中自左向右结合的是____。 A、 = B、 -> C、 ? : D、++ 27、 下列判断闰年的表达式中错误的是____。 A. leap = n % 400 == 0 || n % 4 == 0 && n % 100 != 0; B. leap = n % 4 == 0 && ( n % 100 != 0 || n % 400 == 0 ); C. leap = ! ( n % 400 != 0 && n % 4 != 0 || n % 100 == 0 ); D. leap = n % 400 == 0 && n % 4 == 0 || n % 100 != 0 ; 28、以下程序的运行结果是( ) main()

{ int a=3,b=2,c=1;

printf(“\\n%d\\n”,a

A.4 B.3 C.2 D.1 29、表达式______的值是0。

A. 3%5 B. 3/5.0 C. 3/5 D. 3<5

30、 表达式 !(x>0||y>0) 等价于_____。 A. !x>0||!y>0 B. !(x>0)||!(y>0) C. !x>0&&!y>0 D. !(x>0)&&!(y>0)

31、若变量已正确定义并赋值,表达式______不符合C语言语法。 A. 4&&3 B +a C. a=b=5 D. int(3.14)

32、设x,y,z,t均为int型变量,则执行以下语句后,t的值为_____。 x=y=z=1;

t=++x||++y&&++z;

A. 不定值 B. 2 C. 1 D. 0

33、标识符只能由字母、数字和下划线三种字符组成,且第一个字符_____。 A. 必须为字母 B. 必须为下划线

C. 必须为字母或下划线

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

34、190)若变量已正确定义并赋值,表达式 -k++ 等价于______。 A. -(k++) B. (-k)++ C. -(k+1) D. -(++k) 35、下面程序段的执行结果是() a=1;b=2;c=2; while(a

t=a ; a=b ; b=t ; c-- ; }

printf(“%d,%d,%d”,a,b,c);

A、1,2, 0 B、2,1,0 C 、1,2,1 D、2,1,1 36、以下程序段中的变量已正确定义

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

for(k=1; k<3; k++); pritntf(“*”); 程序段的输出结果是()

A、 ******** B、 **** C、** D、 * 37、以下是if语句的基本形式: If( 表达式 ) 语句 其中“表达式”()

A、必须是逻辑表达式 B、必须是关系表达式 C、必须是逻辑表达式或关系表达式 D、可以是任意合法的表达式

38、若函数中有定义语句:int k ; 则 。

A、系统将自动给k赋初值0 B、这时k 中的值无定义 C、系统将自动给k赋初值-1 D、这时中k无任何值 39、 若变量已正确说明为float类型,要通过语句scanf(\给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是: A. 10<回车> B 10.0,22.0,33.0<回车> 22<回车> 33<回车>

C. 10.0<回车> D. 10 22<回车> 22.0 33.0<回车> 33<回车> 40、 请阅读以下程序: main() {

int a=5, b=0, c=0;

if(a=b+c) printf(\\ e1se printf(\ }

以上程序_____。

A. 有语法错不能通过编译 B. 可以通过编译但不能通过连接 C. 输出*** D. 输出$$$

41、 若变量已正确定义,执行语句scanf(\\时,______是正确的输入。( _表示空格)

A. 2030,40 B. 20_30_ 40 C. 20, 30_ 40 D. 20, 30,40 42、下列程序的输出结果是_____。 fun(int a, int b, int c) {

c = a*b; }

main( ) { int c;

fun(2, 3, c);

printf(\ }

A. 0 B. 1 C. 6 D. 无法确定

43、在C程序中,若对函数类型未加说明,则函数的隐含类型为_____。 A. int B. double C. void D. char

44、数组名作为参数传递给函数,作为实在参数的数组名被处理为_____。 A. 该数组的元素个数 B. 该数组中各元素的值 C. 该数组的首地址 D. 以上答案均不对

45、以下关于说法正确的是_____。

A. 实参和与其对应的形参各占用独立的存储单元 B. 实参与其对应的形参共占用一个存储单元

C. 实参和与其对应的形参同名时才共占用存储单元 D. 形参虚拟的,不占用存储单元

46、 若调用一个函数(无全局、指针、静态变量),且此函数中没有return语句,则关于该函数正确的说法是_____。 A. 无返回值

B. 返回若干个系统默认值

C. 能返回一个用户所希望的函数值 D. 返回一个不确定的值

47、简单变量做实参时,它相对应形参之间的数据传递方式是____。 A. 地址传递 B. 单向值传递

C. 由实参传给形参,再由形参传回给实参 D. 由用户指定传递方式

48、下面说法正确的是_____。

A. 函数定义可以嵌套,但函数调用不能嵌套 B. 函数定义不可以嵌套,但函数调用可以嵌套 C. 函数定义和调用均不能嵌套 D. 函数定义和调用均可以嵌套

49、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是____。 A. 函数调用可以作为独立的语句存在 B. 函数调用可以作为一个函数的实参 C. 函数调用可以出现在表达式中 D. 函数调用可以作为一个函数的形参 50、 已定义以下函数 fun(int *p) { return *p; }

该函数的返回值是_____。

A. 不确定的值 B. 形参p中存放的值

C. 形参p所指存储单元中的值 D. 形参p的地址值 51、下列函数定义中,会出现编译错误的是_____。 A. max(int x,int y,int *z) B. int max(int x,y) { *z=x>y ? x:y; } { int z; z=x>y ? x:y;

本文来源:https://www.bwwdw.com/article/7xdt.html

Top