第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
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
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
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
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
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
{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.以下程序的输出结果是_________。