公告:本站提供编程开发方面的技术交流与分享,打造最佳教程网,希望能为您排忧解难!

C语言教程C语言试题库: 试卷二

C语言试题库: 试卷二

更新时间:2013-03-16 22:50:12 |

试卷二

一、选择题
1 C语言中最简单的数据类型包括
    A)整型、实型、逻辑型    B)整型、实型、字符型
    C)整型、字符型、逻辑型  D)整型、实型、逻辑型、字符型
2 C语言中,运乍对象必须是整型数的运算符是
   A) %  B) 、C) %和、D) **
3 为表示关系x≥y≥z,应使用C语言表达式
   A)(x)=y)&&(y)=z)B(x)=y)AND(y)=z)
   C)(x)=y)=z)D)(x)=y)&(y)=z)
4下述对C语言字符数组的描术中错误的是
    A)字符数组可以存放字符串
    B)字符数组中的字符串可以整体输入、输出
    C)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
    D)不可以用关系运算符对字符数组中的字符串进行比较
5 设有如下定义:
    int x=10,y=3,z;
    则语句
    printf("%d、n",z=(x%y,x/y));
    的输出结果是
    A)1 B)0
    C)4 D)3
6 以下程序的输出结果是
    main()
    {int x=10,y=10;
    printf("%d %d、n",x--,--y);
    }
    A)10 10 B)9 9
    C)9 10 D)10 9
7 以下说法中正确的是
    A)C语言程序总是从第一个的函数开始执行
    B)在C语言程序中,要调用的函数必须在main()函数中定义
    C)C语言程序总是从main()函数开始执行
    D)C语言程序中的main()函数必须放在程序的开始部分
8 执行下面的程序后,a的值为
    main()
    {int a,b;
    for (a=1,b=1;a<=100;a)
    {if(b)=20}break;
    if(b%3==1)
    {b=3;
    continue;
    }b--=5;
    }
    }
    A}7 B}8     C)9 D)10
9 以下程序段的输出结果是
    int x=3;
    do
    {printf("%3d",x--=2);}
    while(!(--x));
    A)1 B)3 0   C)1--2 D)死循环
10 定义如下变量:
    int n=10;
    则下列循环的输出结果是
    while(n>7)
    {n--;
    printf("%d、n",n);
    }
    A)10   B)9  C)10  D)9
       9     8     9    8
       8     7     8    7
       7     6
11 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是
    main()
    {int x;
    scanf("%d",&x);
    if(x>)5}printf("%d",x);
    else printf("%d、n",x --);
    }
    A)7和5 B)6和3 C)7和4 D)6和4
12 执行以下程序后,y的值是
    main ()
    {int a[]={2,4,6,8,10};
    int y=1,x,*p;
    p=&a[1];
    for(x=0;x<3;x)
    y =*(p+x);
    printf("%d\n",y);
}
    A)17 B)18 C)19 D)20
 13 下列程序执行后输出的结果是:
    int d=1;
    fun (int q)
    {int d=5;
    d =p ;
    printf("%d",d);
    }
    main()
    {int a=3;
    fun(a);
    d =a ;
    printf("%d\n",d);
    }
    A)8 4 B)9 6 C)9 4 D)8 5
14 C语言提供的合法的数据类型关键字是
    A)Double B)short C)integer D)Char
15 在C语言中,合法的长整型常数是
    A)0L B)4962710 C)0.054838743 D)2.1869e10
16 表达式:10!=9的值是
    A)true B)非零值C)0 D)1
17 若有说明和语句:
    int a=5;
    a;
    此处表达式a的值是
    A)A)7 B)6 C)5 D)4
18 在下列选项中,不正确的赋值语句是
    A)t;B)n1=(n2=(n3=0));
    C)k=i==j;D)a=bc=1;
19 若有说明:int i,j=7,*p=&i;,则与i=j;等价的语句是
    A)I=*P;B)*P=*&J;C)i=&j;D)i=**p;
20 不能把字符串:Hello!赋给数组b的语句是
    A)char b[10]={'H','e','l','l','o','!'};
    B)char b[10];b="Hello!";
    C)char b[10];strcpy(b,"Hello!");
    D)char b[10]="Hello!"
21 以下程序的输出结果是
    A)6 B)6789 C)'6'D)789
    main()
    {char a[10]="6789",*p;
       p=a;
    printf("%s\n",p);
22  以下程序的输出结果是
    A}2 0 B}3 1 C}3 2 1 0 D}2 1 0
    main()
    {int n=4;
    while(n>0)  { n--; printf("%d ",n); }
    }
   
23 以下程序运行后,输出结果是
    A)84 B)99 C)95 D)44
    int d=1l
    fun (int p)
    {int d=5;
    d=p;
    printf("%d",d);
    }
    main()
    {itn a=3;
    fun(a);
    d=a;
    printf("%d、n",d);
    }
