C练习题_12

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

  1. C 语言中程序的执行是从()

A. 任意函数开始
B. 程序中的第一个函数开始
c.程序的第一条可执行语句开始
D. main函数开始

2,若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf(“**ln”);下面关于语句执行情况的叙述中正确的是()

A. 循环体执行两次
B. 循环体执行一次
C. 循环体一次也不执行
D. 构成无限循环

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

A. C 语言的可执行程序是由一系列机器指令构成的
B. 用 C语言编写的源程序不能直接在计算机上运行
C.通过编译得到的二进制目标程序需要连接才可以运行
D.在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件

4,以下选项中可用作C程序合法实数的是()

A. .le0
B. 3.0e0.2
C.E9
D. 9.12E

  1. 有以下程序
#include 

void main() {
    int x = 10, y = 5;

    if (!x) {
        y++;
    } else if (x == 0) {
        if (x) {
            y += 2;
        } else {
            y += 3;
        }
    }

    printf("%d\n", y);
}

程序运行后的输出结果是()。

A.8
B.7
C 6
D5

6.有以下程序

#include 

void main() {
    char b, c;
    int i;

    b = 'a';
    c = 'A';

    for (i = 0; i < 6; i++) {
        if (i % 2)
            putchar(b);
        else
            putchar(c);
    }

    printf("\n");
}

程序运行后的输出结果是()

A. ABCDEF
B. AbCdEf
C. aBcDeF
D. abcdef

7.有以下程序

#include 

void fun(char *c) {
    while (*c) {
        if (*c >= 'a' && *c <= 'z') {
            *c = *c - ('a' - 'A');
        }
        c++;
    }
}

int main() {
    char s[81];
    gets(s);
    fun(s);
    puts(s);
    
    return 0;
}

当执行程序时从键盘上输入Hello Hebei<回车>,则程序的输出结果是()

A. hello hebei
B. Hello Hebei
C. HELLO HEBEI
D. hELLO Hebei

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

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

9,定义int x=10,y-20,z;执行y=z-x;x=y!=z后,变量x的值为()

A. 1
B. 10
C. 0
D. 20

10,若有变量定义double x;float a;要给x和a输入数据,正确的输入语句是

A. scanf(“%d%d”,&x,&a);
B. scanf(“%1%if,&x,&a);
C.scanf(”%f%f",&x,&a);
D. scanf(“%1%f”,&x,&a);

11.若有定义: inta=1,b=2,c=3,d-4,m=2,n=2; ,则执行(m-a>b)&&(n=e>d)后, n的值为()。

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

12.若 char str[10]= “I am happy”,则*(a+3)的值为()

A. T
B. ‘a’
C. ‘ ’
D. ‘m’

13,设x, y和z是int型变量,且x=3, y=10", z-5,则下面表达式中值为0的是()。

A. ‘x’&&y
B. x>=y
C. xlly+z && y-z
D. (x

  1. 以下程序的运行结果是()
#include 

void fun(char *c) {
    while (*c) {
        if (*c >= 'a' && *c <= 'z') {
            *c = *c - ('a' - 'A');
        }
        c++;
    }
}

int main() {
    char s[81];
    gets(s); // Note: gets is deprecated, consider using fgets instead
    fun(s);
    puts(s);
    
    return 0;
}

Amax=3
B. max=5
C. ma=8
D. max=9

  1. 函数调用语句: d-max(d,max(a,max(b,c)));中实参的个数为()

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

16.语句pntf%s", “sbiOjtaOzhuang”);执行后的输出结果为()

A. shi
B. jia
C. shi jia zhuang
D. zhuang

17.程序段如下,则以下说法中正确的是(int i=5;while(i=0) i++;

A. while 循环执行 5次
B. 循环是无限循环
C. 循环体语句一次也不执行
D. 循环体语句执行一次

  1. C语言允许定义函数值类型为空类型,表示函数值为空类型的类型名是()

A. int
B. float
C. double
D. void

19,有如下程序段int a=10 ,*p=&a,b=1 ; a=*p+b++;执行该程序段后,a 的值为()

A. 12
B. 11
C. 10
D. 编译出错

  1. 有以下程序
    #include
    struct ord{ int x,y;}dt[2]={1,2,3,4};
    void main
    {
    struct ord *p=dt;
    printf(“%d,”.++(p->x)); printf(“%dln”,++(p->y));
    }

程序运行后的输出结果是()

A. 1,2
B. 4,1
C. 3,4
D. 2,3

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

#include 

void fun(char *x, char *y) {
    char t;
    t = *x;
    *x = *y;
    *y = t;
}

int main() {
    char p[] = "abc";
    char q[] = "123";

    fun(p, q);

    printf("%s, %s\n", p, q);

    return 0;
}

#include 

int func(int x, int y);

void main() {
    int a = 1, b = 2, c = 3, d = 4, e = 5;
    printf("%d\n", func((a + e, b + d, c - a), (b * e)));
}

int func(int x, int y) {
    return (x + y);
}

#include 

void main() {
    unsigned x = 23;
    int p = 20, d = 2, n = 5;

    printf("%u", (x >> (p + d - n)) & ~(~0U << n));
}

#include 

void main() {
    int x = 2, a = 1, b = 0;

    switch (x) {
        case 1:
            a++;
            b++;
            break;
        case 2:
            a++;
            b--;
            break;
        case 3:
            a--;
            b++;
            break;
    }

    printf("a=%d, b=%d\n", a, b);
}

你可能感兴趣的:(2模拟2C,c语言,算法,开发语言,河北专升本)