C程序设计复习资料含答案Word文件下载.doc

上传人:wj 文档编号:1249468 上传时间:2023-04-30 格式:DOC 页数:21 大小:107.50KB
下载 相关 举报
C程序设计复习资料含答案Word文件下载.doc_第1页
第1页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第2页
第2页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第3页
第3页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第4页
第4页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第5页
第5页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第6页
第6页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第7页
第7页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第8页
第8页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第9页
第9页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第10页
第10页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第11页
第11页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第12页
第12页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第13页
第13页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第14页
第14页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第15页
第15页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第16页
第16页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第17页
第17页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第18页
第18页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第19页
第19页 / 共21页
C程序设计复习资料含答案Word文件下载.doc_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C程序设计复习资料含答案Word文件下载.doc

《C程序设计复习资料含答案Word文件下载.doc》由会员分享,可在线阅读,更多相关《C程序设计复习资料含答案Word文件下载.doc(21页珍藏版)》请在冰点文库上搜索。

C程序设计复习资料含答案Word文件下载.doc

7.变量、数组和字符串指针的定义、指向与引用(仅限于一维数组)

8.了解指针数组与二级指针的概念和定义

9.*能够阅读并理解使用指针进行数据处理的相关程序(极值、逆序、回文和字符串的连接、复制、求长度等)

10.结构体与共用体的概念、定义与引用(仅限概念)

第五章结构化程序设计与应用

1.熟悉程序的三种基本结构:

顺序、选择和循环

2.*通过其中部分例题掌握选择、循环语句的使用以及循环和数组涉及的主要算法

第六章函数与编译预处理

1.掌握函数的定义、声明和调用方法及参数传递方式

2.*结合相关例题掌握一般函数和递归函数的定义与使用

3.熟悉局部变量与全局变量的定义及作用范围,了解各种静态与动态变量的定义、作用范围与生存期

4.了解内部函数与外部函数的定义及调用规则

5.掌握宏定义与宏展开(重点掌握带参数宏的定义与展开)

6.了解文件包含的作用及其使用场合

第七章文件

1.了解文件的概念

2.熟悉文件打开、关闭及各种与文件读写有关函数的格式与用法特别提醒:

以上带*部分主要涉及程序阅读、程序填空和编写程序,其余部分主要以选择和概念填空题出现

C语言程序设计参考题型

说明:

★本题仅反映考试的题型,作为考前复习参考。

★要通过这些典型题目,掌握复习要点中所列内容。

所给题目不可死记硬背,而是通过题目掌握其涉及要点和重要算法。

一、单项选择题

1.C程序的基本构成单位是 【C】

A)文件 B)命令 C)函数 D)语句

2.下列叙述中错误的是 【C】

A)C程序中main()函数的位置可以任意

B)C程序可以由多个程序文件组成,而一个程序文件又可以由一个或多个函数组成

C)每个程序文件都有一个main()函数

D)C程序总是从main()开始执行,也是由它结束

3.将C源程序转换为目标程序的过程称为 【B】

A)编辑 B)编译 C)连接 D)运行

4.C语言中最基本的数据类型包括 【B】

A)整型、实型、逻辑型 B)整型、实型、字符型

C)整型、逻辑型、字符型 D)整型、实型、字符串型

5.以下不合法的用户标识符是 【C】

A)j2_KEYB)DoubleC)4d D)_8_

6.C源程序中不能表示的数制是 【A】

A)二进制 B)八进制 C)十进制 D)十六进制

7.以下合法的字符常量的是 【A】

A)'

\x13'

B)'

\081'

C)'

65'

D)"

\n"

8.以下选项中,能用作数据常量的是 【D】

A)o115 B)0118 C)1.5e1.5 D)115L

9.C语言中,要求运算对象必须是整型数据的运算符是 【A】

A)% B)/ C)\ D)&

&

10.表示数学关系“x≥y≥z”的C语言表达式是 【C】

A)x>

=y>

