信息学奥赛辅导:C语言复习题(一)
第1~3章  练习题
一、选择题
1、一个C语言程序总是从____
A、主过程开始执行   B、主函数开始执行
C、子程序开始执行   D、主程序开始执行
2、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为_
A、4    B、16   C、32    D、52
3、下面四个选项中,均是C语言关键字的选项是____
A、auto  enum  include    B、switch  typedef  continue
C、signed  union  scanf    D、if  struct  type
4、下面四个选项中,均是合法整型常量的选项是____
A、160  -0xffff  011  B、-0xcdf  01a  0xe
C、-01  986,012  0668  D、-0x48a  2e5  0x
5、下面四个选项中,均是合法浮点数的选项是___
A、+1e+1  5e-9.4  03e2      B、-.60  12e-4  -8e5
C、123e  1.2e-.4  +2e-1      D、-e3  .8e-4  5.e-0
6、下面四个选项中,均是合法转义字符的选项是____
A、'\''  '\\'  '\n'       B、'\'  '\017'  '\"'
C、'\018'  '\f'  'xab'     D、'\\0'  '\101'  'xlf'
7、下面正确的字符常量是____
A、'\X17'  B、'\80'  C、'\\'  D、"\n"
8、下面四个选项中,均是正确的八进制数和十六进制数的选项是____
A、-10  0x8f  -011      B、0abc  -017  0xc
C、010  -0x11  0xf1    D、0a12  -0x123  -0xa
9、下面四个选项中,均是正确的数值常量或字符常量的选项是____
A、0.0  0f  8.9e  '&'      B、"a"  3.9E-2.5  1e1  '\"'
C、'3'  011  0xFF00  0a    D、+001  0xabcd  2e2  50.
10、若有代数式 ,则正确的C语言表达式是____
A、2*ln(x)*cos(x)/3*x      B、2*ln(x)*cos(x)/(3*x)
C、2*log(x)*cos(x)/3*x    D、2*log(x)*cos(x)/(3*x)
11、若有说明语句:char ch1='\065';char ch2="2";char ch3='2';则:ch1中____,ch2中____,ch3中____
A、包含1个字符                  B、包含2个字符
C、包含3个字符                    D、字符个数不确定,说明不正确
12、若有运算符:>、*=、?:、%、sizeof,则将它们按运算的优先级排列的正确次序为(由低至高)____
A、*=→?:→%→>→sizeof    B、?: →*=→>→%→sizeof
C、*=→>→?: →sizeof→%    D、*=→?: →>→%→sizeof
13、若有以下类型说明语句:char a; int b; float c;  double d;
则表达式a*b+d-c的结果类型为____
A、float  B、char  C、int  D、double
14、若有变量说明:int a=0,b=0,c=0;,以下符合C语言语法的赋值表达式是____
A、a=9+b+c=a+9   B、a=9+b;c=a+9;
C、a=(9+b,b++)   D、a=9+b++=a+7printf函数的作用是向终端
15、已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为____
 A、D   B、68   C、一个不确定的值   D、C
16、以下运算符中优先级最高的运算符是____
A、&&  B、++  C、?:  D、!=
17、若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是___
A、2.500000  B、2.7500000    C、3.500000  D、0.000000
18、sizeof(float)是____
A、双精度型表达式 B、一个整型表达式
C、一个函数调用   D、一个不合法的表达式
19、设变量y为float类型,x为int类型,则以下能实现将y中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是____
A、y=(y*100+0.5)/100.0    B、x=y*100+0.5,y=x/100.0
C、y=y*100+0.5/100.0      D、y=(y/100+0.5)*100.0
20、设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是____
A、0~255  B、0~65535  C、-32768~+32767 D、-256~+255
21、若有以下定义,则能得到值为3的表达式是____(int m=7,n=12)
A、n%=(m%=5)   B、n%=(m-m%5)
C、n%=m-m%5   D、(n%=m)-(m%=5)
22、若有说明:int a=1,b=2,c=3,d=4;则表达式a<b?a:c<d?c:d的值是___
A、4   B、3   C、2   D、1
23、若x为int类型,则逗号表达式(x=4*5,x*5),x+25的结果是___,x的值是___
A、20  B、100   C、表达式不正确  D、45
24、putchar函数可以向终端输出一个____
A、整型变量值 B、实型变量值  C、字符串 D、字符或字符型变量值
25、若有以下变量说明和数据的输入方式,则正确的输入语句为('└─┘'代表空格)____
变量说明:float x1,x2;
数据的输入方式:4.52<回车>
        3.5<回车>
A、scanf("%f,%f",&x1,&x2);          B、scanf("%f%f",&x1,&x2);
C、scanf("%3.2f└─┘%2.1f",&x1,&x2); D、scanf("%3.2f%2.1f",&x1,&x2);
26、若运行以下程序时,从键盘输入25,13,10<回车>,则输出结果为___
main(  )
{
  int a1,a2,a3;
  scanf("%d%d%d",&a1,&a2,&a3);
  printf("a1+a2+a3=%d\n",a1+a2+a3);
}
A、a1+a2+a3=48   B、a1+a2+a3=25
B、a1+a2+a3=10   D、不确定值
27、已知a、b、c为int类型变量,若有输入语句:scanf("a=%db=%dc=%d",&a,&b,&c);为使a值为1,b值为3,c值为2,从键盘输入数据的正确形式应当是____
A、132<回车>                 B、a=1b=3c=2<回车>
C、1<回车>3<回车>2<回车>        D、a=1<回车>b=3<回车>c=2<回车>
28、以下能正确定义整型变量x、y和z并为其赋初值5的语句是____
A、int x=y=z=5;    B、int x,y,z=5;
C、int x=5,y=5,z=5;  D、x=5,y=5,z=5;
 29、执行下面程序段后,x的值是____
int x;
printf("%d\n",(x=3*5,x+5));
A、10  B、15  C、20  D、5
30、下面程序段的输出结果是____
int a=023;
printf("%d\n",--a);
A、23  B、17  C、18  D、24
31、已知ch是字符型变量,则不正确的赋值语句是____
A、ch=5+9;    B、ch='\0';  C、ch='7'+'9'; D、ch='a+b';
32、设x,y是float型变量,则不正确的赋值语句是____
A、++x;  B、y=int(5);    C、x*=y+1;   D、x=y=0;
33、设有说明:double b=0.5,c=1.5; int a=10;
则正确使用了C语言库函数的赋值语句是____
A、c=asin(c)+fabs(a);          B、b=log10(b)+pow(b);
C、c=sqrt(b-c);                D、a=(int)(atan2((double)a,b)+exp(b-0.2));
34、以下程序段的输出结果是____
int i=1,j=4,k=2;
float x=5.5,y=9.0,z;
z=(i+j)/k+sqrt((double)y)*1.2/k+x;
printf("%f\n",z);
A、9.800000  B、9.300000  C、8.500000 D、8.000000
35、若a为int类型变量,则执行以下程序段后a的值为____
a=5;
a*=a/=a++;
  A、2  B、1  C、40  D、3
36、若a和b均为int型变量,则执行以下程序断后x的输出是____
x=15;y=15;
printf("%d\n",x%=(y%=2));
A、0  B、1  C、6  C、12
37、若x为unsigned int类型变量,则执行以下程序段后x的值是____
x=65535;
printf("%d\n",x);
A、65535  B、1  C、无定值  D、-1
 38、以下语句的执行结果是____
printf("%d\n",NULL);
A、1  B、0  C、-1  无定值

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