c语言试卷

江西财经大学IT帮

2020-2021第一学期期末C语言模拟考试试卷

课程名称:C语言程序设计(软件)(主干课程) 适用对象:21级本科

试卷命题人++++钟芳盛 游天悦 李俊贤 万军豪 张位++++ 试卷审核人++++钟芳盛++++

一、单项选择题(从下列各题四个备选答案中选出一个正确答案,并将其代号写在答题纸相应位置处。答案错选或未选者,该题不得分。每小题2分,共20分。)

1、C 语言可执行程序的开始执行点是( )

A.程序中第一条可执行语言 B.程序中第一个函数

C.程序中的 main 函数 D.包含文件中的第一个函数

2、下列叙述正确的是( )

A.C语言中的数据类型,在不同的编译系统中占据内存的存储单元大小是一样的

B.C语言中的常量是没有类型的

C.C语言中的数据类型不同,在内存中占据不同长度的存储单元

D.C语言中的数据的类型不同,但取值范围都是相同的

3、下面合法的C语言字符常量是( )

A. '\t' B. "A" C. 65 D. A

4、在一个C程序中,要定义一个只允许本源文件中的所有函数使用的全局变量,则该变量需要使用的存储类别是( )

A.extern B.register C.auto D.static

5、设 int a=11,则执行完语句a+=a-=(a++)*(--a)后,a的值是( )。

A. -120 B.-121 C. -220 D.- 144

6、C语言中的变量名只能由字母、数字和下划线三种字符组成,且第一个字符必须是 ( )。

A.字母 B.下划线 C.必须为字母或下划线 D.可以是三种中的任一种

7、以下说法不正确的是( )

A.字符数组可存放字符串

B.字符数组中的字符串可整体输入、输出

C.可在赋值语句中通过赋值运算符对字符数组整体赋值

D.不可用关系运算符对字符数组中的字符进行比较

8、若函数调用时用数组名作为函数参数,以下叙述不正确的是( )

A.实参与其对应的形参共用同一段存储空间

B.实参将其地址传递给形参,结果等同于实现了参数间的双向值传递

C.实参与其对应的形参分别占用不同的存储空间

D.在调用函数中必须说明数组的大小,但在被调函数中可以使用不定尺寸数组

9、以下叙述正确的是( )

A.continue语句作用是结束整个循环的执行

B.只能在循环体内和switch语句体内使用break语句

C.在循环体内使用break语句或continue语句的作用相同

D.从多层循环嵌套中退出时,只能使用goto语句

10、以下整数值中,不正确的八进制或十六进制数是( )

A.0x16 B.016 C.ox16 D.0xaaaa

二、简答题(第11题10分,第12题5分,第13题5分,共20分。)

11、三种循环结构中的条件是循环进行的条件还是循环结束的条件?循环结构中break语句和continue语句的作用是什么,二者有何区别?

12、函数的嵌套调用与递归调用有什么区别?

13、变量的声明与定义有什么区别

三、程序填空题(按题目要求补充完程序。每空2分,共8分。)

14、下面程序是计算 1-3+5-7+......-99+101 的值,请用填空完善程序。

main()

{

int i, m, t = 1, s = 0;

for (i = 1; i < 101;++++[1]++++)

{

++++[2]++++;

s = s + m;

++++[3]++++;

}

printf("%d\n", s);

}

[1]

[2]

[3]

15、下面函数利用递归实现求第n个斐波那契数,请填空完善fibo函数。

int fibo(int n)

{

int f1;

if (n == 1 || n == 2)

{

f1 = 1;

return f1;

}

else

{

return ++++[++++ ++++4]++++;

}

}

[4]

四、程序阅读题(给出下列程序运行后的输出结果。每小题4分,共12分。)

16、 #include <stdio.h>

int main()

{

int a, b;

for (a = 1, b = 1; a <= 100; a++)

{

if (b >= 9)

break;

if (b % 3 == 1)

{

b += 3;

continue;

}

b -= 5;

}

printf("%d,%d\n", a, b);

return 0;

}

运行结果:

17、 #include <stdio.h>

void fun(int x, int cp, int dp)

{

cp = x++;

dp = ++x;

}

void main(void)

{

int a, c = 80, d = -20;

a = 30;

fun(a, c, d);

printf("%d,%d\n", c, d);

}

运行结果:

18、 #include <stdio.h>

void inv(int x[], int n);

void main()

{

int i, a[10] = {3, 7, 9, 11, 0, 6, 7, 5, 4, 2};

inv(a, 10);

printf("The array has been reverted.\n");

for (i = 0; i < 10; i++)

printf("%d,", a[i]);

printf("\n");

}

void inv(int x[], int n)

{

int t, i, j, m = (n - 1) / 2;

for (i = 0; i <= m; i++)

{

j = n - 1 - i;

t = x[i];

x[i] = x[j];

x[j] = t;

}

}

运行结果:

五、程序设计题(每小题10分,共40分。)

1、找所有1000以内的素数并输出

2、以三角形的形式输出 九九乘法表(第一行为1*1=1 第二行为1*2=2 2*2=4)

3、用递归的方式求斐波那契数列的前100项和

4、找到1000以内所有水仙花数并输出(水仙花是指一个3位数,它的每个位上的数字的3次幂之和等于它本身)

相关推荐
程序员爱技术1 小时前
Vue 2 + JavaScript + vue-count-to 集成案例
前端·javascript·vue.js
m0_571957582 小时前
Java | Leetcode Java题解之第543题二叉树的直径
java·leetcode·题解
并不会2 小时前
常见 CSS 选择器用法
前端·css·学习·html·前端开发·css选择器
衣乌安、2 小时前
【CSS】居中样式
前端·css·css3
兔老大的胡萝卜2 小时前
ppk谈JavaScript,悟透JavaScript,精通CSS高级Web,JavaScript DOM编程艺术,高性能JavaScript pdf
前端·javascript
低代码布道师2 小时前
CSS的三个重点
前端·css
耶啵奶膘4 小时前
uniapp-是否删除
linux·前端·uni-app
魔道不误砍柴功4 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_2344 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨4 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享