一、单项选择题(17道小题,共20分)
1、以下叙述中正确的是( C )。(1分)
A、 C语言比其他语言高级
B、 C语言可以不用编译就能被计算机识别执行
C、 C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D、 C语言出现的最晚,具有其他语言的一切优点
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、在下面的函数声明中,存在着语法错误的是( A )。(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型指针
令数组全部的值为016、若有语句: 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为指针变量
B、 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论