一、 冒泡排序代码c语言选择题(每小题2分,共30分)
1.在程序中可以用来作为变量名的合法的标识符是:________
Aint          Bstu_1t            C2a1          D#55
2以下叙述正确的是     
A、在C程序中main函数必须位于程序的最前面
B、一个C程序只能有一个函数
C、一个C程序有并且只能有一个main函数
D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误
3.已知:char str1, str2[10]; 选择正确的输入语句 ________
Ascanf ("%s%c", &str1,str2);            Bscanf ("%s%s", &str1,str2);
Cscanf ("%c%c", &str1,str2);            Dscanf ("%c%s", &str1,str2);
4判断char型变量CH是否为小写字母的正确表达式       
A’a’<=CH<=’z’                B(CH>=’a’)&(CH<=’z’)
C(CH>=’a’)&&(CH<=’z’)        D(‘a’<=CH)AND(‘z’>=CH)
5.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值分别是         
if(x>y)
z=x;
x=y;
y=z;
Ax=10y=20z=30                Bx=20y=30z=30
Cx=20y=30z=10                Dx=20y=30z=20
6.设有程序段
int  k = 10 ;
while ( k = 0 )  k = k - 1 ;    以下描述正确的是         
A、循环体语句一次也不执行。        B、循环是无限循环。
Cwhile 循环语句执行十次。        D、循环体语句执行一次。
7.以下程序段中与语句k=a>b?1:0;功能等价的是           
Aif (a>b) k=1;                 Bif (a>b) k=0;
Ck=0; if (a>b) k=1;            Dk=1; if(a>b) k=0;
8.    如果int a=5,b=8a>b?a+b):(b-a)的值为( d
A5            B8    C13            D3
9. 已知 int b; 则对指针变量正确的说明和初始化是:______
Aint *pb=b;                             Bint pb=&b;
Cint *pb=&b;                             Dint pb=b;
10C语言中whiledo_while循环的主要区别是         
A、 do_while的循环至少无条件执行一次
B、 while的循环控制条件比do_while的控制条件严格
C、 do_while允许从外部转到循环体内
D、 do_while的循环体不能是复合语句
11.下列各语句定义了数组,其中哪一个是不正确的 )
Achar a[2][10]={"China","Asia"};      Bint x[2][2]={1,2,3,4};
Cfloat x[2][]={1,2,4,6,8,10};          Dint m[][3]={1,2,3,4,5,6};
12对于以下程序段,运行后i的值为
          int i=0,a=2;
          switch(a) {
              case  1: i+=1; break;
              case  2: i+=2;
              case  3: i+=3;
          }
A2              B3              C5              D6
13.    以下对一维整型数组a的正确说明是               
Aint  a (10)                    Bint  n = 10; a[n ];
Cint  n;                            D#  define  SIZE  10
  scanf ("%d", &n);                  int  a [SIZE];
  int  a [n];
14.自定义函数中形式参数的作用域是         
A、本文件        B、本函数
Cmain 函数                                D、整个程序
15.下面函数定义正确的是__________
Adouble fun(double u,v)            Bdouble fun(double udouble v)         
  {return u+v;}                        {return u+v;}
Cdouble fun(float ufloat v)      Ddouble fun( uv)
  {return u+v;}                        { float uv return u+v;}
二、填空题(每空2分,20)
1.    一个源程序文件由一个或多个函数组成,C程序的执行从__________函数开始。
2.  int i=5, j, k; j=i--; k=i; k的值为__________
3. 若有代数式x2÷(3x-5y), 则正确的C语言表达式为: ____________________
4. ab均为double型常量,且a=5.5b=2,则表达式(int)(a+b)/b的值是       
5.字符串 "Hello" 占用内存_________字节。
6.若已定义 int a[]={5,6,7,8},*p=a;  *(p+3)handy的值是           
7a=3,b=4,c=5,则逻辑表达式a+b>c&&b==c的值是___________a||b+c&&b-c的值是___________
8判断整型变量a为奇数的逻辑表达式为             
三、阅读程序题(每小题3分,共15分)
1.写出以下程序的运行结果。
#include<stdio.h>
main()
{ int i=1;
while(i<=12)
{ if ((i%3)) printf("%d,",i);
i++;
}
}
2.写出以下程序的运行结果。
widget开发
#include<stdio.h>
main( )
{ int x=25, y=15;
if( x>y) swap(&x, &y);
printf("%d", x);
}
swap(int *p1, int *p2)
{ int  temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
3.写出以下程序的运行结果。
#include<stdio.h>
main( )
{  int  a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=0;i<3;i++)
for(j=0;j<=i;j++)  s+=a[i][j]
printf(“%d\n”,s);
}
4.写出以下程序的运行结果。
#include<stdio.h>
main()
{  char a[]=“fprogram”,b[]=”fortran”;
    char *p,*q;
  p=a;
q=b;
while(*p!=’\0’&&*q!=’\0’)
{  if(*p==*q)
          printf(“%c ”,*q);
p++;
q++;
}
}
四、程序填空题(每空2分,共10分)
1.以下函数返回a所指数组中最小的值所在的下标值,请填空。
fun(int  *a,  int  n)
{  int i,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]<a[p])__________;  /*第一空*/
return(p);
}
2.以下程序让用户输入一个整数n,n!的值,请填空。
#include<stdio.h>
void main()
{   
    int n,s,i;
    s=______; /*第一空*/
    printf("please input n:");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        ________________;  /*第二空*/
    }
    printf("n!=%d",s);
distinct接什么}
3.以下程序将s2字符串连接到s1后,请填空。
#include<stdio.h>
void main()
{
    char s1[30],s2[10];
    int i=0,j=0;
    printf("\nplease input s1:");
    scanf("%s",s1);
    printf("\nplease input s2:");
简述android的优势    scanf("%s",s2);
    while(s1[i]!='\0')
    {   
        i++;
    }
    while(s2[j]!='\0')
    {
        ________________;  /*第一空*/
        i++;
        j++;
    }
    ________________;  /*第二空*/
    printf("\ns1:%s",s1);
}
五、编程题
1. 输入三个整数,输出其中最大的数。
2. 3*3矩阵的主对角线元素之和。
3. 编程计算下列表达式:s=1+2+3+4+……+10
4. 将数组ann=10)个整数按相反顺序存放,将a[0]a[n-1]对换,……将a[4]文字转乱码转换器与a[5]对换。
5. 写一个fun函数用于一个判断整数是否为素数的函数,并使用该函数求1000以内的素数。
6. 编写函数,用冒泡排序对输入的10个字符按照由小到大的顺序排列。
7. 输入3个数abc,要求按由小到大的顺序输出。
8. 用嵌套循环输出以下图形
*
**
***
****
*****

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。