1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438
| 1. (单选题)以下说法中不正确的是( )。
A. 一个C源程序可由一个或多个函数组成 B. C语言程序总是从第一个定义的函数开始执行 C. C程序的基本组成单位是函数 D. 一个C源程序必须包含一个main函数
正确答案:B :C语言程序总是从第一个定义的函数开始执行;
2. (单选题)下列对 “算法” 的描述,最准确的是()
A. 算法必须有输入,且输入的个数不少于 1 个 B. 算法的每一步操作都必须是明确、无歧义的 C. 算法的执行时间可以是无限的,只要逻辑正确即可 D. 算法的输出可以有多个,也可以没有输出
正确答案:B :算法的每一步操作都必须是明确、无歧义的;
3. (单选题)C 语言结构化程序设计对应的流程图中,不包含以下哪种基本结构?()
A. 顺序结构 B. 跳转结构 C. 选择(分支)结构 D. 循环结构
正确答案:B :跳转结构;
4. (单选题)下列字符串是标识符的是( )
A. _HJ B. 9_student C. long D. LINE 1
正确答案:A :_HJ; 5. (单选题)若有定义: `int a=7;float x=2.5;y=4.7`; 则表达式`x+a%3*(int)(x+y)%2/4` 的值是( )
A. 2.500000 B. 2.750000 C. 3.500000 D. 0.000000
正确答案:A :2.500000;
6. (单选题)下列运算符中优先级最低的是( )。
A. < B. + C. && D. !=
正确答案:C :&&;
7. (单选题)在C语言循环结构中,break 和 continue 语句的正确描述是:( )
A. break 用于跳过当前循环剩余代码并进入下一次循环,continue 用于立即终止整个循环。 B. 两者都可以在循环和 switch 语句中使用。 C. continue 只能在循环中使用,而 break 可以在循环和 switch 语句中使用。 D. 在嵌套循环中,break 和 continue 都默认作用于所有层循环。
正确答案:C :continue 只能在循环中使用,而 break 可以在循环和 switch 语句中使用。;
8. (单选题)程序段如下:则以下说法中正确的是: int k=5; do{ k--; }while(k<=0);
A. 循环执行5次 B. 循环是无限循环 C. 循环体语句一次也不执行 D. 循环体语句执行一次
正确答案:D :循环体语句执行一次;
9. (单选题)以下能正确定义数组并正确赋初值的语句是 ( )
A. int n=5,b[n][n]; B. int a[1][2]={{1},{3}}; C. int c[2][]={{1,2},{3,4}}; D. int a[3][2]={{1,2},{3,4}};
正确答案:D :int a[3][2]={{1,2},{3,4}};;
10. (单选题)以下对C语言函数的有关描述中,正确的是( )。
A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B. 函数既可以嵌套定义又可以递归调用 C. 函数必须有返回值,否则不能使用函数 D. 程序中有调用关系的所有函数必须放在同一个源程序文件中
正确答案:A :调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参;
11. (单选题)当调用函数时,实参是一个数组名,则向函数传送的是_____。
A. 数组的长度 B. 数组的首地址 C. 数组每一个元素的地址 D. 数组每个元素中的值
正确答案:B :数组的首地址;
12. (单选题)有如下程序段 `int *p,a=10,b=1;p=&a;a=*p+b`; 执行该程序段后,a的值为( )
A. 12 B. 11 C. 10 D. 编译出错
正确答案:B :11;
13. (单选题)以下关于C语言程序结构的说法,正确的是()。
A. 一个C源程序可以没有main函数 B. C程序的执行入口是第一个定义的函数 C. 函数是C程序的基本组成单位 D. 单个C源程序文件中只能定义一个函数
正确答案:C :函数是C程序的基本组成单位;
14. (单选题)下列关于算法特性的描述,错误的是()。
A. 算法的每一步操作必须有确切的含义,无歧义 B. 算法必须在有限步骤内结束(有穷性) C. 算法可以没有输入,但必须有输出 D. 算法的执行步骤可以是模糊的,只要最终结果正确
正确答案:D :算法的执行步骤可以是模糊的,只要最终结果正确;
15. (单选题)下列标识符中,符合C语言命名规则的是()。
A. 3num B. _price C. float D. name-1
正确答案:B :_price;
16. (单选题)若有定义:int a=9; float x=3.5, y=5.5;,则表达式 x + a%5 * (int)(x+y) % 3 / 2 的值是()。
A. 3.500000 B. 4.500000 C. 5.500000 D. 6.500000
正确答案:A :3.500000;
17. (单选题)下列运算符中优先级最高的是()。
A. = B. * C. || D. >
正确答案:B :*;
18. (单选题)关于C语言中break和continue语句,描述正确的是()。
A. break可用于循环和switch语句,continue仅用于循环 B. continue用于终止整个循环,break用于跳过本次循环剩余语句 C. 嵌套循环中,break会终止所有层循环 D. switch语句中可以使用continue语句
正确答案:A :break可用于循环和switch语句,continue仅用于循环;
19. (单选题)执行以下程序段后,k的值是()。 int k=3; do{ k -= 2; }while(k>0);
A. 1 B. -1 C. 3 D. 0
正确答案:B :-1;
20. (单选题)已知ch是字符型变量,下面不正确的赋值语句是( )。
A. ch=‘a+b’; B. ch=‘\0’; C. ch=‘7’+‘9’; D. ch=5+9;
正确答案:A :ch=‘a+b’;;
21. (单选题)以下关于C语言函数的描述,正确的是()。
A. 函数可以嵌套定义 B. 实参和形参的类型必须完全一致 C. 调用函数时,实参的值会传递给形参(值传递),形参修改不影响实参 D. 所有函数都必须有返回值
正确答案:C :调用函数时,实参的值会传递给形参(值传递),形参修改不影响实参;
22. (单选题)若定义int a[10],*p=&a[0]; 则p+5 表示的是( )。
A. 数组元素a[5]的值 B. 数组元素a[5]的地址 C. 数组元素a[6]的值 D. 数组元素a[6]的地址
正确答案:B :数组元素a[5]的地址;
23. (单选题)执行以下程序段后,b的值是()。 int *p, a=5, b=8; p=&b; b=*p + a;
A. 13 B. 8 C. 5 D. 编译错误
正确答案:A :13;
二. 填空题(共10题,31分) 24. (填空题)
执行下面程序段后,C的值为____
int a=20;
char c='b';
int C;
C=((a=5)||(c>'Z'));
正确答案: 1
25. (填空题)
2. 程序运行后,则输出结果为____。
#include<stdio.h>
void main()
{ int p[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<7&&p[i]%2){k=k+p[i];i++;} printf("k=%dn",k);}
正确答案: k=24
26. (填空题)
以下程序运行后,输出结果是 ____ 。
fun(int x, int y,int z){
z=x*x+y*y;}
main0
{ int a=31;
fun(5,2,a);
printf("%d",a);}
正确答案: 31
27. (填空题)
以下程序运行后,输出结果是 ____
#include <stdio.h>
int main() {
int arr[5] = {5, 10, 15, 20, 25};
int *p = arr;
int *q = &arr[3];
int result = q - p + *p + *q;
printf("%d\n", result);
return 0;
正确答案: 28
28. (填空题)
执行以下C语言程序段后,变量res的值为______。
int num = 15;
char ch = 'F';
int res;
res = (num % 4 == 3) || ((ch - 'A') < 5);
正确答案: 1
29. (填空题)
程序运行后,输出结果为____。
#include <stdio.h>
int main() {
int arr[6]={22,24,25,27,28,30},i=0,sum=0;
while(i<6 && arr[i]%2==0){
sum += arr[i];
i++;
}
printf("sum=%d\n",sum);
return 0;
}
正确答案: sum=46
AI讲解 30. (填空题)
以下程序运行后,输出结果是____。
int fun(int m, int n) {
return m + n;
}
int main() {
int a = 10;
a = fun(7, 8);
printf("%d", a);
Return 0;
}
正确答案: 15
31. (填空题)
以下程序运行后,输出结果是____。
void fun(int m, int n, int *k)
{
*k = m + n;
}
int main() {
int a = 10;
fun(5, 8, &a);
printf("%d", a);
return 0;
}
正确答案: 13
32. (填空题)
一球从100米高度自由落下,每次落地后反跳回原来高度的一半,再落下,求它在第十次落地时,共经过多少米以及第十次反弹多高?请完善以下程序。
int main()
{float Sn=100.0,hn=Sn/2;
int n;
for (n=2;n<=①;n++)
②;
hn=③ ;}
printf("第10次落地时共经过%f米\n",Sn);
printf("第10次反弹%f米\n",hn);
}
正确答案: (1) 10 (2) Sn=Sn+2*hn (3) hn/2
33. (填空题)
1. 编写程序计算 1+3+5+…+99 的累加和(即 1 到 100 之间所有奇数的和),请完善以下程序。
int main() {
int sum = 0;
int i;
for(① ; i<=99; ② ) {
③ ; }
printf("1到99所有奇数的和为:%d\n", sum);
return 0;
}
正确答案: (1) i=1 (2) i+=2 (3) sum=sum+i
|