C语言基础部分练习题

第1单元 C语言基础知识

一、单项选择题

1. 是构成C语言程序的基本单位。

A.函数 B.过程 C.子程序 D.子例程 2.以下叙述中正确的是______。

A. 构成C程序的基本单位是函数 B. 可以在一个函数中定义另一个函数 C. main()函数必须放在其它函数之前

D. 所有被调用的函数一定要在调用之前进行定义 3.下述正确的C语言常量是 。

A.E2 B.1.5E2.3 C.5.OE D.3e-3 4.下列计算机语言中,CPU能直接识别的是__ ____。

A. 自然语言 B. 高级语言 C.汇编语言 D.机器语言 5.设int x=1,y=1; 表达式(!x||y--)的值 。

A. 0 B. 1 C.2 D. -1

6. 是C语言提供的合法的数据类型关键字。

A.Float B.signed C.integer D.Char 7.不合法的常量是 。

A.’\\2’ B. \‘’ D. \ 8.以下选项中合法的实型常数是______。

A. 5E2.0 B. E-3 C. .2E0 D. 1.3E 9.以下选项中合法的用户标识符是______。

A. long B. _2Test C. 3Dmax D. A.dat

10.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\\101'是______。

A. 字符A B. 字符a C. 字符e D. 非法的常量

11.在C语言中,设int型占2字节,下列不正确的int型常数为 。

A.32768 B.0 C.037 D.0xaf

12.在通常微机上的C语言中,int类型数据占用 (1) 个字节存储;unsigned int类型数据占用 (2) 个字节存储;short类型数据占用 (3) 个字节存储;long类型数据占用 (4) 个字节存储。

A.1 B.2 C.4 D.8 13.在C语言中,合法的字符常数是 。

A.’\\084’ B.’\\x42’ C.’\\84’ D.”\\0” 14.下列不正确的转义字符是 。

A.‘\\\\’ B.’\\’’ C.‘074’ D.’\\0’ 15.下述语句的输出为 。

int x=-1;

printf(“%d, %u, %o”,x,x,x); A.-1,-1,-1 B.-1,32767,-177777 C.-1,32768,177777 D.-1,65535,177777

16.在C语言中,要求参加运算的数必须是整数的运算符是 。

A./ B.! C.% D.==

17.下列语句中,符合语法的赋值语句是 。

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 18.下述程序的输出结果是 。

#include void main( ) { int a=2;

a%=4-1;

printf(“%d,”,a); a+=a*=a-=a*=3; printf(“%d”,a); }

A.2,O B.1,O C.-1,12 D.2,12 19.下述正确的语句是 。

A.int x=y=z=0; B.int z=(x+y)++; C.x=+3==2; D.d%=2.5; 20.下述程序的输出是 。

#include void main( ) { int a =011, b=101;

printf(“\\n%x,%o”, ++a,b++); }

A.12,145 B.9,144 C.a,145 D.a,5 21.以下非法的赋值语句是______。

A. n=(i=2,++i).; B. j++; C. ++(i+1); D. x=j>0; 22.下面程序的输出结果是 。

#include void main( ) { int x=02,y=3;

printf(\ }

A.x=2,y=3 B.x=%2,y=%3 C.x=%%d,y=%%d D.x=%d,y=%d 23.设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是______。

A. 6.500000 B. 6 C. 5.500000 D. 6.000000 24.下述程序 。

#include void main( ) { int a=1234;

float b=123.456; double c=12345.52345;

printf(\ }

A.输出格式中位数不够,无输出 B.输出结果为12,12.4,12.5

C.输出结果为1234,123.5,12345.5 D.输出结果为1234,123.4,1234.5 25.已知字母A的ASCII码值是65,以下程序 !

#include void main( ) { char a ='A';

int b=20;

printf(\ }

A.表达式非法,输出零或不确定值 B.因输出项过多,无输出或输出不确定值 C.输出结果为20,141 D.输出结果为20,141,20 二、填空题

1.经过下述赋值后,变量x的数据类型是 。

int x=2; double y; y=(int)(float)x;

2.char型常量在内存中存放的是 码值。

3.’\\72’在内存中占 (1) 个字节,\在内存中占 (2) 个字节。 4.表达式5%(-3)的值是 (1) ,表达式-5% (-3)的值是 (2) 。 5.定义:

double x=3.5,y=3.2;则表达式(int)x*0.5的值是 (1) ,表达式y+=x++的值是(2) 。 6.定义:

int m=5,n=3;则表达式m/=n+4的值是 (1) ,表达式

m=(m=1,n=2,n-m)的值是(2) ,表达式m+=m-=(m=1)*(n=2)的值是 (3) 。

若再进行下述赋值:

m=1,2,n++;则m的值是 (4) ,n的值是(5) 。 7.阅读下述程序,说明其输出结果。请填空。

#inetude void main ( )

{int n=3,b=4;

printf(\输出结果 (1) */ printf(\输出结果 (2) */ }

8.设有以下定义,并已赋于了确定的值:

char w;int x;float y;double z;

则表达式w*x+z-y所求得值的数据类型为 。 9.设有int x=11;,则表达式(x++*1/3)的值为 。

10.设x为int变量,与逻辑表达式!x等价的最简单的C语言关系表达式为 。

第2单元 顺序结构程序设计

一、单项选择题

1.指出下列不正确的赋值语句是____________。

A.a++ B.a= =7 C.a+=7 D.a=1,b=1 2.若有以下程序,执行后的输出结果是__________。 main()

{ int k=2,i=2,m; m=(k+=i*=k);

printf(“%d , %d\\n”,m,i); }

A.8 ,6 B.8,3 C.6, 4 D.7,4 3.以下程序的输出结果是________。 main()

{ int a=5,b=4,c=6,d;

printf(“%d\\n”,d=a>b?(a>c?a:c)(b)); }

A.5 B.4 C.6 D.不确定

4.设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是_______。

A.printf(“x=%d\\n”,x) B.printf(“x=%ld\\n”,x) C.printf(“x=?l\\n”,x) C.printf(“x=%LD\\n”,x); 5.以下程序的输出结果是_________。

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