电子科技大学《C语言》20秋期末考试
1.[单选题] 若有说明int a[][3]={1,2,3,4,5,6,7};则a数组行数的大小为( )。
A.2
B.3
C.4
D.不确定
答:——B——
2.[单选题] 若调用一个函数,且此函数中没有return语句,则正确的说法是该函数( )。
A.没有返回值
B.返回若干个系统默认值
C.返回一个用户所希望的函数值
D.返回一个不确定的值
答:——D——
3.[单选题] 在“文件包含”预处理语句的使用形式中,当#include后面的文件名用””括起时,寻找被包含文件的方式是
A.直接按照系统设定的标准方式搜索目录
B.先在源程序所在目录搜索,再按照系统设定的标准方式搜索
C.仅仅搜索源程序所在目录
D.仅仅搜索当前目录
答:——B——
4.[单选题] C语言规定:在一个源程序中,main函数的位置( )。
A.必须在最开始
B.必须在系统调用的库函数的后面
C.可以任意
D.必须在最后
答:————
5.[单选题] 以下程序段的作用是( )。
int a[]={4,0,2,3,1},i,j,t;
for (i=1;i=0&&t>a[j])
{a[j+1]=a[j];j- -;}
a[j+1]=t;
}
A.对数组a进行插入排序(升序)
B.对数组a进行插入排序(降序)
C.对数组a进行选择排序(升序)
D.对数组a进行选择排序(降序)
答:————
6.[单选题] 以下说法正确的 是( )。
A.x’+5是一个错误的表达式
B.C语言不允许类型的混合运算
C.强制类型转换时,类型说明符必须加括号
D.(int)x+y?和(int)(x+y)是完全等价的表达式
答:————
7.[单选题] 以下叙述不正确的是( )。
A.一个C源程序可由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的基本组成单位是函数
D.在C程序中,注释说明只能位于一条语句的后面
答:————
8.[单选题] 下面函数调用语句含有实参的个数为( )。fun((exp1,exp2),(exp3,exp4,exp5));
A.1
B.2
C.4
D.5
答:————
9.[单选题] C语言提供的预处理功能包括条件编译,其基本形式为( )。
#xxx 标识符
程序段1
#else
程序段2
#endif
A.define或include
B.ifdef或include
C.ifdef或ifndef或define
D.ifdef或ifndef或if
答:————
10.[单选题] 以下叙述正确的是( )。
A.在C程序中,main函数必须位于程序的最前面
B.在C程序的每一行只能写一条语句
C.C语言本身没有输入输出语句
D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误
答:————
11.[单选题] 以下说法正确的是( )。
A.x’+5是一个错误的表达式
B.C语言不允许类型的混合运算
C.强制类型转换时,类型说明符必须加括号奥鹏电大答案q599792222 或请进 opzy.net
D.(int)x+y?和(int)(x+y)是完全等价的表达式
答:————
12.[单选题] 执行以下语句后a的值为( )。
int a,b,c;
a=b=c=1;
++a||++b&&++c;
A.0
B.1
C.2
D.错误
答:————
13.[单选题] 与下面程序段等价的是( )。for(n=100;n<=200;n++)
{if(n%3==0) continue;
printf(“%4d”,n);
}
A.for(n=100;(n%3)&&n<=200;n++) printf(“%4d”,n);
B.for(n=100;(n%3)||n<=200;n++) printf(“%4d”,n);
C.for(n=100;n<=200;n++) if(n%3!=0) printf(“%4d”,n);
D.for(n=100;n<=200;n++)
{if(n%3) printf(“%4d”,n);
else continue;
break;
}
答:————
14.[单选题] 已知a=8,b=3,c=4,表达式(a>b&&c>a)||(ab)的值是( )。
A.15
B.12
C.1
D.0
答:————
15.[单选题] 以下符合C语言语法的有赋值能力的表达式是( )。
A.d=9+e+f=d+9
B.d=9+e,f=d+9
C.d=9+e,e++,d+9
D.d=9+e++=d+7
答:————
16.[单选题] 若有说明a[3][4];则数组a中的各元素( )。
A.可在程序的运行阶段得到初始值0
B.可在程序的编译阶段得到初始值0
C.不能得到确定的初始值
D.可在程序的编译或运行阶段得到初始值
答:————
17.[单选题] 以下正确的说法是( )。
A.实参和与其对应的形参占用独立的存储单元
B.实参和与其对应的形参共占用一个存储单元
C.只有当实参和与其对应的形参同名时才共占用一个存储单元
D.形参是虚拟的,不占用存储单元
答:————
18.[单选题] 若运行时给变量输入12,则以下程序的运行结果是( )。
main()
{int x,y;
scanf(“%d”,&x);
y=x>12?x+10:x-12;
printf(“%d\n”,y);
}
A.0
B.22
C.12
D.10
答:————
19.[单选题] 逻辑运算符两则运算对象的数据类型( )。
A.只能是0或1
B.只能是0或非0正数
C.只能是整型或字符型数据
D.可以是任何类型的数据
答:————
20.[单选题] 若用数组名作为函数调用的实参,传递给形参的是( )。
A.数组的首地址
B.数组第一个元素的值
C.数组中全部元素的值
D.数组元素的个数
答:————
21.[单选题] 下面有关for循环的正确描述是( )。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体可以包括多条语句,但必须用花括号括起来
答:————
22.[单选题] 下面的循环体执行完后,a的值是( )。
for( a=2; a<8; a++) a*=2;
A.9
B.10
C.11
D.12
答:————
23.[单选题] 以下叙述中正确的是( )。
A.在程序的一行上可以出现多个有效的预处理命令行
B.使用带参的宏时,参数的类型应与宏定义时的一致
C.宏替换不占用运行时间,只占用编译时间
D.以下定义中C R是称为宏名的标识符
#define C R 045
答:————
24.[单选题] 有函数关系如下,能正确表示该关系的程序段是( )。
x y
x0 x+1
A.y=x+1;
if(x>=0)
if(x= =0) y=x;
else y=x-1;
B.y=x-1;
if(x!=0)
if (x>0) y=x+1;
else y=x;
C.if (x<=0)
if (x<0) y=x-1;
else y=x;
else y=x+1
D.y=x;
if(x<=0)
if (x<0) y=x-1;
else y=x+1;
答:————
25.[单选题] 设i,j,k均为int型变量,k初值为0,执行完下面的for循环后,k的值为( )。
A.7
B.8
C.9
D.10
答:————
26.[单选题] 以下正确的函数形式是( )。
A.double fun(int x,int y){z=x+y;return z;}
B.double fun(int x,y){int z;return z;}
C.fun(x,y){int x,y;double z; z=x+y; return z;}
D.double fun(int x,int y){double z;z=x+y;return z;}
答:————
27.[单选题] 下面描述正确的是( )。
A.两个字符串包含的字符个数相同时,才能比较字符串
B.字符个数多的字符串比字符个数少的字符串大
C.字符串”STOP”与”STOP■”相等
D.字符串”That”小于字符串”The”
答:————
28.[单选题] C语言中转义字符“反斜杠线”的表示方法正确的是( )。
A.\\\
B.”\”
C.’\’
D.\\
答:————
29.[单选题] 下面程序有错误的行是(行前数字表示行号)( )。
1 main()
2 {
3 float a[10]={0.0};
4 int i;
5 for(i=0;i<3;i++) scanf(“%d”,&a[i]);
6 for(i=1;i<10;i++) a[0]=a[0]+a[i];
7 printf(“%f\n”,a[0]);
8 }
A.没有错误
B.第3行有错误
C.第5行有错误
D.第7行有错误
答:————
30.[单选题] 设x、y均为float型变量,则以下不合法的赋值语句为( )。
A.++x;
B.y=(x%2)/10;
C.x*=y+8
D.x=y=0
答:————
31.[单选题] 凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( )。
A.auto
B.static
C.extern
D.register
答:————
32.[单选题] 判断字符串s1是否大于字符串s2,应当使用( )。
A.if (s1>s2)
B.if (strcmp(s1,s2)
C.if(strcmp(s2,s1)>0)
D.if(strcmp(s1,s2)>0)
答:————
33.[单选题] 以下描述正确的是( )。
A.goto语句只能用于退出多层循环
B.switch语句中不能出现continue语句
C.在循环中break语句不能独立出现只能用
D.continue语句来中止本次循环
答:————
34.[单选题] 以下程序段( )。
x=-1;
do x=x*x;
while(!x);
A.是死循环
B.循环执行两次
C.循环执行一次
D.有语法错误
答:————
35.[单选题] 已知ch是字符型变量,下面不正确的赋值语句是( )。
A.ch=’a+b’;
B.ch=’\0′;
C.ch=’7’+’9′;
D.ch=5+9
答:————
36.[判断题] 局部变量如果没有指定初值,则其初值为0( )
A.对
B.错
答:————
37.[判断题] 在对数组全部元素赋初值时,不可以省略行数,但能省略列数。( )
A.对
B.错
答:————
38.[判断题] 在C语言中能一次引用整个数组。( )
A.对
B.错
答:————
39.[判断题] 函数的实参可以是常量,变量或表达式。( )
A.对
B.错
答:————
40.[判断题] 在多层循环中, 一个break语句只向外跳一层。( )
A.对
B.错
答:————
41.[判断题] 描述算法可以用自然语言、传统流程图、N-S流程图来描述。( )
A.对
B.错
答:————
42.[判断题] 共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。( )
A.对
B.错
答:————
43.[判断题] 在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。( )
A.对
B.错
答:————
44.[判断题] 两指针变量相减所得之差是两个指针所指数组元素之间相差的元素个数。( )
A.对
B.错
答:————
45.[判断题] 逻辑表达式的值只能为0或1。( )
A.对
B.错
答:————
46.[判断题] 枚举类型中的元素都具有一个整型值。( )
A.对
B.错
答:————
47.[判断题] 程序中若要使用数学函数应该包含头文件”math.h”。( )
A.对
B.错
答:————
48.[判断题] 输入操作称为写操作,将输入流中的信息存到内存时,使用写函数。( )
A.对
B.错
答:————
49.[判断题] 直接访问就是直接利用变量的地址进行存取直接访问。( )
A.对
B.错
答:————
50.[判断题] C 语言标准输入操作中 ,gets() 函数一次只可读取一个字符。( )
A.对
B.错
答:————