C语言最新 选择题答案文档格式.docx

上传人:b****1 文档编号:5857622 上传时间:2023-05-05 格式:DOCX 页数:24 大小:22.71KB
下载 相关 举报
C语言最新 选择题答案文档格式.docx_第1页
第1页 / 共24页
C语言最新 选择题答案文档格式.docx_第2页
第2页 / 共24页
C语言最新 选择题答案文档格式.docx_第3页
第3页 / 共24页
C语言最新 选择题答案文档格式.docx_第4页
第4页 / 共24页
C语言最新 选择题答案文档格式.docx_第5页
第5页 / 共24页
C语言最新 选择题答案文档格式.docx_第6页
第6页 / 共24页
C语言最新 选择题答案文档格式.docx_第7页
第7页 / 共24页
C语言最新 选择题答案文档格式.docx_第8页
第8页 / 共24页
C语言最新 选择题答案文档格式.docx_第9页
第9页 / 共24页
C语言最新 选择题答案文档格式.docx_第10页
第10页 / 共24页
C语言最新 选择题答案文档格式.docx_第11页
第11页 / 共24页
C语言最新 选择题答案文档格式.docx_第12页
第12页 / 共24页
C语言最新 选择题答案文档格式.docx_第13页
第13页 / 共24页
C语言最新 选择题答案文档格式.docx_第14页
第14页 / 共24页
C语言最新 选择题答案文档格式.docx_第15页
第15页 / 共24页
C语言最新 选择题答案文档格式.docx_第16页
第16页 / 共24页
C语言最新 选择题答案文档格式.docx_第17页
第17页 / 共24页
C语言最新 选择题答案文档格式.docx_第18页
第18页 / 共24页
C语言最新 选择题答案文档格式.docx_第19页
第19页 / 共24页
C语言最新 选择题答案文档格式.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言最新 选择题答案文档格式.docx

《C语言最新 选择题答案文档格式.docx》由会员分享,可在线阅读,更多相关《C语言最新 选择题答案文档格式.docx(24页珍藏版)》请在冰点文库上搜索。

C语言最新 选择题答案文档格式.docx

=c

(B)a-b||a+b&

&

a+c

(C)a/b||c>

b

(D)a/b||b/c

在做逻辑运算时,非0值都当做真,0值当作假。

D选项中,a/b因为除号运算符两边为整数,结果取整数,于是为0。

后面的公式b/c的结果也是0。

“或”运算符”||”的两边公式计算结果均为0,因此结果也是0(假)。

9.若已定义 

:

charc=’B’ 

inta=8 

floatx=10.3 

则表达式c%a+x的值是()

[已知’A’的ASCII码的十进制值为65]

(A)12.3

(B)12

(C)10

(D)18.3

字符数据做算术运算时,使用的是该字符的ASCII编码。

因此上面的公式是计算66%8+10.3

10.为避免在嵌套的条件语句if...else中产生二义性,C语言规定,else子句总是与()配对。

(A)其之后最近的if

(B)缩进位置相同的if

(C)同一行上的if

(D)其之前最近的if

11.若已定义:

inti,a=0 

下列()不是无限循环语句。

(A)for(i=10 

i--)a+=i 

(B)while

(1)a++ 

(C)for(i=1 

i>

++a 

i++)a+=2 

(D)for(i=1 

a++) 

for循环中,括号内的第2个表达式是循环控制条件,如果缺省则会使得for语句进入无限循环,此时需要在循环体中加入break语句才能解决问题。

B选项中,表达式2为i>

++a,要先对a变量执行自加,于是a的值变为1;

然后在执行判断i>

a,由于i的值也是1,因此条件不成立,循环结束。

12.能对二维数组a进行正确初始化的语句是()

(A)Inta[2][4]={{1,2},{3,4},{5,6}};

(B)Inta[][3]={{1,2},{},{3,5,6}};

(C)Inta[][3]={{1,2},{3,4,5}};

(D)Inta[2][]={{1,2},{3,0,5}};

参考书本第六章数组的定义和初始化

13.下列程序段执行后s的值是()

intk,s=0;

inta[3][3]={11,12,13,14,15,16,17,18,19};

for(k=0;

k<

2;

k++)

s+=a[k][k+1];

(A)76

(B)31

(C)28

(D)45

14.下列程序段的运行结果是()

