夯实c基础

夯实c基础

区别:

图一的交换,(交换的是地址而不是两数)无法实现两数的交换。

夯实c基础_第1张图片

题干 以下程序的输出结果为( c  )。
void  fun(int  a,  int  b,  int  c){
        c=a*b;
}
void  main(  ){
        int  c=6;
        fun(3,5,c);
        printf(”%d\n”,c);
}
  A.3   B.5   C.6   D.15
题干 以下程序运行输出的数值结果为( c  )。
void  main(){
        char  ch[7]="12ab56";
        int  i=0,s=0;
        while(c[i]!=‘\0’){
                if(ch[i]>=‘0’&&ch[i]<=‘9’)
                        s=10*s+ch[i]-‘0’;
                i++;
        }
        printf("%d\n",s);
}
  A.12   B.56   C.1256   D.68
题干 以下程序运行输出的数值结果为( a  )。
void  main(){
        char  ch[7]="12ab56";
        int  i,s=0;
        for(i=0;ch[i]>=‘0’&&ch[i]<=‘9’;i++)
                s=10*s+ch[i]-‘0’;
        printf("%d\n",s);
}
  A.12   B.56   C.1256   D.68
题干 以下函数不能正确调用执行的是(  b )。 
A.double  fun(int  n){    return  1.0/(n*n);    }
void  main(){
        printf("%f",fun(2));
}
B.void  main(){
        printf("%f",fun(2));
}
double  fun(int  n){    return  1.0/(n*n);    }
C.void  main(){
        double  fun(int);
        printf("%f",fun(2));
}
double  fun(int  n){    return  1.0/(n*n);    }
D.double  fun(int);
void  main(){
        printf("%f",fun(2));
}
double  fun(int  n){    return  1.0/(n*n);    }
题干 以下程序的输出结果为。c
void  main()
{
        int  x=3;
        if(x>=3)
        {
                int  y=1;
                y=x*x;
        }
        printf("%d",y);
}
  A.9   B.1   C.出错,不能运行   D.8
题干 以下程序运行显示( b  )。
int  a;
void  main()
{
        printf("%d\n",a);
}
  A.-858993460   B.0   C.随机值   D.出错
题干 以下程序运行输出的各行数值结果分别为。
void  fun(int  *p1,int  *p2)
{
        int  *t;
        t=p1;       
        p1=p2;
        p2=t;
}
void  main(    )
{
        int  a=6,b=9;
        fun(&a,&b);
        printf("%d\n",a);//(  a )
        printf("%d\n",b);//(  d )
}
  A.6   B.7   C.8   D.9
题干 以下程序的输出结果为( b  )。
void  main()
{
        int  a=1,b=3,c=5;
        int  *p1=&a,*p2=&b,*p=&c;
        *p=(*p1)*(*p2):
        printf("%d",c);
}
  A.2   B.3   C.4   D.5
题干 以下程序运行各行输出的数值结果分别为。   
int  a=2;
void  fun1(int  x)
{
        a+=x;
}
void  fun2(int  x)
{
        a*=x;
}
void  main()
{
        a/=2;
        fun1(2);fun2(3);
        printf("%d\n",a);//( b  )
        a/=2;
        fun1(2);fun2(3);
        printf("%d\n",a);//(  c )
}
  A.3   B.9   C.18   D.27
题干 以下程序段完全正确的是( c  )。
  A.int  *p;scanf("%d",&p);
  B.int  *p;scanf("%d",p);
  C.int  k,*p=&k;scanf("%d",p);
  D.int  k,*p;*p=&k;scanf("%d",p);
题干 以下程序的输出结果为:( c  )。
int  func(int  n){
        if(n==1)
                return  1;
        else
                return(n*func(n-1));
}
void  main(){
        int  x;
        x=func(5);
        printf("%d",x);
}
  A.5   B.24   C.120   D.720
题干 若有定义语句:double  x,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是(  a )。
  A.scanf("%lf%lf",px,py);
  B.scanf("%f%f",&x,&y);
  C.scanf("%f%f",x,y);
  D.scanf("%lf%lf",&px,&py);
