C语言程序设计模拟试题2.doc
如有侵权,请联系网站删除,仅供学习与交流C语言程序设计模拟试题2【精品文档】第 - 6 - 页C语言程序设计模拟试题2一、单选题(每题3分,共计30分)1、C语言中基本数据类型包括(B)。A、整型、实型、逻辑型 B、整型、实型、字符型C、整型、字符型、逻辑型 D、整型、实型、逻辑型、实型2、下列选项中不属于C语言的优点的选项是( )。A、C语言语句简洁、紧凑,使用方便灵活 B、C语言程序易于移植C、生成的目标代码质量高,运行效率高 D、数据类型检查严格3、若a、b均为int型变量,且a=100,则关于循环语句for(b=100; a!=b; +a,+b) printf ( “ -”) ;的正确说法是( ) 。 A、循环体只执行一次 B、死循环 C、循环体一次也不执行 D、输出-4、对C语言来说,下列标识符中不合法的选项是( )。A、AB2C B、ab2c C、ab.2c D、a_b2c5、执行下列程序段后,i的值是( )。s = 0;for( i = 1; i <= 4; i=i+3 )s += i;A、1 B、4 C、5 D、76、下列各语句中,能够输出整型变量a、b中最大值的是( )。A、printf("%dn",(a>b)?a,b);B、(a>b)? printf("%d",b): printf("%d",a);C、printf("%d",if(a>b)a else b);D、printf("%dn",(a>b)?a:b);7、设int a = 9,b = 8,c = 7, x = 1; 则执行语句 if (a>7) if (b>8) if (c>9) x=2 ;else x = 3;后, x 的值是( )。 A、0 B、2 C、1 D、38、下列语句中定义x为指向int类型变量a的指针,正确的是( )。A、int a, *x=a; B、int a, *x=&a;C、int *x=&a, a; D、int a, x=a;9、以下正确的函数定义形式是( )。A、double fun(int x, int y) B、double fun(int x; int y)C、double fun(int x, int y); D、double fun(int x y)10、假定int类型变量占用两个字节,有定义:int x10=0,2,4;,则数组x在内存中所占字节数是( )A) 3 B) 6 C) 10 D) 20二、填空题(每题2分,共计10分)1、C语言程序设计的三种基本结构是 、分支结构和 。2、若已定义: int x=10, y=3, z; 则语句printf("%dn",z=(x%y, x/y); 的输出结果是 。3、表示条件10 < x <100或者x < 0的C语言表达式是 。4、使用强制类型转换运算符,可以将一个表达式转换成给定的类型。(int)3.8 + 1.3的值是 ,(int)(3.8 + 1.3) 的值是 。5、下列程序段的功能是计算:s=1+12+123+1234+12345,则划线出应填 。int i, s=0, t=0;for(i=1;i<=5;i+) t=i+ ;s=s+t;printf(“s=%dn”,s);三、程序分析题(3小题,每题10分,共计30分)1、分析下列程序,写出输出结果。#include <stdio.h>int main(void) int a =1, b =2, c = 3, d; printf("%d, %d n", d = a + b > c, b - 1 = a != c); printf("%d, %o, %xn", 10, 10, 10); printf("%d, %d, %dn", 10, 010, 0x10); printf("%d, %xn", 012, 012); return 0;程序运行结果:2、设计计算两点间距离的函数,实现程序功能。程序功能:给定平面任意两点坐标(x1,y1)和(x2,y2),求这两点之间的距离(保留2位小数)。要求定义和调用函数dist(x1, y1, x2, y2)计算两点间的距离。#include <stdio.h>#include<math.h>int main( void )double distance;double dist(double x1,double y1,double x2,double y2); /* 函数声明*/printf ("Enter (x1,y1) and (x2,y2): ");scanf ("%lf%lf%lf%lf ", &x1,&y1, &x2,&y2);distance=dist(x1, y1,x2, y2); /* 调用函数,返回值赋给distance */printf ("distance=%.2f n", distance);return 0;距离函数dist的定义:(提示:可直接调用库中的平方根函数sqrt。如:求x的平方根,调用方法为:sqrt(x)。)3、补齐程序语句,使程序功能完整。程序功能:输入精度e,使用格雷戈里公式求的近似值,精确到最后一项的绝对值小于e。#include <stdio.h>#include <math.h>double funpi(double e); /* 函数声明 */int main(void) double e, pi; /* e 代表精度 */ printf("Enter e:"); /* 提示用户输入精度 */ scanf("%le", &e); /*精度以科学计数法形式表示*/ /* 调用函数,把返回值赋值给pi */printf ("pi = %.4fn", pi);return 0; /* 定义计算pi的函数 */int denominator, flag; double item, sum;flag = 1; /* flag 表示第 i 项的符号,初始为正 */denominator = 1;/* denominator表示第 i 项的分母,初始为1 */item = 1.0; /* item 中存放第 i 项的值,初值取 1 */ /* 置累加和的初值为0 */ /* 当|item| e时,执行循环 */while(fabs(item) >= e) /* 计算第 i 项的值 */sum = sum + item; /* 累加第 i 项的值 */flag = -flag; /* 改变符号,为下一次循环做准备 */ /* 分母递增2 ,为下一次循环做准备*/return sum * 4;四、程序设计题(2小题,共计30分)1、有36块砖,共36人搬,成年男子一次搬4块砖,成年女子一次搬3块砖,儿童两人抬1块砖,恰好一次全部搬完,编程求出成年男子 成年女子和儿童各有多少人。(本题10分)2、编写程序求余弦函数的近似值:输入x和精度e,用下列公式求cosx的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funcos(e,x)求余弦函数的近似值(保留3位小数)。(本题20分)提示:(1)用while循环编程;(2)程序中进行绝对值计算时,可直接调用库中的绝对值函数fabs。例如:求x的绝对值,调用方法为:fabs(x)。