选择判断题

更新时间:2023-03-08 09:26:18 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

二.判断题(60道,大致有二十多道我在题库里遇到过) 1.参加位运算的数据可以是任何类型的数据。(错) 2.若有定义和语句:

int a;char c;float f;scanf(\若通过键盘输入:

10,A,12.5,则a=10,c='A',f=12.5. (对)

3. 若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义, 所以此宏定义是错误的。(错)

4. 在Turbo C中,下面的定义和语句是合法的:file *fp;fp=fopen(\(错) 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. 在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。(正确) 7. 在C 语言中,此定义和语句是合法的:enum aa{ a=5,b,c}bb;bb=(enum aa)5; (错) 8. 在Turbo C中,整型数据在内存中占2个字节。(错)

9. int i=20;switch(i/10){case 2:printf(\ ; case 1:printf(\的输出结果为A。(错) 10. 函数strlen(\的值是7。(错)

11. 通过return语句,函数可以带回一个或一个以上的返回值。(错) 12. 结构体类型只有一种。(错)

13. char *p=\的含义是定义字符型指针变量p,p的值是字符串\。(错) 14. 用fopen(\打开的文件\可以进行修改。(对) 15. 整数 -32100可以赋值给int型和long int型变量。(错) 16.若i =3,则printf(\输出的值为 -4。(错) 17.x*=y+8 等价于 x=x*(y+8)。(对)

18. a=(b=4)+(c=6) 是一个合法的赋值表达式。(对)

19. C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。(对) 20. 语句 printf(\输出为 0.333333。(错) 21.语句scanf(\是一个合法的scanf函数。(错) 22.关系运算符<= 与 == 的优先级相同。(错)

23.若 a=3,b=2,c=1 则关系表达式\的值为\真\。(对) 24. C语言中只能逐个引用数组元素而不能一次引用整个数组。(对)

25. 如果想使一个数组中全部元素的值为0,可以写成int a[10]={0*10}; (错) 26. int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0。(对)

27.char c[]=\是一个合法的为字符串数组赋值的语句。(对)

28. 如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。(对) 29. 进行宏定义时,宏名必须使用大写字母表示。(错)

30. 若有 # define S(a,b) a*b 则语句 area=S(3,2); area的值为6。(对) 31. 共同体变量所占的内存长度等于最长的成员的长度。(对) 32. 若有说明int c;则while(c=getchar());是正确的C语句。(对) 33. int i,*p=&i;是正确的C说明。(对) 34. 7&3+12的值是15。(错)

35. 若有int ⅰ=10, j=0;则执行完语句if (j=0)ⅰ+ +; else ⅰ- -; ⅰ的值为11。(错) 36. 若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。(错)

37. C程序中有调用关系的所有函数必须放在同一个源程序文件中。(错)

38. 如果有一个字符串,其中第十个字符为'\\n',则此字符串的有效字符为9个。(错) 39. #define 和printf 都不是C语句。(对)

40. 一个include 命令可以指定多个被包含的文件。(错)

41. 设有数组定义: char array [ ]=\则数组 array所占的空间为5.(错) 42. 函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是5.(错) 43. C语言中\运算符的运算对象必须是整型.(对)

44. 循环结构中的continue语句是使整个循环终止执行(错)

45. while和do…while循环不论什么条件下它们的结果都是相同的.(错) 46. 十进制数15的二进制数是1111.(对)

47. 假设有int a[10], *p;则p=&a[0]与p=a等价(对) 48. 逻辑表达式-5&&!8的值为1.(错)

49. 在C程序中 , 函数既可以嵌套定义 , 也可以嵌套调用 (错) 50. 变量根据其作用域的范围可以分作局部变量和全局变量. (对) 51. C语言所有函数都是外部函数. (错) 52. 表达式 (j=3, j++) 的值是4. (对) 53. C语言的函数可以嵌套定义. (错)

54. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式. (错) 55. 有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是 *(P+8). (错) 56. 两个字符串中的字符个数相同时才能进行字符串大小的比较 (错) 57. c程序总是从程序的第一条语句开始执行. (错) 58. typedef可以定义生成新的数据类型. (错)

59. 字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面. (错) 60. 如果被调用函数的定义出现在主调函数之前,可以不必加以声明. (对) 三.选择(题比较多) 〖第1题〗98)

设有以下语句, 若0

for (j=0;j<4;j++) strp[j]=str[j]; A:strp B:str[k] C:strp[k] D:*strp

答案:A

〖第2题〗45)

经下列语句定义后,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

〖第3题〗76)

数组名作为实参数传递给函数时,数组名被处理为()。 A:该数组的长度 B:该数组的元素个数 C:该数组的首地址

D:该数组中各元素的值

答案:C

〖第4题〗74)

C语言程序中,若对函数类型未加显式说明,则函数的隐含说明类型为()。 A:void B:double C:int D:char

答案:C

〖第5题〗214)

C语言中的文件的存储方式有()。 A:只能顺序存取

B:只能随机存取(或直接存取) C:可以顺序存取,也可随机存取 D:只能从文件的开头进行存取

答案:C

〖第6题〗96)

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

B:#ab C:symbol D:a_1

答案:B

〖第7题〗03)

以下运算符中,优先级最高的运算符是()。 A:*= B:>= C:(类型) D:+

答案:C

〖第8题〗209)

若有以下程序段:int a=3,b=4; a=a^b;b=b^a;a=a^b;则执行以上 语句后,a和b的值分别是()。 A:a=3,b=4 B:a=4,b=3 C:a=4,b=4 D:a=3,b=3

答案:B

〖第9题〗42)

以下程序的输出结果为()。 main()

{int i=010,j=10;

printf(\}

A:11,10 B:9,10 C:010,9 D:10,9

答案:B

〖第10题〗80)

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

func((e1,e2),(e3,e4,e5)); A:2 B:3 C:5

D:语法错误

答案:A

〖第11题〗61)

