1.在C语言中,用关键字__________定义基本整型变量,用关键字_________定义单精度实型变量,用关键字__________定义双精度实型变量。
2.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为___________。 3.表达式pow(2.8,sqrt(double(x)))值的数据类型为___________。 4.以下程序 # include ; void main() { int i=10,j=1;
printf(\ }执行后输出的结果是___________。
5.若x和n均为整形变量,且x的初值为12,n的初值为5,则执行下面表达式后,x的值为___________。x%=(n%=2)
6.以下程序运行后的输出结果是___________。 #include ;
void main() { char m; m= ?B? +32; printf(\\\n\ }
7.在输入a(整型)、b(单精度)、c(字符型)时,若用逗号分隔各个数据,则正确的scanf函数语句是___________。 8.以下程序段 int m=0xabc,n=0xabc;
m-=n; printf(\执行后输出结果是___________。 9.写出判断一个整型数a为奇数的表达式___________。
10.C语言提供的三种逻辑运算符是___________、___________、___________。(按运算优先级从大到小) 11.表达式x+6y=5x+3y+6的C语言表达式是___________。
12.在C语言中,逻辑运算符中___________的优先级高于算术运算符。若已知a=2,b=3, 则表达式!a+b的值为___________。 答案:
C A D C B D C A D B A AC AB F F T T F T F F F T F F T T int float double double/双精度 double/双精度 10,2 0 b scanf(\ 0 a%2==1 ! && || (x+6*y)==(5*x+3*y+6) 逻辑非 3
习题1-3
1.可用作用户标识符的一组标识符是______。B A. void B. a3_b3 C. For D. 2a define _xyz -abc DO WORD IF Case sigeof 2. 下列不正确的转义字符是______。C
A. '\\\\' B. '\\'' C. '074' D. '\\0'
8. C语言提供的合法的数据类型关键字是______。B
A.Double B.short
C.integer D.Char
C. -018
D. -e3
9. 下面四个选项中,均是不合法浮点数的是______。 B
A. 160. B. 123
0.12 2e4.2 123e4 .234 e3 .e5 0.0 1e3
10.下面四个选项中,均是不正确的八进制或十六进制数的是______。D A. 016 B. 0abc C. 010 D. 0a12 0x8f 017 -0x11 7ff 018 0xa 0x16 -123 11. 下列变量定义中合法的是______。C
A. short _a=l-.1e-1; B. double b=1+5e2.5; C. long ao=0xfdaL 表达式是______。A A. x%(-3)
B. w+=-2
C. k=(a=2,b=3,a+b) D. a+=a-=(b=4)*(a=3)
16. 若有int k = 11;则表达式(k++ * 1/3)的值是______。B
A. 0 B. 3 C. 11 A. 0 B. 1 18. 以下程序
#include void main()
{ int a; char c=10; float f=100.0; double x;
a=f/=c*=(x=6.5); printf(“%d %d %3.1f %3.1f\\n”,a,c,f,x); } 运行后的输出结果是______。B A. 1 65 1 6.5
B. 1 65 1.5 6.5 C. 1 65 1.0 6.5 D. 2 65 1.5 6.5
D. 12
17. 设int m=1,n=2;则++m= =n的结果是______。 B
C. 2 D. 3
D. float 2_and=1-e-3;
15. 已知各变量的类型说明如下: int k,a,b; unsigned long w=5; double x=1.42; 则以下不符合C语言语法的
19. 假定x和y为double型,则表达式x=2,y=x+3/2的值是______D。
A. 3.500000
B. 3 C. 2.000000
D. 3.000000
20. 假定有以下变量定义:int k=7,x=12;则能使值为3的表达式是______。C
A. x%=(k%=5) C. x%=k+k%5 二、多项
1.已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。AC A. scanf(“-,-,-”,&i,&j,&k); B. scanf(“%d %d %d”,&i,&j,&k); C. scanf(“%d,%d,%d”,&i,&j,&k); D. scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
2.用小数或指数形式输入实数时,在scanf函数语句里格式字符为______。BCD A. i 三、判断
1. C语言规定标识符只能由字母、数字和小数点三种字符组成。F 4. 如果要把常量327存入变量a中,a可以定义成float类型。T 5. 以下程序的运行结果是9 9 。 #include<stdio.h>
void main() {int x=10,y=10; printf(“%d %d\\n”,x--,--y); }F 6. 表达式11/3的值为3.666667。F 7. 以下程序的运行结果是(a=%2,b=%5)。F #include <stdio.h>
main() {int a=2,b=5; printf(“a=%%d,b=%%d\\n”,a,b); }
8. 输入语句的格式为:scanf(“%d,%d,%d”,a,b,c);是正确的。F
9. 在scanf(“%d,%*d,%d”,&a,&b);语句中,当输入为1,2,3时,将1赋给a,将2赋给b。F 10. getchar函数的功能是接收从键盘输入的一个整数。F
11. 在BC中,可以在使用printf函数之前不包含“stdio.h”文件。T 12. printf函数是一个标准库函数,它的函数原型在头文件中。F 13. 在printf函数中,格式字符d的意义是:以十进制形式输出带符号整数。T 14. 在printf函数中,输出项可以是任意合法的表达式。T 15. 如果x>y或ay&&ac && x+yc) && ((x+y)1.若有说明语句:char c='\\72';则变量c包含___________个字符。1
2.设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为___________。double/双精度 3.若有以下定义:char a; unsigned int b; float c; double d; 则表达式a*b+c-d的值的类型为___________。double/双精度
4.设x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是_________。 printf("%d,%d ",--x,--y); 9,2 1
6.若int类型数据占两个字节,下列程序的输出结果是___________。 #include <stdio.h>
B. f C. e D. g
B. x%= (x-k%5) D. (X%=k)十(k%=5)
5.若有以下定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为___________(x+y)%2+(int)a/(int)b