C_9练习题答案

发布时间:2023年12月21日

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

  1. priatf函数中用到的格式符%5s,其中数字5表示输出的字符串占5列。如果字符串长度大于5,则输出按方式(B)

A.从左起输出该字符串,右补空格
B. 按原字符长度从左到右全部输出
C.右对齐输出该字符串,左补空格
D. 输出错误信息

  1. 以下叙述不正确的是(D)

A.一个C程序可由一个或多个函数组成。
B.一个C程序必须包含一个main函数C.
C程序的基本组成单位是函数
D.在C程序中,main函数的位置必须在程序的最开始。

  1. 若有以下语句,则下面(B)是正确的
    char x=“12345”;
    char y]={‘1’, ‘2’, ‘3’, ‘4’, '5};

A. x.y 完全相同
B. x,y 不相同
C. x数组长度小于数组y长度
D. x,y 字符串长度相等

4.有字符数组a[80]和b[80]、则正确的输出语句是(D)

A. puts(a,b);
B. printf(“%s,%s”,a[],b]);
C. putchar(a,b);
D. puts(a); puts(b);

5.若有说明: int a[][3]={1,2,3,4,5,6,7);则数组的行长度是(B)

A. 2
B. 3
C. 4
D. 无确定值

6·以下能正确地定义整型变量a, b和c并为其赋初值5的语句是(C)

A. int a=b=c=5;
B. int a,b,c=5;
C. int a=5,b=5,c=5;
D. a=c=b=5;

  1. 下列程序执行后的输出结果是(B)
    #include <stdio.b>
    void main()
    {
    inf a[3][3], *p,i;
    p=&a[0][0];
    for(i=0; i<9; i++) p[i]=i+1;
    printf(“%d \n”,a[1][2]);
    }

A. 3
B. 6
C. 9
D.随机数

8.下面程序段是输出两个字符串中对应相等的字符。请选择填空(A)charx[]=“programiming”;
ehary[]=“Fortran”;
int=0;
while(x[i]!=‘\0’&&y[i]!=‘\0’)
if(x[i]==y[i]printf(“%c”.______);
else i++;

A. x[i++]
B. y[++i]
C. x[i]
D. y[i]

9,若使用一维数组名作函数实参、则以下正确的说法是(C)

A.必须在主调函数中说明次数组的大小
B.实参数组类型与形参数组类型可以不匹配
C.在被调函数中,不需要考虑形参数组的大小
D.实参数组名与形参数组名必须一致

  1. 根据定义和数据的输入方式,输入语句的正确形式为(B)
    已有定义:float f1,f2:
    数据的输入方式:4.52
    3.5

A. scanf(“%f,%f”,&fl,&f2);
B. scanf(“%f%f”,&fl,&f2);
C.scanf(“%3.2f%2.1f,&f1,&f2);
D. scanf(”%3.2f%2.1f",&fl,&f2);

  1. 设下面程序段中调用 fun 函数传送实参 a 和 b,
    #include <stdio.h>
    void main
    {
    chara [10] ,b [10];

    fun (a,b);

    }

则在 fun 函数首部中,对形参错误的定义是(A)

A. fun(char a [10],b [10]){.}
B. fun(char al [] ,char a2 []){…)
C.fun(char p [10] ,charq [10]){…}
D. fun(char *sl,char *s2){…)

  1. 设有如下函数定义:
    C
    int f(char *s)
    {
    char *p=s:
    while(*p!=0") p++;
    return(p-s);
    }

如果在主程序中用下面的语句调用上述函数,则输出结果为(printf(“%dn”,f(“goodbey!”)

A. 3
B. 6
C. 8
D. 0

  1. 若有以下定义和语句:
    union data
    {
    int i;
    char c;
    float f;
    }a;
    int n;
    则以下语句正确的是(D)

A. a=5;
B. a={2,‘a’,1.2);
C. printf(“%din”,a);
D. n=a.i;

  1. 若有以下说明和定义
    Typedef int* INTEGER;
    INTEGER p,*q;
    以下叙述正确的是(B)

A. p是 int 型变量
B. p是基类型为int 的指针变量
C. q 是基类型为 int 的指针变量
D.程序中可用INTEGER代替 int类型名

  1. 下面程序的运行结果是(D)
    #include <stdio.h>
    void main()
    struct emp lx int x;
    int y;cnum[2]={1,3,2,7}
    printf(“%d\n”,cnum[0].y/cnum[0].x*cnum[1].x);
    }

A. 0
B. 1
C. 3
D. 6

  1. 以下叙述正确的是(D)

A. do-while 语句构成的循环不能用其它语句构成的循环来代替。
B.do-while语句构成的循环只能用break语句退出。
C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D.用do-while语句构成的循环,在while后的表达式为零时结束循环。

17,若有以下调用语句,则不正确的fun函数的首部是(D)

A. void fun(int m, int x)
B. void fun(int s, int h[41])
C. void fun(int p, int *s)
D. void fun(int n, int a)

#include <stdio.h>
void main()
{

int a[50],n;

fun(n, &a[9]);

}

18.下列程序执行后输出的结果是(A)
#include <stdio.h>
#include <string.h>

void main() {
   
    char arr[2][4];
    strcpy(arr[0], "you");
    strcpy(arr[1], "me");
    arr[0][3] = ';';
    printf("%s", arr[0]);
}

A. you&me
B. you
C. me
D. е

19.下列程序的运行结果是(B)。

#include <stdio.h>

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