(C)一些题4

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

A.C程序中的注释只能出现在程序的开始位置和语句的后面

B.C程序书写格式严格,要求行内只能写一个语句

C,C程序书写格式自由,一个语句可以写在多行上

D.用C语言编写的程序只能放在一个程序文件中

 

2.设有如下程序段
 char s [20]=" Bejing ",* p ;
 p = s ;
则执行 p =s ;语句后,以下叙述正确的是()
 A 可以用* p 表示 s [0]
 B . s 数组中元素的个数和 p 所指字符串长度相等
 C . s 和 p 都是指针变量
 D .数组 s 中的内容和指针变量 p 中的内容相等


3.有定义语句: char s [10];,若要从终端给 s 输入5个字符,错误的输入语句是
 A . gets (& s [0]); 

B . scanf ("% s ", s +1);
 C . gets ( s );
 D . scanf ("% s ", s [1]);

4.当输入 quert ?输出结果是什么?

# include < stdio . h >
 void main()

{
 char c ;
 while (( c - getchar ()!='?')
 putchar (++ c );

}

答案:CAD 取地址符

quert?

5.任意大于2的偶数可以分解为两个素数之和,请验证。
 

# include < stdio . h >
 void main ()
{
 int n ,n1,n2;
 int i ;
 printf ("输入一个偶数");
 scanf ("% d ",& n );
 for (n1=2;n1<= n /2;n1++)
{
n2= n - nl ;
 for ( i =2; i < nl ; i ++)//判断 nl 是否为素数
{
 if (n1%i==0)
 break ;
}
if ( i < nl )//如果 nl 不是素数,则不用判断n2是否为素数.
 continue ;
 for ( i =2; i =n2)/如果n2是素数,则跳出循环.
break ;

 printf ("% d 可分解为% d +% d \ n ", n , nl ,n2);
}

6.请编写函数 fun ,函数的功能是:删去一维数组中所有相同的数,使之只剩一
个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如,一维数组中的数据是:2223445666677899101010。
删除后,数组中的内容应该是:2345678910。
 


# include < stdio . h >
# define N 80
 int fun ( int a [], int n )
{
int i ,j=1,k=a[0];
 for ( i =1; i 

你可能感兴趣的:(c语言,开发语言)