|
电子科技大学《C语言》20春期末考试
1.[单选题] 判断字符串a和b是否相等,应使用( )。
A.if(a==b)
B.if(a=b)
C.if(strcpy(a,b))
D.if(strcmp(a,b)==0)
答:——D——
2.[单选题] 已知a=8,b=3,c=4,表达式(a>b&&c>a)||(ab)的值是( )。
A.15
B.12
C.1
D.0
答:——D——
3.[单选题] 设int x=1,y=1;表达式(!x++||y--)的值是( )。
A.0
B.1
C.2
D.-1
答:——B——
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语句来中止本次循环
答:————
.[单选题] 下面程序有错误的行是(行前数字表示行号)( )。
1 main()
2 {
3 float a[10]={0.0};
4 int i;
5 for(i=0;i<3;i++) scanf(& uot;%d& uot;,&a);
for(i=1;i<10;i++) a[0]=a[0]+a;
1 printf(& uot;%f\n& uot;,a[0]);
8 }
A.没有错误
B.第3行有错误
C.第5行有错误
D.第1行有错误
答:————
1.[单选题] 设变量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(& uot;%8lx& uot;,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.[单选题] 执行语句& uot;x=(a=3,b=a--)& uot;后,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进行正确初始化的语句是( )。
A.int a[2][]={{1,0,1},{5,2,3}};
B.int a[2][4]={{1,2,3},{4,5},{ }};
C.int a[][3]={{1,2,3},{4,5, }};
D.int a[][3]={{1,0,1}{},{1,1}};
答:————
15.[单选题] int i=0; while(i++<5); 循环结束后i的值是( )。
A.
B.1
C.5
D.8
答:————
1 .[单选题] 若已定义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
答:ybaotk.com 答案 1 129 021
11.[单选题] 以下不正确的语句为( )。
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[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(& uot;%d\n& uot;,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(& uot;%d& uot;,&x);
y=x>12?x+10:x-12;
printf(& uot;%d\n& uot;,y);
}
A.0
B.22
C.12
D.10
答:————
25.[单选题] sizeof(float)是 ( )。
A.一个双精度型表达式
B.一个整型表达式
C.一种函数调用
D.一个不合法的表达式
答:————
2 .[单选题] 在“文件包含”预处理语句的使用形式中,当#include后面的文件名用& uot;& uot;括起时,寻找被包含文件的方式是
A.直接按照系统设定的标准方式搜索目录
B.先在源程序所在目录搜索,再按照系统设定的标准方式搜索
C.仅仅搜索源程序所在目录
D.仅仅搜索当前目录
答:————
21.[单选题] 在C语言中,int、char和short三种类型数据在内存中所占用的字节数( )。
A.由所用机器的字长决定
B.均为两个字节
C.是任意的
D.由用户自己定义
答:————
28.[单选题] 有程序:main()
{int a=5,b=1,c=0;
if (a=b+c) printf(& uot;***\n& uot;);
else printf(& uot;$$$\n& uot;);}
该程序( )。
A.有语法错误不能通过编译
B.可以通过编译,但不能通过连接
C.输出:***
D.输出:$$$
答:————
29.[单选题] C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( )。
A.单向值传递
B.地址传递
C.由实参传给形参,再由形参传回实参
D.由用户指定传递方式
答:————
30.[单选题] 若有定义:int (*p)[4];则标识符p( )。
A.是一个指向整型变量的指针
B.是一个指针数组名
C.是一个指针,它指向一个含有四个整型元素的一维数组
D.定义不合法
答:————
31.[判断题] 数组边定义边赋值时,大括号内数据项的数目可以小于或等于数组的长度。( )
A.对
B.错
答:————
32.[判断题] 文件是否打开是可以判断的。( )
A.对
B.错
答:————
33.[判断题] 在C语言中,逗号既可以作为运算符,也可以作为分隔符( )
A.对
B.错
答:————
34.[判断题] 函数的实参传递到形参有两种方式值传递和地址传递( )
A.对
B.错
答:————
35.[判断题] 在分支结构switch中,case后面跟的一定是变量。( )
A.对
B.错
答:————
3 .[判断题] 指针不可以操作数组。( )
A.对
B.错
答:————
31.[判断题] 逻辑表达式的值可以为0、1或者-1。( )
A.对
B.错
答:————
38.[判断题] 在for循环中允许使用for嵌套循环,但不能嵌套其他类型的循环。( )
A.对
B.错
答:————
39.[判断题] continue语句和break语句作用完全相同( )
A.对
B.错
答:————
40.[判断题] 直接访问就是直接利用变量的地址进行存取直接访问
A.对
B.错
答:————
|
上一篇:电子科技大学《计算机应用基础(本科)》20春期末考试下一篇:电子科技大学《单片机原理及应用》20春期末考试
|