C_15练习题答案

发布时间:2023年12月17日

一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)

  1. 在下列说法中,(D)是正确的。

A.C程序从第一个函数开始执行,直到最后一个函数结束
B.C程序从第一个函数开始执行,直到主函数结束
C.C程序从主函数开始执行,直到最后一个函数结束
D.C程序从主函数开始执行,直到主函数结束

2.下列标识符中,不合法的C语言用户自定义标识符是(B)。

A. printf
B. enum
C._
D. sin

3.以下叙述中错误的是(A)

A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B.C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
C.用C语言编写的程序称为源程序,它以ASCI代码形式存放在一个文本文件中
D.C语言源程序经编译后生成后缀为.obj的目标程序

  1. 在C语言中,数字079是一个(D)

A.八进制数
B.十进制数
C.十六进制数
D.非法数

5.对于变量定义double a,b,c;,则表达式(C)与a/b/c不等价。

A. a/(b*c))
B.a/c/b
C. a/(b/c)
D. (a/b)/e

6.为表示“a和b都不等于0”,应使用的C语言表达式是(D)

A. (a!=0) Il (b!=0))。
B. a ll b
C. !(a=0)&&(b!=0)
D. a && b

7·下列关于单目运算符++、–的叙述正确的是(D)

A.它们的运算对象可以是任何变量和常量)。
B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D.它们的运算对象可以是char型变量、int型变量和float型变量

8.若变量a是int类型,并执行了语句:a=‘A’+1.6;,则正确的叙述是(C)

A. a的值是字符C
B. a的值是浮点型
C.a的值是字符"A,的ASCI值加上1。
D.不允许字符型和浮点型相加

9.若有以下定义int k=7, x=12;,则能使值为3的表达式是(D)。

A. x%=(k%=5)
B.x%=(k-k%5)
C. x%=k-k%5
D. (x%=k)-(k%=5)

10.字符串"\092"ABC"\"的长度是(D)

A. 11
B.8
C.5
D.0

11.有一下程序
#include <stdio.h>
void main()
{
int x;
scanf(“%d”,&x);
if(x>10) printf(“1”);
else if(x>20) printf(“2”);
else if(x>30) printf(“3”);
}
若运行时输入:35<回车>,则输出结果是(A)。

A.1
B.2
C.3
D. 123

12.下面有关for循环的正确描述是(D)。

A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.在for循环中,三个表达式都不能省略
D.for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来

13.以下能正确定义数组并正确赋初值的语句是(D)。

A. int N=5,b[N][N];
B. int a[1][2]={1},(3}};
C. int c[2]0={ {1,2),(3,4));
D. int d[3][2]=((1,2),(34));

14.对于定义char str]=“abc10def”;(注:其中0为数字零),求字符串str的长度len(即调用标准库函数strlen:len = strlen(str))和数组str的大小size(即size= sizeof(str)),len和size分别是:
C

A.7,8
B.7,7
C.3,8
D.3,7

15.下列定义数组的语句中正确的是(A)。

A. #define size 10 char strl[size],str2[size+2];
B. char str;
C. int n;scanf(“%d”,&n);int num['10;
D. int n=5; int a[n][n+2];

  1. 下面程序a,b值为(D)。
    #include <stdio.h>
    int main (void)
    {
    int a;
    a= 1;
    {
    int b= 2;
    b= a+b;
    a=a+b;
    }
    printf (“%d,%d”,a,b);
    return 0;

A. 1,2
B. 1,0
C. b 随机数
D.4, b随机数

17.在C语言中,下列错误的说法是(C)

A.函数可以递归调用
B.不允许在函数定义中再定义函数
C.递归程序不可能用非递归算法实现
D.对于continue语句,可以通过改变程序的结构而不使用它

18.以下语句或语句组中,能正确进行字符串赋值的是(D)

A. char sp; sp=“right!”;
B. char s[10]; s=“right!”;
C. char s[10];*s=“right!”;
D. char *sp=“right!”;

19.宏定义“#define DIV(a, b) ab”,经DIV(x+5,y-5)引用,替换展开后是(A)。

A.x+5/y-5
B.(x+5/y-5)
C. (x +5)/(y-5)
D. (x+5)/(y-5);

20,以下程序运行后的输出结果是( C )。
#include<stdio.h>
struct s
{
int x;
int y;
} data[2]= {10, 100, 20, 200};
int main(){
struct s *p=data +1;
printf(“%d\n”, p->x);
return 0;
}

A. 10
B. 11
C.20
D.21

二、程序阅读题(本大题共5小题,每小题6分,共30分。请将程序的运行结构填写在答题纸的相应位置上。)

1____m=4 n=2_____

#include <stdio.h>

int main() {
   
    int a, b, m = 1, n = 1;

    scanf("%d%d", &a, &b);

    if (a > 0) {
   
        m = 2 * n;
        b++;
    } else {
   
        n = m + n;
        a += 2;
        b++;
    }

    while (a == b);

    printf("m=%d n=%d", m, n);

    return 0;
}
//输入-1 0

2__2 3 5 7_____

#include <stdio.h>

int fun3(int m);

void main() {
   
    int n;

    for (n = 1; n < 10; n++) {
   
        if (fun3(n) == 1)
文章来源:https://blog.csdn.net/weixin_47431459/article/details/134908908
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。