C语言自测题Word文档格式.docx
《C语言自测题Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言自测题Word文档格式.docx(53页珍藏版)》请在冰豆网上搜索。
33.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其小数部分占用的字符位置个数为
(2)。
34.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其整数部分占用的字符位置个数为(3)。
35.在scanf()函数调用的格式字符串中,若使用格式符为“%f”,则对应输入的数据类型为(float)。
36.在scanf()函数调用的格式字符串中,若使用格式符为“%Lf”,则对应输入的数据类型为(double)。
37.每个C程序文件在编译时可能出现有严重性错误,其对应的标识符号为(error)。
38.在VC++环境下,为运行一个程序而建立的工作区文件的扩展名为(dsp)。
39.char类型的长度为
(1)。
40.常数120的数据类型为(整型)。
41.一个无符号字符类型的值域范围是(0到255)。
42数值常量0x62的表示方式为(十六进制)。
43在C语言中,表示换行符的转义字符为(\n)。
44字符串"
It\'
s\'
"
中包含的字符个数为(5)。
45执行“printf("
%c"
'
B'
+2);
”语句后得到的输出结果为(D)。
46要定义a和b为两个整型变量,则使用的定义语句为(inta,b)。
47运算符优先级最高的是(++)。
48下列数值中最小值是(35%3)。
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)。
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)。
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++;
”语句后,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>
”语句后,x的值为(16)。
85若x的值为-10,则执行“if(!
x)x++;
”语句后,x的值为(-11)。
86若x的值为10,则执行“switch(x%3){case0:
x++;
case1:
x++;
case2:
}”语句后,x的值为(12)。
87若x的值为10,则执行“switch(x%3){case0:
break;
default:
88若n的值为10,则执行“for(i=1;
i<
n;
i++)S;
”语句的过程中,表达式i=1共被执行的次数为
(1)。
89若n的值为10,则执行“for(i=0;
;
i++)if(i>
n/3)break;
”语句后,i的值为(4)。
90若n的值为10,则执行“for(i=1;
”语句的过程中,表达式i++共被执行的次数为(n-1)。
91若n的值为10,则执行“for(i=0;
i++)for(j=i;
j<
j++)S;
”语句后,内层循环体S语句的执行总次数为(n(n+1)/2)。
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);
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;
”,则*(p+2)的值为('
3'
139已知“inta[6][5];
”,则元素a[2][4]的地址比该数组的首地址大(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];
”,则不正确的语句定义为(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];
”,则不正确的语句定义为(structBookb=("
C++Programming"
27.0))。
179假定有结构定义“structBook{chartitle[20];
”,则正确的语句定义为(structBook*x=calloc(6,sizeof(structBook));
180假定要访问一个结构指针变量x中的数据成员a,则表示方法为(x->
181与结构成员访问表达式p->
name等价的表达式为((*p).name)。
182在一个链表中,每个结点必然存在着一个指向自身结点类型的指针域,用来保存下一个结点的(地址)。
183假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为(p->
next=f和f=p)。
184假定一个联合类型的定义为“unionD{inta;
”,则该类型的长度为(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,当以"
方式打开时,其读文件指针初始指向的字节位置编号为(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.h。
10在一行中出现多条语句时,注释语句只能为最后一条语句。
11在利用printf()函数向屏幕输出数据时,需要在参数表的开始位置使用相应的格式字符串。
12在“printf("
%d-%d=%d"
x,y,x-y);
”语句所