2022年c语言程序设计期末试题B .pdf
c 语言程序设计期末试题B(含答案)一单项选择题 (每小题 1 分,共 10 分) 1. 以下 4 组用户定义标识符中,全部合法的一组是()A)_total clu_1 sum B)if -max turb C)txt REAL 3COM D)int k_2 _001 2. 以下程序的输出结果是() #include main( ) int a = 1, b = 2, c = 3; printf(“%d ”, cba); A) 2 B) 1 C) 0 D) 3 3. 以下正确的叙述是()A) 在 C语言中, main 函数必须位于文件的开头B) C 语言每行中只能写一条语句C) C 语言本身没有输入、输出语句D) 对一个 C语言进行编译预处理时,可检查宏定义的语法错误4. 设有定义: int a,*pa=&a; 以下 scanf 语句中能正确为变量a 读入数据的是()A)scanf(%d,pa); B)scanf(%d,a); C)scanf(%d,&pa); D)scanf(%d,*pa); 5. 若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后, c3 中的值是()A) 0 B) 0.5 C) 1 D) 2 6. 能正确表示逻辑关系:“ a=10或 a0”的 C语言表达式是()A) a=10 or a=0|a=10 &a=10a=0 7. 执行下面的程序时,将1、2、3、4 分别赋给 a、b、c、d,正确的输入是() main( ) int a,b,c,d; scanf( “%d,%d,%d%d”,&a,&b,&c,&d); A)1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 4 8. 有以下程序段main( ) int k=0; 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 5 页 - - - - - - - - - while(k=1) k+; 则 while 循环执行的次数是()A) 无限次 B) 有语法错,不能执行C) 一次也不执行 D) 执行 1 次9. 以下程序的输出结果是() #include main( ) int a = 5, b = 4, c = 6, d; printf(“%d ”,d=ab?(ac?a:c): b); A) 5 B) 4 C) 6 D) 不确定10. 下面是对数组 a 的初始化,其中 不正确 的是()A)a5 ABCD B)a5 A ,B ,C ,D C)a5 D)a5ABCDE 二、填空题(每空 2 分,共 32 分)1. 结构化程序设计中的三种基本结构是 1 、 2 、 3 。2.C 程序的基本组成单位是 4 。3. 标识符的第一个字符必须是 5 或 6 。4. 实常数 123.457 的规范化指数表示形式是 7 。5. 表达式 7/2 的结果是8。表达式 7%2的结果是9。6. 定义一个整型数组a10, 则下标最大的数组元素为 10 。7. 在函数的递归调用过程中,要使递归过程不是无限制进行下去,必须具有 11 。8.C 语言提供了 12 命令用来实现“文件包含”的操作。9. 已知:char c =“china ” ; 将字符数组 c 中整个字符串一次输出的语句书写格式为 13 。10. 表达式 43 & 75-!0的值为 14 。11. 按照变量在函数中作用域不同,可以将变量分为 15 和 16 。三、计算题(要求写出步骤)(每题4 分,共 8 分)1. 设 int a=12 ,求出表达式 a+=a-=a*a 运算后 a 的值. 2. 设 a=2,b=3,x=3.5,y=2.5 求算术表达式 (float)(b-a)/2+(int)x%(int)y的值四、读下列程序,写出程序的运行结果(43=12)1已知字符 A的 ACSII 码值为 65,写出以下语句的输出结果main( ) char ch=A;printf(%c,%d,ch,ch+3);2. main( )int a = 10;printf(“%d ”, +a);printf(“%d ”, a-);名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 3main( ) int t=1;for(i=1 ; i5 ; i+)t=t*i;printf(%d,t); 4. f(int *a, int b)b=b+*a; *a=*a+b; main( ) int x=2,y=4; int *p; p=&x; f(p,y); printf(%d ,%d,x,y); 五、程序填空 (每空分,共 14 分) 1. 下列程序段以函数 swap( ) 调用的形式实现两个变量值的互换,请填空完善程序。swap(int * m,int * n) int temp;temp= 1;2;*n= 3;main( ) int x,y;scanf( “%d,%d ”,&x,&y);swap( 4);printf(%d,%d”,x,y);2. 下面程序是计算1-3+5-7+ -99+101 的值,请填空完善程序。main( )int i,m,t=1,s=0;for (i=1;i1). 编写程序输出下列形式的杨辉三角形的前10 行。( 10 分)1 1 11 2 1 1 3 3 1 1 4 6 4 1 C 语言模拟试卷二答案及评分标准一、单项选择题 (每小题 1 分)1.A 2. C 3. D 4. A 5. B 6. D 7. D 8. A 9. C 10. D二、填空题 ( 每空 2 分) 1.顺序结构、选择结构、循环结构。2.函数3.字母、下划线4.1.23457e2或 1.23457E25.3、16.a97.使递归结束的条件8.#include9.printf(“%s ”,c)10. 011. 全局变量、局部变量三、计算题(要求写出步骤)(每题4 分)1. a-=a*a a=a-a*a a=12-144= -132a+=-132 a=a+(-132) a=-132-132= -2642.1.0/2+3%2=0.5+1=1.5四、读下列程序,写出程序的运行结果(每题分). . ,. . . . . . ,五、程序填空: (每空分 ) 1.*m 2.*m=*n 3. temp 4. x,y 5. i=i+2 6. m=i*t 7. t=-t 六、编程题. main() int i; float t=1,s=0; for(i=1;i=;i+) 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 5 页 - - - - - - - - - t=t*i; s=s+t; printf(s=%en,s); .total(int n) int c; if (n=1) c=1; else c=total(n-1)+n+1; return(c); main() int n; scanf( “%d ”,n); printf(“%d ”,total(n); .main( ) int a1010,i,j; for(i=0;i10;i+) for(j=0;j=i;j+) if(j= =0)|(i= =j) aij=1; else aij=ai-1j-1+ai-1j; printf(%d,aij); printf(n); 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 5 页 - - - - - - - - -