=z B)x>

=y||y>

=z C)x>

=y&

y>

=z D)x≥y≥z

11.若变量均已正确定义并赋值,以下合法的C语言赋值语句是 【A】

A)x=y==5;

B)x=n%2.5;

C)x+n=j;

D)x=5=4+1;

12.设有定义:

intk=0;

以下选项的四个表达式中与其他三个表达式的值不相同的是 【A】

A)k++ B)k+=1 C)++k D)k+1

13.若有代数式:

以下错误的C语言表达式是 【C】

A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3

14.设变量a是整型,f是实型,i是双精度型,则表达式10+'

a'

+i*f值的数据类型为 【C】

A)int B)float C)double D)不确定

15.若p和x已经正确定义,x已赋值,并且p=&

x,则下列关系表达式之值为1的是 【B】

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

p==x D)*x==p

16.当用户要求输入的字符串中含有空格时,应使用的输入函数是 【C】

A)scanf() B)getchar() C)gets() D)getc()

17.下列能输出字符数组str中字符串的语句是【B】

A)printf("

%c"

str[0]);

B)printf("

%s"

str);

C)printf("

str[]);

D)putchar(str);

18.有输入语句:

scanf("

B%d,%d"

&

a,&

b);

为使变量a、b分别为5和3,从键盘输入数据的正确形式为 【B】

A)53<

回车>

B)5,3<

C)a=5b=3<

D)a=5,b=3<

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

intj;

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

则下面语句的输出结果是 【C】

for(j=2;

j>

=0;

j--)

printf("

%2d"

x[j][2-j]);

A)159 B)147 C)753 D)369

20.执行下面程序后,a的值是 【B】

#defineSQR(x)x*x

voidmain()

{ inta=10,k=2,m=1;

a=SQR(k+m);

%d\n"

a);

}

A)10 B)5 C)2 D)1

21.简单if语句的基本形式:

if(表达式)语句 【D】

其中“表达式”

A)必须是逻辑表达式 B)必须是关系表达式

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

22.在嵌套使用if语句时,C语言规定else总是 【C】

A)和之前与其具有相同缩进位置的if配对 B)和之前与其最近的if配对

C)和之前与其最近的且不带else的if配对 D)和之前的第一个if配对

23.下列叙述中正确的是 【D】

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

B)在switch语句中必须使用default

C)break语句必须与switch语句中的case配对使用

D)在switch语句中,不一定使用break语句

24.有以下程序段:

x=-1;

do

x=x*x;

while(!

x);

执行时,循环体执行的次数为 【B】

A)0 B)1 C)2 D)不确定

25.以下不正确的if语句形式是 【C】

A)if(x>

y&

x!

=y);

B)if(x==y)x+=y;

C)if(x!

=y)scanf("

%d"

x)elsescanf("

y);

D)if(x<

y){x++;

y++;

26.以下程序的输出结果是 【C】

{ intx=2,y=-1,z=2;

if(x<

y)

if(y<

0) z=0;

else z+=1;

z);

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

27.以下能正确计算1×

…×

10的程序段是 【A】

A) i=1,s=1;

B) s=1;

i=1;

do while(i<

=10)

{s=s*i;

i++;

} s=s*(++i);

while(i<

11);

C) for(i=1,s=0;

i<

=10;

i++) D) for(i=1,s=1;

;

i++)

s=s*i;

s=s*i;

28.若j为整型变量,则以下循环执行次数是 【C】

for(j=0;

j==0;

) printf("

j--);

A)无限次 B)0次 C)1次 D)2次

29.若有说明:

inta[10];

则对a数组元素的正确引用是 【C】

A)a[3.5] B)a(8) C)a[6-5] D)a[10]

30.若有定义语句:

doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;

则错误引用x数组元素的是 【B】

A)*p B)x[5] C)*(p+1) D)*x

31.C中,一个char类型的数据在内存中占用的字节数是 【A】

A)1B)2C)4D)8