题干 以下程序的输出结果为:(  d )。
int  f(int  x){
        if(x==0||x==1) 
                return  3;
        else 
                return  x*x-f(x-2);
}
void  main(){
        printf("%d\n",f(4));
}
  A.12   B.13   C.14   D.15
题干 以下程序运行的输出结果为( d  )。
int  a=10,b=24;
void  main()
{
        int  a=13,c=5,y;
        y=a+b-c;
        printf("%d",y);   
}
  A.29   B.30   C.31   D.32
题干 以下语句,能正确执行的是(  a )。
  A.int  a,*p=&a;
  B.int  *p;*p=6;
  C.int  *p;p=6;
  D.int  *p;scanf("%d",p);
思考不能正确执行是因为啥?
题干 C语言中,定义局部变量时,若不特殊指定(如int  a;),其前隐含有关键字( d  );若想定义的局部变量,在函数结束时不消失保留原值,需要使用关键字(  c ),并且该种类型变量若不初始化化,其默认的初始值为( b  );若想定义的局部变量不在内存,而是在寄存器中,需要使用关键字(  a )。
  A.register   B.0   C.static   D.auto
题干 以下程序的输出结果为(  a )。
void  fun(int  a,int  b){
        int  t;
        t=a;a=b;b=t;
}
void  main(){
        int  c[5]={1,2,3,4,5},i;
        for(i=0;4>i;i++)
                fun(c[i],c[i+1]); 
        for(i=0;5>i;i++)
                printf("%d",c[i]); 
}
  A.12345   B.54321   C.23451   D.51234
题干 若有定义语句:double  a,*p=&a;以下叙述中错误的是( d  )。
  A.定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p
  B.定义语句中的*号既是一个指针说明符,表示p为指针变量;也是一个指针运算符,表示取p指向的位置
  C.定义语句中的p只能存放double类型变量的地址
  D.定义语句中,*p=&a把变量a的地址作为初值赋给*p
题干 以下程序各行的输出数值结果为。
void  fun(int  *p1,int  *p2)
{
        int  t;
        t=*p1;   
        *p1=*p2;
        *p2=t;
}
void  main(  )
{
        int  a=6,b=9;
        int  *p1,*p2;
        p1=&a; 
        p2=&b;
        fun(p1,p2);
        printf("%d\n",a);//( d  )
        printf("%d\n",b);//( a  )
}
  A.6   B.7   C.8   D.9
题干 以下选项和其它项不同的是( b  )。
  A.0  B.‘0’  C.NULL  D.‘\0’
题干 以下程序的运行结果为:( c  )。
void    main(){
        char  a[80]="aaa",b[80]="bbbb",c[80]="cc",t[80];
        if(strcmp(a,b)<0){
                strcpy(t,a);strcpy(a,b);strcpy(b,t);
        }
        if(strcmp(a,c)<0){
                strcpy(t,a);strcpy(a,c);strcpy(c,t);
        }
        if(strcmp(b,c)<0){
                strcpy(t,b);strcpy(b,c);strcpy(c,t);
        }
        printf("%s  %s  %s\n",a,b,c);
}
  A.aaa  bbbb  cc   B.bbbb  aaa  cc
  C.cc  bbbb  aaa   D.cc  aaa  bbbb
题干 为了判断两个字符串s1和s2是否相等,应当使用( d  )。
  A.if(s1==s2)
  B.if(s1=s2)
  C.if(strcpy(s1,s2))
  D.if(strcmp(s1,s2)==0)
题干 一个源文件中,外部变量和局部变量同名,则在二者共同作用范围内,( b  )。
  A.外部变量起作用,内部变量不起作用 
  B.内部变量起作用,外部变量不起作用
  C.二者同时起作用
  D.二者同时不起作用
题干 对以下函数的声明语句错误的是( a  )。
int  fun(int  x,int  y){
        returnx-y;
}
   A.int  fun(int  x,y);
   B.int  fun(int,int);
   C.int  fun(int  a,int  b);
   D.int  fun(int  x,int  y);
题干 以下程序输出的结果为。
void  main()
{
  printf("%d",sizeof(int));//( c  )
  printf("%d",sizeof(char));//( a  )
  printf("%d",sizeof(double));//(  d )
  printf("%d",sizeof(float));//( c  )
}
  A.1   B.2   C.4   D.8
