《厦门大学c语言模拟题讲评及课程复习.ppt》由会员分享,可在线阅读,更多相关《厦门大学c语言模拟题讲评及课程复习.ppt(33页珍藏版)》请在装配图网上搜索。
1、C语言程序设计 课程复习及模拟题讲评,二一四年一月,C语言程序设计试卷各类题目分数分布情况 一、选择题 46分(23小题, 每题6分 ) 主要考基本概念, 词法, 语法和小程序阅读等。 二、阅读题 18分(3小题, 每题6分) 三、改错题 12分(2小题, 每题6分) 四、设计题 24分(4小题, 每题6分),相关说明: 选择题由机器改卷, 其它题目由人工改卷 考试题目有三分之二在平时的作业中 考试题型和模拟题相同, 考试范围与模拟题相似 考试内容90%在28章,第2章 重点考核常用运算符(+、-、*、/、%、=、!=、 float x; 执行x=5/i ; 后的值为( C )。 A 0.5 。
2、B 0 C 0.0 D 1.0 知识点:P53 “/” 除法运算符; P59 赋值时的隐式类型转换 2. 短整型的数据长度为2字节,设有变量说明语句 short int k; 则变量k可取的最大值是( B )。 A 32768 B 32767 C 99 D 256 知识点:P39 基本数据类型。 -215215-1(-3276832767),3. 给出以下定义: char x =abcd; char y = a, b, c , d; 则正确的叙述为( C )。 A 数组x和数组y等价 B 数组x和数组y的长度相同 C 数组x的长度大于数组y的长度 D 数组x的长度小于数组y的长度 知识点:P2。
3、14 字符数组初始化,4. 关于C语言变量的叙述, 错误的是( D )。 A 变量名必须由字母或下划线开头 B 程序中的变量必须在被使用之前定义 C 不同的基本类型的变量之间可以混合运算 D 变量的数据类型决定变量的作用域 知识点: P44 变量名, P46 变量必须遵循“先声明, 后使用”原则, P55 类型转换 P45 变量的数据类型决定变量能取何种值, 能进行何种运算, 所需内存空间大小。 P171 变量作用域,5. 函数形参如果缺省存储类别, 则默认为( A )。 A auto B register C static D extern 知识点: P174175 变量的存储类别,局部变量。
4、的存储类型。P4647 变量的声明 6. 合法的C语言标识符是( B )。 A 2a B sum C default D a*b 知识点: P3132 标识符、关键字、特定字 7. 如果整型量a, b, c的值分别是5、4、3, 则语句if (abc) c+; 执行后c的值是( C )。 A 语法错误 B 4 C 3 D 2 知识点: P88 关系表达式的值,8. 若有定义了char a; int b; float c; double d; 则表达式a*b+d-c的值的类型为( D )。 A char B int C float D double 知识点: P56 类型转换-隐式类型转换规则 。
5、9. 设已定义 int a, *p; 下列赋值表达式中正确的是( C )。 A *p=a B p=*a C p= 知识点: P158 函数的返回值,11. 设有如下的函数: ggg(float x) return x*x; 则函数返回值的类型是( C )。 A 与参数x的类型相同 B 是void C 是int D 无法确定 知识点: P150 函数定义 12. 设有说明语句 int x; float y; 执行scanf(x=%d, y=%f, ,则正确的输入是( B )。 A 17 71.9 B x=17, y=71.9 C 17 71.9 D x=17 y=71.9 知识点: P7880 。
6、格式输入函数,13. 下列运算符中, 优先级最低的是( A )。 A = B + C 的循环次数 是( C )。 A 0 B 语法错误 C 5 D 无穷多次 知识点: P121 for循环语句,16. 已知x=0, y=4; 执行语句 if (x=0) y+; else y-; 之后, y的值是( A )。 A 3 B 4 C 5 D 6 知识点: P91 if语句 17. 已知有宏定义 #define M 3+2 请问表达式 3*M*3的值是( D )。 A 45 B 27 C 28 D 15 知识点: P190 带参数的宏 18. 以下说法中正确的是( D )。 A 在C语言中, 要调用的。
7、函数必须在main( )函数中定义 B C语言程序总是从第一个定义的函数开始执行 C C语言程序中, main( )函数必须放在程序的开头 D C语言程序总是从main( )函数开始执行 知识点: P9 main函数,19. 以下叙述中错误的是( D )。 A 在不同的函数中可以使用相同名字的变量 B 函数中的形式参数是局部变量 C 在一个函数内定义的变量只在本函数范围内有效 D 当外部变量和局部变量同名时,局部变量无效 知识点: P171 变量的作用域:局部变量,全局变量 20. 引用数组元素时, 数组元素下标不可以是( C )。 A 字符常量 B 整型变量 C 字符串 D 算术表达式 知识。
8、点: P202 一维数组的引用 void main( ) int j=5, k=4, c=3, mm100; for (int i=0; i100; i+) mmi=i; printf(%dn %dn,mma, mmj+k); ,21. 有关C语言函数的描述, 说法错误的是( C )。 A C程序必须包含一个主函数main( ) B 主函数可以出现在其他函数之前或之后 C 函数必须有返回值 D 函数可以包含多个return语句 知识点: P152 P158 函数的声明, 函数的返回值 22. 在C语言里, 常量c和c两者( A )。 A 完全不同 B 类型相同 C 存储长度相同 D 存储值相同。
9、 知识点: P3536 字符型常量, 字符串常量 23. 在C语言中, 要求运算对象必须是整数的运算符 是( C )。 A / B ! C % D = 知识点: P52 %只能对整型数据运算,二、阅读题(本模块共18分, 每题6分),1. 考生文件夹下的图形文件read1.bmp描述的是程序代码, 请阅读该程序, 把程序的运行结果写在文本文件read1.txt中。,知识点: P54 自增+、自减-运算符,2. 考生文件夹下的图形文件read2.bmp描述的是程序代码, 请阅读该程序, 把程序的运行结果写在文本文件read2.txt中。,知识点: P246 指针的运算: / int sum=0,。
10、 n=1; while sum1000 / while (sum1000) sum=sum+n; n+; n-; sum= ; / sum=sum-n- ; printf(n=%dtsum=%dn, n, sum); ,三、改错题(本模块共12分, 每题6分),知识点: P113 while语句; P54 自增+、自减-运算符,2. 考生文件夹下有一程序文件error2.cpp, 修改并执行程序。,/定义一个函数fun(a), 函数返回正整数a的位数, 在主函数中输入一个正整数, /调用fun函数, 输出该数的位数。 #include / int fun(int a); / int fun( 。
11、int ); void main( ) / int fun(int a); / int fun( int ); int a, k; printf(请输入一个正整数:); scanf(%d, ,知识点: P150 函数定义 P152 函数的声明与函数原型 P158 函数的返回值,四、设计题(本模块共24分, 每题6分),1. 请在考生文件夹下的prog1.cpp文件中编写程序, 输入一个3位的整数, 如果该数的个位数和百位数相同, 则输出“回文数”, 否则输出“不是回文数”。 /prog1.cpp #include void main() int n; printf(请输入一个3位的整数: );。
12、 scanf(%d, ,知识点: P53 /(除法运算符)、%(求余运算符)、求某个整数的个位、十位、百位、.,2. 请在考生文件夹下的prog2.cpp文件中编写程序, 要求: 计算数列S=1-1/3+1/5-1/7+1/9-1/11+的值, 直到最后一项的绝对值小于0.000001为止。 #include #include void main() float s=0.0, t=1.0, n=1; while (fabs(t/n)=1e-6) s+=t/n; n=n+2; t=-t; printf(1-1/3+1/5-1/7+1/9-1/11+.=%fn, s); ,知识点: P115 绝对。
13、值函数: abs(x)、fabs(x), while循环; P35 浮点型常量的指数表示法,3. 请在考生文件夹下的prog3.cpp文件中编写程序, 先定义一个求素数的函数。然后在主函数中调用该函数, 输出100200之间的所有素数。 #include int sushu(int n) for (int i=2; in; i+) / for (int i=2; i=sqrt(n); i+) if (n%i=0) return 0; return 1; void main( ) for (int i=100, j=0; i=200; i+) if (sushu(i) printf(%dt, i。
14、); if (+j)%5=0) printf(n); ,知识点: P125、P127、P137、P206 求素数; P150158 函数的定义、声明、调用、函数间参数传递和返回值。,4. 请在考生文件夹下的prog4.cpp文件中编写程序, 要求: 输入一个长度为10的整型一维数组。找出其中的最大值元素, 然后和数组的最后一个元素位置对换。输出该数组。 #include void main() int a10, max, j, t; printf(请给长度为10的数组a,输入10个整数:n); for (int i=0; imax) max=ai; j=i; printf(最大值元素a%d=%。
15、dn, j, max); printf(最大值元素与数组的最后一个元素位置对换后为:n); t=a9; a9=aj; aj=t; for (i=0; i10; i+) printf(%d , ai); putchar(n); ,知识点: P94 交换2个变量的内容; P202204 数组的定义、引用、初始化,改错题 #include while k int i, j int a10 if (1= a=10) scanf(%d%d, a, b);,设计题: 素数 P125 P127 最大公约数、最小公倍数 P116117 阶乘 P154 求和 P121 P126 求一个数的各位、十位、百位, P123 偶数、奇数判断 P114 输出规则图形 P130 求最大、最小 P93 P94 分段函数 P92 P101 判别闰年 P103 Fibonacci数列 P140 回文数 P96,预祝 同学们在1月11日“C语言程序设计”上机考试中取得好成绩。