charstr[80];

strcpy(str,”university”);

说明:

strcpy函数用于复制,把后面的字符串复制到前面的对象中

printf(“%d”,strlen(str));

strlen函数用于计算字符串中有效字符的个数(注意不包含\0)

(A)9

(B)10

(C)117

(D)8

15.下列程序的运行结果是()

#include<

stdio.h>

intnum=20;

这里的变量是全局变量,可以被本程序中,任何一个函数所使用

fun()

{intnum=5;

这里的变量num是局部变量,局部变量若和全局变量同名,则局部变量具有

return--num;

有限使用权,所以return–num;

中使用的是局部变量num的值5。

}

voidmain()

{fun();

printf(“%d\n”,num);

说明:

由于main函数内没有定义num变量,此处输出的是全局变量num的值20

(A)4

(B)20

(C)19

16.下列叙述中错误的是()

(A)在程序中凡是以#号开始的语句行都是预处理命令行

(B)下列是正确的宏定义:

defineR45

(C)C程序在执行过程中对预处理命令进行处理

(D)预处理命令行都必须以#号开始

17.

表达式前的*号是间接访问运算符,P+3是一个地址。

地址

201

202

203

204

205

206

207

元素

a[0]

a[1]

a[2]

a[3]

a[4]

a[5]

a[6]

字符

f

u

j

i

a

n

\0

下列程序段运行后,表达式*(p+3)的值为()

chara[]=”fujian”;

char*p;

p=a;

(A)‘j’

(B)‘i’

(C)存放’i’的地址

(D)存放’j’的地址

P是指针变量,存放的是地址,第三句代码”p=a”的作用是把数组a的首地址赋予p,因为数组名代表数组首元素地址。

p+3则是第4个元素地址(参考图),*是间接访问运算符。

18.下列程序段的运行结果是(________)

inta[]={1,2,3,4,5,6,7},*p=a;

intn,s=0;

for(n=0;

n<

6;

n++)s+=p[n++];

printf(“%d”,s);

(A)1

(B)3

(C)9

(D)27

19.若有定义:

structstudent

{intnum;

charsex;

intage;

}stu1;

下列叙述错误的是()

(A)structstudent是结构体类型名

(B)stu1是用户定义的结构体类型变量名

(C)student是结构体类型名

(D)num,sex,age都是结构体变量stu1的成员

20.下列程序的运行结果是()

{

struct{charx1;

intx2;

}

a[3]={‘A’,1,’B’,2,’C’,3};

输出65-66/3的值,65是字符’A’的编码.66是字符

printf(“%d\n”,a[0].x1-a[1].x1/a[2].x2);

B的编码,这里用的是编码做算术运算

(A)80

(B)43

(C)40

(D)55

21.若已定义

typedefunion

{charname[10];

intage;

}ustu,*uyour;

下列叙述正确的是()

(A)age是共用体类型ustu的成员

(B)uyour是指向共用体类型ustu的指针类型名

(C)ustu是一个共用体类型名

(D)uyour是一个共用体类型名

22.下列叙述错误的是()

(A)C源程序必须包含一个main()函数

(B)表达式是构成C源程序的基本单元

(C)一个C源程序可由一个或多个函数组成

(D)C语言函数体使用一对花括号’{‘和’}’将构成函数的语句括起来

23.C语言基本数据类型不包括()

(A)字符型

(B)实型

(C)字符串型

(D)整型

24.若已定义:

intt,a,b;

语句t=(a=3,b=a++);

执行后,变量t、a、b的值依次为()

(A)4,3,4

(B)3,3,3

(C)4,3,3

(D)3,4,3

25.若已定义:

inta=5,b;

语句b=1+(--a);

执行后变量a,b的值分别为()

(A)a为5,b为4

(B)a为5,b为5

(C)a为4,b为6

(D)a为4,b为5

26.若已定义:

inta=1,b=2,c=3;

则表达式b>

=a&

(a+b)<

=c的值为()

(A)2

(C)0

(D)1

27.若已经定义:

charc=’N’;

则正确的赋值表达式是()

(A)c=c%3

(B)c=\0x2n

(C)c%=2.6

(D)c=c+029

28.对于下列程序段,叙述正确的是()

inta=2;

do

{a+=2;

}while(!

(a!

=0));

(A)是无限循环

(B)循环执行2次

(C)循环执行1次

(D)有语法错误

29.编译预处理命令的位置可以在()

(A)文件开头

(B)主函数内

(C)printf();

语句中

(D)自定义函数内

30.若已定义:

inta[3][4],*p=a;

则能表示数组元素a[1][2]地址的是()

(A)*(a[1]+2)

(B)a[1][2]

(C)p+6

(D)p[6]

31.下列程序的运行结果是()

main()

{staticchara[]=”bacdefg”,b[]=”abcbehg”;

char*p=a,*q=b;

inti;

for(i=0;

i<

=6;

i++)

if(*(p+i)==*(q+i))

printf(“%c”,*(q+i));

(A)fdb

(B)geca

(C)ceg

(D)aceg

32.若有定义

intnum;

(A)student是结构体类型名

(B)structstudent是结构体类型名

(C)stu1是用户定义的结构体类型变量名

33.若已定义

typedefstructstu

charname[20];

}STU;

则正确的语句是()

(A)STUaa[2]={{1,’chen’},{2,’li’}};

(B)studd[2]={{1,”chen”},{2,”li”}};

(C)STUcc[2]={{1,”chen”},{2,”li”}};

(D)structstubb[2]={{1,chen},{2,li}};

34.若有如下类型说明,则()是错误的叙述。

typedefstruct

{intno;

char*name;

intcj;

}STU,*p;

(A)p是一个结构体类型名

(B)p是指向结构体类型STU

(C)no是结构体类型STU的成员

(D)STU是一个结构体类型名

35.若已定义:

intm=2,n=4;

则表达式(m++,m+n)的值是()。

(A)5

(B)6

(C)7

36.putchar()函数的功能是向终端输出()

(A)字符串

(B)单个字符

(C)一串数字

(D)一个实型变量的值

37.若已定义:

inta=3,b=2,c=1;

则表达式((!

a)||b>

c)&

(a<

c)的值是()

(A)0

(B)1

(C)2

(D)3

38.下列程序运行时,循环体的执行次数是()

{inti,j=3;

=j++;

i=i+2)

printf(“%3d”,i);

(C)3

(D)4

39.若已定义:

ints[3][4]={{1,2},{0,1},{3,4,5}},则s[2][2]的值是()

40.若要定义一个符号常量,下列选项中正确的是()

(A)#defineR=3;

(B)#defineR3;

(C)#defineR=3;

(D)#defineR3

41.下列程序的运行结果是()

fun()

Return–num;

{fun();

(B)5

(C)20

(D)19

42.下列程序段运行后变量s的值为()

inta[]={1,2,3,4,5,6,7};

inti,s=1,*p;

p=&

a[2];

4;

s*=*(p+i);

(A)260

(B)360

(C)210

(D)120

43.若已定义

{intnum;

charname[8];

floatscore;

则变量stu1占用了()内存字节

(A)15

(B)18

(C)14

(D)13

44.在对无符号数的位运算中,操作数左移两位相当于()

(A)乘以8

(B)乘以4

(C)除以8

(D)除以4

45.若文本文件data.txt的内容为“University”(不包含引号),则下列程序段的运行结果是()

FILE*fp;

char*str;

if((fp=fopen(“data.txt”,”r”))!

=NULL)

str=fgets(str,6,fp);

printf(“%s”,str);

(A)Univ

(B)Univer

(C)University

(D)Unive

46.下列叙述错误的是()

(A)表达式是构成C源程序的基本单元

(B)C源程序必须包含一个main()函数

(C)C语言函数体使用一对花括号‘{‘和’}’将构成函数的语句括起来

(D)一个C源程序可由一个或多个函数组成

47.若已定义:

inta,b,c;

则逗号表达式a=10,b=23,c=a+b的值为()

(A)33

(C)23

(D)66

48.若已定义:

intx=8,y=7;

语句printf(“%d+%d=%d\n”,x,y,x+y);

执行后的输出结果是()

(A)8+7=15

(B)15

(C)7+8=15

(D)8+7

49.能正确表示数学关系式5≤f<

10的C语言表达式是()

(A)(f>

=5)&

(f<

10)

(B)f>

=5|f<

10

(C)(f>

(D)(f>

=5)and(f<

50.若已定义:

floatx=1.5,y=3,z=5;

下列表达式与x+y/2*z计算结果不相符的是()

(A)x+y/2*z

(B)x+1/2.0*y*z

(C)x+1.0/2*y*z

(D)x+1/2*y*z

51.若已经定义:

inta[6]={2,1,3};

则元素a[3]的值为()

(D)0

52.若已定义

charstr1[20]={“university”},str2[20];

则()语句是正确的。

(A)str2=str1;

(B)scanf(“%s”,str2[]);

(C)printf(“%c”,str1);

(D)if(str1+20==str2)printf(“###\n”);

53.下列程序的运行结果是()

intfun(inta,intb)

{return(a*b);

intx=15,y=2,z;

z=fun(x,y);

printf(“%d*%d=%d\n”,x,y,z);

(A)30

(B)x*y=30

(D)15*2=30

54.下列叙述中错误的是()

(A)下列是正确的宏定义:

defineR45

(B)预处理命令行都必须以#号开始

(C)在程序中凡是以#号开始的语句行都是预处理命令行

(D)C程序在执行过程中对预处理命令行进行处理

55.若已定义:

inta=6;

int*p=&

a;

下列均能表示地址的是()

(A)a,p

(B)&

a,&

p

(C)a,*p

(D)&

a,p

56.下列程序段的运行结果是()

(B)16

(C)12

(D)15

57.若已定义

};

structstudents[3]={{301,18},{302,21},{303,19}};

structstudent*p=s;

则表达式的值为21的是()

(A)(*++p).age

(B)(*p++).age

(C)(p++)->

age

(D)*(++p)->

58.若已定义:

enumti{a1,a2=10,a3,a4=13};

则枚举常量a2和a3的值分别是()

(A)2和3

(B)1和2

(C)10和11

(D)10和2

59.下列选项中,均为合法整型常量的是()

(A)0x2h21025

(B)170-0180x18

(C)-1900131e3

(D)120-0120x12

60.若已定义:

charc;

inta;

floatx;

doubley;

则表达式c*a+x-y的值的数据类型为()

(A)double

(B)float

(C)int

(D)char

61.下列程序运行时若输入6,则输出结果是()

{intx;

scanf(“%d”,&

if(x--<

6)

printf(“%d\n”,x);

else

printf(“%d\n”,x++);

62.下列程序段运行结果中变量b的值是()

intb=3;

chars1=”action”,s2=s1;

b=strcmp(s1,s2);

(B)-1

63.若有下列程序段,则叙述正确的是()

(A)数组a的长度和p所指向的字符串长度相等

(B)*p与a[0]相等

(C)数组a中的内容和指针变量p中的内容相等

(D)a和p完全相同

64.下列程序的运行结果是()

{char*p=”Chinese”,*q=p+4;

printf(“%c\n”,q[-1]);

(B)s

(C)n

(D)e

65.一个结构体变量占用的内存大小是由()决定的。

(A)占内存容量最大的成员所需容量

(B)各成员所需内存容量之和

(C)最后一个成员所需内存容量

(D)第一个成员所需内存容量

66.若已定义:

intm=12,n=10,k;

语句k=m&

n;

执行后k的值为()。

(A)14

(C)6

67.当文件正常关闭时,fclose()函数的返回值是()

(A)-1

(D)一个非0值

68.若已经定义:

inti,a=0;

(A)while

(1)

a++;

(B)for(i=1;

++a;

i++)

a+=2;

(C)for(i=1;

a++)

(D)for(i=10;

i--)

a+=i;

69.下列程序段执行后s的值是()

(A)31

(B)76

70.下列程序段的运行结果是()

charstr[3][3]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’};

str[2][1]=’\0’;

(A)abcdefghi

(B)abcdefg

(C)abcdefg0

(D)abcdefg0i

71.下列程序的运行结果是()

#include<

intfun(inta[4][4])

{inti;

printf(“%2d”,a[i][1]);

printf(“\n”);

{inta[4][4]={1,2,2,3,1,0,0,0,2,1,0,0,0,1,9,8};

fun(a);

(A)2019

(B)2008

(C)2011

(D)2009

72.下列叙述正确的是()

(A)程序中使用带参数的宏时,参数类型要与宏定义时一致

(B)编译预处理命令行必须以分号结束

(C)宏名只能包含大写字母和数字字符

(D)#define是宏定义命令

73.若已定义

enumc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2