C语言期末试题2023年C

发布 2021-12-28 00:36:28 阅读 8381

c语言考试题。

说明:考试成绩分为两部分:实验占10%,卷面笔试占90%,满分为100分。本试卷为卷面笔试部分,卷面满分为90分。

一、填空题(10分,第1小题4分,其余每空1分)

1.设有下列登记表,请采用最佳方式定义一种数据类型来表示这些数据的集合。

其中,配偶姓名用spousename表示,子女人数用children表示。

2.c语言中构造数据类型包括。

3.c语言中用___表示逻辑值“假”,用___表示逻辑值“真”。

4.char *p[10];这条语句的含义是。

二、判断下列问题描述正确与否,正确的打“√”错误的打“×”4分 ,每题1分)

1.如果在程序中定义静态变量和全局变量时,未明确指明其初始值,那么它们可以在程序编译阶段自动被初始化为0值。(

2.在c语言中,可以用typedef定义一种新的数据类型。(

3.在c语言中,实参与其对应的形参各占独立的存储单元。(

4. 在c语言中,函数的定义可以嵌套。(

三、选择题:(10分,每题2分)

1.若用数组名作为函数调用时的实参,则实际上传递给形参的是( )

a.数组的首地址b. 数组的第一个元素值。

c.数组中全部元素的值 d. 数组元素的个数。

2.判断两个字符串s1和s2相等,应当使用( )

a. if (s1 ==s2) b. if (s1 = s2)

c. if (!strcmp(s1,s2)) d. if (strcmp(s1,s2))

3.在while(x)语句中的x与下面条件表达式等价的是。

a. x!=0 b. x==1 c. x!=1 d. x==0

4.二维数组a有m行n列,则在a[i][j]之前的元素个数为( )

a. j*n+i b. i*n+j c. i*n+j-1 d. i*n+j+1

5.设有声明语句:int a=1,b=0;则执行以下语句后输出为。

switch (a)

case 1:

switch (b)

case 2: printf("*2**"

break;

a)**0b) *0***2**

c)**0***1***2** d) 有语法错误。

四、写出下列程序的运行结果。(6分,每题2分)

#include<>

void fun(int *y)

printf("*y = d", y);

y = 20;

printf("*y = d", y);

main()

int x = 10;

printf("x = d", x);

fun(&x);

printf("x = d", x);

运行结果是:

#include<>

int fun(int x)

运行结果是:

#include<>

main (

char a programming" ,b language" ;

char *p1, *p2 ;

int i;

p1 = a;

p2 = b;

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

printf("");

运行结果是:

五、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(10分,每空2分)

1. 下面这个程序用于读入5个整数,当程序读入的数据为正整数时,则显示该数,否则,不显示。读入5个数据后,程序结束运行。

#include <>

main()

int i, n;

for (i=1; i<=5; i++)

printf("program is over!");

2. 韩信点兵。韩信有一队兵,他想知道有多少人,便让士兵排队报数:

按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。下面程序的主要功能是计算韩信至少有多少兵。

#include <>

main()

int x = 1;

int find = 0

for (x=1x++)

3. 下面程序是计算字符串中实际字符的个数,即实现和字符串处理函数strlen相同的功能。

unsigned int mystrlen(char str)

unsigned int len = 0, i;

for (i=0; str[ii++)

return len;

六、在下面这个程序中,要求其实现的功能是对用户输入的任意整数计算其阶乘,输入小于等于-1的数时退出程序。下面给出的是一个有错误的程序,请找出其中的错误,并改正之。(10分)

#include <>

#define end -1;

long factorial(int x);

main()

int x;

while (1

long factorial(int x)

int i;

int result;

for (i=1, i<=x, i++)

result *=i;

七、编程(40分,第1和2小题各10分,第3小题20分)

1.编程计算1!+2!+3!+…10!的值。

2. 从键盘任意输入10个不相同的整数,然后,输入要查找的数x,如果在这10个数中找到x,则打印“found!”;如果找不到,则打印“not found!”。

3.从键盘任意输入某班20个学生的成绩,打印最高分,并统计不及格学生的人数。

2023年C语言期末试题A

2011 2012 学年第一学期 c程序设计 期末试卷。班级 11电气 2 姓名 杨鑫 学号 110720131 成绩 98 一 选择题 每题2分,共40分 1 以下叙述正确的 a a 一个c程序的执行是从本程序的main函数开始,到main函数结束。b c程序的每行中只能写一条语句。在c程序中,注...

C语言试题

鄂州高新技术学校1001班。c语言第二章试题。姓名分数。一 编写程序求出下面的数字表达式的值。每小题8分,共40分 1 v 2 r 3 y x3 3x 7 4 f g 其中g 6.637 10 3 二 设a 6,b 4,编写程序输出下列运算表达式的值,并写出下列运算表达式的结果。每小题5分,共30分...

C语言试题

鄂州高新技术学校1001班。c语言第四章试题。姓名分数。一 编写程序求1 2 3 4 5的值。10分 二 编写程序求1!2!3!4!5!的值。10分 三 编写程序,输入一个数,按相反次序输出。10分 四 编写程序,从键盘上输入10个整数,求其和。10分 五 编写程序,输入两个整数,求它们的最大公约数...