c作业7

1、以下对二维数组 a 的正确说明是(c)。

int a[3][]
 
float a(3,4)

double a[1][4]

float a(3)(4)
2、判断字符串a是否大于b,应当使用( d)
 
if (a>b)
 
if (strcmp(a,b))
 
if (strcmp(b,a)>0)
  
if (strcmp(a,b)>0)
3、有以下程序
1
2
3
4 main()
{ int a=666,b=888;
  printf("%d\n",a,b);
}
程序运行后的输出结果是(   b)。
 
错误信息
 
666
 
888
 
666,888
3、下列选项中,不能用作标识符的是(   d)。
 
1234
 
_1_2
 
int2
 
2int

标识符以下划线和字母开头

4、在 C++ 中,用于实现动态多态性的是( d)。
 
内联函数
 
重载函数
 
模板函数
 
虚函数
5、下列标识符错误的是(  c      )
 
xly
 
_123
 
2ab
 
_ab
6、以下不符合 C 语言语法的赋值语句是(a)。
 
a=1,b=2
 
++j;
 
a=b=5;
 
y=(a=3,6*5);
7、以下对C语言函数的描述中,正确的是(a)。

C 程序必须由一个或一个以上的函数组成
 
C 函数既可以嵌套定义又可以递归调用
 
函数必须有返回值,否则不能使用函数 【void】
 
C 程序中有调用关系的所有函数必须放在同一个程序文件中

函数不可以嵌套定义

8、设 x,y,t 均为 int 型变量,执行下列语句后,y的值为(c)。
x=y=3; t=++x||++y;
 
不确定
 
4
 
3
 
1
9、下列程序段,循环体执行次数是:d
1
2
3 y = 2;
while (y <= 8)
    y = y + y;

2
 
16
 
4
 
3
10、用变量a给出下面的定义:一个有10个指针的数组,该指针指向一个函数,该函数有一个×××参数并返回一个整型数
 
int a[10];
 
int (
a)[10];
 
int (*a)(int);
 

int (*a[10])(int);
11、下面有关java和c++的描述,错误的是?
 
java是一次编写多处运行,c++是一次编写多处编译
 
c++和java支持多继承
 
Java不支持操作符重载,操作符重载被认为是c++的突出特征
 
java没有函数指针机制,c++支持函数指针

12、不能把字符串"HELLO!"赋给数组b的语句是(b)
 
char b[10]={'H','E','L','L','O','!','\0'};
 
char b[10];b="HELLO!";
 
char b[10];strcpy(b,"HELLO!");
 
char b[10]="HELLO!";
13、*p++ 自增p 还是 p 所指向的变量?a
 
自增p
 
自增p所指向的变量
 
和机器相关
14、下面程序会输出什么:b
1
2
3
4
5
6
7
8
9
10
11
12
13 static int a=1;
void fun1(void){    a=2;  }
void fun2(void){    int a=3;  }
void fun3(void){   static int a=4;  }
int main(int argc,char args){ 
     printf(“%d”,a); 
     fun1( ); 
     printf(“%d”,a); 
     fun2( ); 
     printf(“%d”,a);
     fun3( );
      printf(“%d”,a); 
}
 
1 2 3 4
 
1 2 2 2
 
1 2 2 4
 
1 1 1 4
15、已知一运行正常的程序中有这样两个语句:int p1,p2=&a; p1=b; 由此可知,变量a和b的类型分别是(a)。
 
int和int
 
int
和int
 
int和int
 
int
和int
16、c++中,声明const int i,是在哪个阶段做到 i只可读的(a)
 
编译
 
链接
 
运行
 
以上都不对
17、以下程序的运行结果是(b)
int main(void)
{
printf("%s , %5.3s\n","computer","computer");
return 0;
}
 
computer , puter
 
computer , com
 
computer , computer
 
computer , compu.ter
18、运行下面这段C语言程序之后,输出在屏幕上的结果是:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 void foobar(int a, int
b, int
c)[d]
{
    int p = &a;
    
p = 101;
    c = b;
    b = p;
}
 
int main()
{
    int a = 1;
    int b = 2;
    int c = 3;
    int
p = &c;
    foobar(a, &b, &p);
    printf("a=%d, b=%d, c=%d, p=%d\n", a, b, c, p);
    return (0);
}
 
a=1, b=2, c=3, p=2
 
a=101, b=2, c=3,
p=2
 
a=101, b=101, c=2, p=3
 
a=1, b=101, c=2,
p=3

19、下列程序的运行结果是3,5,请为横线处选择合适的程序( )
1
2
3
4
5
6
7
8
9
10
11
12
13 #include<stdio.h>
 struct S
 {
    int n;
    char c[10];
 } p;
 main()
 {
    struct S a[3]={{3,"abc"},{5,"def"},{7,"ghi"}};
    p=a;
    printf("%d,",(
p).n);
    printf("%d\n",_(*(p+1)));
 }

20、在 C 语言中下面那个语句的结果是 1 ?[b]
 
main 函数正常结束的返回值
 
return 7&1;
 
char *p="hello"; return p == "hello";
 
上面都不对

21、下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]…中,把偶数从数组中删除,奇数个数通过函数值返回。 例如,若a所指数组中的数据最初排列为:9,1,4,2,3,6,5,8,7,删除偶数后,a所指数组中的数据为:9,1,3,5,7,返回值为5。
函数原型:int cnt_array_oushu(int *a, int len) 

int cnt_array_oushu(int *a, int len)
{
int num = 0 ;
int i = 0 , j = 0;

for( i=0 ; i<len ; i++ )
{
    if( a[i]%2 == 1 )
    {
        a[j] = a[i];
        j++;
        num++;
    }

}
return num;

}
int main (void)
{
char arr[]={9,1,4,2,3,6,5,8,7}
int ret =cnt_array_oushu(arr,9)
printf(“%d”ret);

}

转载于:https://blog.51cto.com/13408467/2057323

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值