32.设有程序段:

intk=5;

while(k<

=0)

k--;

则下列描述中正确的是 【C】

A)while循环执行5次 B)循环是无限循环

C)循环语句一次也不执行 D)循环体语句执行一次

33.下面程序段的运行结果是 【B】

charc[5]={'

'

b'

\0'

c'

};

printf(“%s”,c);

'

B)abC)AbcD)"

abc"

34.以下不正确的字符串赋值语句是 【C】

A)char*s;

s="

abcde"

B)chars[]="

C)chars[10];

D)char*s="

35.设p1、p2是指向int型一维数组的指针变量,k为int型变量,以下错误的语句是 【B】

A)k=*p1+*p2;

B)p2=k;

C)p1=p2;

D)k=p2-p1;

36.下面程序的输出结果是 【A】

{chars[]="

ABCD"

char*p;

for(p=s;

p<

s+4;

p++)

printf(“%s\n”,p);

A) ABCD B) A C) D D) ABCD

BCD B C ABC

CD C B AB

D D A A

37.以下关于C函数的定义和调用描述正确的是 【B】

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

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

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

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

38.以下关于变量的存储类型和作用域说法错误的是 【C】

A)函数内定义的变量默认存储类型为auto,函数调用结束时释放其值

B)静态局部变量的生存期虽然被延长,但作用范围依然只限于所在函数内有效

C)寄存器变量主要用于使用频度较高的变量,其资源依然使用计算机内存

D)外部变量可以跨文件使用,但静态外部变量不允许跨文件使用

39.以下关于变量的作用域叙述不正确的是 【D】

A)在函数内部定义的变量是局部变量

B)函数中的形式参数是局部变量

C)局部变量的作用范围仅限于其所在函数或复合语句

D)全局变量的作用范围仅限于其所在的文件

40.以下关于C函数参数说法不正确的是 【B】

A)实参可以是常量、变量和表达式 B)形参可以是常量、变量和表达式

C)实参和形参可以为任意数据类型 D)实参与对应的形参类型一致

41.以下关于C函数返回值的叙述正确的是 【D】

A)被调函数中只有使用return语句才能返回主调函数

B)使用一个return语句可以返回多个函数值

C)函数返回值类型取决于return语句中的表达式类型

D)函数返回值类型取决于定义该函数时所指定的类型

42.以下数组定义中错误的是 【B】

A)intx[][3]={0};

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

C)intx[][3]={{1,2,3},{4,5,6}};

  D)intx[2][3]={1,2,3,4,5,6};

43.若有定义语句:

chars[10]="

1234567\0\0"

则strlen(s)的值是 【 A】

A)7 B)8 C)9 D)10

44.给定以下程序段:

intn=10;

while(n>

6)

{ n--;

printf(“%3d”,n);

以上程序段输出结果是 【 D】

A)1098 B)987 C)10987 D)9876

45.若i,j已定义为int型,则以下程序段中内循环总的执行次数是 【C 】

for(i=5;

i>

0;

i--)

for(j=1;

j<

6;

j++)

{……}

A)30 B)24 C)25 D)20

46.若已定义:

float*p,m=3.14159;

则使p指向m正确的赋值语句是 【B 】

A)p=m;

B)p=&

m;

C)*p=m;

D)*p=&

47.若已定义:

chars[10];

则下面表达式中不能作为s[1]地址的是 【A 】

A)s++ B)s+1 C)&

s[0]+1 D)&

s[1]

48.已知:

inta=3,b=5,t;

要将a和b中的数值进行交换,错误的程序段是 【C】

A)a=a+b;

b=a-b;

a=a-b;

B)t=a;

a=b;

b=t;

C)t=a;

b=a;

a=t;

D)t=b;

49.关于C程序中的#include<

math.h>

,错误的描述是 【D】

A)它是C语言的预编译命令 B)在程序中该行尾部不需要分号

C)用于将math.h包含进来 D)math.h是一个函数

