C语言练习题3

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单项选择题(每空1分,共25分,请将答案填入表格)

1.以下叙述错误的是 ___ 。

A) 一个C源程序可由一个或多个函数组成

B) 一个C源程序必须包含一个main函数

C) C程序的基本组成单位是函数

D) 在C程序中,注释说明只能位于一条语句的后面

2.C语言中运算对象必须是整型的运算符是 ___ 。

A) %= B) / C) = D) 〈=

3.有如下程序,程序运行后的输出结果是 ___ 。

main()

{ unsigned int x=0xffff;

printf(“%u\n”,x );}

A) -1 B) 65535 C) 32767 D) 0xFFFF

4.若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确代表该代数式的C语言表达式是 ___ 。

A) sqrt(abs(n^x+e^x)

B) sqrt(fabs(pow(n,x)+pow(x,e)))

C) sqrt(fabs(pow(n,x)+exp(x)))

D) sqrt(fabs(pow(x,n)+exp(x)))

5.字符串“\t12\x42\\abcd”的长度是 ___ 。

A) 14 B) 9 C) 15 D)20

6.以下叙述中错误的是 ___ 。

A) 计算机不能直接执行用C语言编写的源程序

B) C语言经C编译程序编译后,生成后缀为.obj的文件是二进制文件

C) 后缀为.obj的文件,经连接后生成后缀为.exe的文件是二进制文件

D) 后缀为.obj和.exe的二进制文件都可以直接运行

7.以下选项中,与k=x++;完全等价的表达式是 ___ 。

A) x=x+1;k=x; B) k=x;x=x+1;

C) k=x+1; D) k+=x+1;

8.以下叙述中正确的是 ___ 。

A) break语句只能用于switch 语句中

B) continue语句的作用是:使程序的执行流程跳出包含它的所有循环

C) break语句只能用在循环体内和switch语句体内

D) 在循环体内使用break语句和continue 语句的作用相同

9.判断字符型变量 ch是否为大写英文字母的表达式为 ___ 。

A) ‘A’<=ch<=‘Z’B) ch>=‘A’&& ch<=‘Z’

C) ch>‘a’&& ch<=‘z’D) ch>=‘A’|| ch<=‘Z’

10.若表达式(m)? a++:a--, 则表达式m和 ___等价。

A) m==0 B) m!=0 C) m=0 D) m=1

11.设有 int i=010,j=10;

则printf( “%d,%d\n”,++i,j--);的输出是 _ _。

A) 11,10 B) 9,10 C) 010,9 D)10,9

12.已知w=1,x=2,y=3,z=3,a=4,b=2;则执行语句(a=w>x)&&(b=y>z) ;

后,a,b的值为 ___ 。

A) 1和1 B) 0和0 C) 4和2 D) 0和2

13.定义如下变量关系,则下面语句的输出结果是_________。

int i;

int x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf(" %d",x[0][ 2-i]);

A) 1 5 9 B) 1 2 3 C) 3 5 7 D) 3 2 1

14.已知数组float b[3][2];该数组行下标的范围是________。

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

15.下列语句中,正确的是 ___ 。

A) #define PI=3.14159 B) include “stdio.h”

C) define M 3 D) #define PI 3.14159

16.有如下程序, 该程序段的输出结果是 ___ 。

void main(void)

{ int n=5;

while(n>2) { n--; printf(“%d”,n);}

}

A) 543 B)432 C)4321 D)5432

17.下列四种数组定义,合法的数组定义是 ___ 。

A) char a[ ]="hello"; B) int a[4]={4,3,2,1,0};

C) char a="hello" ; D) char a[4]= "hello";

18.设p1和p2均为指向int型的指针变量, k为int型变量,下列不正确的赋值语句是

___ 。

A)k=*p1+*p2; B)k=*p1*(*p2)

C)p2=k D)p1=p2

19.有如下程序,该程序的输出结果是 ___ 。

void main(void)

{ char s[]=“ABCD”,*p;

for( p=s+1;p<=s+3;p++)

printf(“%c\n”,*p); }

A) ABC B)A C)B D)BCD

BC B C CD

C C

D D

20.对于C程序的函数,下列叙述中正确的是 ___ 。

A)函数的定义不能嵌套,但函数调用可以嵌套

B)函数的定义可以嵌套,但函数调用不能嵌套

C)函数的定义和调用均可以嵌套

D)函数的定义和调用均不能嵌套

21.设x为整型变量, p是指向整型的指针变量, 则下列赋值表达式正确的是____ 。

A) p=&x B) p=x C) *p=&x D) *p=*x

22.函数定义时,形参是整型变量,则函数调用时,实参不可以是________。

A) 整型常量 B) 字符型常量 C) 数组名 D) 整型表达式

23. 以下程序的输出结果是________。

void main(void)

{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;

相关文档
最新文档