电子科技大学22春“计算机应用技术”《C语言》期末考试高频考点版(带答案)
一.综合考核(共50题)
1.
下面程序有错误的行是(行前数字表示行号)()。
1 main()
2 {
3 float a[10]={0.0};
4 int i;
5 for(i=0;i6 for(i=1;i7 printf("%f\n",a[0]);
8 }
A.没有错误
B.第3行有错误
C.第5行有错误
D.第7行有错误
参考答案:C
2.
有以下程序段:int x=0,s=0; while (!x!= 0) s+=++x; printf("%d",s);则有以下程序段()。
A.运行程序段后输出1
B.运行程序段后输出0
C.程序段执行无限次
D.程序段中的控制表达式是非法的
参考答案:A
3.
在for循环中允许使用for嵌套循环,但不能嵌套其他类型的循环。()
A.正确
B.错误
参考答案:B
4.
若有定义:int (*p)[4];则标识符p()。
A.是一个指向整型变量的指针
B.是一个指针数组名
C.是一个指针,它指向一个含有四个整型元素的一维数组
D.定义不合法
参考答案:C
5.
C语言规定,如下说法是正确的()
A.结构是若干变量的集合,这些变量的类型可以相同
B.共用体(联合)允许不同数据类型的数据使用共同的存储区域
C.位段是一种特殊的结构成员。位段的类型可以是char、int、float、double等。
D.不能用&来取结构的地址
E.不能将结构作为整体来进行存取
参考答案:ABE
6.
设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。
A.不确定
B.int
C.float
D.double
参考答案:D
7.
执行语句"x=(a=3,b=a--)"后,x,a,b的值依次为()。
A.3,2,3
B.3,2,2
C.3,3,2
D.2,3,2
参考答案:A
8.
C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是()。
A.单向值传递
B.地址传递
printf函数和scanf函数的格式说明都使用什么字符开始
C.由实参传给形参,再由形参传回实参
D.由用户指定传递方式
参考答案:A
9.
若运行时给变量输入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
参考答案:A
10.
逻辑表达式的值可以为0、1或者-1。()
A.正确
B.错误
参考答案:B
11.
已有说明float f=3.14,*p;若让p指向f,则正确的赋值语句是()。
A.p=f;
B.p=&f;
C.*p=f;
D.*p=&m;
参考答案:B
12.
下面关于C语言的说法错误的是()。
A.局部变量都存储在动态存贮区
B.任何复合语句体的{ }中允许定义局部变量
C.C程序的执行起点只能是main函数
D.C函数必须有形式参数
参考答案:ACD
13.
有以下程序,其中函数f的功能是将多个字符串按字典顺序排序。()
#include void f(char *p[],int n) { char *t; int i,j; for(i=0;i0){t=p[i];p[i]=p[j];p[j]=t;} } main( ) { char *p[5] ={“ abc”, “aabdfg ” ,“abbd”, “dcdbe”, “cd”}
A.6
B.4
C.3
D.2
参考答案:B
14.
若二维数组a有m列,则在a[i][j]前的元素个数为()。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
参考答案:B
15.
以下程序的输出结果是()。
main() {int a=100,x=10,y=20,ok1=5,ok2=0; if(xA.值不确定
B.1
C.0
D.-1
参考答案:D
16.
在下面C语言的函数说明语句中,正确的是()。
A.int fun(x,y);
B.int fun(int x; int y);
C.int fun(int x,y);

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