13本程序设计语言基础复习题

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

一、判断题

1.C语言中,为了区别一般的变量,符号常量必须用大写字母表示。错

2.C语言中,强制类型转换后,原变量的值和数据类型不变。对

3.switch…case结构中条件表达式和常量表达式值可以为float类型。错

4.C语言中,do-while语句构成的循环只能用break语句退出。错

5.C语言中,数组元素的下标是从1开始的,下标不能越界。错

6.一个数组中的所有元素可以具有不相同的数据类型。错

7.C语言中,实参的个数、类型和位置必须与形参的定义一一对应。对

8.所有的函数调用前都必须进行函数原型说明。错

9.C语言通过文件指针对它所指向的文件进行操作。对

10.在程序运行过程中,可通过赋值语句改变常量的值。错

11.在一个循环体中,break和continue只能出现一次。错

12.C语言中,字符串以字符数组形式存放,且规定了用’\0’作为结束标记。对

13.常量、表达式可以做为函数的形参。错

14.C语言程序是函数体程序,main()是主函数。对

15.在程序运行过程中,可通过重定义改变变量的类型。错

16.在if语句中使用break,可退出选择结构。错

17.函数的递归调用同样适用于主函数main()。对

18.指针变量存放的是地址信息,所以对指针变量进行加、减等算术运算是没有意义的。错

19.C语言数据文件由二进制数据序列组成,C语言中能读写二进制文件。对

20.C语言中的文本文件以ASCII码形式存储数据。对

二、单项选择题

1.下面各选项中,均是C语言合法标识符的选项组是(B)。

A. 33 we auto

B. _23 me _3ew

C. _43 3e_ else

D. ER -DF 32

2.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是(C)。

A. scanf("%d",&p);

B. scanf("%d%d%d",a,b,c);

C. scanf("%d",p);

D. scanf("%d",a,b,c);

3.表达式:(int)((double)9/2)-(9)%2的值是(B )。

A.0

B.3

C.4

D.5

4.以下程序段的描述,正确的是(C )。

x=-1;

do

{x=x*x;} while(!x);

A. 是死循环

B. 循环执行两次

C. 循环执行一次

D. 有语法错误

5.在下述程序中,判断i>j共执行的次数是(D )。

main()

{ int i=0, j=10, k=2, s=0;

for (;;)

{ i+=k;

if(i>j)

{ printf("%d",s);

break;

} s+=i;

}

}

A. 4

B. 7

C. 5

D. 6

6.有以下结构体说明、变量定义和赋值语句(D)。

struct STD

{char name[10];

int age;

char sex;

}s[5],*ps;

ps=&s[0];

则以下scanf函数调用语句中错误引用结构体变量成员的是(D)。

A. scanf(“%s”,s[0].name);

B. scanf(“%d”,&s[0].age);

C. scanf(“%c”,&(ps->sex));

D. scanf(“%d”,ps->age);

7.下列关系表达式中,结果为“假”的是(D)

A.(3+4)>6 B.(3!=4)>2

C.3<=4||3 D.(3<4)==1

8.下列关于开关语句中的描述中,错误的是(D )。

A.开关语句中,case子句的个数是不受限制的。

B.开关语句中,default子句的语句可以省略。

C.开关语句中,右花括号具有退出开关语句的功能。

D.开关语句中,case子句的语句序列中一定要有break语句。

9.语句int *p=&k;定义了指针变量p,与这个语句等效的语句是(C)。

A.int *p;p=k; B.int *p;*p=&k

C.int *p;p=&k ; D.int p;*p=k

10.设有定义:int x[2][3];则以下关于二维数组x的叙述错误的是(D )。

A.x[0]可看作是由3个整型元素组成的一维数组

B.x[0]和x[1]是数组名,分别代表不同的地址常量

C.数组x包含6个元素

D.可以用语句x[0]=0;为数组所有元素赋初值0

11.下列关于编译预处理的描述,错误的是(B )。

A.预处理在编译前执行

B.预处理指令需要分号结束

C.每条预处理指令要单独占一行

D.预处理指令可以出现在程序的任何地方

12.设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是(C)。

A.if(a>b) c=a,a=b,b=c;

B.if(a>b) {c=a,a=b,b=c;}

C.if(a>b) c=a;a=b;b=c;

D.if(a>b) {c=a;a=b;b=c;}

13.有以下定义语句,编译时会出现编译错误的是(C )。

A.char a=’a’

B.char a=’\n’;

C.char a=’aa’;

D.char a=’\x2d’;

14.若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是(A)。

A.p=a

B.q[i]=a[i]

C.p=a[i]

D.p=&a[2][1]

15.下面是有关C语言字符数组的描述,其中错误的是(D)。

相关文档
最新文档