当前位置:首页 > C语言习题集
1—2
一、单选
1.下面四个选项中,均是不合法的用户标识符的是______。 A. A B. float
C. b-a D. _123
p_0 lao goto temp do _A int INT 2.正确的C语言自定义标识符是______。 A.file_bak B.abc(10)
C.continue
D.class+3
3.下面四个选项中,均是不合法整型常量的是______。 A. -0f1 B. -0xcdf
C. -018 D. -0x48eg
-0xffff 017 999 -068 011 12,456 5e2 03f 4.下面正确的字符常量是______。 A. \B. '\\\\''
C. 'W' D. '
5.以下的变量定义中,合法的是______。 A. float 3_four = 3.4 ; B. int _abc_= 2 ; C. double a = 1 + 4e2.0 6.若有以下定义和语句:
char cl='a',c2='f'; printf(''%d,%c\n'',c2-c1,c2-'a'+'B'); 则输出结果是______。 A. 2,M
B. 5,! C. 2,E D. 5,G
B. 3*x**n/(2*x-1)
7.与数学式子3乘以x的n次方除以(2x-1)对应的C语言表达式是______。 A. 3*x^n/(2*x-1)
C. 3*pow(x,n)*(1/(2*x-1)) D. 3*pow(n,x)/(2*x-1) 8.设int m=1,n=2;则m++= =n的结果是______。 A. 0 B. 1 9.以下程序 #include
printf(\ }运行后的输出结果是______。 A. 3 B. 5 C. -1 A. 1.4
D. -2
D. 2
10.若有定义:int a=8,b=5,c;执行语句c=a/b+0.4;后,c的值为______。
B. 1 C. 2.0
11.设有如下的变量定义:
int i=8, K, a, b; unsigned long w=5; double x=l,y=5.2: 则以下符合C语言语法的表达式是______。 A. a+=a-=(b=4)*(a=3) C. a=a*3=2 二、多选
1.有定义语句:int m,n; char c;若要通过语句scanf(\使变量m,n得到数值10,变量c得到字符,错误的输入是______。 A. 10,A,10
B. 10A10 C. 10 A10
D. 10A 10
B. x%(-3) D. y=int(i) C. 2 D. 3
D. short do =15;
2.用十进制形式输入带符号整数时,在scanf函数语句里格式字符为_____。 A. d B. i C. n D. u 三、判断
1.用户标识符中可以出现下划线,但它不可以放在用户标识符的开头。
2.C语言中整形常量按进制划分,有以下几种:十六进制常量、十进制常量、八进制常量、二进制常量。 3.若变量已正确定义,以下程序段的输出结果是5.169000。 x=5.16894; printf(\4.表达式(int)(11.0/3+0.5)的值为4.
5.程序段int i=3; printf(\的输出结果是3,3。 6.输入语句的格式为:scanf(\是正确的。
7.在scanf(\;语句中,可以使用一个或多个空格作为两个输入数之间的间隔。 8.getchar函数的功能是接收从键盘输入的一串字符。 9.以下程序的运行结果是5,7 #include
void main() {int i=5; printf(\
10.printf函数是一个标准库函数,它的函数原型在头文件\中。 11.printf函数称为格式输入函数,它的函数原型在头文件\中。 12.在printf函数中,输出表列的各输出项之间可用冒号分隔。 13.若int x=3; printf(\则系统不会报错,会输出x的地址 14.!b==c||d 1.在C语言中,用关键字__________定义基本整型变量,用关键字_________定义单精度实型变量,用关键字__________定义双精度实型变量。 2.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为___________。 3.表达式pow(2.8,sqrt(double(x)))值的数据类型为___________。 4.以下程序 # include 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 { 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函数是一个标准库函数,它的函数原型在头文件 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
共分享92篇相关文档