设j和k都是int类型,则for循环语句

for(j=0,k=-1;k=1;j++,k++) printf(\()。 A:循环结束的条件不合法 B:是无限循环

C:循环体一次也不执行 D:循环体只执行一次

答案:B

〖第12题〗22)

以下不符合C语言语法的赋值语句是()。 A:j++; B:j=j=5;

C:k=2*4,k*4; D:y=float(j);

答案:D

〖第13题〗205)

变量p为指针变量,若p=&a,下列说法不正确的是()。 A:&*p==&a B:*&a==a

C:(*p)++==a++ D:*(p++)==a++

答案:D

〖第14题〗211)

fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是()。 A:字符串读入后不会自动加入'\\0' B:fp是file类型的指针

C:fgets函数将从文件中最多读入n-1个字符 D:fgets函数将从文件中最多读入n个字符

答案:C

〖第15题〗33)

若有以下定义:char s='\\092'; 则该语句()。 A:使s的值包含1个字符 B:定义不合法,s的值不确定 C:使s的值包含4个字符 D:使s的值包含3个字符

答案:B

〖第16题〗202)

设有如下定义: struct sk {int a; float b;} data,*p; 若要使p指向data中的a域,正确的赋值语句是()。 A:p=(struct sk*)&data.a; B:p=(struct sk*) data.a; C:p=&data.a; D:*p=data.a;

答案:A

〖第17题〗89)

以下标识符中,不能作为合法的C用户定义标识符的是()。 A:a3_b3 B:void C:_123 D:IF

答案:B

〖第18题〗21)

以下不符合C语言语法的赋值语句是()。 A:a=1,b=2 B:++j; C:a=b=5;

D:y=(a=3,6*5);

答案:A

〖第19题〗13)

执行下列语句后变量x和y的值是()。 y=10;x=y++; A:x=10,y=10 B:x=11,y=11 C:x=10,y=11 D:x=11,y=10

答案:C

〖第20题〗96)

若有下列定义,则对a数组元素地址的正确引用是()。 int a[5],*p=a; A:*(p+5) B:*p+2 C:*(a+2) D:*&a[5]

答案:C

〖第1题〗543)

若有int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5 的语句为()。

A:printf(\B:printf(\C:printf(\D:printf(\

答案:D

〖第2题〗441)

下列语句中,不正确的是()。 A:static char a[2]={1,2}; B:static int a[2]={'1','2'}; C:static char a[2]={'1','2','3'}; D:static char a[2]={'1'};

答案:C

〖第3题〗90)

以下数据中,不正确的数值或字符常量是()。 A:0 B:5L C:o13 D:9861

答案:C

〖第4题〗700)

设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下 不能正确执行的赋值语句是()。 A:c=*p1+*p2; B:p2=c; C:p1=p2;

D:c=*p1*(*p2);

答案:B

〖第5题〗705)

若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是()。 A:a,point,*&a B:&*a,&a,*point C:*&point,*point,&a D:&a,&*point,point

答案:D

〖第6题〗688)

