(C)一些题2

1.在 C 语言中(以 16位 PC 机为例),5种基本数据类型的存储空间长度的顺序为()

 A . char < int < long int <=float < double 
 B . char = int < long int<=float <double

C . char < int < long int = float =double
 D . char = int = long  int <= float < double 

2.已知学生记录描述为

 struct student

{int no;
 char name [20];
 char sex;
 struct 
{ int year ; 

int montg;

int day;} birth;

}; struct  student  s;
设变量 s 中的"生日"应是"1984年11月 ,下列对"生日"的正确赋值方式是


 A .
 year= 1984;
 month =ll ;

day=11;

B.
 birth . year =1984:
 birth . month =11;
 birth . day =11;

D.
 s . birth . year =1984;
 s . birth . month =I1;
 s . birth . day =1l;

C.
 s . year =1984;
 S . month = Il ;
 s . day = ll ;


3.当定义一个结构体变量时系统分配给它的内存是(
 A .各成员所需内存量的总和
 b .结构中第一个成员所需内存量
 C .成员中占内存量最大者所需的容量
 d .结构中最后一个成员所需内存量


4.在一个源文件中定义的全局变量的作用域为()。

 A .本文件的全部范围 

C .本函数的全部范围
 B .从定义该变量开始至本文件结束
 D .本程序的全部范围

5.程序段
 int x =-1;
 do 
{ x = x * x ;
}(! x );
 A .是死循环 B .循环执行2次 C .循环执行1次 D .不合法

6.如果 int * px ,* py :则可用( temp =* px :* px =* py :* py - temp )实现* px 和* py 
的交换。其中 temp 应该说明为()。
 A . int temp 
 B . int & temp 
 C . int ** temp 
 D . int * temp

答案:ADA BDA

5.少了while

7.当执行下面的程序时,如果输入 ABC ,则输出是

# include < stdio . h >
# include < string . h >

main {
 char ss [10]="12345";
 gets ( ss );
 strcalt( ss ,"6789"):
 printt ("% s ", ss );
}

答案:ABC6789    ABC覆盖了ss原有的

8.下面的函数 index ( char s [], char t [])是检查字符串 s 中是否包含字符串 t ,若包含,则返回 t 在 s 中的开始位置(下标值),否则返回﹣1。请填空。

# include < stdio . h >
 index ( char s []. char t [])
 int i , j . k ;
 for ( i =0; s [ i ]!=\0'; i ++)
 for ( j = i , k =0; ————————&& s [ j ]=t[ k ]; j ++,——————);

if(___________)
 return i;

}

return -1;

}
 

答案:1.t[k]!='\0'     2.k++      3.t[k]=='\0'

9.  Π/4≈1-1/3+1/5-1/7+…公式求的近做值。直到某一项的绝对值小于1e-6为止

# inolude < stdio . h >
# include < math . h >
 void main()
{ int s ;  //正负号
 float n ,t , pi ;  //pi为和,t为项数,n为分母
 t =1, pi =0; n =1.0; s =1;
 while ( fabs ( t )>1e-6)
 {pi = pi + t ;
 n = n +2;
 s =- S ;
 t = s / n ;
}
 pi = pi *4;
 printf (" pi =%10.6f\ n ", pi );

10.写一个函数,使给定的一个4*4二维矩阵转置,即行列互换,要求在主函数里完成键盘输入和转置后的打印输出


# include < stdio . h >
 void zz ( int  a [4][4])
{
 int t , i , j ;
 for ( i =0;i <4;i++)
for ( j =0;j<i;j++)
 t = a [ i ][ j];
a[i][j]=a[j][i];
a[j][i]=t;
}}


void main()
{
int b[4][4],i,j;
for(i=0;i<4;i++)
{
for (j=0; j<4; j++)
{
scanf("d", &b[i][j]) ;
printf("%3d",b[i][j]);
}
printf("\n");
zz(b)
for(i=0;i<4;i++) 
{
for (j=0;j<4;j++)
{
printf("%d\t", b[i][j]);
printf("\n");
}}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值