C10练习题

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

1.设n=3;则表达式n++的结果是()

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

2.以下能正确定义且赋初值的语句是()

A. char a=b=‘a’,
B. char c=65;
C. char a,b=a;
D. char c=“a”;

3.以下选项中可作为C语言合法常量的是()。

A. 0ΧΑ
B. 080
C. 8el.0D. "

  1. 若有以下说明和语句:
    struct worker
    {
    int no;
    char *name;
    }work, *p=&work;

则以下引用方法不正确的是()

A. work.no
B. (*p).no
C. p->no
D. work->no

5.以下对二维数组进行正确初始化的是()

A. int a[2][3]={{1,2},{3,4},{5,6}};
B. int a[][3]={1,2,3,4,5.6};
C.int a[2][]={1,2,3,4,5,6};
D.int a[2][0={{1,2%,{3,4}};

  1. 当调用函数时,实参是一个数组元素,则向函数传送的是()。

A.数组的长度
B. 数组的首地址
C.该元素的地址
D. 该元素中的值

7,已知有变量定义: int a;char c;用scanf(“%d%c”,&a,&c);语句给a和c输入数据,使30存入a.字符b存入c,则正确的输入是()

A. 30’b’<回车>
B. 30 b<回车>
C. 30<回车>b<回车>
D. 30b<回车>>

  1. 下面程序段运行时输出结果是(chars[18]= “This is a book! “;printf(”%.6s”,s);

A. This is a book!
B. This is
C. This i
D.> .格式描述不正确,没有确定输出

  1. 以下错误的描述是()

A不同的函数中可以使用相同的变量名
B.形式參数是局部变量
C.一个函数内部定义的变量只能在本函数范围内有效
D;在一个函数内部的复合语句中定义的变量可以在本函数范围内有效

10,为了判断两个字符串s1和s2不相等,应当使用()

A. if(sls2)
B. if(sl=s2)
C. if(strcmp(s1,s2))
D. if(strcmp(s1.s2)-0)

  1. 下面程序的输出结果是()
    #include
    void main()
    {
    int x=102,y=012;
    printf(“%2d,%2d”,x,y);
    }

A. 10,01
B. 02,12
C. 102,10
D. 02,01

12,以下能正确定义数组并正确赋初值的语句是()

A. int n=5;char a[n][n];
B. chara[1][2]={{“a”),{“b”}};
C. char c[2]={“ab”};
D. char a=“abcde”;

  1. C语言中规定函数的返回值的类型是由()

A. return 语句中的表达式类型所决定
B.在定义该函数时所指定的函数类型所决定
C.调用该函数时系统临时决定
D.调用该函数时的主调函数类型所决定

14,下列关于#include命令的叙述中,错误的是()

A. #include命令中,文件名可以用双引号或尖括号括起来
B.一个被包含文件中又可以包含另一个被包含文件
c. 一个#include命令中可以指定多个被包含文件
D.一个#include命令中只能指定一个被包含文件

15.在定义 int a[10];之后,对a 的元素引用正确的是()

A. a[10]
B. a[7.3]
C. a(6)
D. a[20-12]

16,若有定义inta=8,b,*p=&a;则下列语句中使b不为8的语句是()

A. b=*&a;
C. b=a;
B. b=*p;
D. b=*a;

  1. 定义 int x,y;执行 y=x=7,++x, x+3 语句后,表达式的值是()

A. 10
B. 11
C. 7
D. 8

18,在while (!x)语句中的x与下面条件表达式等价的是()

A. x0
B.x
1
C. x!=1
D. x!=0

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

A.全局变量的作用域一定比局部变量的作用域范围大
B.静态(static)类别变量的生存期贯穿于整个程序的运行期间
c.函数的形参都属于全局变量
D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值

  1. 如下程序的输出结果()
    #include
    #define F(x) (x-1)*x
    void main
    { int a=l,b=2;
    printf"%dn",F(a+b));
    {

A. 4
B. 6
c. 12
D. 16

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

#include 

void sub(int s[], int y) {
    static int t = 3;
    y = s[t];
    t--;
}

int main() {
    int a[] = {5, 6, 7, 8};
    int i, x = 0;

    for (i = 0; i < 4; i++) {
        sub(a, x);
    }

    for (i = 0; i < 4; i++) {
        printf("%d ", a[i]);
    }

    printf("\n");

    return 0;
}

2_________

#include 

void fun(int b[4]) {
    int j;
    for (j = 0; j < 4; j++) {
        b[j] = j;
    }
}

int main() {
    int a[4] = {1, 2, 3, 4};
    int k;

    fun(a);

    for (k = 0; k < 4; k++) {
        printf("%d ", a[k]);
    }

    return 0;
}

3_________

#include "stdio.h"

int d = 10;

void fun(int p) {
    int d = 8;
    d += p++;
    printf("%d ", d);
}

int main() {
    int a = 3;
    fun(a);

    {
        int d = 15;
        d += a++;
        printf("%d ", d);
    }

    printf("%d ", d);

    return 0;
}

4_______
输入5,18

#include "stdio.h"

void main() {
    int a, b, t; // Removed duplicate declaration of 't'
    scanf("%d,%d", &a, &b);
    t = a + b;
    printf("b-%d", b);
}

5_______

#include 

void ast(int x, int y, int *cp, int *dp) {
    *cp = x * y;
    *dp = *dp / y;  // Fixed the division assignment
}

int main() {
    int a, b, c, d;

    a = 5;
    b = 3;

    ast(a, b, &c, &d);

    printf("%d, %d\n", c, d);

    return 0;
}

三、程序填空题(每空 5分,共 35分。请将答案填写在答题纸的相应位置上。)

  1. 程序功能:计算正整数 num 的各位上的数字之和。例如,若输入:252,则输出应该是若输入:202,则输出应该是:4。
#include 

void main() {
    int num, k;
	_________;
    printf("Please enter a number:");
    scanf("%d", &num);

    do {
        num /= 10;
        k++; // Increment k to count the number of divisions
    } while (num > 0);

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

2,程序功能: e=1+1/11+1/2!+1/3!++1/n!+,计算e的近似值。

#include 
#include 

void main() {
    long int n, j;
    float sum = 1.0, t;

    for (n = 1; fabs(1 / t)_________1e-6; n++) {
        t = 1.0;
        for (j = 1; j <= n; j++) {
           _______;
        }
        sum += 1 / t;
    }

    printf("%10.2f\n", sum);
}

以下程序中函数fun的功能是:统计person所指结构体数组中所有性别(sex)为M的记录的女,存入变量n中,并作为函数值返回。请填空。

#include <stdio.h
#define N 3

typedef struct {
    int num;char nam[10];char sex;
    int fun(SS person[])
    {
    int i, n = θ;
    for(i=0;i<N;i++)
	if(__________='M')n++;
	return n;
}
int main() {
    int i, n = 0;
    SS W[N] = {{1, "AA", 'F'}, {2, "BB", 'M'}},int n;
    n=___________:

, char gender) {
    if (person.sex == gender) {
        return 1;
    }
    return 0;
}
int main() {
    int i, n = 0;
    SS W[N] = {{1, "AA", 'F'}, {2, "BB", 'M'}}, 
	n=__________;printf("n=%d\n",n)

   

四编程题(本大题共3小题,每小题15分,共45分。请在答题纸的相应位置上作答。)
1…在主函数中输入10个等长的字符串,子函数对它们排序,最后在主函数中输好序的字符串。

2.编写函数intstrcmpfciar*p1,char *p2):实现两个字符串的比较。用主函数调用之。要针实现,不允诤使用标准库函数。

3,一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问多少?试编程求之。

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