C语言基础知识部分练习题

练习题

一、C语言基础知识

1.1 选择题

1. 以下不是C语言的特点的是( )。

A. 语言简洁紧凑 B. 能够编制出功能复杂的程序 C. C语言可以直接对硬件操作 D. C语言移植性好

2. 下列字符序列中,不可用作C语言标识符的是( )。

A.abc123 B.no.1 C._123_ D._ok 3. 正确的C语言标识符是 (A )。

A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符( )。

A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof

5. 下列符号中,不属于转义字符的是( )。

A.\\\\ B.\\0xAA C.\\t D.\\0 6. 不属于C语言关键字的是(D )。

A.int B.break C.while D.character 7. 是C语言提供的合法关键字的是( )。

A.Float B.signed C.integer D.Char 8. 以下不能定义为用户标示符的是( )。

A.scanf B.Void C._3com_ D.int 9. 一个C程序是由( )。

A. 一个主程序和若干子程序组成 B. 一个或多个函数组成 C. 若干过程组成 D. 若干子程序组成

10. C语言程序的基本单位是( )。

A.程序行 B.语句 C.函数 D.字符

1.B 7.B

2.B 8.D

3.A 9.B

4.B 10.C

5.B

6.D

20.下列变量定义中合法的是

A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3;

9xn

21.与数学式子对应的C语言表达式是( )。

2x?1

A.9*x^n/(2*x-1) B.9*x**n/(2*x-1) C.9*pow(x,n)*(1/(2*x-1)) D.9*pow(n,x)/(2*x-1)

22.若有代数式

3ab,则不正确的C语言表达式是( )。 cd A.a/c/d*b*3 B.3*a*b/c/d C.3*a*b/c*d D.a*b/d/c*3 23.已知各变量的类型说明如下: int m=8,n, a, b;

unsigned long w=10; double x=3.14, y=0.12;

则以下符合C语言语法的表达式是( )。

A.a+=a-=(b=2)*(a=8) B. n=n*3=18 C.x%3 D.y=float (m) 24.以下符合C语言语法的赋值表达式是( )。

A.a=9+b+c=d+9 B.a=(9+b, c=d+9) C.a=9+b, b++, c+9 D.a=9+b++=c+9 25. 已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S=’A’+’6’-’3’;

后,S中的值为( A)。

A.’D’ B.68 C.不确定的值 D.’C’ 26.在C语言中,要求运算数必须是整型的运算符是( )。

A./ B.++ C.*= D.%

20.A 25.A

21.C 26.D

22.C

23.A

24.B

36.若有以下定义,则正确的赋值语句是( )。

int x,y; float z;

A.x=1,y=2, B.x=y=100 C.x++; D.x=int (z); 37.设x、y均为float型变量,则不正确的赋值语句是( )。

A.++x ; B.x*=y-2; C.y=(x%3)/10; D.x=y=0; 38.下列语句中符合C语言的赋值语句是( )。

A.a=7+b+c=a+7; B.a=7+b++=a+7; C.a=7+b,b++,a+7 D.a=7+b,c=a+7; 39.putchar函数可以向终端输出一个( )。

A.整型变量表达式值。 B.字符串

C.实型变量值。 D.字符或字符型变量值。

40.以下程序段的输出结果是( )。

int a=12345; printf(”-\\n”, a);

A.12 B.34 C.12345 D.提示出错、无结果

41.若x和y均定义为int 型,z定义为double型,以下不合法的scanf()函数调用语句

为( )。

A.scanf(”%d%lx,%le”,&x,&y,&z); B.scanf (”-*%d%lf ”, &x, &y, &z); C.scanf(”%x%*d%o”, &x,&y);

D。scanf(”%x%o%6.2f”, &x,&y,&z); 42.有如下程序段: int x1,x2;

char y1,y2;

scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2);

若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是( )。(注:└┘代表空格)

A.10A└┘20B B.10└┘A20B C.10 └┘A└┘20└┘ B D.10A20└┘B 45.已有定义int a=-2;和输出语句:printf(”%8lx”,a);以下正确的叙述是( )。

A.整型变量的输出格式符只有%d一种

B.%x是格式符的一种,它可以适用于任何一种类型的数据 C.%x是格式符

D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度 46.有如下程序段,对应正确的数据输入是(A )。

float x,y;

scanf(”%f%f”, &x,&y); printf(”a=%f,b=%f”, x,y); A.2.04<回车> B.2.04,5.67<回车> 5.67<回车>

C.A=2.04,B=5.67<回车> D.2.055.67<回车> 37.C 38.D 39.D 40.C 41.D 42.A

43.B 44.D 45.D 46.A

1.2 填空题

1. C语言的符号集包括________、________、________。

2. 结构化设计中的三种基本结构是________、_______、________。

3. C语言源程序文件的后缀是________,经过编译后生成文件的后缀是________,经过链

接后生成文件的后缀是________。

4. C语言的关键字都用________{大写或小写}。

5. 一个函数由两部分组成,它们是_______、_______。 6. 函数体一般包括_______、_______。

7. C语言是通过_______来进行输入和输出的。 8. 以下程序的执行结果________。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4