若a=1,b=2则 a|b的值是()。 A:0 B:1 C:2 D:3

答案:D

〖第7题〗737)

下列关于C语言数据文件的叙述中正确的是()。

A:文件由ASCII码字符序列组成,C语言只能读写文本文件 B:文件由二进制数据序列组成,C语言只能读写二进制文件

C:文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 D:文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件

答案:D

〖第8题〗591)

设有 int x=11; 则表达式 (x++ * 1/3) 的值是()。 A:3 B:4 C:11 D:12

答案:A

〖第9题〗656)

以下数组定义中不正确的是()。 A:int a[2][3];

B:int b[][3]={0,1,2,3}; C:int c[100][100]={0};

D:int d[3][]={{1,2},{1,2,3},{1,2,3,4}};

答案:D

〖第10题〗727)

以下read函数的调用形式中,参数类型正确的是()。 A:read(int fd,char *buf,int count) B:read(int *buf,int fd,int count) C:read(int fd,int count,char *buf) D:read(int count,char *buf,int fd)

答案:A

〖第11题〗384)

以下数据中,不正确的数值或字符常量是()。 A:c

B:66 C:0xaa D:50

答案:A

〖第12题〗641)

若有说明:int a[10];则对a数组元素的正确引用是()。 A:a[10] B:a[3,5] C:a(5) D:a[10-10]

答案:D

〖第13题〗633)

对以下说明语句 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

〖第14题〗35)

已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为()。 char a='a'; a--;

printf(\A:b,c

B:a--运算不合法,故有语法错 C:98,c

D:格式描述和输出项不匹配,输出无定值

答案:C

〖第15题〗692)

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

A:在程序的一行上可以出现多个有效的预处理命令行 B:使用带参的宏时,参数的类型应与宏定义时的一致

C:宏替换不占用运行时间,只占编译时间

D:在以下定义中 C R 是称为\宏名\的标识符 #define C R 045

答案:C

〖第16题〗720)

函数 rewind 的作用是()。

A:使位置指针重新返回文件的开头

B:将位置指针指向文件中所要求的特定位置 C:使位置指针指向文件的末尾

D:使位置指针自动移至下一个字符位置

答案:A

〖第17题〗635)

若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()。 A:2 B:3 C:4

D:无确定值

答案:B

〖第18题〗378)

下列字符序列中,不可用作C语言标识符的是()。 A:b70 B:#ab C:symbol D:a_1

答案:B

〖第19题〗655)

假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};, 则数组x在内存中所占字节数是()。 A:3 B:6 C:10 D:20

答案:D

〖第20题〗453)

以下函数调用语句中实参的个数是()。 exce((v1,v2),(v3,v4,v5),v6); A:3 B:4 C:5 D:6

答案:A

〖第21题〗433)

下列程序的输出为()。 main() { int y=10; while(y--) A:y=0

B:while构成无限循环 C:y=1 D:y=-1

答案:D

〖第22题〗06)

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

A:一个好的程序应该有详尽的注释

B:在C程序中,赋值运算符的优先级最低 C:在C程序中,j++;是一条赋值语句

D:C程序中的#include和#define均不是C语句

答案:B

〖第23题〗647)

以下能对二维数组a进行正确初始化的语句是()。 A:int a[2][]={{1,0,1},{5,2,3}}; B:int a[][3]={{1,2,3},{4,5,6}}; C:int a[2][4]={{1,2,3},{4,5},{6}}; D:int a[][3]={{1,0,1}{},{1,1}};

答案:B

〖第24题〗92)

; printf(\ }

下面选择中正确的赋值语句是(设char a[5],*p=a;)()。 A:p=\B:a=\C:*p=\D:*a=\

答案:A

〖第25题〗01)

以下数据中,不正确的数值或字符常量是()。 A:8.9e1.2 B:10 C:0xff00 D:82.5

答案:A

〖第26题〗664)

以下正确的函数定义形式是()。 A:double fun(int x,int y) B:double fun(int x;int y) C:double fun(int x,int y); D:double fun(int x,y);

答案:A

〖第27题〗47)

执行下列语句后,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

答案:B

〖第28题〗400)

下列语句的输出结果是()。 printf(\

A:有语法错误不能通过编译 B:2 C:1 D:0

答案:C

〖第29题〗734)

以下可作为函数fopen中第一个参数的正确格式是()。 A:c:user\\text.txt B:c:\%user\\text.txt C:\D:\

答案:D

〖第30题〗730)

若以\方式打开一个已存在的文件,则以下叙述正确的是()。

