电子科技大学《C语言》20春期末考试(答案)
-[电子科技大学]电子科技大学《C语言》20春期末考试
试卷总分:100 得分:100
第1题,判断字符串a和b是否相等,应使用( )。
A、if(a==b)
B、if(a=b)
C、if(strcpy(a,b))
D、if(strcmp(a,b)==0)
正确答案:
第2题,已知a=8,b=3,c=4,表达式(ab&&ca)||(ab)的值是( )。
A、15
B、12
C、1
D、0
正确答案:
第3题,设int x=1,y=1;表达式(!x++||y--)的值是( )。
A、0
B、1
C、2
D、-1
正确答案:
第4题,下面四个选项中,均是不合法的用户标识符的选项是( )。
A、c-d if double
B、float la0 _A
C、A P_0 while
D、_123 temp BYTE
正确答案:
以下描述正确的是( )。
A、goto语句只能用于退出多层循环
B、switch语句中不能出现continue语句
C、在循环中break语句不能独立出现只能用
D、continue语句来中止本次循环
正确答案:A,D
第6题,下面程序有错误的行是(行前数字表示行号)( )。
1main()
2{
3float a={0.0};
4int i;
5for(i=0;i3;i++) scanf("%d",&a);
6for(i=1;i10;i++) a=a+a;
7printf("%f\n",a);
8}
A、没有错误
B、第3行有错误
C、第5行有错误
D、第7行有错误
正确答案:
第7题,设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( )。
A、不确定
B、int
C、float
D、double
正确答案:
第8题,以下叙述错误的是( )。
A、一个C程序只能包含一个main函数
B、C语言的注释符可以“/*”开始并以“*/”结束
C、C语言本身具有输入输出语句
D、在对一个C程序进行编译的过程中,不能发现注释中的拼写错误
正确答案:
第9题,已有定义int a=-2;和输出语句:printf("%8lx",a);以下正确的叙述是( )。
A、%8lx不是错误的格式符,其中数字8规定了输出字段的宽度
B、%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
C、%x是格式符的一种,它可以适用于任何一种类型的数据
D、整型变量的输出格式符只有%d一种
正确答案:
已有说明 float f=3.14,*p;若让p指向f,则正确的赋值语句是( )。
A、p=f;
B、p=&f;
C、*p=f;
D、*p=&m
正确答案:
第11题,执行语句"x=(a=3,b=a--)"后,x,a,b的值依次为( )。
A、3,2,3
B、3,2,2
C、3,3,2
D、2,3,2
正确答案:
下面函数调用语句含有实参的个数为( )。fun((exp1,exp2),(exp3,exp4,exp5));
A、1
B、2
C、4
D、5
正确答案:
第13题,设x、y均为float型变量,则以下不合法的赋值语句为
A、++x;
B、y=(x%2)/10;
C、x*=y+8
D、x=y=0
正确答案:
第14题,以下能对二维数组a进行正确初始化的语句是( )。
A、int a[]={{1,0,1},{5,2,3}};
B、int a={{1,2,3},{4,5},{6}};
C、int a[]={{1,2,3},{4,5,6}};
D、int a[]={{1,0,1}{},{1,1}};
正确答案:
int i=0; while(i++5); 循环结束后i的值是( )。
A、6
B、7
C、5
D、8
正确答案:
第16题,若已定义int a; 下面对(1)(2)两个语句的正确解释是( )。
(1)int *p=&a; (2)*p=a;
A、语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值
B、(1)和(2)语句的执行结果,都是把变量a的地址赋给指针变量p
C、(1)在对p进行说明的同时进行初始化,使p指向a(2)将变量a的值赋给指针变量p
D、(1)在对p进行说明的同时进行初始化,使p指向a(2)将变量a的值赋给*p
正确答案:
第17题,以下不正确的语句为( )。
A、if (xy);
B、if (x=y)&&(x!=0) x+=y;
C、if (x) z=z/x;
D、if (xy) {x++;y++;}
正确答案:
第18题,若要使用字符函数,需要引入的头文件是( )。
A、string.h
B、ctype.h
C、stdlib.h
D、stdio.h
正确答案:
第19题,若二维数组a有m列,则在a前的元素个数为( )。
A、j*m+i
B、i*m+j
C、i*m+j-1
D、i*m+j+1
正确答案:
下面程序的运行结果是( )。
#include
main()
{int y=10;do {y--;}while(--y);printf("%d\n",y--);
}
A、-1
B、1
C、8
D、0
正确答案:
第21题,下面的循环体执行完后,a的值是( )。
for( a=2; a8; a++) a*=2;
A、9
B、10
C、11
D、12
正确答案:
第22题,以下对一维整型数组a的正确说明是( )。
A、int a(10);
B、int n=10,a;
C、int n;
scanf(“%d”,&n);
int a
D、#define SIZE 10
int a;
正确答案:
第23题,以下正确的叙述是( )。
A、数组x的长度大于数组y的长度,因为还存储了一个结束符
B、数组x的长度小于数组y的长度,因为还存储了一个结束符
C、数组x和数组y等价
D、数组x和数组y长度相等
正确答案:
第24题,若运行时给变量输入12,则以下程序的运行结果是( )。
main()
{int x,y;
scanf("%d",&x);
y=x12?x+10:x-12;
printf("%d\n",y);
}
A、0
B、22
C、12
D、10
正确答案:
sizeof(float)是( )。
A、一个双精度型表达式
B、一个整型表达式
C、一种函数调用
D、一个不合法的表达式
正确答案:
第26题,在“文件包含”预处理语句的使用形式中,当#include后面的文件名用""括起时,寻找被包含文件的方式是
A、直接按照系统设定的标准方式搜索目录
B、先在源程序所在目录搜索,再按照系统设定的标准方式搜索
C、仅仅搜索源程序所在目录
D、仅仅搜索当前目录
正确答案:
第27题,在C语言中,int、char和short三种类型数据在内存中所占用的字节数( )。
A、由所用机器的字长决定
B、均为两个字节
C、是任意的
D、由用户自己定义
正确答案:
第28题,有程序:main(){int a=5,b=1,c=0;if (a=b+c)printf("***\n");else printf("$$$\n");}
该程序( )。
A、有语法错误不能通过编译
B、可以通过编译,但不能通过连接
C、输出:***
D、输出:$$$
正确答案:
第29题,C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( )。
A、单向值传递
B、地址传递
C、由实参传给形参,再由形参传回实参
D、由用户指定传递方式
正确答案:
若有定义:int (*p);则标识符p( )。
A、是一个指向整型变量的指针
B、是一个指针数组名
C、是一个指针,它指向一个含有四个整型元素的一维数组
D、定义不合法
正确答案:
第31题,数组边定义边赋值时,大括号内数据项的数目可以小于或等于数组的长度。( )
T、对
F、错
正确答案:
第32题,文件是否打开是可以判断的。( )
T、对
F、错
正确答案:
第33题,在C语言中,逗号既可以作为运算符,也可以作为分隔符( )
T、对
F、错
正确答案:
第34题,函数的实参传递到形参有两种方式值传递和地址传递( )
T、对
F、错
正确答案:
第35题,在分支结构switch中,case后面跟的一定是变量。( )
T、对
F、错
正确答案:
第36题,指针不可以操作数组。( )
T、对
F、错
正确答案:
第37题,逻辑表达式的值可以为0、1或者-1。( )
T、对
F、错
正确答案:
第38题,在for循环中允许使用for嵌套循环,但不能嵌套其他类型的循环。( )
T、对
F、错
正确答案:
第39题,continue语句和break语句作用完全相同( )
T、对
F、错
正确答案:
第40题,直接访问就是直接利用变量的地址进行存取直接访问
T、对
F、错
正确答案:
页:
[1]