《c语言程序设计期末试题B含答案.doc》由会员分享,可在线阅读,更多相关《c语言程序设计期末试题B含答案.doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、c语言程序设计期末试题B含答案一 单项选择题(每题1分,共10分) 1. A 2. C 3. D 4. A 5. B 1.以下4组用户定义标识符中,全部合法的一组是 A)_total clu_1 sumB)if -max turbC)txt REAL 3COMD)int k_2 _0012.以下程序的输出结果是 #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语言本身没有输入、输
2、出语句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) 26. D 7. D 8. A 9. C 10. D6.能正确表示逻辑关系:“a=10或a0”的C语言表达式是 A) a=10 or a=0|a=10 &a=10a=07
3、.执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是 main( )int a,b,c,d;scanf(“%d,%d,%d%d,&a,&b,&c,&d);A1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 4main( )int k=0;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(aca:c): b); A) 5 B
4、) 4 C) 6 D) 不确定10.下面是对数组a的初始化,其中不正确的选项是 A)a5ABCDB)a5A,B,C,DC)a5 D)a5ABCDE二、填空题每空2分,共32分1.构造化程序设计中的三种根本构造是 1 、 2 、 3 。 4 。 5 或 6 。 7 。达式7/2的结果是 8 。表达式7%2的结果是 9 。6.定义一个整型数组a10,那么下标最大的数组元素为 10 。7.在函数的递归调用过程中,要使递归过程不是无限制进展下去,必须具有 11 。 12 命令用来实现“文件包含的操作。9.:char c =“china;将字符数组c中整个字符串一次输出的语句书写格式为 13 。10.表
5、达式43 & 75-!0的值为 14 。11.按照变量在函数中作用域不同,可以将变量分为 15 与 16 。1. 顺序构造、选择构造、循环构造。2. 函数3. 字母、下划线4. 或5. 3、16. a97. 使递归完毕的条件8. #include9. printf(“%s,c)10. 011. 全局变量、局部变量三、计算题要求写出步骤每题4分,共8分1. 设int a=12,求出表达式a+=a-=a*a运算后a的值.求算术表达式(float)(b-a)/2+(int)x%(int)y的值三、计算题要求写出步骤每题4分1.a-=a*a a=a-a*a a=12-144= -132a+=-132
6、a=a+(-132) a=-132-132= -2642. 四、读以下程序,写出程序的运行结果43=121字符A的ACSII码值为65,写出以下语句的输出结果main( ) char ch=A; printf(%c,%d,ch,ch+3); 四、读以下程序,写出程序的运行结果每题分. . ,. . . . . . ,2. main( ) int a = 10; printf(“%d , +a); printf(“%d , a-); 3main( ) int t=1;for(i=1 ; i5 ; i+)t=t*i;printf(%d,t); 4. f(int *a, int b)b=b+*a;
7、*a=*a+b; main( ) int x=2,y=4; int *p; p=&x; f(p,y); printf(%d ,%d,x,y); 五、程序填空(每空分,共14分)1.*m 2.*m=*n 3. temp 4. x,y 5. i=i+2 6. m=i*t 7. t=-t1.以下程序段以函数swap( )调用的形式实现两个变量值的互换,请填空完善程序。s * 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
8、-3+5-7+ -99+101的值,请填空完善程序。main( )int i,m,t=1,s=0;for (i=1;i1).编写程序输出以下形式的杨辉三角形的前10行。10分 1 1 1 1 2 1 1 3 3 11 4 6 4 1C语言模拟试卷二答案及评分标准一、单项选择题(每题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. 或5. 3、16. a97. 使递归完毕的条件8. #include9. printf(“%s,c)10. 011. 全
9、局变量、局部变量三、计算题要求写出步骤每题4分1.a-=a*a a=a-a*a a=12-144= -132a+=-132 a=a+(-132) a=-132-132= -2642. 四、读以下程序,写出程序的运行结果每题分. . ,. . . . . . ,五、程序填空:(每空分)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+) 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); 第 6 页