C语言程序设计-选择题
2-1
如果要求在if后一对括号中的表达式在表示a 不等于 0 的时候的值为“真”,则能正确表示这一关系的表达式为( )。 (2分)
- a<>0
- !a
- a=0
- a
作者: 王秀
单位: 福州大学
答案:
a!=0值为真,A本身就是错误的,
B如果a是0,那么!a就是1 ,为真,错!
C a=0是赋值
D a如果是0 就为假,其他均为真
故为, D
2-2
能正确表示逻辑关系"a≥10 或 a≤0"的C语言表达式是()。 (2分)
- a>=10 or a<=0
- a>=0 | a<=10
- a>=10 && a<=0
- a>=10 || a<=0
作者: 李廷元
单位: 中国民用航空飞行学院
答案
与&&
或||
非!
故, D
2-3
已知int x=10,y=20,z=31;以下语句:if(x<y) z=x; x=y; y=z;执行后x,y,z的值是( )。 (2分)
- x=10, y=20, z=30
- x=20, y=30, z=30
- x=20, y=10, z=10
- x=20, y=30, z=10
作者: 崔孝凤
单位: 山东理工大学
答案
10<20,故z=10;
x=20;
y=z=10;
答案 ->C
2-4
以下scanf函数调用语句中不正确的是__。(2分)
struct pupil {
char name[20];
int age;
int sex;
} pup[5], *p=pup;
- scanf("%s", pup[0].name);
- scanf("%d", &pup[0].age);
- scanf("%d", p->age);
- -scanf("%d", &(p->sex));
作者: 往年试卷
单位: 浙江大学
答案:
C
因为scanf输入均以地址来定位,而C显然不是,name【20】,name 即为首地址
2-5
若a是基本整型变量,c是单精度实型变量,输入语句____是错误的。 (2分)
- scanf("%d,%f”, &a, &c);
- scanf("d=%d, c=%f”, &a, &c);
- scanf("%d%f”, &a, &c);
- scanf("%d%f”, a, c);
作者: 往年试卷
单位: 浙江大学
答案:
D
2-6
下列程序段执行后s的值为( )。(2分)
int i=5, s=0;
while(i - -)
if (i%2) continue;
else s+=i;
- 15
- 10
- 9
- 6
作者: 王秀
单位: 福州大学
答案:
2+4=6
D
2-7
设有程序段
int m=20; while (m=0) m=m++;
则下面描述中正确的是( )。 (2分)
- while 循环执行 10 次
- 循环是无限循环
- 循环体语句一次也不执行
- 循环体语句执行一次
作者: 王秀
单位: 福州大学
答案:
m=0是赋值
故无法执行
C
2-8
在一个被调用函数中,关于 return 语句使用的描述,错误的是( )。 (2分)
- 被调用函数中可以不用 return 语句
- 被调用函数中可以使用多个 return 语句
- 被调用函数中,如果有返回值,就一定要有 return 语句
- 被调用函数中,一个 return 语句可以返回多个值给调用函数
作者: 王秀
单位: 福州大学
答案
D
2-9
以下说法正确的是: (2分)
- 一个C语言源文件(.c文件)必须包含main函数
- 一个C语言源文件(.c文件)可以包含两个以上main函数
- C语言头文件(.h文件)和源文件(.c文件)都可以进行编译
- 在一个可以正确执行的C语言程序中,一个C语言函数的声明(原型)可以出现任意多次
作者: 周强
单位: 青岛大学
答案:
D
.c文件包含.h文件
2-10
5-3. C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是 (2分)
- void
- int
- float
- double
作者: 李廷元
单位: 中国民用航空飞行学院
答案:
B
int
2-11
不正确的赋值或赋初值的方式是____。 (2分)
-
char str[]=“string”;
-
char str[7]={‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’};
-
char str[10];str=“string”;
-
char str[7]={‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’, '’};
作者: 往年试卷
单位: 浙江大学
2-12
若用数组名作为函数调用的实参,则传递给形参的是 (2分) -
数组的首地址
-
数组第一个元素的值
-
数组中全部元素的值
-
数组元素的个数
作者: 陈英
单位: 南昌航空大学
答案
A
2-13
数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素____的值为6。 (2分)
- a[3][2]
- a[2][1]
- a[1][2]
- a[2][3]
作者: 往年试卷
单位: 浙江大学
答案:
B
2-14
The following piece of code prints out __ . (2分)
#define MA(x, y) (x)*(y)
int i = 2;
i = 3/MA(i, i+2)+5;
printf("%dn", i);
- 5
- 8
- 9
- 11
作者: 往年试卷
单位: 浙江大学
答案:
C
i=2;
3/(i)*( i+2)+5=1*4+5=9
2-15
对于如下说明,语法和语义都正确的赋值是_____。 (2分)
int c, *s, a[]={1, 3, 5};
- c=*s;
- s[0]=a[0];
- s=&a[1];
- c=a;
作者: 往年试卷
单位: 浙江大学
答案:
C
赋值是完全给了某个数
故传递地址
2-16
设变量定义为 int a[2]={1,3}, p=&a[0]+1;,则p的值是( )。(2分)
- 2
- 3
- 4
- &a[0]+1
作者: 王秀
单位: 福州大学
答案:
B
*p=&a[0]+1=a[1], 故为3
2-17
下面的这个循环的循环次数是( )。 (2分)
for(int i=0,j=10; i=j=10; i++,j–)
- 语法错误,不能执行
- 无限次
- 10
- 1
作者: 王秀
单位: 福州大学
答案:
B
没有结束条件
2-18
以下程序段的输出结果是 (2分)
int x = 23;
do {
printf("%d", x–);
} while (!x);
- 321
- 23
- 22
死循环
作者: 李廷元
单位: 中国民用航空飞行学院
答案:
B
至少执行一次
2-19
有两个字符数组a,b,则以下正确的输入语句是() (2分)
- gets(a,b);
- scanf("%s%s",a,b);
- scanf("%s%s",&a,&b);
- gets(“a”),gets(“b”);
作者: C课程组
单位: 武汉理工大学
答案:
B
2-20
下列语句定义 x 为指向 int 类型变量 a 的指针,正确的是()。 (2分)
- int a, *x = a;
- int a, *x = &a;
- int *x = &a, a;
- int a, x = a;
作者: 张泳
单位: 浙江大学城市学院
答案:
B
2-21
定义变量 int a;,则表达式 a = 3, 5;执行过后,a的值和表达式的值分别是: (2分)
- 3 , 5
- 5 , 3
- 3 , 3
- 5 , 5
作者: 周强
单位: 青岛大学
答案:
A
a=3、故值为3
表达式a=3, 5
故值为5
2-22
一个C的 程序的执行是从 (2分)
- 本程序的main函数开始,到main函数结束
- 本程序的第一个函数开始,到本程序文件的最后一个函数结束
- 本程序的main函数开始,到本程序文件的最后一个函数结束
- 本程序的第一个函数开始,到main函数结束
作者: 陈英
单位: 南昌航空大学
答案:
A
2-23
在C语言中,数字029是一个( )。 (2分)
- 八进制数
- 十进制数
- 十六进制数
- 非法数
作者: 王秀
单位: 福州大学
答案:
D
八进制是 o,不是0
2-24
要调用数学函数时,在#include命令行中应包含____。 (2分)
- “stdio.h”
- “string.h”
- “math.h”
- “ctype.h”
作者: 往年试卷
单位: 浙江大学
答案:
C
math为数学函数
String为字符函数
ctype为标准库函数
2-25
判断 i 和 j 至少有一个值为非0的表达式是____。 (2分)
- i!=0 && j!=0
- i+j!=0
- i || j
- i&&j
作者: 往年试卷
单位: 浙江大学
答案:
C
或最合适
2-26
下列运算符中优先级最低的是__. (2分)
- II
- > =
- !=
- ~
作者: 往年试卷
单位: 浙江大学
答案
A
||比&&都低
2-27
若a是基本整型变量,c是单精度实型变量,则输入语句( )是错误的。 (2分)
- scanf("%d,%f", &a, &c);
- scanf(“d=%d, c=%f”, &a, &c);
- scanf("%d%f", &a, &c);
- scanf("%d%f", a, c);
作者: 王秀
单位: 福州大学
答案:
D
没有取地址符
2-28
若有char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为( )。 (2分)
- float
- char
- int
- double
作者: 王秀
单位: 福州大学
答案:
D
转化为最高级
2-29
表达式8>6>3值是( )。 (2分)
- 0
- 1
- 3
- 表达式语法错
作者: 王秀
单位: 福州大学
答案:
8>6,可知为1,1>3,为0
2-30
逻辑运算符两侧运算对象的数据类型( )。 (2分)
- 只能是 0 或 1
- 只能是 0 或非 0 正数
- 只能是整型或字符型的数据
- 可以是任何类型的数据
作者: 王秀
单位: 福州大学
答案:
D
double i<int m;
2-31
若p1、p2都是整型指针,p1已经指向变量x,要使p2也指向x, ____是正确的。 (2分)
- p2=p1
- p2=**p1
- p2=&p1
- p2=*p1
作者: 往年试卷
单位: 浙江大学
答案:
A
两者地址相同
2-32
C语言中函数返回值的类型是由( )决定的。 (2分)
- return语句中的表达式类型
- 调用该函数的主调函数的类型
- 调用函数时临时决定
- 定义函数时所指定的函数类型
作者: 王秀
单位: 福州大学
答案:
D
C语言中函数返回值的类型是由定义函数时所指定的函数类型决定
2-33
以下数组定义中错误的是( )。 (2分)
- int x[][3]={0};
- int x[2][3]={{1,2},{3,4},{5,6)};
- int x[][3]={{1,2,3},(4,5,6)};
- int x[2][3]={1,2,3,4,5,6};
作者: 王秀
单位: 福州大学
答案:
B
两行三列 ! = 三行两列
2-34
数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素( )的值为6。 (2分)
- a[3][2]
- a[2][1]
- a[1][2]
- a[2][3]
作者: 王秀
单位: 福州大学
答案:
B
从头开始,头为0
2-35
下列程序段执行后s值为__。(2分)
int i=5, s=0;
while(i - -)
if (i%2) continue;
else s+=i;
- 15
- 10
- 9
- 6
作者: 往年试卷
单位: 浙江大学
答案:
D
2+4=6
2-36
在int a[ ][3] = { {1,4}, {3,2}, {4,5,6}, {0} };中,a[2][1]的值是( )。 (2分)
- 5
- 0
- 6
- 2
作者: 王秀
单位: 福州大学
答案:
A
第三行,第二个
从0开始
2-37
对于 C/C++语言的函数,下列叙述中正确的是( )。 (2分)
- 函数的定义不能嵌套,但函数调用可以嵌套
- 函数的定义可以嵌套,但函数调用不能嵌套
- 函数的定义和调用都不能嵌套
- 函数的定义和调用都可以嵌套
作者: 王秀
单位: 福州大学
答案
A
函数定义不可以嵌套
2-38
对下列代码的描述:
#include “stdio.h”
int main(){
long num=1;
while(num++ > 0) for(long i=num; i >=0; i–)printf(“i :=n t %ld n” , i);
return 0;
}
正确的是: (2分)
- 程序有编译错误,不能执行
- 循环条件永为真,循环无限次,程序根本停不下来,打印输出无限行
- 循环有限次,程序正常结束,打印输出有限行
- 程序运行过程必定会出错(崩溃),结果打印输出有限行
作者: 周强
单位: 青岛大学
答案:
B
2-39
有如下定义:
struct Student{
char name[10];
int age;
char gender;
}std[3], *p=std;
则以下各输入语句中错误的是: (2分)
- scanf("%d",&(*p).age);
- scanf("%c",&std[0].gender);
-scanf("%c",&(p->gender)); - scanf("%s",&std.name);
作者: 周强
单位: 青岛大学
答案:
D
name本身就是地址
2-40
以下哪个定义中的p不是指针,请选择恰当的选项: (2分)
- char **p;
- char (*p)[10];
- char *p[6];
- 给出的三项中,p都是指针
作者: 周强
单位: 青岛大学
答案:
C
指针数组是指针,数组指针是数组
2-41
对于以下递归函数f,调用f(4),其返回值为() 。(2分)
int f(int n)
{ if (n) return f(n - 1) + n;
else return n;
}
- 10
- 4
- 0
- 以上均不是
作者: 张高燕
单位: 浙江大学城市学院
答案
0+1+2+3+4=10
A
2-42
若fopen()函数打开文件失败,其返回值是( )。 (2分)
- 1
- -1
- NULL
- ERROR
作者: 张泳
单位: 浙江大学城市学院
答案:
NULL
最后
以上就是仁爱大树最近收集整理的关于PTA 程序设计 单选题-期末复习C语言程序设计-选择题的全部内容,更多相关PTA内容请搜索靠谱客的其他文章。
发表评论 取消回复