13本程序设计语言基础复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)。