24 在下列选项中,没有构成死循环的程序估是
    A)  int i =100;
    whine(1)
    {i=i%3;
    if (i>100)break;
    }
   B)  for (;;);
   C)  int k=1000;
    do {k;} while(k>1000);
   D)  int s=36;
    while (s);--s;
25 阅读以下程序:
main()
{
int x;
scanf("%d",&x);
if(x--<5) printf("%d"'x);
else printf("%d"'x++);
}
程序运行后,如果从键盘上输人5,则输出结果是
A)3 B) 4 C) 5 D) 6
26 以下程序的输出结果是
main()
{
int num= 0;
while(num<=2)
{ num++; printf("%d\n",num);
}
A} 1 B} 1 C}1 D} l
   2   2   2
   3   3
   4
27 以下程序的输出结果是
main()
{
char c='z';
printf("%c",c-25);
}
A) a B) Z C) z-25 D) y
28  以下选项中,非法的字符常量是
A) '\t' B) '\17' C)"n" D) '\xaa'
29 若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是
A) i=*p; B) p*=*&j; C) i=&j; D) i=**p;
30 以下定义语句中,错误的是
A) int a[]={1,2}; B) char *a[3];
C) char s[10]="test"; D) int n=5,a[n];
31 以下程序的输出结果是
main()
{ int i, a[10];
for(i=9;i>=0;i--) a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
}
A) 258 B) 741 C) 852 D) 369
32  以下数组定义中不正确的是
A) int a[2][3];
B) int b[][3]={0,1,2,3};
C) int c[100][100]={0};
D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
33  以下程序的输出结果是
main()
{
int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0];
)
A} 0650 B} 1470 C} 5430 D} 输出值不定
34以下选项中,不能正确赋值的是
A) char s1[10];s1="Ctest";
B) char s2[]={'C', 't', 'e', 's', 't'};
C) char s3[20]="Ctest";
D) char *s4="Ctest\n"

35  以下程序的输出结果是
main()
{
int a, b;
for(a=1, b=1; a<=100; a++)
{ if(b>=10) break;
if (b%3= =1)
{ b+=3; continue; }
}
printf("%d\n",a);
}
A) 101 B) 6 C) 5 D) 4
36  有以下程序段
int k=0
while(k=1) k++;
while 循环执行的次数是
A) 无限次 B) 有语法错,不能执行
C) 一次也不执行 D) 执行1次
37  以下程序执行后sum的值是
A)10 B)6 C) 不确定 D)0
min()
{
int i , sum;
for(i=1;i<4;i++) sum+=i;
printf("%d\n",sum);
}
38  以下程序的输出结果是
A) 1,5,9 B) 1,4,7 C) 3,5,7 D)3,6,9
main()
{
int i, x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++) printf("%d,",x[i][2-i]);
}
39  以下程序的输出结果是
A) 18 B) 19 C) 20 D)21
main()
{
int a[3][2]={ {1,2},{3,4},{5,6} },i,j,s=0;
for(i=0;i<3;i++)
for(j=0;j<2;j++)s+=a[i][j];
printf("%d\n",s);
}
40 以下程序的输出结果是:
main()
{
int a=1, b=2;
a=a+b; b=a-b; a=a-b;
printf("%d,%d\n", a, b );
}
A)1,2 B)3,1 C)3,2 D)2,1


二、填空题
1 以下程序运行后的输出结果是【1】。
main()
{
int i=10, j=0;
do
{ j=j+i; i-;
while(i>2);
printf("%d\n",j);
}
2 设有以下程序:
main()
{
int n1,n2;
scanf("%d",&n2);
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序运行后,如果从键盘上输入1298;则输出结果为【2】。
3 以下函数的功能是:求x的3次方,请填空。
double fun( double x)
{
int i;
double z;
for(i=1, z=x; i<3;i++) z=z* 【3】;
return z;
}
4 下面的程序是求1+2+…+10的值,请填空:
main()
{
int I,s=0;
for(I=1;I<=10;I++)
【4】;
}
5 下面的程序是求1*2*3*…10,请填空:
main()
{
int I,s=【5】;
【6】
s=s*I;
}
6 下面的程序是求数组a中的最大值,请填空
main()
{int a[5]={23,4,5,2,32},I,max;
max=【7】;
for(I=1;I<=4;I++)
   if(max<a[i]) 【8】;
}
7下面程序的输出结果是【9】:
int abc(int z)
{
return z+10;
}
main()
{
int x=3,y;
y=abc(x);
printf("%d",y);
}
8下面程序的输出结果是【10】:
main()
{
int x=11,*p=x;
*p=23;
printf("%d",x);

}

 

答案
选择题
1 2 3 4 5 6 7 8 9 10
B A A C D D C B C B
A C A B A D C D B B
B C A C B B A C B D
C D A A D A B C D D
填空题
1 52
2 8921
3 x
4 S=s+i
5 1
6 For(I=1;I<=10;I++)
7 A[0]
8 Max=a[i]
9 13
10 23

最佳教程网

最大的技术交流平台 www.goodxyx.com© CopyRight 2011-2013, All Rights Reserved

浙ICP备11033019号