C语言程序设计考试模拟答案
发布时间:2024-03-07 10:03:12浏览次数:44[试题分类]:C 语言程序设计1. 下列叙述中,错误的是A. 程序就是软件,但软件不仅仅是程序B. 计算机语言只能编写程序而不能表示算法C. 程序是指令的集合,计算机语言是编写程序的工具D. 计算机语言都是形式化的语言,都有语法规则和定义答案:B知识点:第 1 章 程序设计基础知识难度:12. 下列选项中,属于 C 语言关键字的是A. beginB. finalC. structD. public答案:C知识点:第 2 章 C 语言概述难度:13. 若有定义“int i; float f;”,则下列语句中,正确的是A. (int f)%i;B. int(f)%i;C. int(f%i);D. (int)f%i;答案:知识点:第 3 章 数据类型与运算规则难度:14. 在 C 语言中,数字 029 是一个A. 八进制数B. 十进制数C. 十六进制数
答案:题型:判断题知识点:第 6 章 循环结构的程序设计难度:137. 在 C 语言中,使用函数 strcpy 时可以将一个字符串的所有字符(包含'\0')复制到另一个数组中。答案:√题型:判断题难度:138. 在 C 程序中,函数调用只能出现在表达式语句中。答案:×题型:判断题知识点:第 8 章 函数难度:139. 在 C 程序中,函数调用时用数组名作为函数的实参,则传递给形参的是数组的首元素值。答案:×题型:判断题知识点:第 8 章 函数难度:140. 对于指向同一个数组的两个变量而言,两个指针变量相减操作是有意义的。答案:√题型:判断题知识点:难度:141. 结构体变量在内存中所占的字节数是其各个成员所占字节的总和。答案:
题型:判断题知识点:第 10 章 结构、联合与枚举类型难度:142. {请写出下列程序的输出结果。#include <stdio.h>int main() \{ char str[ ]="1A2B3C4D"; int i; for(i=0;str[i]!='\0';i++) if ((str[i]<'0') || (str[i]>'9'))printf("%c",str[i]); return 0;\}}答案:ABCD知识点:第 5 章 选择结构的程序设计第 6 章 循环结构的程序设计43. {请写出下列程序的输出结果。#include <stdio.h>int fun(int x) \{static int a=3;a+=x;return a;\}int main() \{ int k=2,m=1,n; n=fun(k);printf("%d ",n);n=fun(m);printf("%d ",n); return 0;\}}答案:知识点:第 8 章 函数44. {请写出下列程序的输出结果。#include <stdio.h>
int main( ) \{ static int a[]={1,2,3,4,5,6,7,8,9,0},*p=a;printf("%d\n ",*p);printf("%d\n ",++(*p));printf("%d\n ",*p+9);printf("%d\n ",*(p+9));printf("%d\n ",*++p+9);\}}答案:1 2 11 0 1145. {请写出下列程序的输出结果。#include <stdio.h>int main() \{ int a=10, b=5, c=5, d=5;int i=0, j=0, k=0;for ( ; a>b; ++b ) i++;while (a>++c) j++;do k++;while (a>d++) ; printf("%d,%d,%d\n", i,j,k);return 0;\}}答案:5,4,6
D. 非法数答案:D知识点:第 3 章 数据类型与运算规则难度:15. 若有定义“int i=1,j;”,执行语句“j=-i++;”后,j 的值是A. 1B. 2C. -1D. -2答案:C知识点:第 3 章 数据类型与运算规则6. 若有定义“char c='A'; int i=1,j;”,执行语句“j=!c&&i++;”后,i 和 j 的值是A. 1,1B. 1,0C. 2,1D. 2,0答案:知识点:第 3 章 数据类型与运算规则7. 若有定义“int x=1,y=-1;”,则语句“printf("%d",(x--&&++y));”的输出结果是A. 1B. 0C. -1D. 2答案:B知识点:第 4 章 顺序结构的程序设计8. 若用 s1 和 s2 代表 C 语言的语句,则下列条件语句中,在功能上与其他 3 条语句不等价的是A. if(a) s1; else s2;B. if (a==0) s2; else s1;C. if(a!=0) s1; else s2;D. if (a==0) s1; else s2;答案:知识点:第 5 章 选择结构的程序设计9. {
若有定义“int i=10;”,则执行下列语句后,变量 i 的值为 switch (i) \{ case 9: i+=1; case 10: i+=1; case 11: i+=1; default : i+=1; \}}A. 10B. 11C. 12D. 13答案:D知识点:第 5 章 选择结构的程序设计10. 执行语句“for(i=0;i++<3;);”后,变量 i 的值为A. 2B. 3C. 4D. 5答案:C11. 若有如下语句序列,则 while 循环执行的次数是 int k=0; while (k=1) k++;A. 无限次B. 执行一次C. 一次也不执行D. 有语法错,不能执行答案:A12. {若有定义“int a=5;”,则执行下列语句后的输出结果是 do \{ printf("%2d\n",a--); \} while(!a);}A. 无输出B. 死循环
C. 5D. 4答案:13. 要说明一个有 10 个整型元素的数组,应当选择语句A. int a[10];B. int a[2,5];C. int a[ ];D. int *a[10];答案:A难度:114. {若有定义“int i,x[3][3]=\{1,2,3,4,5,6,7,8,9\};”,则执行下列语句后的输出结果是 for(i=0;i<3;i++) printf("%d",x[i][2-i]);}A. 159B. 147C. 357D. 369答案:C15. 凡在函数中未指定存储类别的变量,其隐含的存储类别为A. 自动(auto)B. 静态(static)C. 外部(extern)D. 寄存器(register)答案:A知识点:第 8 章 函数难度:116. C 语言中的函数A. 可以嵌套定义B. 不可以嵌套调用C. 可以嵌套调用,但不能递归调用
D. 嵌套调用和递归调用均可答案:知识点:第 8 章 函数难度:117. 若有定义“char s[10],*p=s;”,则下列语句中,错误的是A. p=s+5B. s=p+s;C. s[2]=p[4];D. *p=s[0];答案:B知识点:18. {若有定义“int a[]=\{1,2,3,4\},y,*p=&a[1];”,则执行语句“y=(*--p)++;”后,变量 y 的值为}A. 1B. 2C. 3D. 4答案:A知识点:19. {若有如下定义: struct dent\{ int n; int *m; \}; int a=1,b=2,c=3;struct dent s[3]=\{\{101,&a\},\{102,&b\},\{103,&c\}\}, *p=s;则下列表达式中,值为 2 的是}A. (p++)->mB. *(p++)->mC. (*p).mD. *(++p)->m答案:知识点:第 10 章 结构、联合与枚举类型
20. 要打开一个已存在的非空文件“file”用于修改,下列选项中,正确的是A. fp=fopen("file","r");B. fp=fopen("file","a+");C. fp=fopen("file","w");D. fp=fopen("file","r+");答案:D知识点:第 11 章 文件难度:121. C 语言中,表达式的值为 时表示逻辑“真”。答案:非 0题型:填空题知识点:第 3 章 数据类型与运算规则难度:122. 若有定义“int a,b;”,执行语句“b=a=3,6*a;”后,变量 a 和表达式的值分别为 (1) 和 (2)。答案:(1) 3 (2) 18题型:填空题知识点:第 3 章 数据类型与运算规则难度:123. 下列语句序列执行后的输出结果是__________。int x=5; x+=x*=3; printf("%d\n",x);答案:30题型:填空题知识点:第 4 章 顺序结构的程序设计难度:124. 下列语句序列执行后的输出结果是__________。int x=6,y=8,r=x;
if (x<y) r=y;r*=r;printf("%d\n",r);答案:64题型:填空题知识点:第 5 章 选择结构的程序设计25. {下列语句序列执行后变量 s 的值是 。int s=0,i=1;while(s<=10) \{ s+=i*i; i++;\}}答案:题型:填空题26. 下列语句序列执行后的输出结果是__________。int x=10,y=10,i;for(i=0;x>8;y=++i) printf("%d %d",x--,y);答案:10,10,9,1题型:填空题27. 若有定义“char s[15]= "ab\n\012\\\"";”,则语句“printf("%d", strlen(s);”执行后的输出结果为__________。答案:6题型:填空题难度:128. {函数 fact 的功能是计算 n(n>0)的阶乘,请将划线处的语句补充完整。 int fact(int n) \{ if (n<=0) printf("data error\n"); if (n==1) (1) ; else (2) ; \}}
答案:(1) return 1; (2) return fact(n-1)*n;题型:填空题知识点:第 8 章 函数29. 下列语句序列执行后的输出结果是__________。char *aa="then", *bb="than";aa+=1; bb+=1;printf("%d\n", strcmp(aa,bb));答案:0题型:填空题知识点:30. {若有定义: struct \{ int x; char *y; \} tab[2]=\{\{1,"ab"\}, \{2,"cd"\}\}, *p=tab;则执行语句“printf("%c",*(++p)->y);”的结果是 。}答案:题型:填空题知识点:第 10 章 结构、联合与枚举类型31. {下列程序的功能是从终端读入 10 个数据到数组中,统计其中正数的个数,并计算它们的和。请将划线处的语句补充完整。#include <stdio.h>int main() \{ int i,a[10],sum=0,count=0;for(i=0;i<10;i++) scanf("%d", (1) );for(i=0; (2) ;i++)if(a[i] (3) ) \{count++; sum+=a[i]; \}printf("sum=%d,count=%d\n",sum,count);return 0;\}
}答案:(1) &a[i] (2) i<10 (3) >0题型:填空题第 8 章 函数32. C 语言中,语句必须以“;”结束。答案:题型:判断题知识点:第 2 章 C 语言概述难度:133. 表达式 (j=3, j++) 的值是 4。答案:×题型:判断题知识点:第 3 章 数据类型与运算规则难度:134. C 语言与其他高级语言一样,对于所有的同级运算符均遵循右结合原则。答案:×题型:判断题知识点:第 3 章 数据类型与运算规则难度:135. 在 if...else 语句中,else 总是和它上面最近且未曾配对的 if 配对。答案:√题型:判断题知识点:第 5 章 选择结构的程序设计难度:136. 语句 for(; ; ) {循环体} 和 while(1) {循环体}是等价的。