C语言自测题.docx

上传人:b****6 文档编号:6555590 上传时间:2023-01-07 格式:DOCX 页数:52 大小:37.47KB
下载 相关 举报
C语言自测题.docx_第1页
第1页 / 共52页
C语言自测题.docx_第2页
第2页 / 共52页
C语言自测题.docx_第3页
第3页 / 共52页
C语言自测题.docx_第4页
第4页 / 共52页
C语言自测题.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

C语言自测题.docx

《C语言自测题.docx》由会员分享,可在线阅读,更多相关《C语言自测题.docx(52页珍藏版)》请在冰豆网上搜索。

C语言自测题.docx

C语言自测题

选择题

1C语言中使用的字符常量,其起止标记符是(单引号)。

2语言中使用的字符串常量,其起止标记符是(双引号)。

3在C语言中,一条简单语句的结束符是(分号)。

4在C语言中,每条复合语句的开始标记字符为({)。

5不符合C语言规定的复合语句是({y=10})。

6C语言中的选择类语句有两条,它们是(if和switch)。

7在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(main)。

8C语言程序中的基本功能模块为(函数)。

9一个函数定义所包含的两个部分是(函数头和函数)。

10一个程序文件开始使用的每条预处理命令,其首字符必须是(#)。

11在一个程序文件中,若要使用#include命令包含一个系统头文件,则此头文件所使用的起止定界符为一对(尖括号)。

12在C语言程序中,单行或行尾注释使用的标记符为(//)。

13在C语言程序中,多行注释使用的结束标记符为(*/).

14用于输出表达式值的标准输出函数是(printf())。

15在printf()函数调用的格式字符串中,每个格式符的先导字符为(%)。

16在printf()函数调用的格式字符串中,若使用格式符为“%d”,则对应输出的数据类型为(int)。

17在printf()函数调用的格式字符串中,若使用格式符为“%f”,则对应输出的数据类型为(float)。

18在printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为(5)。

19程序运行中需要从键盘上输入多于一个数据时,若不特别规定分隔符,则输入的各数据之间所使用的分隔符为(逗号或回车)。

20用于从键盘上为变量输入值的标准输入函数是(scanf())。

21在scanf()函数调用的格式字符串中,每个格式符的先导字符为(%)。

22在scanf()函数调用的格式字符串中,若使用格式字符串为“%d,%d”,则规定输入的两个数据之间的分隔符为(@)。

23C语言源程序文件的扩展名为(c)。

24每个C语言程序文件的编译错误的类型有(2种)。

25每个C程序文件在编译时可能出现有警告性错误,其对应的标识符号为(warning)。

26.C语言中的循环类语句有3条,它们是(for,while,do)。

27.C语言中的跳转类语句有四条,它们是goto,return和(break,continue)。

28.当不需要函数返回任何值时,则所使用的返回类型为(void)。

29.在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和(参数表)。

30.在一个程序文件的开始,若需要使用一个包含命令包含一个头文件时,则命令标识符为(#include)。

31.在#include预处理命令中,不可以包含(目标文件)。

32.在printf()函数调用的格式字符串中,若使用格式符为’%6.2f”,则规定对应输出的数据占用的字符位置个数为(6)。

33.在printf()函数调用的格式字符串中,若使用格式符为’%6.2f”,则规定对应输出的数据中,其小数部分占用的字符位置个数为

(2)。

34.在printf()函数调用的格式字符串中,若使用格式符为’%6.2f”,则规定对应输出的数据中,其整数部分占用的字符位置个数为(3)。

35.在scanf()函数调用的格式字符串中,若使用格式符为“%f”,则对应输入的数据类型为(float)。

36.在scanf()函数调用的格式字符串中,若使用格式符为宓Lf”,则对应输入的数据类型为(double)o

37.每个C程序文件在编译时可能出现有严重性错误,其对应的标识符号为(error)。

38.在VC++环境下,为运行一个程序而建立的工作区文件的扩展名为(dsp)。

39.char类型的长度为

(1)。

40.常数120的数据类型为(整型)。

41.一个无符号字符类型的值域范围是(0到255)o

42数值常量0x62的表示方式为(十六进制)。

43在C语言中,表示换行符的转义字符为(\n)。

44字符串"It\'s\'"中包含的字符个数为(5)o

45执行“printf("%c",'B'+2);”语句后得到的输出结果为(D)。

46要定义a和b为两个整型变量,则使用的定义语句为(inta,b)。

47运算符优先级最高的是(++)。

48下列数值中最小值是(35%3)o

49已知x的初值为15,则下列各表达式中的最小值为(x/=2)。

50若x=5,y=10,则计算y*=++x表达式后,y的值为(60)。

51设x和y均为逻辑值,则x&&y为真的条件是(它们均为真)。

52x<=10的相反表达式为(x>10)。

53函数pow(4,3)的值为(64.0)。

54假定x=4.6,则函数floor(x)的值为(4.0)。

55正弦函数sin48在C语言的表示为(sin(48*3.14159/180))。

56int类型的长度为(4)。

57常数-4.25的数据类型为(双精度型)。

58一个有符号字符类型的值域范围是(-128到+127)o

59字符串"Its\40\n"的长度为(5)。

60实数340.25对应的规格化浮点数为(3.4025e2)。

61要利用const保留字定义整型常量ABC的值为10,则对应的定义语句为(constintABC=10)。

62要利用#define命令定义ABC常量的值为100,则对应的命令格式为(#defineABC==10)。

63下列数值中最大值是(28%8)o

64在下面运算符中,优先级最高的是(!

)。

65设有语句序列为“inta=12;a+=a*a;”,则执行结束后,a的值为(156)。

66在C语言中,用于比较大小的关系运算符的总数为(6)。

67x>0&&y<=5的相反表达式为(x<=0||y>5)。

68假定x是一个逻辑量,则(x&&!

x)和(x||!

x)的值分别为(0和1)。

69假定x=4.6,则函数ceil(x)的值为(5.0)。

70表达式floor(2.3457*100+0.5)/100的值为(2.35)。

71若x的值为5,则执行“if(x>10)x++;elsex--;”语句后,x的值为(4)。

72若x的值为-10,则执行“if(x)x++;elsex--;”语句后,x的值为(-9)。

73在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成语句(if)。

74每个C语言程序文件的编译错误的类型有()。

2.在switch语句中,每个保留字case后面的表达式必须是()。

常量

75当处理问题时的循环次数是确定的,则采用的最合适的循环方式为(for)。

76若需要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的开始使用保留字(const)。

77已知'A'~'Z'的ASCII码为65~90,当执行“intx='C'+5;”语句后x的值为(72)。

78每次先进行循环条件的判断,然后再执行循环体的语句为(for和while)。

79若n的值为5,s的值为0,则执行“while(n>0)s+=n--;”语句后,s的值为(15)。

80流程控制类语句包括的3类语句为(选择、循环、跳转)。

81若i的值为0,则执行“doi++;while(i*i<10);”语句的过程中,循环体被执行的次数为(4)。

82若要结束所在函数的执行过程,返回到调用该函数所在位置,则使用的语句为return)。

83要结束所在循环语句中循环体的一次执行,则在其中使用的语句为(continue)。

84若x的值为15,则执行“if(x>10)x++;elsex--;”语句后,x的值为(16)。

85若x的值为-10,则执行“if(!

x)x++;elsex--;”语句后,x的值为(-11)。

86若x的值为10,则执行“switch(x%3){case0:

x++;case1:

x++;case2:

x++;}”语句后,x的值为(12)。

87若x的值为10,则执行“switch(x%3){case0:

x++;break;case1:

x++;default:

x++;}"语句后,x的值为(12)。

88若n的值为10,则执行“for(i=1;i

(1)。

89若n的值为10,则执行“for(i=0;;i++)if(i>n/3)break;”语句后,i的值为(4)。

90若n的值为10,则执行“for(i=1;i

91若n的值为10,则执行“for(i=0;i

92若n的值为10,则执行“while(n-->0)s+=n;”语句的过程中,循环体被执行的次数为(10)。

93若n的值为5,s的值为0,则执行“while(n-->0)s+=n;”语句后,s的值为(10)。

94在下列的语句中,必须以分号作为结束的语句是(do)。

95若n的值为5,s的值为0,则执行“dos+=n--;while(n>0);”语句后,s的值为(15)。

96要结束任一种循环语句或switch语句的执行,则在其中使用的语句为(break)。

97在一个数组中,数组元素a[i]前面的元素个数为(i)。

98假定一维数组的定义为“chara[8];”,则该数组所占用的存储空间的字节数为(8)。

99假定有一个定义语句为“inta[10]={3,4,2,8,6};”,则元素a[3]的值为(8)。

100在下面字符数组的定义语句中,有语法错误的是(chara[10]='5')。

101假定有一个定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为(0)。

102假定二维数组的定义语句为'int*a[3][5];”,则该数组所占用的存储空间的字节数为(60)。

103使用“typedefintInteger;”语句把标识符Integer定义为一个(整数类型)。

104使用“typedefintABC[10];”语句把标识符ABC定义为(整型数组类型)。

105利用一维字符数组存储一个字符串时,在其末尾自动存储的一个字符是(\0)。

106一个二维字符数组a[M][N]能够存储的字符串个数至多为(M)。

107若需要把一个字符串赋给字符数组,则选用的函数是(strcpy)。

108假定有一个元素类型为int的数组a[10],它所占用的存储空间的字节数为(40)。

109假定一维数组的定义为“char*a[8];”,则该数组所占用的存储空间的字节数为(32)。

110假定有一个定义语句为“inta[10]={3,4,2,8,6};”,则元素a[5]的值为(0)。

111在下面的一维数组定义语句中,有语法错误的是(inta[])。

112假定二维数组的定义语句为“inta[3][5];”,则该数组所含元素的个数为(15)。

113假定有一个定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为(6)。

114对于一个长度为n的字符串,保存它至少需要占用的存储字节数为(n+1)。

115对于一个二维字符数组a[M][N],存储每个字符串的长度至多为(N-1)。

116若需要比较两个字符串的大小,则选用的函数是(strcmp)。

117一个指针类型的简单变量占用内存中的字节数为(4)。

118在定义指针变量的语句中,在指针变量名的前面标记的字符为(*)。

119假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大(1个字节)。

120假定变量m定义为“intm=7;”,则下面定义语句格式正确的是(int*p=&m)。

121假定一个数据对象为int*类型,则指向该对象的指针类型为(int**)。

122假定p是一个指向数据对象的指针,则通过p表示该数据对象为(*p)。

123若p指向x,则与x的等价表示为(*x)。

124假定a为一个数组名,则下面表达式中错误的是(*a++)。

125已知“inta[10],x,*pa=a;”,若要把数组a[3]元素的值赋给x,则不正确的语句为(x=*pa+3)。

126已知“chara[3][5];”,则元素a[2][3]的地址比该数组的首地址大(13个字节)。

127一个二维数组元素为a[i][j],它的指针访问方式不正确的是(*a[i]+j)。

128对于每个进行动态存储分配的函数,其返回值类型为(void*)。

129已知“int*p=calloc(24,sizeof(int));”,则p所指向的动态内存空间中,能够存储整型元素的个数为(24)。

130一个指针指向一个数据对象,它保存着该数据对象的地址,若数据对象为DataType类型,则该指针的类型为(DataType*)。

131NULL是一个符号常量,通常作为空指针值,它的取值为(0)。

132一个整型指针p转换为字符指针,则采用的强制转换表达式为((char*)p)。

133若要定义整型指针p并初始指向x,则所使用的定义语句为(int*p=&x)。

134假定p所指对象的值为25,p+1所指对象的值为42,则表达式*p++的值为(25)。

135假定p是一个指针变量,则该变量的地址表示为(&p)。

136已知“char*s="Helloworld!

";”,要使变量p指向s所指向的同一个字符串,则p应定义为(char*p=s)。

137假定a为一个数组名,则下面表达式中错误的是(*a++)。

138已知“charb[10]=”12345”,*p=b;”,U*(p+2)的值为('3')。

139已知“inta[6][5];”,则元素a[2]⑷的地址比该数组的首地址大(56个字节)。

140要使p指向二维整型数组a[10][20],p应定义为(int(*p)[20]=a)。

141执行“int*p=malloc(sizeof(double)*2);”语句后得到的动态存储空间的字节数为(16)。

142利用动态存储分配创建具有10个字节的一维数组空间的正确语句是(char*p=malloc(10))。

143下面正确的函数原型语句是(intFunction(voida))

144函数调用func(2+x,4*y,5)中所含实参的个数为(3)。

145在程序的一个文件中定义的函数,若要在另一个文件中调用,则必须在这另一个文件中给出该函数的(原型语句)。

146假定一个函数的原型为intff(intx),一个整型变量为a,则下面函数调用表达式不正确的是(ff(*a))。

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

148假定一个函数原型为intf1(inta[][N],intn),与数组参数等价的表示为(int(*a)[N])。

149在C语言中,用户定义的标识符分为4种作用域,下列选项中不属于这4种作用域的是(语句)。

150函数定义参数表中的每个形参变量,其作用域范围为所在的整个(函数)。

151在函数外定义的变量,若不带有作用域关键字,则它具有(全局作用域)。

152在函数体中把出现调用自身函数的情况称为(直接递归调用)。

153在函数定义的参数表中,也可以使用函数参数,假定一个函数参数原型为intff(int),则等价的函数指针说明为(int(*ff)(int))。

154在下面的函数声明语句中存在着语法错误的是(AA(inta;intb))。

155如果一个函数定义仅允许为所在的程序文件调用,则应在该函数定义的最前面添加的关键字为(static)。

156假定一个函数定义为“externchar*f1(char*x){returnx;}”,表示该函数作用域的关键字为(extern)。

157假定一个函数的原型语句为“intff(int*x);”,一个整型数组为a[10],则下面函数调用表达式不正确的是(ff(a[0]))。

158假定一个函数原型语句为“intf1(inta[],intn);”,与数组参数等价的表示为(int*a)。

159假定一个函数的参数说明为constinta,则在函数体中不能进行的操作是(a=10)。

160在函数体中定义的变量具有(局部作用域)。

161在函数外定义的变量,若带有作用域关键字static,则它具有(文件作用域)。

162在函数体中定义一个静态变量时,选用的存储属性关键字为(static)。

163假定一个函数原型为“voidff(inta[],intn)”,则对应的函数指针类型为(void(*ff)(int*a,int))。

164在结构类型的定义中,使用的关键字是(struct)。

165在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是(分号)。

166假定一个结构类型的定义为“structB{inta[5];char*b;};”,则该类型的长度为(24)。

167假定有结构定义为“structBook{chartitle[20];doubleprice;}bk;”,则不正确的语句定义为(structBookc=&bk;)。

168假定有结构定义为“structBook{chartitle[20];doubleprice;};”,则不正确的语句定义为(structBook*x=calloc(sizeof(structBook));)。

169假定要访问一个结构变量x中的数据成员a,则表示方法为(x.a)。

170假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为(x:

a)。

171假定一个链表中结点的结构类型为“structAA{intdata,structAA*next;};”,则next数据成员的类型为(structAA*)。

172假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为p->next=f和(f=p)。

173在联合类型的定义中,使用的关键字是(union)。

174每种类型的定义都对应有一个C语言保留字(关键字),如联合类型的定义使用的关键

字为union,结构类型的定义使用的关键字为struct。

(8)

175在结构类型的定义中,对于类型标识符后的定义体,使用的起止标记符是一对(圆括号)。

176假定一个结构类型的定义为“structA{inta,b;doublec;};”,则该类型的长度为(16)。

177假定一个结构类型的定义为“structD{inta;D*next;};”,则该类型的长度为(8)。

178假定有结构定义“structBook{chartitle[20];doubleprice;};”,则不正确的语句定义为(structBookb=("C++Programming",27.0))。

179假定有结构定义“structBook{chartitle[20];doubleprice;};”,则正确的语句定义为(structBook*x=calloc(6,sizeof(structBook));)。

180假定要访问一个结构指针变量x中的数据成员a,则表示方法为(x->a)。

181与结构成员访问表达式p->name等价的表达式为((*p).name)。

182在一个链表中,每个结点必然存在着一个指向自身结点类型的指针域,用来保存下一个结点的(地址)。

183假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为(p->next=f和f=p)。

184假定一个联合类型的定义为“unionD{inta;D*next;};”,则该类型的长度为(4)。

185标准输入设备键盘的文件流标识符是(stdin)。

186表示文件结束符的符号常量为(EOF)。

187在C语言程序中,进行数据的输入和输出操作时,需要包含的系统头文件是(stdio.h)。

188在C语言中,打开一个数据文件的系统函数为(fopen())。

189在C语言中,为只读操作打开一个文本文件的方式为("r")。

190在C语言中,为追加写操作打开一个二进制文件的方式为("ab")。

191在一个文本文件中保存一个实数2.4所占用的字节数为(3)。

192向一个文本文件中写入一个字符串的系统函数为(fputs())。

193若一个文本文件的长度为n-1,当以"a"方式打开时,其写文件指针初始指向的字节位置编号为(n)。

194从一个文本文件中读取一个字符的系统函数为(fgetc())。

195若一个文本文件的长度为n-1,当以"r"方式打开时,其读文件指针初始指向的字节位置编号为(0)。

196从一个二进制文件中读取数据的系统函数为(fread())。

197向一个二进制文件中写入数据的系统函数为fwrite(),它的参数有(4)。

198标准输出设备显示器的文件流标识符是(stdout)。

199表示文件结束符的符号常量EOF的值为(-1)。

200假定一个磁盘数据文件占用n个字节的存储空间,则按字节进行编址的范围是(0~

(n-1))。

201在C语言中,为只写操作打开一个文本文件的方式为("w")。

202在C语言中,文本文件的打开方式共有(6)。

203在C语言中,为读和写操作打开一个二进制文件,若文件不存在则自动建立空文件的打开方式为("wb+")。

204从一个文本文件中读取以换行符结束的一个字符串的系统函数为(fgets())。

205向一个文本文件中写入一个字符的系统函数为(fputc())。

206向一个二进制文件中写入数据的系统函数为(fwrite())。

207从一个二进制文件中读取数据的系统函数为fread(),它的参数有(4个)。

判断题:

1:

在C语言字符集中,包含有全部26个英文大写字母和对应的小写字母。

(对)

2在C语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符(对)

3在C语言程序中,ABC和abc被作为同一标识符使用(错)

4在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用(对)

5在C语言中,作为标识符的第一个字符只能是英文字母或下划线,不能是数字字符。

(对)

6在一个函数定义中,函数体的格式是一条复合语句。

7一个函数必须返回一个值,不允许定义不返回任何值的函数。

8若要在程序文件中使用数学函数,则需要引入的系统头文件为math.h。

9若要在程序文件中使用标准输入和输出函数,则需要引入的系统头文件为stdio.ho对

10在一行中出现多条语句时,注释语句只能为最后一条语句。

11在利用printf()函数向屏幕输出数据时,需要在参数表的开始位置使用相应的格式字符串。

12在

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

当前位置:首页 > 工程科技 > 建筑土木

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1