(试卷编号:8511,考试时间90分钟,满分160分)
学院:________系:________班级:________姓名:________学号:________考号:________
题号 | 一 | 二 | 三 | 总分 | |||||
得分 | |||||||||
评卷人 | 得分 | 一、填空 (共50题,合计50分) |
1. | 设有以下定义的语句:int a[3][2]={10,20,30,40,50,60}, (*p)[2];p=a;则 *(*(p+2)+1)值为________________。 |
2. | 设(k=a=5,b=3,a*b),则表达式的值为________________。 |
3. | int x=2,y=3,z=4; 则表达式x+y>!z的值为________________。 |
4. | 下面程序段的输出结果是________________.int a=12;a=a&052;printf("%d\n",a); |
5. | 调用 fopen 函数打开一文本文件,在"使用方式"这一项中,为输出而打开需填入________________。 |
6. | C语言中,数组元素的下标下限为________________。 |
7. | 若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3该数组可用的最小下标值是________________。 |
8. | 当a=1,b=2,c=3时,执行以下程序段后a=________________.if (a>c) b=a; a=c; c=b; |
9. | 若有定义:char s[ ]="china";则Turbo C系统为数组s开辟________________个字节的内存单元。 |
10. | 计算机中内存储器的最小存储单位是________________。 |
11. | int x=2,y=3,z=4; 则表达式x+y>z&&y==z的值为________________。 |
12. | unsigned int定义无符号基本整型 变量,分配________________个字节的存储单元。 |
13. | 若x和n均是int型变量,且x和n的初值均为5,则计算表达式 x+=n++ 后x的值为________________,n的值为________________。 |
14. | C语言中的字符变量用保留字________________来说明。 |
15. | int x=2;z=-x+++1; 则z的值为________________。 |
16. | 已知a=13,b=6, a|b的十进制数值为________________。 |
17. | 若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3该数组的元素中,数值最小的元素的下标值是________________。 |
18. | C语言把文件看作是一个________________的序列。 |
19. | 已知 i=5,写出语句 a=(a=i+1,a+2,a+3); 执行后整型变量 a 的值是________________。 |
20. | 若s是int型变量,且s=6,则下面表达式的值是________________.s%2+(s+1)%2 |
21. | 下面程序段的输出结果是________________.int a=12;a=a&052;printf("%o\n",a); |
22. | 设x=2,表达式x>=60==1的值为________________。 |
23. | 下列程序的运行结果是________________,main(){unsigned x1; int b=-1;x1=b;printf("%u",x1);} |
24. | 若输入字符串:abcde<回车>,则以下while循环体将执行 ________________ 次.While((ch=getchar())=='e') printf("*"); |
25. | 已知a=13,b=6, a>>2的十进制数值为________________。 |
26. | 在c语言中,格式输入操作是由库函数在C语言中,格式输入操作是由库函数________________完成的,格式输出操作是由库函数________________完成的。 |
27. | 若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是 ________________ .c=(a-=(b-5));c=(a%11)+(b=3); |
28. | 若所用变量均已正确定义,则执行下面程序段后的 值是________________.for(i=0 ; i<2 ; i++ ) printf("YES"); printf("\n"); |
29. | 下列语句输出的结果是________________,unsigned int b=65535;printf("%d",b); |
30. | 已知a=13,b=6,a/b的十进制数值为________________。 |
31. | 若 char w,int x,float y,double z;则表达式w*x+z-y的结果为________________类型。 |
32. | 函数调用语句func((e1,e2),(e3,e4,e5))中含有________________个实参。 |
33. | 执行下列语句后,z 的值是________________.int x=4,y=25,z=5; z=y/x*z; |
34. | int x=y=4,z=2;x=y==z; 则x的值为________________。 |
35. | 执行下面两个语句,输出的结果是________________,char c1=97,c2=98;printf("%d %c",c1,c2); |
36. | int x=2;z=x++-1; 则x的值为________________。 |
37. | C语言中一个函数由函数首部和________________两部分组成。 |
38. | static int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};其中a[1][2]的值为________________。 |
39. | int x=2,y=3,z=4; 则表达式x||y+z的值为________________。 |
40. | 复制字符串的库函数是________________,只写函数名即可。 |
41. | 表达式!10 的值是________________.(填数字) |
42. | 设a,b,t 为整型变量,初值为a=7,b=9,执行完语句t=(a>b)?a:b后,t 的值是________________。 |
43. | 在C程序中,数据可以用二进制和________________两种代码形式存放。 |
44. | 以下程序的输出结果为________________,#include "stdio.h" main(){int a;for(a=0;a<10;a++);printf("%d",a);} |
45. | 设c语言中,int类型数据占2个字节,则long类型数据占________________个字节,short类型数据占________________个字节。 |
46. | getchar()函数只能接收一个________________。 |
47. | feof(fp)函数用来判断文件是否结束,如果遇到文件结束,函数值为________________,否则为________________。 |
48. | 若有以下定义,则计算表达式y+=y-=m*=y后的y值是________________.int m=5,y=2; |
49. | int x=2,y=3,z=4; 则表达式x+y&&z的值为________________。 |
50. | c语言表达式!(4>=6)&&(3<=7)的值是________________。 |
评卷人 | 得分 | 二、判断 (共10题,合计10分) 下列描述正确打(√),错误打(×)。 |
1. | 设有数组定义: char array [ ]="hello"; 则数组 array所占的空间为5。( ) |
2. | 有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是 *(P+8)。( ) |
3. | 一个include 命令可以指定多个被包含的文件。( ) |
4. | 参加位运算的数据可以是任何类型的数据。( ) |
5. | 若有定义和语句:int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++) sum+=a[i][2-i];则sum=21。( ) |
6. | 语句 printf("%f%%",1.0/3);输出为 0.333333。( ) |
7. | 假设有int a[10], *p;则p=&a[0]与p=a等价( ) |
8. | 变量根据其作用域的范围可以分作局部变量和全局变量。( ) |
9. | 如果被调用函数的定义出现在主调函数之前,可以不必加以声明。( ) |
10. | int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A。( ) |
评卷人 | 得分 | 三、单项选择 (共100题,合计100分) 下列选项中,只有一个是正确的。 |
1. | 假设所有变量均为整型,表达式:a=2,b=5,a>b?a++:b++,a+b的值是()。 | |||
A. | 7 | B. | 8 | |
C. | 9 | D. | 2 | |
2. | C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是()。 | |||
A. | void | B. | int | |
C. | float | D. | double | |
3. | 下列正确的标识符是 | |||
A. | _do | B. | 6a | |
C. | %y | D. | a+b | |
4. | while(fabs(t)<1e-5)if(!s/10)break;循环结束的条件是()。 | |||
A. | t>=1e-5&&t<=-1e-5&&s>-10&&s<10 | |||
B. | fabs(t)<1e-5&&!s/10 | |||
C. | fabs(t)<1e-5 | |||
D. | s/10==0 | |||
5. | 在C语言中,形参的缺省存储类是()。 | |||
A. | auto | B. | register | |
C. | static | D. | extern | |
6. | 先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是()。 | |||
A. | c='a'; | B. | c="a"; | |
C. | c="97"; | D. | C='97' | |
7. | 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为 | |||
A. | 算术运算、赋值运算、关系运算 | B. | 关系运算、赋值运算、算术运算 | |
C. | 算术运算、关系运算、赋值运算 | D. | 关系运算、算术运算、赋值运算 | |
8. | 变量的指针,其含义是指该变量的()。 | |||
A. | 值 | B. | 地址 | |
C. | 名 | D. | 一个标志 | |
9. | 对结构体类型的变量的成员的访问,无论数据类型如何都可使用的运算符是()。 | |||
A. | . | B. | -> | |
C. | * | D. | & | |
10. | 以下描述中正确的是()。 | |||
A. | 由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 | |||
B. | do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号 | |||
C. | 在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零("假")的操作 | |||
D. | do-while 循环中,根据情况可以省略 while | |||
11. | 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是()。 | |||
A. | A%2==1 | B. | !(A%2==0) | |
C. | !(A%2) | D. | A%2 | |
12. | 执行语句 for(i=1;i++<4;); 后变量 i 的值是()。 | |||
A. | 3 | B. | 4 | |
C. | 5 | D. | 不定 | |
13. | 以下能对一维数组a进行正确初始化的语句是()。 | |||
A. | int a[10]=(0,0,0,0,0) | B. | int a[10]={}; | |
C. | int a[]={0}; | D. | int a[10]={10*1}; | |
14. | int i,j,a[2][3];按照数组a的元素在内存的排列次序,不能将数1,2,3,4,5,6存入a数组的是()。 | |||
A. | for(i=0;i<2;i++)for(j=0;j<3;j++)a[i][j]=i*3+j+1; | |||
B. | for(i=0;i<3;i++)for(j=0;j<2;j++)a[j][i]=j*3+i+1; | |||
C. | for(i=0;i<6;i++)a[i/3][i%3]=i+1; | |||
D. | for(i=1;i<=6;i++)a[i][i]=i; | |||
15. | 下列定义数组的语句中不正确的是()。 | |||
A. | static int a[2][3]={1,2,3,4,5,6}; | |||
B. | static int a[2][3]={{1},{4,5}}; | |||
C. | static int a[][3]={{1},{4}}; | |||
D. | static int a[][]={{1,2,3},{4,5,6}}; | |||
16. | char a1[]="abc",a2[80]="1234";将a1串连接到a2串后面的语句是()。 | |||
A. | strcat(a2,a1); | B. | strcpy(a2,a1); | |
C. | strcat(a1,a2); | D. | strcpy(a1,a2); | |
17. | C语言源程序名的后缀是 | |||
A. | exe | B. | c | |
C. | obj | D. | cp | |
18. | 假定所有变量均已正确定义,下列程序段运行后x的值是()。k1=1;k2=2;k3=3;x=15;if(!k1) x--;else if(k2) x=4; else x=3; | |||
运算符优先级按从高到低排列A. | 14 | B. | 4 | |
C. | 15 | D. | 3 | |
19. | 执行下列语句后,a和b的值分别为()。int a,b; a=1+'a'; b=2+7%-4-'A'; | |||
A. | -63,-64 | B. | 98,-60 | |
C. | 1,-60 | D. | 79,78 | |
20. | 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是()。 | |||
A. | 1 | B. | 2 | |
C. | 2.0 | D. | 2.5 | |
21. | 已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是()。 | |||
A. | 0 | B. | 语法错 | |
C. | 1 | D. | "假" | |
22. | 以下不正确的定义语句是()。 | |||
A. | double x[5]={2.0,4.0,6.0,8.0,10.0}; | |||
B. | int y[5]={0,1,3,5,7,9}; | |||
C. | char c1[]={'1','2','3','4','5'}; | |||
D. | char c2[]={'\x10','\xa','\x8'}; | |||
23. | 应用缓冲文件系统对文件进行读写操作,打开文件的函数名为()。 | |||
A. | open | B. | fopen | |
C. | close | D. | fclose | |
24. | 设变量定义为"int x, *p=&x;",则&(*p)相当于 | |||
A. | p | B. | *p | |
C. | x | D. | *(&x) | |
25. | 下列程序的输出为()。main( ) { int y=10; while(y--); printf("y=%d\n",y); } | |||
A. | y=0 | B. | while构成无限循环 | |
C. | y=1 | D. | y=-1 | |
26. | 以下数值中,不正确的八进制数或十六进制数是()。 | |||
A. | 0x16 | B. | 16 | |
C. | -16 | D. | 0xaaaa | |
27. | 以下叙述正确的是()。 | |||
A. | 可以把define和if定义为用户标识符 | |||
B. | 可以把define定义为用户标识符,但不能把if定义为用户标识符 | |||
C. | 可以把if定义为用户标识符,但不能把define定义为用户标识符 | |||
D. | define和if都不能定义为用户标识符 | |||
28. | 若有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]); | |
29. | 一个C程序的执行是从()。 | |||
A. | 本程序的main函数开始,到main函数结束 | |||
B. | 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 | |||
C. | 本程序的main函数开始,到本程序文件的最后一个函数结束 | |||
D. | 本程序文件的第一个函数开始,到本程序main函数结束 | |||
30. | 以下叙述中不正确的是()。 | |||
A. | C语言中的文本文件以ASCⅡ码形式存储数据 | |||
B. | C语言中对二进制文件的访问速度比文本文件快 | |||
C. | C语言中,随机读写方式不适用于文本文件 | |||
D. | C语言中,顺序读写方式不适用于二进制文件 | |||
31. | 结构体类型的定义允许嵌套是指()。 | |||
A. | 成员是已经或正在定义的结构体型 | |||
B. | 成员可以重名 | |||
C. | 结构体型可以派生 | |||
D. | 定义多个结构体型 | |||
32. | 下列变量定义中合法的是()。 | |||
A. | short _a=1-.1e-1; | B. | double b=1+5e2.5; | |
C. | long do=0xfdaL; | D. | float 2_and=1-e-3; | |
33. | 设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是()。 | |||
A. | 10101001 | B. | 10101000 | |
C. | 11111101 | D. | 01010101 | |
34. | 以下叙述中错误的是 | |||
A. | 可以通过typedef增加新的类型 | |||
B. | 可以用typedef将已存在的类型用一个新的名字来代表 | |||
C. | 用typedef定义新的类型名后,原有类型名仍有效 | |||
D. | 用typedef可以为各种类型起别名,但不能为变量起别名 | |||
35. | 以下程序段中,能够正确地执行循环的是()。 | |||
A. | for(i=1;i>10;i++) | |||
B. | static int a;while(a) | |||
C. | int s=6;do s-=2;while(s); | |||
D. | int s=6;m:if(s<100) exit(0); else s-=2;goto m: | |||
36. | 以下对二维数组a的正确说明是()。 | |||
A. | int a[3][] | B. | float a(3,4) | |
C. | double a[1][4] | D. | float a(3)(4) | |
37. | 若char a[10];已正确定义,以下语句中不能从键盘上给a数组的所有元素输入值的语句是()。 | |||
A. | gets(a); | |||
B. | scanf("%s",a); | |||
C. | for(i=0;i<10;i++)a[i]=getchar(); | |||
D. | a=getchar(); | |||
38. | 设a=12,且a定义为整型变量。执行语句a+=a-=a*=a;后a的值为()。 | |||
A. | 12 | B. | 144 | |
C. | 0 | D. | 132 | |
39. | 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()。 | |||
A. | char s[10]="abcdefg"; | |||
B. | char t[]="abcdefg",*s=t; | |||
C. | char s[10];s="abcdefg"; | |||
D. | char s[10];strcpy(s,"abcdefg"); | |||
40. | 以下数据中,不正确的数值或字符常量是()。 | |||
A. | 0 | B. | 5L | |
C. | o13 | D. | 9861 | |
41. | 设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为______。 | |||
A. | 0 | B. | 1 | |
C. | 2 | D. | 3 | |
42. | 为了避免在嵌套的条件语句 if-else 中产生二义性,C语言规定:else子句总是与()配对。 | |||
A. | 缩排位置相同的if | B. | 其之前最近的if | |
C. | 其之后最近的if | D. | 同一行上的if | |
43. | 下列说法不正确的是()。 | |||
A. | 主函数main中定义的变量在整个文件或程序中有效 | |||
B. | 不同函数中,可以使用相同名字的变量 | |||
C. | 形式参数是局部变量 | |||
D. | 在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效 | |||
44. | 下列运算符中优先级最高的是()。 | |||
A. | < | B. | + | |
C. | && | D. | != | |
45. | 设有以下语句, 若0<k<4,下列选项中对字符串的非法引用是()。 char str[4][2]={"aaa","bbb","ccc","ddd"},*strp[4]; int j; for (j=0;j<4;j++) strp[j]=str[j]; | |||
A. | strp | B. | str[k] | |
C. | strp[k] | D. | *strp | |
46. | 与实际参数为实型数组名相对应的形式参数不可以定义为()。 | |||
A. | float a[]; | B. | float *a; | |
C. | float a; | D. | float (*a)[3]; | |
47. | C语言结构体类型变量在程序执行期间()。 | |||
A. | 所有成员一直驻留在内存中 | B. | 只有一个成员驻留在内存中 | |
C. | 部分成员驻留在内存中 | D. | 没有成员驻留在内存中 | |
48. | 用户定义的函数不可以调用的函数是()。 | |||
A. | 非整型返回值的 | B. | 本文件外的 | |
C. | main函数 | D. | 本函数下面定义的 | |
49. | 若有说明:int a[3][4];则数组a中各元素()。 | |||
A. | 可在程序的运行阶段得到初值0 | |||
B. | 可在程序的编译阶段得到初值0 | |||
C. | 不能得到确定的初值 | |||
D. | 可在程序的编译或运行阶段得到初值0 | |||
50. | sizeof(float)是()。 | |||
A. | 一个双精度型表达式 | B. | 一个整型表达式 | |
C. | 一种函数调用 | D. | 一个不合法的表达式 | |
51. | 利用 fseek 函数可以实现的操作是()。 | |||
A. | 改变文件的位置指针 | B. | 文件的顺序读写 | |
C. | 文件的随机读写 | D. | 以上答案均正确 | |
52. | 若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是()。 | |||
A. | a,point,*&a | B. | &*a,&a,*point | |
C. | *&point,*point,&a | D. | &a,&*point,point | |
53. | 在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的表达式是()。 | |||
A. | (!E==0) | B. | (E>0||E<0) | |
C. | (E==0) | D. | (E!=0) | |
54. | 若使用一维数组名作函数实参,则以下正确的说法是()。 | |||
A. | 必须在主调函数中说明此数组的大小 | |||
B. | 实参数组类型与形参数组类型可以不匹配 | |||
C. | 在被调用函数中,不需要考虑形参数组的大小 | |||
D. | 实参数组名与形参数组名必须一致 | |||
55. | C语言中,char类型数据占()。 | |||
A. | 1个字节 | B. | 2个字节 | |
C. | 4个字节 | D. | 8个字节 | |
56. | 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 | |||
A. | A,B | B. | A,68 | |
C. | 65,66 | D. | 65,68 | |
57. | 设有说明:char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为( )。 | |||
A. | float | B. | int | |
C. | char | D. | double | |
58. | 下列数据中,为字符串常量的是()。 | |||
A. | A | B. | "house" | |
C. | How do you do. | D. | $abc | |
59. | 不仅可将C源程序存在磁盘上,还可将数据按数据类型分别以什么的形式存在磁盘上()。 | |||
A. | 内存 | B. | 缓冲区 | |
C. | 文件 | D. | 寄存器 | |
60. | 关于建立函数的目的,以下正确的说法是()。 | |||
A. | 提高程序的执行效率 | B. | 提高程序的可读性 | |
C. | 减少程序的篇幅 | D. | 减少程序文件所占内存 | |
61. | 下列语句的输出结果是()。printf("%d\n",(int)(2.5+3.0)/3); | |||
A. | 有语法错误不能通过编译 | B. | 2 | |
C. | 1 | D. | 0 | |
62. | 下面叙述中错误的是 | |||
A. | 函数的形式参数,在函数未被调用时就不被分配存储空间 | |||
B. | 若函数的定义出现在主调函数之前,则可以不必再加说明 | |||
C. | 若一个函数没有return语句,则什么值也不会返回 | |||
D. | 一般来说,函数的形参和实参的类型要一致 | |||
63. | C语言源程序的基本单位是()。 | |||
A. | 过程 | B. | 函数 | |
C. | 子程序 | D. | 标识符 | |
64. | 下面有关 for 循环的正确描述是()。 | |||
A. | for 循环只能用于循环次数已经确定的情况 | |||
B. | for 循环是先执行循环循环体语句,后判断表达式 | |||
C. | 在 for 循环中,不能用 break 语句跳出循环体 | |||
D. | for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 | |||
65. | 文件中有一个位置指针,指向当前读写的位置,不可使p所指文件的位置返回到文件的开头的是()。 | |||
A. | rewind(p); | B. | fseek(p,0,SEEK_SET); | |
C. | fseek(p,0,0); | D. | fseek(p,-3L,SEEK_CUR); | |
66. | 以下程序的执行结果是________. main( ) { int w = 1, x = 2, y = 3, z = 4; w =( w < x ) ? x : w; w =( w < y ) ? y : w; w =( w < z ) ? z : w; printf( "%d " , w );} | |||
A. | 1 | B. | 2 | |
C. | 3 | D. | 4 | |
67. | 若变量已正确定义,执行语句scanf("%d,%d,%d ",&k1,&k2,&k3);时,___是正确的输入 | |||
A. | 2030,40 | B. | 20 30 40 | |
C. | 20, 30 40 | D. | 20,30,40 | |
68. | 以下不正确的说法是:C语言规定()。 | |||
A. | 实参可以是常量,变量或表达式 | B. | 形参可以是常量,变量或表达式 | |
C. | 实参可以为任何类型 | D. | 形参应与其对应的实参类型一致 | |
69. | main( ){int x=1,a=0,b=0;switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b);}该程序的输出结果是( ) | |||
A. | 2,1 | B. | 1,1 | |
C. | 1,0 | D. | 2,2 | |
70. | 若a是float型变量,b是unsigned型变量,以下输入语句中合法的是()。 | |||
A. | scanf("%6.2f%d",&a,&b); | B. | scanf("%f%n",&a,&b); | |
C. | scanf("%f%3o",&a,&b); | D. | scanf("%f%f",&a,&b); | |
71. | 在下列程序段中,枚举变量c1,c2的值依次是()。 enum color {red,yellow,blue=4,green,white} c1,c2;c1=yellow;c2=white; printf("%d,%d\n",c1,c2); | |||
A. | 1,6 | B. | 2,5 | |
C. | 1,4 | D. | 2,6 | |
72. | 已知year为整型变量,不能使表达式(year%4==0&&year%100!=0)||year%400==0的值为“真”的数据是()。 | |||
A. | 1990 | B. | 1992 | |
C. | 1996 | D. | 2000 | |
73. | C语言规定,函数返回值的类型是由()。 | |||
A. | return语句中的表达式类型所决定 | |||
B. | 调用该函数时的主调函数类型所决定 | |||
C. | 调用该函数时系统临时决定 | |||
D. | 在定义该函数时所指定的函数类型所决定 | |||
74. | 下列关于C语言数据文件的叙述中正确的是()。 | |||
A. | 文件由ASCII码字符序列组成,C语言只能读写文本文件 | |||
B. | 文件由二进制数据序列组成,C语言只能读写二进制文件 | |||
C. | 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 | |||
D. | 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 | |||
75. | 在C程序中,可把整型数以二进制形式存放到文件中的函数是()。 | |||
A. | fprintf函数 | B. | fread函数 | |
C. | fwrite函数 | D. | fputc函数 | |
76. | fseek函数的正确调用形式是()。 | |||
A. | fseek(文件类型指针,起始点,位移量) | |||
B. | fseek(fp,位移量,起始点) | |||
C. | fseek(位移量,起始点,fp) | |||
D. | fseek(起始点,位移量,文件类型指针) | |||
77. | 设变量定义为"int a, b;",执行下列语句时,输入_____,则a和b的值都是10. scanf("a=%d, b=%d",&a, &b); | |||
A. | 10 10 | B. | 10, 10 | |
C. | a=10 b=10 | D. | a=10, b=10 | |
78. | 以下语句中,循环次数不为10次的语句是()。 | |||
A. | for(i=1;i<10;i++); | B. | i=1;do{i++;}while(i<=10); | |
C. | i=10;while(i>0){--i;} | D. | i=1;m:if(i<=10){i++;goto m;} | |
79. | 下列四组选项中,均不是C语言关键字的选项是()。 | |||
A. | define IF type | B. | getc char printf | |
C. | include scanf case | D. | while go pow | |
80. | 若有说明 int a[3][4];则对a数组元素的正确引用是()。 | |||
A. | a[2][4] | B. | a[1,3] | |
C. | a[1+1][0] | D. | a(2)(1) | |
81. | C语言程序中,当调用函数时()。 | |||
A. | 实参和虚参各占一个独立的存储单元 | |||
B. | 实参和虚参可以共用存储单元 | |||
C. | 可以由用户指定是否共用存储单元 | |||
D. | 计算机系统自动确定是否共用存储单元 | |||
82. | 以下叙述不正确的是()。 | |||
A. | 一个C源程序可由一个或多个函数组成 | |||
B. | 一个C源程序必须包含一个main函数 | |||
C. | C程序的基本组成单位是函数 | |||
D. | 在C程序中,注释说明只能位于一条语句的后面 | |||
83. | 以下叙述中正确的是()。 | |||
A. | 构成C程序的基本单位是函数 | |||
B. | 可以在一个函数中定义另一个函数 | |||
C. | main()函数必须放在其它函数之前 | |||
D. | 所有被调用的函数一定要在调用之前进行定义 | |||
84. | 对于基本类型相同的两个指针变量之间,不能进行的运算是()。 | |||
A. | < | B. | = | |
C. | + | D. | - | |
85. | 函数 ftell(fp) 的作用是()。 | |||
A. | 得到流式文件中的当前位置 | B. | 移到流式文件的位置指针 | |
C. | 初始化流式文件的位置指针 | D. | 以上答案均正确 | |
86. | 若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;不能表示a数组元素的表达式是 | |||
A. | *p | B. | a[9] | |
C. | *p++ | D. | a[*p-a] | |
87. | 在C语言中,要求运算数必须是整型或字符型的运算符是()。 | |||
A. | && | B. | & | |
C. | ! | D. | || | |
88. | 设j和k都是int类型,则for循环语句 for(j=0,k=-1;k=1;j++,k++) printf("****\n");()。 | |||
A. | 循环结束的条件不合法 | B. | 是无限循环 | |
C. | 循环体一次也不执行 | D. | 循环体只执行一次 | |
89. | 若有说明语句:char c='\72';则变量c()。 | |||
A. | 包含1个字符 | B. | 包含2个字符 | |
C. | 包含3个字符 | D. | 说明不合法,c的值不确定 | |
90. | double x;scanf("%lf",&x);不可以赋值给x变量的常量是()。 | |||
A. | 123 | B. | 100000 | |
C. | A' | D. | "abc" | |
91. | 以下所列的C语言常量中,错误的是______。 | |||
A. | 0xFF | B. | 1.2e0.5 | |
C. | 2L | D. | '\72' | |
92. | 以下正确的说法是()。 | |||
A. | 定义函数时,形参的类型说明可以放在函数体内 | |||
B. | return后边的值不能为表达式 | |||
C. | 如果函数值的类型与返回值类型不一致,以函数值类型为准 | |||
D. | 如果形参与实参类型不一致,以实参类型为准 | |||
93. | 若a=1,b=2则 a|b的值是()。 | |||
A. | 0 | B. | 1 | |
C. | 2 | D. | 3 | |
94. | 已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为()。char a='a'; a--;printf("%d,%c\n",a+'2'-'0',a+'3'-'0'); | |||
A. | b,c | |||
B. | a--运算不合法,故有语法错 | |||
C. | 98,c | |||
D. | 格式描述和输出项不匹配,输出无定值 | |||
95. | 以下正确的说法是:在C语言中()。 | |||
A. | 实参和与其对应的形参各占用独立的存储单元 | |||
B. | 实参和与其对应的形参共占用一个存储单元 | |||
C. | 只有当实参和与其对应的形参同名时才共占用存储单元 | |||
D. | 形参是虚拟的,不占用存储单元 | |||
96. | 若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的选项是()。 | |||
A. | p1=&m;p2=&p1 | B. | p1=&m;p2=&n;*p1=*p2; | |
C. | p1=&m;p2=p1; | D. | p1=&m;*p2=*p1; | |
97. | t为int类型,进人下面的循环之前,t的值为0while( t=1 ){ ……}则以下叙述中正确的是______。 | |||
A. | 循环控制表达式的值为0 | B. | 循环控制表达式的值为1 | |
C. | 循环控制表达式不合法 | D. | 以上说法都不对 | |
98. | C语言源程序文件经过C编译程序编译连接之后生成一个后缀为( )的可执行文件 | |||
A. | .c | B. | .obj | |
C. | .exe | D. | .bas | |
99. | 若二维数组a有m列,则在a[i][j]前的元素个数为()。 | |||
A. | j*m+i | B. | i*m+j | |
C. | i*m+j-1 | D. | i*m+j+1 | |
100. | 执行下列程序段后,m的值是________. int w=2,x=3,y=4,z=5,m; m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z; | |||
A. | 4 | B. | 3 | |
C. | 5 | D. | 2 | |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论