一、单项选择题(17道小题,共20分)
1、以下叙述中正确的是(  C  )。(1分)
A、 C语言比其他语言高级
B、 C语言可以不用编译就能被计算机识别执行
C、 C语言以接近英语国家的自然语言和数学语言作为语言的表达形式   
D、 C语言出现的最晚,具有其他语言的一切优点switch语句表示范围
2、以下说法正确的是(  C  )。(1分)
A、C语言程序总是从第一个函数开始执行
B、在C语言程序中,要调用函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分
3、下列可用于C语言用户标识符的一组是(  B  )。(1分)
A、  void  define  WORD          B、  a3_b3  _123  Car
C、  For abc      case          D、  2a    DO    sizeof
4、设int a=3,b=4,c=5;表达式(a+b)>c&&b==c的值是(  C  ) 。(1分)
A、2          B、-1        C、0          D、1
5、以下关于                                                      循环体的描述中,(  C  )是错误的。      (2分)
A、 循环体中可以出现break语句      B、 循环体中还可以出现循环语句
C、 循环体中不能出现continue语句  D、 循环体中可以出现switch语句
6、While(x)中的x相当于( D  )。(2分)
A、x==0        B、x==1
C、x!=1        D、x!=0
7、以下关于switch语句和break描述中 , (  A  ) 是正确的。(2分)
A、在switch语句中,可以根据需要使用或不使用break语句   
B、switch语句中必须用break语句
C、break语句只能用于switch语句
D、break语句是switch语句必须的一部分
8、以下对C语言函数的有关描述中,正确的是(  B  )。(1分)
A、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B、C函数既可以嵌套调用又可以递归调用
C、函数必须有返回值,否则不能使用函数
D、C程序中有调用关系的所有函数必须放在同一个源程序文件中、
9、在下面的函数声明中,存在着语法错误的是(  D  )。(1分)
A、int  BF(int  x , int  y);      B、void  BC(int  a , int);
C、void  BD(int , int);          D、void  BE(int , int=5)
10、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( B )。(1分)
A、地址传递                          B、单向值传递
C、由实参传给形参,再由形参传回实参  D、传递方式由用户指定
11、一个程序源文件中全局变量作用范围为(  D  )。(1分)
A、本文件的全部范围            B、本程序的全部范围
C、本函数的全部范围            D、从定义该变量位置开始至文件结束
12、若有以下语句:static char x[ ]="12345";static char y[ ]={'1','2','3','4','5'};则正
确的说法是(  B  )。(1分)
A、 x数组和y数组的长度相同          B、 x数组的长度大于y数组的长度
C、 x数组的长度小于y数组的长度      D、 x数组与y数组等价
13、在C++语言中,定义数组后,使用数组元素时,数组下标可以是(  C  )。(1分)
A、 整型常量                    B、 整型表达式
C、 整型常量或整型表达式        D、 任何类型的表达式
14、在下面的一维数组定义中,哪一个(  A  )有语法错误。(1分)
A、int  a[ ];                  B、int  a[ ]={1,2,3};
C、int  a[5];                  D、int  a[10]={0};
15、在声明语句const char *ps;中,ps表示(  C  )。  (1分)
A、 指向字符串的指针          B、 指向字符串的const型指针 
C、 指向const型字符串的指针    D、 指向const型字符串的const型指针
16、若有语句: int x[]={1,2,3,4,5}; int *ptr; ptr=x; 则(  C  ) 是对数组元素x[1]的正确引用。
(1分)
A、ptr+1          B、*ptr+1   
C、*(ptr+1)        D、*ptr++
17、在int k=8,*p=&k中,*p的值是(  C  )。  (1分)
A、 指针变量p的地址值        B、 变量k的地址值 
C、 8                        D、 无意义
18、设int a=5,b=9,c=15,表达式(a+b)/c||(a<b)&&(a%b)的值为(  C  )。(1分)
A、0    B、2    C、1      D、-1
19、若变量c为char类型,能正确判断出c为小写字母的表达式是(  D  ) 。  (1分)
A、'a'<=c<='z'              B、(c>='a')||(c<='z')
C、('a'<=c)and('z'>=c)        D、(c>='a')&&(c<='z')
20、以下 (  C  )是不正确的描述。(2分)
A、while循环先判断表达式,后执行循环体语句
B、do-while循环先执行循环语句,后判断表达式
C、while,do-while 循环效果完全一样,不会出现不一致情况   
D、for循环可以用while语句代替
21、下列关于函数的参数的描述中,错误的是(  D  )。(1分)
A、 C语言函数的参数可以是多个
B、 C语言函数参数可以0个
C、 C语言函数的形参可以是指针或引用
D、 C语言函数的形参与实参类型要求一致不是必需的。
22、以下叙述中不正确的是(  D  ) 。              (1分)
A、  预处理命令都必须以#号开始
B、  在程序中凡是以#号开始的语句行都是预处理命令行
C、  宏替换不占用运行时间,只占编译时间
D、  在以下定义是正确的:#define PI 3.1415926;
23、以下能正确定义一维数组的选项是(  B  )。(1分)
A、 int  a[5]={0,1,2,3,4,5};        B、 char  a[]={'0','1','2','3','4','5','\0'};
C、 char  a={'A','B','C'};          D、 int  a[5]="0123";
24、下面程序段char *p="abcdefgh"; p+=3; printf("%d\n",strlen(strcpy(p,"ABCD")));的运行结果是(  C  )。(1分)
A、 8    B、 12    C、 4      D、 7
25、由C/C++源程序文件编译而成的目标文件的缺省扩展名为(  C  )。 (1分)
A、 cpp  B、 exe    C、 Obj    D、 lik
26、下列语句哪个是正确的(  B  )。(1分)
A、int a="a";      B、char c=105;      C、char c="abc";    D、char c="\n";
27、如执行以下语句,for (I=1;I<=100;I++){sum=sum+I;}循环结束后I值是(  C  )。(2分)
A、100    B、99        C、101        D、102
28、下面有关for循环的正确描述是(  D  )。      (2分)
A、  for循环只能用于循环次数己经确定的情况
B、  for循环是先执行循环体语句,后判定表达式
C、  在for循环中,不能用break语句跳出循环体
D、  for循环体语句中,可以包含多条语句,但要用花括号括起来
29、在C/C++中,函数原型不能标识(  A  )。(1分)
A、函数的功能              B、函数的返回类型
C、函数参数的个数          D、函数参数类型
30、C语言中数组下标的下限是(  B  )。(1分)
A、1        B、0    C、视具体情况      D、无固定下限
31、下列描述中不正确的是(  C  )。 (1分)
A、字符型数组中可以存放字符串
B、可以对字符型数组进行整体输入、输出
C、可以对整型数组进行整体输入、输出
D、不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值
32、在以下定义中,正确的说明语句为(  D  )。(1分)
A、int a['a'];      B、int a[3,4];      C、int a[ ][ ];      D、int *a[10];
33、在声明语句int *fun();中,fun表示(  B  )。  (1分)
A、 一个用于指向函数的指针变量
B、 一个返回值为指针型的函数名 
C、 一个用于指向一维数组的行指针
D、 一个用于指向int型数据的指针变量
34、若有语句:char *line[5];,以下叙述中正确的是(  A  )。(1分)
A、  定义line是一个数组,每个数组元素是一个基类型为char为指针变量   

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。