首页>文档>知识>电子科技大学《C语言》2022年春期末考试标准答案

此组别内的文章

需要支持?

如果通过文档没办法解决您的问题,请提交工单获取我们的支持!

电子科技大学《C语言》2022年春期末考试标准答案

文章目录[隐藏]

试题

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,表达式(a>b&&c>a)||(a<b&&!c>b)的值是( )。
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
【参考答案】: 附后
5.以下描述正确的是( )。
A.goto语句只能用于退出多层循环 B.switch语句中不能出现continue语句 C.在循环中break语句不能独立出现只能用 D.continue语句来中止本次循环
【参考答案】: 附后
6.下面程序有错误的行是(行前数字表示行号)( )。 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行有错误
【参考答案】: 附后
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一种
【参考答案】: 附后
10.已有说明 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
【参考答案】: 附后
12.下面函数调用语句含有实参的个数为( )。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进行正确初始化的语句是( )。
B.int
C.int
【参考答案】: 附后
15.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 (x>y); B.if (x=y)&&(x!=0) x+=y; C.if (x) z=z/x; D.if (x>y)
{x++;y++;}
【参考答案】: 附后
18.若要使用字符函数,需要引入的头文件是( )。
A.string.h B.ctype.h C.stdlib.h D.stdio.h
【参考答案】:附后
19.若二维数组a有m列,则在a[i][j]前的元素个数为( )。
A.j*m+i B.i*m+j C.i*m+j-1 D.i*m+j+1
【参考答案】: 附后
20.下面程序的运行结果是( )。 #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; a<8; a++) a*=2;
A.9 B.10 C.11 D.12
【参考答案】: 附后
22.以下对一维整型数组a的正确说明是( )。
A.int a(10); B.int n=10,a[n]; C.int n; scanf(“%d”,&n); int
a[n] D.#define SIZE 10 int a[SIZE];
【参考答案】: 附后
23.以下正确的叙述是( )。
A.数组x的长度大于数组y的长度,因为还存储了一个结束符 B.数组x的长度小于数组y的长度,因为还存储了一个结束符 C.数组x和数组y等价 D.数组x和数组y长度相等
【参考答案】: 附后
24.若运行时给变量输入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
【参考答案】: 附后
25.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.由用户指定传递方式
【参考答案】: 附后
30.若有定义:int (*p)[4];则标识符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.错
【参考答案】: 附后

参考答案