C语言复习题,模拟题 下载本文

C. 从定义处开始到该源程序文件结束

D. 函数内全部范围

18有以下程序 main() {

int p[3]={11,12,13},i=0,j=0; while(i++<2) if(p[i]%2) j+=p[i]; printf(\

} 程序运行后的输出结果是A

A. 13

B. 24

C. 11

D. 36

19以下能正确定义一维数组的选项是D

A. int a[5]={0,1,2,3,4,5};

B. int a[]=(0,1,2,3,4,5);

C. char a={'A','B','C'};

D. char a[5]=\

20与定义char c[]={\不等价的是D

A. char c[]=\

B. char c[]={'G','O','D','\\0'};

C. char c[5]={'G','O','D','\\0'};

D. char c[3]={\21char c[5]={?a?,?b?,?\\0?,?c?,?\\0?}; printf(“%s”,c);B A. ?a??b? B. ab

C. ab c

D. a,b

22设char Q='a', *p=&Q;下面说法中错误的是C

A. *p='a'

B. &*p=&Q

C. &p=&Q

D. *&Q='a' 23有以下程序

main()

{int a[]={1,2,3,4,5,6,7,8,9,0},*p; for(p=a;p<=a+9;p++)printf(\)

程序运行后的输出结果是A

A. 1,2,3,4,5,6,7,8,9,0,

B. 2,3,4,5,6,7,8,9,10,1,

C. 0,1,2,3,4,5,6,7,8,9,

D. 1,1,1,1,1,1,1,1,1,1,

24若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是C

A. a,p,&*a

B. *&a,&a,*p

C. &a,p,&*p

D. *&p,*p,&a

25设有语句:int a[10],*p =a;,则下面的语句中,不正确的是D

A. p=p+1;

B. *p=*p+1;

C. a[0]=a[0]+1;

D. a=a+1;

26当int类型长度为2字节时,则类型unsigned int的值域范围为D

A. 0至255

B. -256至255

C. -32768至32676

D. 0至65535 27有如下程序:D #include int b; void f()

{ int t2; t2=b*3; b=100; } void main() { int a=2; b=4; f1(); }

叙述正确的是:

A. a和b都是静态变量。

B. a是静态变量,b是动态变量。

C. a和b都是全局变量。

D. a是局部变量,b是全局变量

28下面的for循环最多可执行________次。 A for(x=0,y=0;(y!=99)&&(x<4);x++);

A. 4次

B. 5次

C. 99次

D. 0次

29下列判断char类型变量C1是否为数字的表达式中,哪个表达式最简单且正确。B

A. '0'<=C1<='9'

B. (C1>='0')&&(C1<='9')

C. (C1>=0)&&(C1<=9)

D. ('0'<=C1)||('9'>=C1)

30、若有以下的说明,则对初值中字符'a'的引用方式为__D______。 static struct { char ch; double x; char t;

}c[2][2]={{{'a',35,'b'},{'c',45,'d'},{'a',86, 'm'}}};D A. c.ch

B. c[0][1].ch

C. c[1][1].ch

D. c[0][0].ch

二、判断题:

1、在C程序中,注释部分从/*开始,到*/结束。T

2、switch语句中,case后面既可以跟常量,也可以跟已赋值的变量。F 3、一个C语言程序中包含有多个函数时,按书写顺序从上到下执行各函数。F 4、若一个函数的返回类型为void,则表示其没有返回值。T

5、student_name、_name、name8和name_8都是合法标识符。T 6、不对自动(auto)数组进行初始化,数值型数组隐含初值为0,字符数组隐含初值空字符'\\0'。F

7、假设int型数组a的起始地址为2000,则元素a[3]的地址为:2000+4×2=2008。F 8、结构化程序设计认为一个\好\程序主要应该是:程序短而紧凑。F

9、如果知道整型变量a的地址是2000,可以直接用 int *pa=2000; 给指针变量pa赋值,使其指向变量a。F

10、在C语言的if语句中,用作判断的表达式只能为逻辑表达式和关系表达式。F 三、综合应用题

1、计算下面公式的值。T=1/1!+1/2!+1/3!+??+1/m! 当m=10时的结果(按四舍五入保留3位小数)。(注:所有变量用float数据类型定义!) 答案:1.718

程序改错题 注意:

1.该源程序放在: d:\\ExamProg\\033\\test1.c

2.编译该程序时,请首先将程序中开头的功能说明注释掉或删除! 3.程序功能说明及源程序如下:

/*下面程序的功能是:计算并输出500以内的最大的10个能被13或者17整除的自然数之和。请改正程序中的错误,并运行,最后给出程序运行的正确结果。(注:只有一处错误!)*/

#include