C_8练习题答案

发布时间:2023年12月21日

一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)
1,在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)

A. main
B. MAIN
C.name
D. function

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

A. C语言中, main函数必须位于文件开头
B.C 语言每行中只能写一条语句
C. C语言本身没有输入、输出语句
D.对一个C语言进行编译预处理时,可检查宏定义的语法错误

3,设有定义: inta=5,b; ,则下列表达式中值不为2的是(B)

A. b=a/2
B. b=a%2
C. b-6-(-a)
D. b=a>3?2:4

4,在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(B)语句

A. for
B. if
C. do
D. while

5,在下面的do-while循环语句中,其循环体语句被执行的次数为()int i=0; do i++; while(i<10);
C

A. 0
B. 9
C. 10
D. 11

6,将两个字符串连接起来组成一个字符串时,选用的函数为?

A. strlen()
B. strcpy()
C. strcat()
D. stremp()

  1. 若用数组名作为函数调用的实参,传递给形参的是(A)

A. 数组的首地址
B. 数组中第一个元素的值
C. 数组中全部元素的值
D. 数组元素的个数

  1. 以下程序的输出结果是(B)

#include <stdio.h>
void main()
{
int i,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d ",x[i][2-i]);,
}

A.1 4 7
B.3 5 7
C.1 5 9
D.3 6 9

9.假定s被定义为指针类型char*的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的宝符串,则p应定义为(A)

A. chárp=s;
B. char*p=&s;
C. char *pp=s:
D. char
p: p=&s;

10,设x和y均为逻辑假,则xly为假的条件是(C),

A:-它们购为其
B. 其中一个为真
C.它们均为假
D. 其中一个为假

  1. 若有定义:inta=1,b=10;,执行下列程序段后.b 的值是(
    do{ba; a++;}while(b-<0);

    C

A.-1
B. -2
C. 8
D.9

12,设cl、c2均是char类型变量,则不正确的函数调用为(B)

A. scanf(“%c,%c”,&c1,&c2)
B. getchar(cl)
C. putchar(c2)
D. putchar(cl)

13.若定义了函数 double *function0.则返回值类型为(B)

A. 实数型
B. 实数指针型
C. 函数指针型
D.数组型

  1. C语言结构体类型变量在程序执行期间(A)

A.所有成员一直驻留在内存中
B. 只有一个成员驻留在内存中
C. 部分成员驻留在在内存中
D. 没有成员驻留在内存中

15.预处理命令在程序中都是以(B)符号开头的

A.*
B. #
C. &
D.@

16.下面各语句行中、不能正确进行字符串赋值操作的语句是(A)

A. char ST[5]={“ABCDE”):
B. char S[6]={‘A’, ‘B’, ‘C’, ‘D’, ’
C. char *S; S=“ABCDE”;
D. char c[80],*S=c; scanf ("%st, S):

17,下列给字符数组赋初值时,正确的是(A)

A. char s1=“abcdef”;
B. char s2[4]=“abcd”;
C. char s3[2][3]={“abc”,“xyz”);
D. char s4[4]]={‘a,x’,‘s’,t);

  1. 设有以下语句typedef struct S{ intg; char h;} T;则下面叙述中正确的是(B)

A. 可用 S 定义结构体变量
B. 可以用T定义结构体变量
C. s 是 struct类型的变量
D. T是 struct s类型的变量

19,要使p指向二维整型数组a[10][20], p应定义为(D)

A. int*p-a;
B. int**p-a;
C. int *p[20]=a;
D. int (*p)[20]=a;

20,凡是函数中未指定存储类别的局部变量,其隐含的存储类别为(A)

A. 自动(auto)
B. 静态(static)
C.外部(extern)
D.寄存器(register)

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

#include<stdio.h>

int main() {
   
    int a[9] = {
   21, 25, 56, 24, 39, 62, 18, 87, 64};
    int i, b1, b2;

    a[0] <= a[1] ? (b1 = a[0], b2 = a[1]) : (b1 = a[1], b2 = a[0]);

    for (i = 2; i < 9; i++) {
   
        if (a[i] < b1) {
   
            b2 = b1;
            b1 = a[i];
        } else if (a[i] < b2) {
   
            b2 = a[i];
        }
    }

    printf("%d %d\n", b1, b2);

    return 0;
}

2____1 3 6 10 15_____

#include <stdio.h>

int acc(int n) {
   
    static int f;
    f = f + n;
    return f;
}

int main() {
   
    int i;

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