C2

C2
12問 • 1年前
  • ユーザ名非公開
  • 通報

    問題一覧

  • 1

    假设有如下宏定义: #define N 3 #define M N+1 #define f(x,y) (x)*(x)+y*y main函数中有如下语句: int a = f(M,N+2); 上面的语句执行后,变量a的值是( )。

    27

  • 2

    下列关于实参和形参的叙述中,错误的是( )。

    形参释放空间后,实参的空间也立即被释放

  • 3

    下面的函数用于实现一维数组元素的逆序存储,请将该函数补充完整。 int fun(int a[], (1) ) { int i, j, t; for(i=0,j= (2) ; i<j; i++, (3) ) { t=a[i]; (4) ; a[j]=t; } }

    int n, n-1, j--, a[i]=a[j]

  • 4

    阅读下面的程序并写出程序执行后的输出 #include <stdio.h> int fun(int a) { if(a<3) return a; else return fun(a-1)*fun(a-2); } int main() { printf("%d\n", fun(6)); return 0; }

    32

  • 5

    下面的函数用于计算并返回一维数组最大值和最小值的差,请将该函数补充完整。 int fun(int a[], int n) { int i, max, min; max = min = (1) ; for(i=1;i<n;i++) { if(a[i]>max) (2) =a[i]; if(a[i]<min) min= (3) ; } return (4) ; }

    a[0], max, a[i], max - min

  • 6

    阅读下面的程序并写出程序执行后的输出 #include <stdio.h> int fun(int *a, int b) { int t = *a; *a = t + b; b = t; return (*a) * b; } int main() { int m = 3, n = 4; printf("%d\n", fun(&n,m)); return 0; }

    28

  • 7

    下面的函数用于计算并返回一维字符数组中字符串的实际长度,请将该函数补充完整。 int fun(char c[]) { int i; for(i=0; (1) !='\0'; i++); return (2) ; }

    c[i], i

  • 8

    若有以下语句: int a[3],*p=a; 则 &a[2]-p 的值是( )

    2

  • 9

    假设有int arr[10]; int *p=&arr[0]; 下列选项中,和arr[5]等价的是( )。

    *(p+5)

  • 10

    假设有:int a=100; double b=3.5; 下列用法中正确的是( )。

    int *p=&a; *p=1000;

  • 11

    设 char a[5], *p=a; 下面选项中正确的赋值语句是( )。

    p="abcd";

  • 12

    若有语句:int s[3][3], (*p)[3]; p=s; 则对s数组元素的引用形式正确的是( )。

    p[1][2]

  • C

    C

    ユーザ名非公開 · 100問 · 1年前

    C

    C

    100問 • 1年前
    ユーザ名非公開

    問題一覧

  • 1

    假设有如下宏定义: #define N 3 #define M N+1 #define f(x,y) (x)*(x)+y*y main函数中有如下语句: int a = f(M,N+2); 上面的语句执行后,变量a的值是( )。

    27

  • 2

    下列关于实参和形参的叙述中,错误的是( )。

    形参释放空间后,实参的空间也立即被释放

  • 3

    下面的函数用于实现一维数组元素的逆序存储,请将该函数补充完整。 int fun(int a[], (1) ) { int i, j, t; for(i=0,j= (2) ; i<j; i++, (3) ) { t=a[i]; (4) ; a[j]=t; } }

    int n, n-1, j--, a[i]=a[j]

  • 4

    阅读下面的程序并写出程序执行后的输出 #include <stdio.h> int fun(int a) { if(a<3) return a; else return fun(a-1)*fun(a-2); } int main() { printf("%d\n", fun(6)); return 0; }

    32

  • 5

    下面的函数用于计算并返回一维数组最大值和最小值的差,请将该函数补充完整。 int fun(int a[], int n) { int i, max, min; max = min = (1) ; for(i=1;i<n;i++) { if(a[i]>max) (2) =a[i]; if(a[i]<min) min= (3) ; } return (4) ; }

    a[0], max, a[i], max - min

  • 6

    阅读下面的程序并写出程序执行后的输出 #include <stdio.h> int fun(int *a, int b) { int t = *a; *a = t + b; b = t; return (*a) * b; } int main() { int m = 3, n = 4; printf("%d\n", fun(&n,m)); return 0; }

    28

  • 7

    下面的函数用于计算并返回一维字符数组中字符串的实际长度,请将该函数补充完整。 int fun(char c[]) { int i; for(i=0; (1) !='\0'; i++); return (2) ; }

    c[i], i

  • 8

    若有以下语句: int a[3],*p=a; 则 &a[2]-p 的值是( )

    2

  • 9

    假设有int arr[10]; int *p=&arr[0]; 下列选项中,和arr[5]等价的是( )。

    *(p+5)

  • 10

    假设有:int a=100; double b=3.5; 下列用法中正确的是( )。

    int *p=&a; *p=1000;

  • 11

    设 char a[5], *p=a; 下面选项中正确的赋值语句是( )。

    p="abcd";

  • 12

    若有语句:int s[3][3], (*p)[3]; p=s; 则对s数组元素的引用形式正确的是( )。

    p[1][2]