50.下列C程序段的输出结果是 【C】

inta=0;

switch(a)

{ case0:

printf(“a=0”);

case1:

printf(“a=1”);

default:

printf(“default”);

A)a=0 B)a=0default C)a=0a=1default D)default

51.已知:

inta,x,y;

有语法错误的C语句是 【B】

A)while(x)y++;

B)while(x+y=0)a++;

C)while(x<

D)while(y=5)++x;

52.对于do…while()语句,错误的说法是 【C】

A)用条件控制循环体的重复执行 B)循环体至少要执行一次

C)循环体有可能一次也不执行 D)循环体中可以包含若干条语句

53.已知:

54.已知:

inta[5],*p=a;

利用p为数组元素a[4]赋值的正确C语句是 【B】

A)scanf(“%d”,p+3);

B)scanf(“%d”,p+4);

C)scanf(“%d”,*(p+3));

D)scanf(“%d”,*(p+4));

55.对于C语句:

char*a[2]={“abcd”,“ABCD”};

叙述正确的是 【B】

A)a是指针变量 B)a是指针数组 C)a是数组指针 D)a是字符串

56.设有如下说明语句:

structex

{ intx;

floaty;

charz;

}example;

则下面叙述中不正确的是 【B】

A)struct是结构体类型的关键字 B)example是结构体类型名

C)x,y,z都是结构体成员名 D)structex是结构体类型名

57.有以下程序

#include<

stdio.h>

structord

{intx,y;

}dt[2]={1,2,3,4};

voidmain()

{ structord*p=dt;

printf(“%d,”,++p->

printf(“%d\n”,++p->

程序的运行结果是 【B】

A)1,2 B)2,3 C)3,4 D)4,1

58.设有以下定义 【D】

uniondata

{shortintd1;

chard2;

}demo;

则下面叙述中错误的是____。

A)变量demo与成员d1所占的内存字节数相同

B)变量demo中各成员的地址相同

C)变量demo和各成员的地址相同

D)若给demo.d1赋256后,demo.d2中的值是256

59.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为 【B】

A)EOF B)非0值 C)0 D)NULL

60.读取二进制文件的函数调用形式为:

fread(buffer,size,count,fp);

其中buffer代表的是 【C】

A)一个文件指针,指向待读取的文件

B)一个整型变量,代表待读取的数据的字节数

C)一个内存块的首地址,即读入数据存放的地址

D)一个内存块的字节数

二、填空题

1.赋值表达式x*=y+5的另一种书写形式为___x=x*(y+5)_______。

2.已知a=10,b=20,c=3,则表达式!

a>

b||c的值为____1_____。

3.表达式(int)((double)(5/2)+2.5)的值是____4______。

4.若j=3,则表达式(++j)+(j++)的值为_____8_____。

5.若a的原值为4,则表达式“a*=a-=3”运算后,a的值是 ____1______。

6.若a=5、b=3、c=1,则表达式“a>

b>

c”的值为___0_______。

7.若有定义:

inta=7;

floatx=2.5,y=4.7;

则表达式x+a%3*(int)(x+y)%2/4的值为___2.5_______。

8.整数m既能被3整除又能被4整除的逻辑表达式为____(m%3==0)&

(m%4==0)______。

9.写出代数式0<

x<

1的C逻辑表达式为___(0<

x)&

(x<

1)_____。

10.写出判断字符变量c所存字符是否为字母的逻辑表达式为c>

=’a’&

c<

=’z’||c>

=’A’&

’Z’。

11.实现变量a和b交换的语句或语句序列是a=a+b;

12.若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:

a=7

b=9

请完成输出语句:

printf("

a=%d\nb=%d"

a,b);

13.若有定义:

doublea[10][5];

则数组a中行下标最大值为__9__,列下标最大值为__4__。

14.若有定义:

inta[]={1,4,6,5,8,9};

则*(a+5)的值为____9______。

15.设有如下定义

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

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2