我是靠谱客的博主 仁爱大树,最近开发中收集的这篇文章主要介绍PTA 程序设计 单选题-期末复习C语言程序设计-选择题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 程序设计 单选题-期末复习C语言程序设计-选择题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部