A:文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作 B:文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作 C:文件打开时,原有文件内容被删除,只可作写操作 D:以上各种说法皆不正确

答案:A

〖第31题〗601)

下面四个选项中,均是不合法的浮点数的选项是()。 A:160. 0.12 e3 B:123 2e4.2 .e5 C:-.18 123e4 0.0 D:-e3 .234 1e3

答案:B

〖第32题〗603)

以下符合C语言语法的赋值表达式是()。 A:d=9+e+f=d+9 B:d=9+e,f=d+9 C:d=9+e,e++,d+9 D:d=9+e++=d+7

答案:B

〖第33题〗214)

C语言中的文件的存储方式有()。 A:只能顺序存取

B:只能随机存取(或直接存取) C:可以顺序存取,也可随机存取 D:只能从文件的开头进行存取

答案:C

〖第34题〗454)

以下函数调用语句中实参的个数是()。 func((e1,e2),(e3,e4,e5)); A:2 B:3 C:5

D:语法错误

答案:A

〖第35题〗567)

以下叙述中正确的是 ()。 A:C语言比其他语言高级

B:C语言可以不用编译就能被计算机识别执行

C:C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D:C语言出现的最晚,具有其他语言的一切优点

答案:C

〖第36题〗88)

两个指针变量不可以()。 A:相加 B:比较 C:相减

D:指向同一地址

答案:A

〖第37题〗528)

对于void类型函数,调用时不可作为()。 A:自定义函数体中的语句 B:循环体里的语句 C:if语句的成分语句 D:表达式

答案:D

〖第38题〗77)

以下描述中,正确的是()。

A:预处理是指完成宏替换和文件包含中指定的文件的调用 B:预处理指令只能位于C源文件的开始

C:C源程序中凡是行首以#标识的控制行都是预处理指令

D:预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备

答案:C

〖第39题〗560)

能将高级语言编写的源程序转换为目标程序的是()。 A:链接程序 B:解释程序 C:编译程序 D:编辑程序

答案:C

〖第40题〗740)