题干 设a=3,b=4,表达式a>b?a:b的值是( d  )。
  A.1            B.2            C.3            D.4
题干 为实现字符串/字符数组s2整体赋值到s1,应当使用( b  )。
  A.s1=s2
  B.strcpy(s1,s2)
  C.strcat(s1,s2)
  D.strcmp(s1,s2)
题干 以下程序程的输出结果为( a  )。
#include  "stdio.h"
void  main()
{
        int  m=1,n=2,*p=&m,*q=&n,*r;
        r=p;p=q;q=r;
        printf("%d%d%d%d",m,n,*p,*q);
}
  A.1221   B.2112   C.1122   D.2211
题干 以下程序运行输出的四个数值结果分别为(  c )、(  b )、(  a )、(  d )。   
int  fun(int  n)
{
        static  int  a=1;
        a=a*n;
        return  a;
}
void  main()
{
        int  i;
        for(i=1;i<=4;i++)
                printf("%d\n",fun(i));
}
  A.6   B.2   C.1   D.24
题干 有以下程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是(  a )。
#include  "stdio.h"
void  main()
{
        int  n,*p=NULL;
        *p=&n;
        printf("Input  n:");scanf("%d",&p);
        printf("Output  n:");printf("%d\n",p);
}
  A.int  n,*p=NULL;
  B.*p=&n;
  C.printf("Input  n:");scanf("%d",&p);
  D.printf("Output  n:");printf("%d\n",p);
题干 以下关于地址和指针的叙述中正确的是( a  )。
  A.可以取变量的地址赋值给同类型的指针变量
  B.可以取常量的地址赋值给同类型的指针变量
  C.可以取一个指针变量的地址赋给本指针变量,这样就使得指针变量指向自身
  D.所有指针变量如果未赋初值,则自动赋空值NULL
题干 以下程序运行输出的各行数值结果为。
int  fun(int  g){
        if(g==1||g==2)
                return  1;
        else
                return  (fun(g-1)+fun(g-2));
}
void  main(){
        printf("%d\n",fun(4));//( b  )
}
  A.8   B.3   C.2   D.89
题干 以下程序的运行结果为(  c )。
void  fun(char  *c,char  d)
{
        *c=*c+1;
        d=d+1;
}
void  main()
{
        char  b=‘a’,a=‘A’;
        fun(&b,a):
        printf("%c%c",b,a);
}
  A.ba   B.BA   C.bA   D.Ba
题干 以下全局变量定义,不能正确访问的是( b  )。
A.
int  y=6;
void  main()
{
        printf("%d",y);
}
B.
void  main()
{
        printf("%d",y);
}
int  y=6;
C.
extern  y;
void  main()
{
        printf("%d",y);
}
int  y=6;
D.
void  main()
{
        extern  y;
        printf("%d",y);
}
int  y=6;
题干 以下程序的输出数值结果为。
void  fun(int  x,int  *y)
{
        x=x+2;
        *y=*y+2;
}
void  main()
{
        int  a=6,b=6;
        fun(a,&b);
        printf("%d\n",a);//( a  )
        printf("%d\n",b);//( b  )
}
  A.6   B.8   C.10   D.12
题干 以下程序的输出结果为(  c )。
void  fun(int  a,int  b,int  c){
        a=b;b=c;c=a;
}
void  main(){
        int  a=1,b=2,c=3;
        fun(a,b,c);
        printf("%d%d%d",a,b,c);
}
  A.231   B.321   C.123   D.312
题干 以下程序的运行结果为:( b  )。
void    main(){
        char  a[80]="aaa",b[80]="bbbb",c[80]="cc",t[80];
        if(strlen(b)>strlen(a)){
                strcpy(t,a);strcpy(a,b);strcpy(b,t);
        }
        if(strlen(c)>strlen(a)){
                strcpy(t,a);strcpy(a,c);strcpy(c,t);
        }
        if(strlen(c)>strlen(b)){
                strcpy(t,b);strcpy(b,c);strcpy(c,t);
        }
        printf("%s  %s  %s\n",a,b,c);
}
  A.aaa  bbbb  cc   B.bbbb  aaa  cc
  C.cc  bbbb  aaa   D.cc  aaa  bbbb

你可能感兴趣的:(c语言,java,服务器)