【5】C#期末复习第5套

发布于:2024-12-20 ⋅ 阅读:(16) ⋅ 点赞:(0)

1.int a[3][2]={2,4,6,8,10.12};则*(a[1]+1)的值是8

       指向(a[1]的第二个元素再*

2.合并字符串库函数strcat

3.比较字符串库函数strcmp

4.执行结果是x=3,y=3

int x=3,y;
int *px=&x;
y=*px++;

(优先级++高于*)

5.*p[5]没有实际意义,p[5]和*(p+5)才有

6.若有说明:int *p1,*p2,m=5,n;则正确的是(C)

         (B)p1=&m;p2=&n;*p1=*p2;

        (C)p1=&m,p1=p2;

7.找出不能正确赋值的程序语句(C)

        (A)  p1 = &ch; scanf("%c", p1); 
        (B)  p2 = (char *)malloc(1); scanf("%c", p2); 
        (C)  * p3 = getchar(); 
        (D)  p4 = &ch; *p4 = getchar(); 

malloc函数:

原型---extern void * malloc(unsigned int num_byte); 

作用---分配长度为num_byte字节的内存块;

8.

void fun(int a)
{a=456;}
main()
{
    int x=10;
    fun(x);
printf("%d",x);
}

这段代码的输出结果是  10 

fun  函数没有返回值,在函数内部对参数的修改不会影响到主函数中变量的值
最后, printf("%d,%d,%d\n", z, y, x);  输出的是  z ,  y , 和  x  的原始值,即  30,20,10 

而数组作为函数参数实际上传递的是首地址,可以改变

9.判断以下函数调用语句中实参的个数:
func((e1,e2),(e3,e4,e5));
在这个函数调用中,实参是传递给函数的实际参数值。根据题目中的函数调用语句,我们可以看到有两个括号内的表达式作为实参:
 (e1, e2) 
 (e3, e4, e5) 
因此,这个函数调用中有两个实参

10.strcat(a2,a1);

        将a1串联到a2后面

11.字符串大小比较(ASCII码值)

12.选项C是错误的

        (A) 函数的形式参数在函数未被调用时就不被分配存储空间
        (B) 若函数的定义出现在主调函数之前,则可以不必再加说明
        (C) 若一个函数没有return语句,则什么值也不会返回
        (D) 一般来说,函数的形参和实参的类型要一致

        例如,int类型的函数如果没有return语句,默认返回0

13.函数调用,不可以作为一个函数的形参

14.int N=5,b[5][5]不行

15.已定义字符数组a

        gets(a);

        也就是scanf(“%s”,a);

16.strcat(strcpy(s1,s2),s3);

将s2复制到s1中,再将s3接到s1后

17.函数的递归调用

18.不检查数组下标是否越界

19.二维数组按优先排放