若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作, 下面符合此要求的函数调用是()。 A:fopen(\B:fopen(\C:fopen(\D:fopen(\

答案:B

一、单项选择 共300题

━━━━━━━━━━━━━━━━━━

第1题 (1.0分) 题号:513

int a[10];合法的数组元素的最小下标值为()。 A:10 B:9 C:1 D:0

答案:D

第2题 (1.0分) 题号:681

以下运算符中优先级最低的是()。 A:&& B:& C:|| D:|

答案:C

第3题 (1.0分) 题号:187

经过下列的语句 int j,a[10],*p;定义后,下列语句中合法的是()。 A:p=p+2; B:p=a[5]; C:p=a[2]+2; D:p=&(j+2); 下次从这里始!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 答案:A

第4题 (1.0分) 题号:640

以下对二维数组a的正确说明是()。 A:int a[3][] B:float a(3,4) C:double a[1][4] D:float a(3)(4)

答案:C

第5题 (1.0分) 题号:684

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

答案:B

第6题 (1.0分) 题号:654

以下不能正确定义二维数组的选项是()。 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

第7题 (1.0分) 题号:742

若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp) 的返回值是()。 A:EOF B:0

C:非零值 D:NULL

答案:C

第8题 (1.0分) 题号:108

设C语言中,int类型数据占2个字节,则short类型数据占()。 A:1个字节 B:2个字节 C:4个字节 D:8个字节

答案:B

第9题 (1.0分) 题号:489

下列标识符中,不合法的C语言用户自定义标识符是()。 A:printf B:enum C:_ D:sin

答案:B

第10题 (1.0分) 题号:646

若有说明 int a[3][4];则a数组元素的非法引用是()。 A:a[0][2*1] B:a[1][3] C:a[4-2][0] D:a[0][4]

答案:D

第11题 (1.0分) 题号:658

若使用一维数组名作函数实参,则以下正确的说法是()。 A:必须在主调函数中说明此数组的大小 B:实参数组类型与形参数组类型可以不匹配 C:在被调用函数中,不需要考虑形参数组的大小 D:实参数组名与形参数组名必须一致

答案:A

第12题 (1.0分) 题号:728

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

A:一个整数,代表要读入的数据项总数 B:一个文件指针,指向要读的文件

C:一个指针,指向要读入数据的存放地址 D:一个存储区,存放要读的数据项

答案:C

第13题 (1.0分) 题号:145

经下列语句定义后,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

第14题 (1.0分) 题号:106 以下叙述中不正确的是()。

A:一个好的程序应该有详尽的注释

B:在C程序中,赋值运算符的优先级最低 C:在C程序中,j++;是一条赋值语句

D:C程序中的#include和#define均不是C语句

答案:B

第15题 (1.0分) 题号:594

设 int x=1, y=1; 表达式(!x||y--)的值是()。 A:0 B:1 C:2 D:-1

答案:B

第16题 (1.0分) 题号:711 下列选项中正确的语句组是()。 A:char s[8]; s[8]={\B:char *s; s={\C:char s[8]; s=\D:char *s; s=\

答案:D

第17题 (1.0分) 题号:195

若有下列定义和语句,则对a数组元素的非法引用是()。 int a[2][3], (*pt)[3]; pt=a; A:pt[0][0] B:*(pt+1)[2] C:*(pt[1]+2) D:*(a[0]+2

答案:B

第18题 (1.0分) 题号:612

语句while(!E);中的表达式!E等价于()。 A:E==0 B:E!=1 C:E!=0 D:E==1

答案:A

第19题 (1.0分) 题号:100

以下标识符中,不能作为合法的C用户定义标识符的是()。 A:putchar B:_double C:_123 D:INT

答案:A

第20题 (1.0分) 题号:715

若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是()。 A:i=*p; B:*p=*&j; C:i=&j; D:i=**p;

答案:B

第21题 (1.0分) 题号:633

对以下说明语句 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

第22题 (1.0分) 题号:431 下列程序的输出结果是()。

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:a=1,b=0 B:a=2,b=1 C:a=1,b=1 D:a=2,b=2

答案:B

第23题 (1.0分) 题号:552

应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。 A:fclose() B:close() C:fread() D:fwrite

答案:A

第24题 (1.0分) 题号:556

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

第25题 (1.0分) 题号:543

若有int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5 的语句为()。

A:printf(\B:printf(\C:printf(\D:printf(\

答案:D

第26题 (1.0分) 题号:580

设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A:int B:float C:double D:不确定

答案:C

第27题 (1.0分) 题号:199

若有int a[][]={{1,2},{3,4}}; 则*(a+1),*(*a+1)的含义分别为()。 A:非法,2 B:&a[1][0],2 C:&a[0][1],3 D:a[0][0],4

答案:B

第28题 (1.0分) 题号:148

C语言中要求对变量作强制定义的主要理由是()。 A:便于移植 B:便于写文件

C:便于编辑预处理程序的处理 D:便于确定类型和分配空间

答案:D

第29题 (1.0分) 题号:202

设有如下定义: struct sk {int a; float b;} data,*p; 若要使p指向data中的a域,正确的赋值语句是()。 A:p=(struct sk*)&data.a; B:p=(struct sk*) data.a; C:p=&data.a; D:*p=data.a;

答案:A

第30题 (1.0分) 题号:697 若x=2,y=3则x&y的结果是()。 A:0 B:2

C:3 D:5

答案:B

第31题 (1.0分) 题号:136 下列程序的输出结果为()。 main()

{int m=7,n=4;

float a=38.4,b=6.4,x; x=m/2+n*a/b+1/2; printf(\}

A:27.000000 B:27.500000 C:28.000000 D:28.500000

答案:A

第32题 (1.0分) 题号:131

若k为int型变量,则以下程序段的执行结果是()。 k=-8567; printf(\A:格式描述符不合法,输出无定值 B:输出为|D| C:输出为|0-8567| D:输出为|-8567|

答案:B

第33题 (1.0分) 题号:523

函数的形式参数隐含的存储类型说明是()。 A:extern B:static C:register D:auto

答案:D

第34题 (1.0分) 题号:550

不仅可将C源程序存在磁盘上,还可将数据按数据类型分别以什么的 形式存在磁盘上()。 A:内存 B:缓冲区

C:文件 D:寄存器

答案:C

第35题 (1.0分) 题号:571 以下叙述正确的是()。

A:在C程序中,main函数必须位于程序的最前面 B:C程序的每行中只能写一条语句 C:C语言本身没有输入输出语句

D:在对一个C程序进行编译的过程中,可发现注释中的拼写错误

答案:C

第36题 (1.0分) 题号:509 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

第37题 (1.0分) 题号:693

以下各选项企图说明一种新的类型名,其中正确的是()。 A:typedef v1 int; B:typedef v2=int; C:typedef int v3; D:typedef v4: int;

答案:C

第38题 (1.0分) 题号:151 以下程序的运行结果是()。 main() {

int i=1,sum=0;

while(i<10) sum=sum+1;i++;

printf(\}

A:i=10,sum=9 B:i=9,sum=9 C:i=2,sum=1 D:运行出现错误

答案:D

第39题 (1.0分) 题号:94

在C语言中,能代表逻辑值“真”的是()。 A:True

B:大于0的数 C:非0整数 D:非0的数

答案:D

第40题 (1.0分) 题号:632 以下叙述正确的是()。

A:do-while语句构成的循环不能用其它语句构成的循环来代替. B:do-while语句构成的循环只能用break语句退出.

C:用do-while语句构成的循环,在while后的表达式为非零时结束循环. D:用do-while语句构成的循环,在while后的表达式为零时结束循环

答案:D

第41题 (1.0分) 题号:500 下列程序段的输出结果为()。

int x=3,y=2;

printf(\A:1 B:7 C:3 D:5

答案:C

第42题 (1.0分) 题号:518

char a[]=\输出前5个字符的语句是()。 A:printf(\B:puts(a);

C:printf(\D:a[5*2]=0;puts(a);

答案:A

第43题 (1.0分) 题号:669

若用数组名作为函数的实参,传递给形参的是()。 A:数组的首地址

B:数组第一个元素的值 C:数组中全部元素的值 D:数组元素的个数

答案:A

第44题 (1.0分) 题号:496

double x;scanf(\不可以赋值给x变量的常量是()。 A:123 B:100000 C:A' D:\

答案:D

第45题 (1.0分) 题号:531

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

答案:B

第46题 (1.0分) 题号:630

逻辑运算符两侧运算对象的数据类型()。 A:只能是0或1

B:只能是0或非0正数

C:只能是整型或字符型数据 D:可以是任何类型的数据

答案:D

第47题 (1.0分) 题号:708 下面判断正确的是()。

A:char *a=\等价于 char *a;*a=\

B:char str[10]={\等价于char str[10];str[]={\C:char *s=\等价于 char *s;s=\

D:char c[4]=\等价于 char c[4]=d[4]=\

答案:C

第48题 (1.0分) 题号:206 以下程序的输出结果是()。 main()

{ char s[]=\ p=s;

printf(\ } A:123 B:321 C:213 D:312

答案:B

第49题 (1.0分) 题号:579

在C语言中,char型数据在内存中的存储形式是()。 A:补码 B:反码 C:原码 D:ASCII码

答案:D

第50题 (1.0分) 题号:211

fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是()。 A:字符串读入后不会自动加入'\\0' B:fp是file类型的指针

C:fgets函数将从文件中最多读入n-1个字符 D:fgets函数将从文件中最多读入n个字符

答案:C

第51题 (1.0分) 题号:112 下列程序的输出结果是()。 main()

{char c1=97,c2=98; printf(\}

A:97 98 B:97 b C:a 98 D:a b

答案:B

第52题 (1.0分) 题号:586 以下选项中合法的实型常数是()。 A:5E2.0 B:E-3 C:.2E0 D:1.3E

答案:C

第53题 (1.0分) 题号:92

以下的选择中,正确的赋值语句是()。 A:a=1,b=2 B:j++ C:a=b=5; D:y=int(x)

答案:C

第54题 (1.0分) 题号:740

若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作, 下面符合此要求的函数调用是()。 A:fopen(\B:fopen(\C:fopen(\D:fopen(\

答案:B

第55题 (1.0分) 题号:565 以下叙述中正确的是()。

A:C语言的源程序不必通过编译就可以直接运行

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

答案:B

第56题 (1.0分) 题号:157 下列程序的输出结果是()。 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:a=1,b=0 B:a=2,b=1 C:a=1,b=1 D:a=2,b=2

答案:B

第57题 (1.0分) 题号:558

int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是()。 A:2 B:3 C:4

D:不一定

答案:B

第58题 (1.0分) 题号:178

以下对C语言函数的描述中,正确的是()。 A:C程序必须由一个或一个以上的函数组成 B:C函数既可以嵌套定义又可以递归调用 C:函数必须有返回值,否则不能使用函数

D:C程序中有调用关系的所有函数必须放在同一个程序文件中

答案:A

第59题 (1.0分) 题号:210

在位运算中,操作数每右移一位,其结果相当于()。 A:操作数乘以2

B:操作数除以2 C:操作数乘以16 D:操作数除以16

答案:B

第60题 (1.0分) 题号:674

以下错误的描述是:函数调用可以()。 A:出现在执行语句中 B:出现在一个表达式中 C:做为一个函数的实参 D:做为一个函数的形参

答案:D

第61题 (1.0分) 题号:212 C语言中的文件类型只有()。 A:索引文件和文本文件两种 B:ASCII文件和二进制文件两种 C:文本文件一种 D:二进制文件一种

答案:B

第62题 (1.0分) 题号:570 以下叙述不正确的是()。

A:一个C源程序可由一个或多个函数组成 B:一个C源程序必须包含一个main函数 C:C程序的基本组成单位是函数

D:在C程序中,注释说明只能位于一条语句的后面

答案:D

第63题 (1.0分) 题号:524

与实际参数为实型数组名相对应的形式参数不可以定义为()。 A:float a[]; B:float *a; C:float a;

D:float (*a)[3];

答案:C

第64题 (1.0分) 题号:659

凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。

A:自动(auto) B:静态(static) C:外部(extern) D:寄存器(register)

答案:A

第65题 (1.0分) 题号:636

若二维数组a有m列,则在a[i][j]前的元素个数为()。 A:j*m+i B:i*m+j C:i*m+j-1 D:i*m+j+1

答案:B

第66题 (1.0分) 题号:146

用下列语句定义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

第67题 (1.0分) 题号:584

设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为()。 A:float B:char C:int D:double

答案:D

第68题 (1.0分) 题号:105

以下运算符中,优先级最高的运算符是()。 A:= B:!=

C:*(乘号) D:()

答案:D

第69题 (1.0分) 题号:704

变量的指针,其含义是指该变量的()。 A:值 B:地址 C:名

D:一个标志

答案:B

第70题 (1.0分) 题号:676

以下只有在使用时才为该类型变量分配内存的存储类说明是()。 A:auto和 static B:auto和 register C:register和 static D:extern和 register

答案:B

第71题 (1.0分) 题号:104

以下运算符中,优先级最高的运算符是()。 A:|| B:% C:! D:==

答案:C

第72题 (1.0分) 题号:504

执行以下程序段后,输出结果和a的值是()。

int a=10;

printf(\A:10 和 10 B:10 和 11 C:11 和 10 D:11 和 11

答案:B

第73题 (1.0分) 题号:613

下面有关 for 循环的正确描述是()。

A:for 循环只能用于循环次数已经确定的情况

B:for 循环是先执行循环循环体语句,后判断表达式 C:在 for 循环中,不能用 break 语句跳出循环体

D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

答案:D

第74题 (1.0分) 题号:116 下列语句的结果是()。 main() { int j; j=3;

printf(\printf(\} A:3,3 B:3,4 C:4,3 D:4,4

答案:D

第75题 (1.0分) 题号:680

在调用函数时,如果实参是简单变量,它与对应形参之间的数据 传递方式是()。 A:地址传递 B:单向值传递

C:由实参传给形参,再由形参传回实参 D:传递方式由用户指定

答案:B

第76题 (1.0分) 题号:91

以下数值中,不正确的八进制数或十六进制数是()。 A:0x16 B:16 C:-16 D:0xaaaa

答案:C

第77题 (1.0分) 题号:541

若有int i=3,*p;p=&i;下列语句中输出结果为3的是()。 A:printf(\

B:printf(\C:printf(\D:printf(\

答案:C

第78题 (1.0分) 题号:503

以下语句中,不能实现回车换行的是()。 A:printf(\B:putchar(\

C:fprintf(stdout,\D:fwrite(\

答案:B

第79题 (1.0分) 题号:720 函数 rewind 的作用是()。

A:使位置指针重新返回文件的开头

B:将位置指针指向文件中所要求的特定位置 C:使位置指针指向文件的末尾

D:使位置指针自动移至下一个字符位置

答案:A

第80题 (1.0分) 题号:732

若执行fopen函数时发生错误,则函数的返回值是()。 A:地址值 B:0 C:1 D:EOF

答案:B

第81题 (1.0分) 题号:592

能正确表示逻辑关系:\或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

第82题 (1.0分) 题号:736 以下叙述中错误的是()。

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

C:在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据 D:不可以用FILE定义指向二进制文件的文件指针

答案:D

第83题 (1.0分) 题号:123

执行下列程序后,其输出结果是()。 main() {int a=9; a+=a-=a+a;

printf(\} A:18 B:9 C:-18 D:-9

答案:C

第84题 (1.0分) 题号:180

以下函数调用语句中实参的个数是()。 func((e1,e2),(e3,e4,e5)); A:2 B:3 C:5

D:语法错误

答案:A

第85题 (1.0分) 题号:103

以下运算符中,优先级最高的运算符是()。 A:*= B:>= C:(类型) D:+

答案:C

第86题 (1.0分) 题号:610

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

C:k=++n D:k+=n+1

答案:A

第87题 (1.0分) 题号:675

关于建立函数的目的,以下正确的说法是()。 A:提高程序的执行效率 B:提高程序的可读性 C:减少程序的篇幅

D:减少程序文件所占内存

答案:B

第88题 (1.0分) 题号:679

在C语言中,形参的缺省存储类是()。 A:auto B:register C:static D:extern

答案:A

第89题 (1.0分) 题号:665

以下正确的说法是:在C语言中()。

A:实参和与其对应的形参各占用独立的存储单元 B:实参和与其对应的形参共占用一个存储单元

C:只有当实参和与其对应的形参同名时才共占用存储单元 D:形参是虚拟的,不占用存储单元

答案:A

第90题 (1.0分) 题号:703

若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是()。 A:&t[3][2] B:t[3] C:&t[1] D:t[2]

答案:D

第91题 (1.0分) 题号:491 下列程序段的输出结果为()。

float k=0.8567;

printf(\A:0085.6%% B:0085.7% C:0085.6% D:.857

答案:B

第92题 (1.0分) 题号:542

若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存 空间存入整数123的语句为()。 A:scanf(\B:scanf(\C:scanf(\D:scanf(\

答案:A

第93题 (1.0分) 题号:597

下列四个选项中,均是C语言关键字的选项是()。 A:auto enum include B:switch typedef continue C:signed union scanf D:if struct type

答案:B

第94题 (1.0分) 题号:164 下列数组说明中,正确的是()。 A:static char str[]=\B:static char str[]; str=\

C:static char str1[5],str2[]={\

D:static char str1[],str2[];str2={\

答案:A

第95题 (1.0分) 题号:532

结构体类型的定义允许嵌套是指()。 A:成员是已经或正在定义的结构体型 B:成员可以重名 C:结构体型可以派生 D:定义多个结构体型

答案:A

第96题 (1.0分) 题号:526

用户定义的函数不可以调用的函数是()。 A:非整型返回值的 B:本文件外的 C:main函数

D:本函数下面定义的

答案:C

第97题 (1.0分) 题号:643

以下能对一维数组a进行正确初始化的语句是()。 A:int a[10]=(0,0,0,0,0) B:int a[10]={}; C:int a[]={0};

D:int a[10]={10*1};

答案:C

第98题 (1.0分) 题号:668 以下正确的说法是()。

A:用户若需调用标准库函数,调用前必须重新定义

B:用户可以重新定义标准库函数,若如此,该函数将失去原有含义 C:系统根本不允许用户重新定义标准库函数 D:用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调

答案:B

第99题 (1.0分) 题号:692 以下叙述中正确的是()。

A:在程序的一行上可以出现多个有效的预处理命令行 B:使用带参的宏时,参数的类型应与宏定义时的一致 C:宏替换不占用运行时间,只占编译时间

D:在以下定义中 C R 是称为\宏名\的标识符 #define C R 045

答案:C

第100题 (1.0分) 题号:625

已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是()。 A:0

B:语法错

C:1 D:\假\

答案:C

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 第101题 (1.0分) 题号:160

C语言的if语句嵌套时,if与else的配对关系是()。 A:每个else总是与它上面的最近的if配对 B:每个else总是与最外层的if配对 C:每个else与if的配对是任意的 D:每个else总是与它上面的if配对

答案:A

第102题 (1.0分) 题号:544 char *s1=\则()。 A:s2指向不确定的内存单元 B:不能访问\

C:puts(s1);与puts(s2);结果相同 D:s1不能再指向其它单元

答案:C

第103题 (1.0分) 题号:213 C语言中,文件由()。 A:记录组成 B:由数据行组成 C:由数据块组成

D:由字符(字节)序列组成

答案:D

第104题 (1.0分) 题号:98

以下标识符中,不能作为合法的C用户定义标识符的是()。 A:For B:Printf C:WORD D:sizeof

答案:D

第105题 (1.0分) 题号:619

对 for(表达式1; ;表达式3) 可理解为()。 A:for(表达式1;0;表达式3)

本文来源:https://www.bwwdw.com/article/dlq3.html

Top