多选题题库
C概述
1、[多选题.2005-4]不是C语言程序的基本单位是________。 (A)、 程序行 (B)、 函数 (C)、 语句
(D)、 字符
2、[多选题.2005-4]以下说法中不正确的是________。
(A)、 C语言程序中的main()函数必须放在程序的开始部分 (B)、 C语言程序总是从第一个函数开始执行
(C)、 在C语言程序中,要调用的函数必须在main()函数中定义 (D)、 C语言程序总是从main()函数开始执行 3、[多选题.2005-12]以下说法中不正确的是________。 (A)、 C++语言程序总是从第一个函数开始执行
(B)、 C++语言程序总是从main()函数开始执行
(C)、 C++语言程序中的main()函数必须放在程序的开始部分 (D)、 在C++语言程序中,要调用的函数必须在main()函数中定义
数据类型
1、[多选题.2004年.2005-4.2005-12]在C语言提供的不合法关键字是( ) (A)、 Case (B)、 swicth (C)、 cher (D)、 default
2、[多选题.2004年]请选出不可用作C语言用户标识符的选项( ) (A)、 a3_b3 _123 IF (B)、 For -abc Case (C)、 void define WORD
(D)、 2a DO sizeof
3、[多选题.2004年]语言提供的非法的数据类型关键字是( ) (A)、 short (B)、 Char (C)、 Double (D)、 integer
4、[多选题.2005-4]以下为不合法的十六进制数是__________。 (A)、 0x2A (B)、 0x11Au (C)、 0X0
(D)、 3A
5、[多选题.2005-4]在C语言中,不合法的长整型常数是________。 (A)、 2.1869e10 (B)、 0L
1
(C)、 4962710
(D)、 0.054838743
6、[多选题.2005-12]在C++语言中,不合法的字符常量是________。 (A)、 '\\x43' (B)、 'ab' (C)、 '\\084'
(D)、
\
7、[多选题.2004年.2005-12]下列正确的转义字符是( ) (A)、 ' \\ ' (B)、 '\\0' (C)、 '\\\\' (D)、 '074'
8、[多选题.2005-12]下列运算符中,优先级相同的是_________。 (A)、 ~ (B)、 %
(C)、
/
(D)、 >
9、[多选题.2004年]若变量已正确定义并赋值,下面不符合C语言语法的表达式是( ) (A)、 a:=b+1 (B)、 a=b=c+2 (C)、 int 18.5%3
(D)、 a=a+7=c+b
10、[多选题.2007-1-6]下面的表达式中值为0的是________。 (A)、 3/5 (B)、 5>>3 (C)、 ! 3 (D)、 5%3
11、[多选题.2007-1-6]已知x,y,z是整型变量,则下列选项中正确的是________。 (A)、 if (x&&y) cout<<\ (B)、 if (x=y) cout<<\ (C)、 if (x#y) cout<<\
(D)、 if(x<>y) cout<<\
顺序程序设计
1、[多选题.2004年]在下列选项中,正确的赋值语句是( ) (A)、 k=i==j; (B)、 a=b+c=1; (C)、 n1=(n2=(n3=0));
(D)、 ++t;
2、[多选题.2004年]下列语句中不符合C语言语法的赋值语句是( ) (A)、 a=7+b+c=a+7; (B)、 a=7+b++=a+7; (C)、 a=7+b,c=a+7;
2
(D)、 a=7+b,b++,a+7
3、[多选题.2004年.2005-4]请选出不合法的C语言赋值语句( ) (A)、 i++; (B)、 a=58,b=58 (C)、 k=int(a+b); (D)、 a=b=58
4、[多选题.2005-12]请选出不合法的C++语言赋值语句________。 (A)、 i++; (B)、 a=a mod b (C)、 a=/b; (D)、 k=int(a+b);
5、 [多选题2007-1-6]以下程序段执行后,a的值为1的是____________。 (A)、 int a=0,b=1,c; b=c;b=a;c=a; (B)、 int a=0,b=1; a=a+b;b=a-b;a=a-b; (C)、 int a=0,b=1,c; c=a;a=b;b=c; (D)、 int a=0,b=1,c; c=a;b=a;b=c;
循环控制
1、[多选题]C++语言中,下面的描述不正确的是________。
(A)、 do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 (B)、 (C)、 (D)、
数组
1、[多选题.2005-4.2005-12]以下不能对数组a进行正确初始化的语句是___________。 (A)、 int a[]={}; (B)、 int a[3]={1, 2}; (C)、 int a[3]={0,1,2,3};
(D)、 int a[]={1};
2、[多选题.2004年.2005-12]不合法的数组定义是( ) (A)、 char a[]={0,1,2,3,4,5}; (B)、 int a[]=\ (C)、 int a[5]={0,1,2,3,4,5}; (D)、 vhst s=\
3、[多选题.2005-4.2005-12]下列关于数组初始化的说法正确的是___________。 (A)、 若对数组a定义:\,则数组元素值均为0 (B)、 \表示x[9]元素值为9 (C)、 对于\它的元素初值是不确定的
(D)、 \是不合法的,因为数组长度为10,而初始值仅有5个 4、[多选题.2005-4]能把字符串:\赋给数组b的语句是________。 (A)、 char b[10];strcpy(b,\
3
do-while语句构成的循环必须用break语句才能退出
不能使用do-while语句构成的循环
do-while语句构成的循环,当while语句中的表达式值为零时结束循环
(B)、 char b[10]={'H','e','l','l','o','!'};
(C)、 char b[10]=\ (D)、 char b[10];b=\
5、[多选题.2004年.2005-4]下述对C语言字符数组的描术正确的是( ) (A)、 不可以用关系运算符对字符数组中的字符串进行比较 (B)、 字符数组可以存放字符串 (C)、 字符数组中的字符串可以整体输入、输出
(D)、 可以在赋值语句中通过赋值运算符\对字符数组整体赋值
6、[多选题.2007-1-6]若有以下的定义:\x[2][3];\,能正确表示x数组元素地址的表达式是_________。 (A)、 (B)、 (C)、 (D)、
&x[2][3] x[0] x[2]
x[1]
7、[多选题.2007-1-6]以下定义中,不正确的是____________。 (A)、 int x[3,4]; (B)、 int x[1+2][3]; (C)、 int x(3,4) (D)、 int x[ ][4];
8、[多选题.2007-1-6]若有说明\,则对y数组元素的非法引用是________。 (A)、 y[0][x] (B)、 y[x][2] (C)、 y[2][1+1] (D)、 y[1][3-x]
函数
1、[多选题.2004年.2005-12]以下叙述中正确的是( ) (A)、 在一个函数内定义的变量只在本函数范围内有效 (B)、 在一个函数内的复合语句中定义的变量在本函数范围内有效 (C)、 在不同的函数中可以使用相同名字的变量 (D)、 函数中的形式参数是局部变量 2、[多选题.2005-12]以下叙述中不正确的是____________。
(A)、 函数中的形式参数是局部变量 (B)、 (C)、 (D)、
指针
1、[多选题.2005-4]若x是整型变量,pb是基类型为整型的指针变量,则不正确的赋值表达 式是________。 (A)、 *pb=&x; (B)、 pb=&x
4
在一个函数内的复合语句中定义的变量在本函数范围内有效
在一个函数内定义的变量只在本函数范围内有效 函数的形式参数不可以说明为register变量
(C)、 pb=x;
(D)、 *pb=*x
2、[多选题.2004年.2005-4]下面各语句行中,不能正确进行赋字符串操作的语句行是( ) (A)、 char *s; scanf(\ (B)、 char st[4][5]={\ (C)、 char s[5]={'A','B','C','D','E'};
(D)、 char *s; s=\
3、[多选题.2005-12]下列_________函数能实现字符串的复制。 (A)、 void f(char *s,char *t) { do{ *s++=*t++; } while(*t!='\\0'); } (B)、 void f(char *s,char *t) { while(*t) { *s++=*t++; } *s='\\0'; } (C)、 void f(char *s,char *t) { do { *s=*t; s++; }while(*t++); }
(D)、 void f(char *s,char *t) { unsigned i; for (i=0;i< strlen(t);i++) s[i]=t[i]; } 4、[多选题.2004年.2005-12]若有以下说明和语句,请选出哪个是对c数组元素的不正确引 用( ) int c[4][5], (*cp)[5]; cp=c; (A)、 *(cp+1)+3 (B)、 cp+1 (C)、 *(cp+3)
(D)、 *(*cp+2)
5、[多选题.2005-4.2005-12]设有以下定义:
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*ptr)[4]=a,*p=a[0];
则下列表达式中,能正确表示数组元素a[2][1]的表达式有________。 (A)、 *(p+9) (B)、 *(*(a+2)+1) (C)、 (*ptr+2)+1
(D)、 *((*ptr+2)[1])
6、[多选题.2005-12]若有以下定义和语句: int w[2][3],(*pw)[3]; pw=w; 则对w数组元素合法引用是________。 (A)、 pw[0][0] (B)、 *(pw[1]+2) (C)、 *(w[0]+2) (D)、 *(pw+1)[2] 7、 [多选题.2005-12]有以下语句:
char str[4][12]={\
int i; for(i=0;i< 4;i++)strp[i]=str[i]; ________是对字符串的正确引用,其中0≤k< 4。 (A)、 strp[k] (B)、 *strp (C)、 str[k] (D)、 strp
8、[多选题.2004年]设有如下定义: int (*ptr)();
则以下叙述中不正确的是( )
5