《程序设计基础》答案 (2)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《程序设计基础》习题一答案
一、单项选择题(本大题共20小题,每小题2分,共40分)
1.int a[10];合法的数组元素的最小下标值为().
A:10
B:9
C:1
D:0
答案:D
2。

以下运算符中优先级最低的是()。

A:&&
B:&
C:||
D:|
答案:C
3。

若使用一维数组名作函数实参,则以下正确的说法是()。

A:必须在主调函数中说明此数组的大小
B:实参数组类型与形参数组类型可以不匹配
C:在被调用函数中,不需要考虑形参数组的大小
D:实参数组名与形参数组名必须一致
答案:A
4。

已知函数的调用形式:fread(buffer,size,count,fp);其中buffer
代表的是()。

A:一个整数,代表要读入的数据项总数
B:一个文件指针,指向要读的文件
C:一个指针,指向要读入数据的存放地址
D:一个存储区,存放要读的数据项
答案:C
5.对以下说明语句int a[10]={6,7,8,9,10}; 的正确理解是()。

A:将5个初值依次赋给a[1]至a[5]
B:将5个初值依次赋给a[0]至a[4]
C:将5个初值依次赋给a[6]至a[10]
D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B
6.下列程序的输出结果是()。

main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{
case 1:switch(y)

case 0:a++;break;
case 1:b++;break;

case 2:a++;b++;break;
case 3:a++;b++;break;

printf("a=%d,b=%d\n”,a,b);
}
A:a=1,b=0
B:a=2,b=1
C:a=1,b=1
D:a=2,b=2
答案:B
7.下列程序的输出结果为()。

main()
{int m=7,n=4;
float a=38.4,b=6.4,x;
x=m/2+n*a/b+1/2;
printf("%f\n”,x);
}
A:27。

000000
B:27。

500000
C:28.000000
D:28.500000
答案:A
8。

若k为int型变量,则以下程序段的执行结果是()。

k=-8567; printf(”|%06D|\n”,k);
A:格式描述符不合法,输出无定值
B:输出为|%06D|
C:输出为|0-8567|
D:输出为|—8567|
答案:B
9.下列程序段的输出结果为()。

int x=3,y=2;
printf(”%d”,(x-=y,x*=y+8/5));
A:1
B:7
C:3
D:5
答案:C
10。

char a[]=”This is a program.";输出前5个字符的语句是(). A:printf("%.5s",a);
B:puts(a);
C:printf(”%s”,a);
D:a[5*2]=0;puts(a);
答案:A
11.下列程序的输出结果是()。

main()
{char c1=97,c2=98;
printf("%d %c”,c1,c2);
}
A:97 98
B:97 b
C:a 98
D:a b
答案:B
12.以下选项中合法的实型常数是()。

A:5E2。

0
B:E-3
C:。

2E0
D:1。

3E
答案:C
13.C语言中的文件类型只有()。

A:索引文件和文本文件两种
B:ASCII文件和二进制文件两种
C:文本文件一种
D:二进制文件一种
答案:B
14。

以下叙述不正确的是().
A:一个C源程序可由一个或多个函数组成
B:一个C源程序必须包含一个main函数
C:C程序的基本组成单位是函数
D:在C程序中,注释说明只能位于一条语句的后面答案:D
15.以下运算符中,优先级最高的运算符是()。

A:||
B:%
C:!
D:==
答案:C
16。

执行以下程序段后,输出结果和a的值是().
int a=10;
printf(”%d”,a++);
A:10 和10
B:10 和11
C:11 和10
D:11 和11
答案:B
17。

能正确表示逻辑关系:”a≥10或a≤0”的C语言表达式是()。

A:a>=10 or a〈=0
B:a〉=0|a〈=10
C:a>=10&&a<=0
D:a〉=10‖a<=0
答案:D
18.以下叙述中错误的是().
A:二进制文件打开后可以先读文件的末尾,而顺序文件不可以
B:在程序结束时,应当用fclose函数关闭已打开的文件
C:在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据
D:不可以用FILE定义指向二进制文件的文件指针
答案:D
19。

下列程序段的输出结果为()。

float k=0.8567;
printf(”%06。

1d%%",k*100);
A:0085。

6%%
B:0085。

7%
C:0085.6%
D:。

857
答案:B
20.若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存
空间存入整数123的语句为().
A:scanf(”%d",p);
B:scanf("%d”,&p);
C:scan f(”%d”,*p);
D:scanf(”%d”,**p);
答案:A
21.经过下列的语句int j,a[10],*p;定义后,下列语句中合法的是()。

A:p=p+2;
B:p=a[5];
C:p=a[2]+2;
D:p=&(j+2);
答案:A
22.以下对二维数组a的正确说明是()。

A:int a[3][]
B:float a(3,4)
C:double a[1][4]
D:float a(3)(4)
答案:C
23。

经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在
微机上的值分别为().
char x=65;
float y=7。

3;
int a=100;
double b=4。

5;
A:2,2,2,4
B:1,2,2,4
C:1,4,2,8
D:2,4,2,8
答案:C
24。

以下叙述中不正确的是()。

A:一个好的程序应该有详尽的注释
B:在C程序中,赋值运算符的优先级最低
C:在C程序中,j++;是一条赋值语句
D:C程序中的#include和#define均不是C语句
答案:B
25。

应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。

A:fclose()
B:close()
C:fread()
D:fwrite
答案:A
26.static struct {int a1;float a2;char a3;}a[10]={1,3。

5,'A’};
说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存
储方式,其中被初始化的下标变量是().
A:a[1]
B:a[-1]
C:a[0]
D:a[10]
答案:C
27。

函数的形式参数隐含的存储类型说明是()。

A:extern
B:static
C:register
D:auto
答案:D
28。

可将C源程序存在磁盘上,还可将数据按数据类型分别以什么的
形式存在磁盘上()。

A:内存
B:缓冲区
C:文件
D:寄存器
答案:C
29.若用数组名作为函数的实参,传递给形参的是()。

A:数组的首地址
B:数组第一个元素的值
C:数组中全部元素的值
D:数组元素的个数
答案:A
30.double x;scanf("%lf”,&x);不可以赋值给x变量的常量是()。

A:123
B:100000
C:A'
D:”abc"
答案:D
31。

以下的选择中,正确的赋值语句是()。

A:a=1,b=2
B:j++
C:a=b=5;
D:y=int(x)
答案:C
32.要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,
下面符合此要求的函数调用是()。

A:fopen(”A:\user\abc。

txt”,”r")
B:fopen("A:\\user\\abc.txt","r+”)
C:fopen(”A:\user\abc。

txt”,"rb”)
D:fopen(”A:\\user\\abc.txt”,”w”)
答案:B
33.与实际参数为实型数组名相对应的形式参数不可以定义为()。

A:float a[];
B:float *a;
C:float a;
D:float (*a)[3];
答案:C
34.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。

A:自动(auto)
B:静态(static)
C:外部(extern)
D:寄存器(register)
答案:A
35.下面有关for 循环的正确描述是().
A:for 循环只能用于循环次数已经确定的情况
B:for 循环是先执行循环循环体语句,后判断表达式
C:在for 循环中,不能用break 语句跳出循环体
D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:D
36.下列语句的结果是()。

main()
{int j;
j=3;
printf(”%d,”,++j);
printf(”%d”,j++);
}
A:3,3
B:3,4
C:4,3
D:4,4
答案:D
37。

执行下列程序后,其输出结果是()。

main()
{int a=9;
a+=a-=a+a;
printf(”%d\n”,a);

A:18
B:9
C:-18
D:—9
答案:C
38。

以下函数调用语句中实参的个数是()。

func((e1,e2),(e3,e4,e5));
A:2
B:3
C:5
D:语法错误
答案:A
39.下列四个选项中,均是C语言关键字的选项是()。

A:auto enum include
B:switch typedef continue
C:signed union scanf
D:if struct type
答案:B
40.下列数组说明中,正确的是()。

A:static char str[]=”China”;
B:static char str[]; str="China”;
C:static char str1[5],str2[]={”China"}; str1=str2;
D:static char str1[],str2[];str2={"China"};strcpy(str1,str2); 答案:A
41。

C语言中,要求运算数必须是整型的运算符是().
A:^
B:%
C:!
D:>
答案:B
42。

以下不能正确定义二维数组的选项是()。

A:int a[2][2]={{1},{2}};
B:int a[][2]={1,2,3,4};
C:int a[2][2]={{1},2,3};
D:int a[2][]={{1,2},{3,4}};
答案:D
43.设int x=1,y=1;表达式(!x||y-—)的值是()。

A:0
B:1
C:2
D:-1
答案:B
44。

下列选项中正确的语句组是()。

A:char s[8];s={”Beijing"};
B:char *s; s={”Beijing”};
C:char s[8];s=”Beijing”;
D:char *s;s="Beijing";
答案:D
45。

若有int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5 的语句为().
A:printf("%d",*(a+5));
B:printf("%d”,p[5]);
C:printf("%d",*(p+5));
D:printf(”%d”,*p[5]);
答案:D
46.设变量a是整型,f是实型,i是双精度型,则表达式10+'a’+i*f值的
数据类型为().
A:int
B:float
C:double
D:不确定
答案:C
47。

以下叙述正确的是()。

A:在C程序中,main函数必须位于程序的最前面
B:C程序的每行中只能写一条语句
C:C语言本身没有输入输出语句
D:在对一个C程序进行编译的过程中,可发现注释中的拼写错误
答案:C
48。

int a=1,b=2,c=3;
if(a>b)a=b;
if(a〉c)a=c;
则a的值为()。

A:1
B:2
C:3
D:不一定
答案:A
49。

C语言中,定义结构体的保留字是().
A:union
B:struct
C:enum
D:typedef
答案:B
50。

逻辑运算符两侧运算对象的数据类型()。

A:只能是0或1
B:只能是0或非0正数
C:只能是整型或字符型数据
D:可以是任何类型的数据
答案:D
51.以下叙述中正确的是()。

A:C语言的源程序不必通过编译就可以直接运行
B:C语言中的每条可执行语句最终都将被转换成二进制的机器指令C:C源程序经编译形成的二进制代码可以直接运行
D:C语言中的函数不可以单独进行编译
52。

下列程序的输出结果是()。

main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{
case 1:switch(y)
{
case 0:a++;break;
case 1:b++;break;
}
case 2:a++;b++;break;
case 3:a++;b++;break;
}
printf(”a=%d,b=%d\n",a,b);

A:a=1,b=0
B:a=2,b=1
C:a=1,b=1
D:a=2,b=2
答案:B
53。

若二维数组a有m列,则在a[i][j]前的元素个数为()。

A:j*m+i
B:i*m+j
C:i*m+j—1
D:i*m+j+1
答案:B
54.用下列语句定义a,b,c,然后执行b=a、c=’b'+b,则b,c的值是()。

long a=0xffffff;
int b; char c;
A:0ffffff 和0x61
B:—1和98
C:—1和97
D:指向同一地址
答案:C
55.在调用函数时,如果实参是简单变量,它与对应形参之间的数据
传递方式是()。

A:地址传递
B:单向值传递
C:由实参传给形参,再由形参传回实参
D:传递方式由用户指定
答案:B
56.以下数值中,不正确的八进制数或十六进制数是()。

A:0x16
B:16
C:—16
D:0xaaaa
答案:C
57.以下运算符中,优先级最高的运算符是()。

A:*=
B:〉=
C:(类型)
D:+
答案:C
58。

以下选项中,与k=n++完全等价的表达式是()。

A:k=n,n=n+1
B:n=n+1,k=n
C:k=++n
D:k+=n+1
答案:A
59。

结构体类型的定义允许嵌套是指()。

A:成员是已经或正在定义的结构体型
B:成员可以重名
C:结构体型可以派生
D:定义多个结构体型
答案:A
60。

用户定义的函数不可以调用的函数是()。

A:非整型返回值的
B:本文件外的
C:main函数
D:本函数下面定义的
答案:C
二. 多选题 (本大题共20小题,每小题2分,共40分)
1.以下对C语言中的函数描述不正确的有()。

A:可以嵌套定义,不可以嵌套调用
B:不可以嵌套定义,可以嵌套调用
C:可以嵌套定义,也可以嵌套调用
D:嵌套定义和嵌套调用都不允许
答案:ACD
2。

以下叙述正确的是().
A:预处理命令行都必须以”#"开始
B:在程序中凡是以”#”开始的语句行都是预处理命令行
C:C程序在执行过程中对预处理命令行进行处理
D:#define ABCD是正确的宏定义
答案:ABD
3.以下描述错误的是().
A:continue语句的作用是重新开始一次循环体的执行
B:只能在循环体内和switch语句体内使用break语句
C:在循环体内使用break语句和continue语句的作用相同
D:从多重循环嵌套中退出是,只能使用goto语句
答案:CD
4.有定义语句:int x,y;若要通过scanf(”%d,%d”,&x,&y); 语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的有().
A:11 12〈回车>
B:11,〈空格>12〈回车〉
C:11,12〈回车>
D:11,〈回车> 12<回车〉
答案:BCD
5.以下合法的十六进制数是()。

A:oxff
B:0Xabc
C:0x01
D:0X9X
答案:BC
6.以下描述正确的是()。

A:调用函数时,实参可以是表达式
B:调用函数时,实参与形参可以共用内存单元C:调用函数时,将为形参分配内存单元
D:调用函数时,实参与形参的类型必须一致答案:ACD
7.以下选项中合法的表达式是()。

A:0〈=x<100
B:i=j==0
C:(char)(65+3)
D:x+1=x+1
答案:ABC
8.设有以下定义
int a=0;
double b=1。

25;
char c=’A';
#define d 2
则下面语句中正确的是().
A:a++;
B:b++;
C:c++;
D:d++;
答案:ABC
9。

以下对二维数组a进行正确初始话的是().
A:static char word[]='Turbo\0';
B:static char word[]={’T',’u','r’,’b’,’o','\0’};
C:static char word[]={"Turbo\0”};
D:static char word[]="Turbo\0";
答案:BCD
10.符合C语言语法的实型常量是().
A:1.2E0。

5
B:3.14。

159E
C:.5E-3
D:E15
答案:ABD
11.若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是(). A:a=b=c=d=100;
B:d++;
C:c+b;
D:d=(c=22)-(b++);
答案:ABD
12.以下关于数组描述错误的是().
A:数组的大小是固定的,但可以有不同的类型的数组元素
B:数组的大小是可变的,但所有数组元素的类型必须相同
C:数组的大小是固定的,所有数组元素的类型必须相同
D:数组的大小是可变的,可以有不同的类型的数组元素
答案:ABD
13.以下正确的if语句形式是().
A:if (x>y && x!=y);
B:if (x==y) x+=y;
C:if (x!=y) scanf(”%d",&x) else scanf(”%d”,&y);D:if (x〈y) {x++;y++;}
答案:ABD
14.以下叙述中正确的是()。

A:一个C源程序可由一个或多个函数组成
B:一个C源程序必须包含一个main()函数
C:C源程序的基本组成单位是函数
D:在C源程序中,注释说明只能位于一条语句的最后
答案:ABC
15。

以下合法的十六进制数是()。

A:oxff
B:0Xabc
C:0x01
D:0X9X
答案:BC
16.以下选项中,合法的字符常量是()。

A:'\t'
B:’\17’
C:"n”
D:’\xaa'
答案:ABD
17.以下用户标识符,其中合法的是().
A:return
B:f2_G3
C:A3—3
D:abc
答案:BD
18。

以下可以定义为用户标识符的有()。

A:scanf
B:short
C:_3com_
D:int
答案:AC
19。

以下选项中合法的表达式是()。

A:0<=x<100
B:i=j==0
C:(char)(65+3)
D:x+1=x+1
答案:ABC
20。

以下不符合C语言语法的实型常量是(). A:1。

2E0.5
B:3.14.159E
C:.5E-3
D:E15
答案:ABD
21。

4个选项中,可以看作是一条语句的有()。

A:{;}
B:a=0,b=0,c=0;
C:if(a>0);
D:if(b==0) m=1;n=2;
答案:ABC
22。

以下选项中,合法的字符常量是()。

A:’\t'
B:’\17'
C:”n”
D:'\xaa'
答案:ABD
23.以下描述正确的是()。

A:使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成
B:while循环是先判断表达式,后执行循环语句
C:do-while和for循环均是先执行循环语句,后判断表达式
D:for,while和do—while循环中的循环体均可以由空语句构成
答案:ABD
24。

以下关于数组描述错误的是()。

A:数组的大小是固定的,但可以有不同的类型的数组元素
B:数组的大小是可变的,但所有数组元素的类型必须相同
C:数组的大小是固定的,所有数组元素的类型必须相同
D:数组的大小是可变的,可以有不同的类型的数组元素
答案:ABD
25.以下选项中不是C语言合法整数的是().
A:10110
B:0386
C:0Xffa
D:x2a2
答案:BD
26。

若以下选项中的变量已正确定义,则不正确的赋值语句是()。

A:x1=26.8%3
B:x=3*x+x
C:x3=0x12
D:x4=1+2=3;
答案:AD
27。

下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是().
A:只能是0或1
B:只能是0或非0正数
C:可以是整型或字符型数据
D:可以是任何类型的数据
答案:ABD
28。

下列选项中是C语言合法标志符的有()。

A:good_morning
B:main
C:stdio.h
D:8abc
答案:AB
29.以下对switch语句和break语句中描述错误的有()。

A:在switch语句中必须使用break语句
B:break语句只能用于switch语句
C:在switch语句中,可以根据需要使用或不使用break语句D:break语句是switch语句的一部分
答案:ABD
30.以下叙述中正确的是()。

A:一个C源程序可由一个或多个函数组成
B:一个C源程序必须包含一个main()函数
C:C源程序的基本组成单位是函数
D:在C源程序中,注释说明只能位于一条语句的最后
答案:ABC
31.下对C语言中的函数描述不正确的有()。

A:可以嵌套定义,不可以嵌套调用
B:不可以嵌套定义,可以嵌套调用
C:可以嵌套定义,也可以嵌套调用
D:嵌套定义和嵌套调用都不允许
答案:ACD
32.设有以下定义
int a=0;
double b=1.25;
char c=’A’;
#define d 2
则下面语句中正确的是()。

A:a++;
B:b++;
C:c++;
D:d++;
答案:ABC
33。

对do—while语句描述正确的是()。

A:do-while语句构成的循环可以使用break语句退出循环
B:do-while语句构成的循环必须使用break语句退出循环
C:do—while语句构成的循环,当while中的表达式值为非零时结束循环D:do—while语句构成的循环,当while中的表达式值为零时结束循环答案:AD
34。

以下可以定义为用户标识符的有().
A:scanf
B:short
C:_3com_
D:int
答案:AC
35.以下选项中不是C语言合法整数的是().
A:10110
B:0386
C:0Xffa
D:x2a2
答案:BD
36。

以下叙述中正确的是()。

A:一个C源程序可由一个或多个函数组成
B:一个C源程序必须包含一个main()函数
C:C源程序的基本组成单位是函数
D:在C源程序中,注释说明只能位于一条语句的最后
答案:ABC
37。

以下正确的if语句形式是()。

A:if (x〉y && x!=y);
B:if (x==y) x+=y;
C:if (x!=y) scanf(”%d",&x) else scanf(”%d",&y);
D:if (x<y) {x++;y++;}
答案:ABD
38.以下选项中不是C语言合法整数的是()。

A:10110
B:0386
C:0Xffa
D:x2a2
答案:BD
39.以下关于数组描述错误的是()。

A:数组的大小是固定的,但可以有不同的类型的数组元素
B:数组的大小是可变的,但所有数组元素的类型必须相同
C:数组的大小是固定的,所有数组元素的类型必须相同
D:数组的大小是可变的,可以有不同的类型的数组元素
答案:ABD
40。

以下描述正确的是()。

A:使用while和do—while循环时,循环变量初始话的操作应在循环体语句之前完成
B:while循环是先判断表达式,后执行循环语句
C:do—while和for循环均是先执行循环语句,后判断表达式
D:for,while和do-while循环中的循环体均可以由空语句构成
答案:ABD
41.对do-while语句描述正确的是()。

A:do—while语句构成的循环可以使用break语句退出循环
B:do—while语句构成的循环必须使用break语句退出循环
C:do—while语句构成的循环,当while中的表达式值为非零时结束循环D:do-while语句构成的循环,当while中的表达式值为零时结束循环答案:AD
42。

在定义int a[2][3];之后,对a的引用正确的有()。

A:a[0][2]
B:a[1,3]
C:a[1〉2][!1]
D:a[2][0]
答案:AC
43.以下用户标识符,其中合法的是()。

A:return
B:f2_G3
C:A3-3
D:abc
答案:BD
44。

以下选项中不合法的字符常量是().
A:"B”
B:’\010’
C:68
D:D
答案:ACD
45。

正确的if语句形式是()。

A:if (x>y && x!=y);
B:if (x==y) x+=y;
C:if (x!=y) scanf("%d”,&x) else scanf("%d",&y); D:if (x<y) {x++;y++;}
答案:ABD
46。

以下叙述正确的是().
A:C语言严格区分大小写英文字母
B:C语言用”;"作为语句分隔符
C:C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上。

D:可以使用/*…*/对C程序中的任何部分作注释
答案:ABCD
47.以下描述正确的是().
A:调用函数时,实参可以是表达式
B:调用函数时,实参与形参可以共用内存单元
C:调用函数时,将为形参分配内存单元
D:调用函数时,实参与形参的类型必须一致
答案:ACD
48。

若以下选项中的变量已正确定义,则不正确的赋值语句是()。

A:x1=26。

8%3
B:x=3*x+x
C:x3=0x12
D:x4=1+2=3;
答案:AD
49。

下列选项中是C语言合法标志符的有()。

A:good_morning
B:main
C:stdio。

h
D:8abc
答案:AB
50.以下4个选项中,可以看作是一条语句的有()。

A:{;}
B:a=0,b=0,c=0;
C:if(a>0);
D:if(b==0) m=1;n=2;
答案:ABC
51.以下叙述正确的是()。

A:预处理命令行都必须以”#”开始
B:在程序中凡是以"#"开始的语句行都是预处理命令行C:C程序在执行过程中对预处理命令行进行处理
D:#define ABCD是正确的宏定义
答案:ABD
52。

以下选项中不合法的字符常量是()。

A:”B”
B:'\010'
C:68
D:D
答案:ACD
53.以下用户标识符,其中合法的是()。

A:return
B:f2_G3
C:A3—3
D:abc
答案:BD
54.以下选项中,合法的字符常量是().
A:'\t'
B:’\17'
C:”n”
D:’\xaa’
答案:ABD
55.以下选项中合法的表达式是().
A:0〈=x<100
B:i=j==0
C:(char)(65+3)
D:x+1=x+1
答案:ABC
56。

以下4个选项中,可以看作是一条语句的有().
A:{;}
B:a=0,b=0,c=0;
C:if(a〉0);
D:if(b==0) m=1;n=2;
答案:ABC
57。

设有以下定义
int a=0;
double b=1。

25;
char c='A’;
#define d 2
则下面语句中正确的是()。

A:a++;
B:b++;
C:c++;
D:d++;
答案:ABC
58.若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是(). A:a=b=c=d=100;
B:d++;
C:c+b;
D:d=(c=22)-(b++);
答案:ABD
59.以下叙述正确的是()。

A:C语言严格区分大小写英文字母
B:C语言用”;”作为语句分隔符
C:C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上.
D:可以使用/*…*/对C程序中的任何部分作注释
答案:ABCD
60.定义语句:int x,y;若要通过scanf("%d,%d”,&x,&y);
语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,
正确的有()。

A:11 12<回车〉
B:11,〈空格>12<回车>
C:11,12<回车〉
D:11,〈回车〉 12<回车>
答案:BCD
三、判断题(本大题共10小题,每小题2分,共20分)
1。

C语言可以直接访问物理位元元址.(T)
2.C语言既可以用来写系统软件,也可以用来写应用软件。

(T)
3。

用户标识符中可以出现下划线和中划线(减号)。

(F)
4。

在C中变量不定义也可以使用。

(F)
5.若a=7,b=5;则执行a&&b++ 后,b为
6. (T)
6。

在C中能代表逻辑值“假”的是0. (T)
7.若有static int a[10]; 则a数组的10个元素的值都是0。

(T)
8。

全局变量的作用域一定比局部变量的作用域范围大.(F)
9.结构类型变量所占内存长度等于成员的长度;而共享体类型变量所占用的内存长度是各成员的内存长度之和,每个成员分别占用其自己的内存单元.(F)
10.有unsigned int a=16;a=a〉>2;则a的值是4。

(T)
11.C中的变量必须“先定义,后使用”,函数也不例外.(T)
12。

一个C源程序只能有一个main()函数。

(T)
13。

表达式’a' 和“a”是不同的,前者长度为1,后者长度为2.(T)
14.自增自减运算符++,--可以用于int型、float型和double型资料。

(T)
15.若有int x,y,z; x=y=z=1;则执行++x&&++y&&++z后,x,y,z的值分别为2,1,1。

(F)
16. continue语句可用于switch语句,也可用于for、while和do循环语句中.(F)
17.函数的实参可以传递给形参,形参也可以传递给实参。

(F)
18。

#define命令是在编译之前处理的。

(T)
19。

有unsigned int a=16;a=a<〈2;则a的值是64.(T)
20。

一个无符号整数各数字往左移动2位后,一定是原数的4倍。

(F)
21。

一个C源程序可以由一个main()函数和若干个其它函数组成。

(T)
22。

C程序中和每一行就是一个语句。

(F)
23.在某种意义上,char和int通用。

(T)
24.自增运算符和自减运算符的结合方向也是“自左向右”。

(F)
25.break语句可用于switch语句,也可用于for、while和do循环语句中。

(T) 26。

数组类型不是C的基本数据类型,而是一种构造类型。

(T)
27。

一个包含命令include可以包含几个头檔。

(F)
28。

若定义char *str;则str=”BOOK";是正确的。

(T)
29。

C语言中,feof函数用来判断即将读入的是否是文件结束标志,它可用于二进制文件,但不能用于文本文件。

(F)
30。

C语言的文件存取方式只能是顺序存取,不能随机存取。

(F)
1.在C语言中,形参的缺省存储类是:
A.auto
B.register C。

static D.extern
2.以下选项,与K=n++完全等价的表达式是:
A。

k=n n=n+1B。

n=n=1,k=n C.k=++n D。

k+=n+1
3.以下不能实现回车换行的是:
A.printf(“n")Bputchar(“n”)C。

fprintf(stdout,”n”)D。

fwrite(“n”,1,1stdout)4. main()
{ char s[]="123",*p;
p=s;
printf("%c%c%c\n",*p++,*p++,*p++);

A.123 B。

321 C.213 D.312
5。

以下错误的是:
A.二进制文件打开后可以先读文件的末尾而顺序文件不可用
B.在程序结束时,应该用fclose函数关闭已打开的文件
C。

相关文档
最新文档