资源描述
C语言练习题一
一、单项选择题
1.以下不是C语言特点的是( B )。
A)C语言简洁、紧凑 B) 能够编制出功能复杂的程序
C)C语言可以直接对硬件进行操作 D) C语言移植性好
2.以下不正确的C语言标识符是( D )。
A)ABC B)abc C)a_bc D)ab.c
3.以下正确的C语言标识符是( C )。
A)%x B)a + b C)a123 D)test!
4.一个C程序的执行是从( A )。
A)main()函数开始,直到main()函数结束
B)第一个函数开始,直到最后一个函数结束
C)第一个语句开始,直到最后一个语句结束
D)main()函数开始,直到最后一个函数结束
5.在C程序中,main()的位置( C )。
A)必须作为第一个函数 B)必须作为最后一个函数
C)可以任意 D)必须放在它所调用的函数之后
6.一个C程序是由( B )。
A)一个主程序和若干个子程序组成 B)一个或多个函数组成
C)若干过程组成 D)若干子程序组成
7 .C语言源程序的基本单位是( B )。
A)过程 B)函数 C)子程序 D)标识符
8.设 int n = 3;则 ++n 的结果是( C ),n 结果是( C )。
A.2 B.3 C.4 D.5
9.设int n = 3;则 n++ 的结果是( C ),n 结果是( C )。
A.2 B.3 C.4 D.5
10.设int a=2,b=2,则++a+b的结果是(D ),a的结果是(B ),b的结果是(A )。
A.2 B.3 C.4 D.5
11.设 int m = l , n = 2,则 m ++ == n 的结果是( A )。
A.0 B.1 C.2 D.3
12.设 a = 2 , b;则执行 b = a == !a;语句后,b 的结果是( A )。
A.0 B.1 C.2 D.3
13.设有以下语句,则 c 的二进制值是( A )。
char a =3, b =6, c;
c = a ^ b << 2;
A.00011011 B.00010100 C.00011100 D.00011000
14.sizeof (double) 是一个( A )表达式。
A.整型 B.双精度 C.不合法 D.函数调用
15.编辑程序是( A )。
A.建立并修改程序 B.将C 源程序编译成目标程序
C.调试程序 D.命令计算机执行指定的操作
16.C 编译程序是( C )。
A.C程序的机器语言版本 B.一组机器语言指令
C.将C源程序编译成目标程序的程序 D.由制造厂家提供的一套应用软件
17.设有整型变量a,实型变量f,双精度型变量x,则表达式10+'b'+x*f的值的类型为( C ) 。
A.int B.float C.double D.不能确定
18.若有int k=5; flaot x=1.2; 则表达式(int)(x+k)的值是( D )。
A.5 B.6.2 C.7 D.6
19.下面对变量赋初值正确的是( C )。
A.int a=b=c=1; B.int a=1,b=c=2; C.int a=1,b=1,c=1; D.int a=b=1,c=2;
20.设有以下语句:int a=3,b=6,c; c=a^b<<2; 则c的二进制值是( A ) 。
A.00011011 B. 00010100 C.00011100 D.00011000
21.当a=3,b=2,c=1时, 表达式f=a>b>c执行完后f的值是( B )。
A.1 B.0 C.3 D.2
22.以下结果为整数的表达式(设有 int i ; char c ; float f ;)( B )。
A.i + f B.i * c C.c + f D.i + c + f
23.以下不正确的语句(设有int p, q)是( D )。
A.p*=3; B.p/=q; C.p+=3; D.p&&=q;
24.以下使 i 的运算结果为 4 表达式是( D )。
A.int i=0,J=0;
B.int i=1,j=0; j=i=((i=3)*2);
C.int i=0,j=1;(j==1)?(i=1):(i=3);
D.int i=1,j=1;i += j+= 2;
25.设char ch;以下正确的赋值语句是( C )。
A.ch = '123'; B.ch = '\xff'; C.ch ='\08'; D.ch="\";
26.设n = 10,i = 4,则值运算 n %= i +1执行后,n 的值是( A )。
A.0 B.3 C.2 D.1
27.逗号表达式 (a = 3 * 5,a * 4),a+15 的值为( C ),a 的值为( C )。
(1) A.15 B.60 C.30 D.不正确
(2) A.60 B.30 C.15 D.90
28.如果 a = 1,b = 2,c = 3,d = 4,则条件表达式 a<b ? a : c<d ? c : d的值为( A )。
A.1 B.2 C.3 D.4
29.能正确定义整型变量a和b,并为他们赋初值5的语句是( D )。
A. a=b=5 B.int a,b=5; C.int a=b=5; D.int a=5,b=5;
30.以下程序段的输出结果是( A )。
int u=020,v=0x20,w=20;
printf("%d%d%d",u,v,w);
A.16,32,20 B.20,20,20 C.16,16,20 D.32,16,20
31.以下程序段的输出结果是( C )。
char c1='a',c2='c';
printf("%d%c",c2-c1,c2-'a'+'c');
A.2,m B. 3,E
C.2e D.格式控制与输出项不一致。结果不确定。
32.下列程序的执行结果是( B )。
main()
{ int a=100,b;
b=a++>100?a+100:a+200;
printf("%d%d",a,b);
}
A. 101 201 B.101 301
C. 100 200 D.100 300
33.下列程序的输出结果是( B )。
main()
{int a,b,c=241;
a=c/100%9;
b=1&&-1;
printf("a=%d,b=%d",a,b);
}
A. 2,0 B.2,1
C.6,1 D.0,1
34.执行下面程序语句后,a的值是( C )。
main()
{
int a=5;
printf("%d\n",(a=3*5,a*4,a+5));
}
A.65 B.20
C.15 D.10
35.执行下列程序片断时输出的结果是( C )。
int x=10;
x+=3+x%(-3);
printf("%d",x);
A.11; B.12
C.14 D.15
36.设有定义语句int x;float y;当执行scanf(“%3d%f”,&x,&y);语句时,从第一列输入数据12345ㄩ678↙, (ㄩ表示空格,↙表示回车),则y的值是( D )。
A.123.0 B.678.0 C.45.678 D.45.0
37.下面程序的输出结果是( C )。
main()
{
double d; float f; long m; int I;
I=f=m=d=20/3;
printf("%d%ld%.lf%.lf\n",I,m,f,d);
}
A.6 6 6.000000 6.000000 B.6 6 6.7 6.000000
C.6 6 6.0 6.7 D.6 6 6.7 6.7
38.已知字母A的ASCII值为十进制数65,下面程序的输出是( D )。
main()
{char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d%c\n",ch1,ch2);
}
A. 67,D B. 67,C C. B,C D. C,D
二、填空题
1.一个C程序有且仅有一个 main() 函数。
2.C语言程序的执行是从 main() 开始执行的。
3.C语言源程序的语句分隔符是 ; 。
4.设已说明int i=65,j=66;char ch1=’A’,ch2=’B’;
则执行下列语句组的输出结果为: 65, 66, A, BA,B,65,66
printf(“%d,%d,%c,%c”,i,j,ch1,ch2);
printf(“%c,%c,%d,%d”,i,j,ch1,ch2);
5.设有语句scanf(“%c%c%c”,&c1,&c2,&c3);,若c1,c2,c3的值分别为a,b,c,则正确的输入方法为 abc 。
6 .执行下列语句后,a的值是 -264 。
int a = 12:a += a -= a * a;
7.执行下列语句后,z的值是 7 。
int x = 4, y = 25, z = 2;
z = (--y / ++ x ) * z--;
8.执行下列语句后,a,b,c 的值分别是 8 、 8 、 10 。
int x = 10,y = 9;
int a,b,c;
a = (--x == y++) ? --x:++y;b = x++;c = y;
9.以下程序的执行结果是 1 。
#include<stdio.h>
void main()
{ float f=13.8;
int n;
n=((int)f)%3;
printf("n=%d\n",n);
}
10.以下程序的执行结果是 x=3,a=2,b=3 。
#include<stdio.h>
void main()
{ int a,b,x;
x=(a=3,b=a--);
printf("x=%d,a=%d,b=%d\n",x,a,b);
}
11.如下程序的执行结果是 1 1 1 。
#include<stdio.h>
void main()
{
int n=l;
printf("%d %d %d\n", n, ++n, n--);
}
12.表达式10/3的结果是 3 ,表达式10%3的结果是 1 。
13.定义 int x,y,执行y=(x=l,++x,x+2); 语句后,y 的值是 4 。
14.设int x=9,y=8;表达式x = =y+1的结果是 1 。
15.设int a=l,b=2,c=3,d:执行d = ! (a+b+c) 后,d 的结果是 0 。
16.设int x;当x值分别为1、2、3、4时,表达式 (x&1= =1) ?1:0的值分别是 1 , 0 , 1 , 0 。
17.若定义float x=1.23444355;则”printf(“%f\n”,x);”的输出结果为 1.234444 。
18.标准C的所有输入输出函数都包含在头文件 "stdio.h" 中。
5
展开阅读全文