云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 大学计算机C语言期末考试复习试题及答案(20套)(1)

大学计算机C语言期末考试复习试题及答案(20套)(1)

  • 62 次阅读
  • 3 次下载
  • 2025/5/29 3:12:59

答案:B 第29题 (1.0分) 题

号:2943 关于 return 语句,下列正确的说法是().

A:在主函数和其他函数中均可出现 B:必须在每个函数中出现

C:可以在同一个函数中出现多次

D:只能在除主函数之外的函数中出现一次

答案:C

第30题 (1.0分) 题号:210

在位运算中,操作数每右移一位,其结果相当于()。 A:操作数乘以2 B:操作数除以2 C:操作数乘以16 D:操作数除以16

答案:B

三、程序填空 共2题 (共计24分)第1题 (12.0分) 题号:599 /*在屏幕上输出整数1到20。*/ main()

{

int i; i=1; do {

printf(\

/***********SPACE***********/ 【?】;

/***********SPACE***********/ }while(【?】); printf(\}

答案:

=======(答案1)======= i++

=======(答案2)======= i<=20

第2题 (12.0分) 题号:13

/*------------------------------------------------------ 【程序填空】

------------------------------------------------------ ---

题目:输出100到1000之间的各位数字之和能被15整除的所有数, 输出时每10个一行。

------------------------------------------------------ -*/ main() {

int m,n,k,i=0;

for(m=100;m<=1000;m++)

{

/***********SPACE***********/ 【?】; n=m; do {

/***********SPACE***********/ k=k+【?】 ; n=n/10;

/***********SPACE***********/ }【?】; if (k==0) {

printf(\

/***********SPACE***********/ if(i==0) 【?】; } } }

答案:

=======(答案1)======= k=0

=======(答案2)=======

n

=========或========= n-n/10*10

=========或========= n-10*(n/10)

=======(答案3)======= while(n>0)

=========或========= while(0

=========或========= while(n!=0)

=========或========= while(0!=N)

=======(答案4)======= printf(\

四、程序改错 共2题 (共计22分)第1题 (11.0分) 题号:386

/*----------------------------------------------------- 【程序改错】

------------------------------------------------------ --

题目:给定程序 MODI1.C 中函数 fun 的功能是:

求两个形参的乘积和商数,并通过 形参 返回调用程序。

例如输入:61.82 和 12.65, 输出为:c = 782.023000 d =

4.886957

------------------------------------------------------ --

注意:不可以增加或删除程序行,也不可以更改程序的结构。

-----------------------------------------------------*/ #include #include

/**********FOUND**********/

void fun ( double a, b, double *x, double *y ) {

/**********FOUND**********/ x = a * b;

/**********FOUND**********/ y = a / b; }

main ( )

{ double a, b, c, d; printf ( \( \( a , b, &c, &d ) ;

printf (\}

答案:

=======(答案1)=======

void fun ( double a, double b, double *x, double *y )

=======(答案2)======= *x = a * b;

=======(答案3)======= *y = a / b;

第2题 (11.0分) 题号:373

/*----------------------------------------------------- 【程序改错】

------------------------------------------------------ --

题目:给定程序 MODI1.C 中函数 fun 的功能是: 将 a 所指字符串中的字符和 b 所指字符

串中的字符, 按排列的顺序交叉合并 到 c 所指数组中,过长的剩余字符接在 c 所指数组的尾部。 例如,当 a 所指字 符串中的内容为\,b 所指字符 串中的内容为\时,c 所指数组中的

内容应该为\; 而当 a 所指 字符串中的内容为\,b 所指字符串 中的内容为\时,c

所指数组中的 内容应该为\。

------------------------------------------------------ --

注意:不可以增加或删除程序行,也不可以更改程序 的结构。

-----------------------------------------------------*/ #include #include #include

/**********FOUND**********/ fun( char a, char b, char c ) {

while ( *a && *b ) { *c = *a; c++; a++; *c = *b; c++; b++; }

if( *a == '\\0' )

/**********FOUND**********/ while( *b ) *c = *b; c++; b++; } else

/**********FOUND**********/ while( *a ) *c = *a; c++; a++; } *c = '\\0'; }

main() {

char s1[100], s2[100], t[200]; printf(\s1 string : \printf(\s2 string : \printf(\}

答案:

=======(答案1)=======

void fun( char *a, char *b, char *c ) =======(答案2)=======

while( *b ) { *c = *b; c++; b++; } =======(答案3)=======

while( *a ) { *c = *a; c++; a++; }

五、程序设计 共1题 (共计14分)第1题 (14.0分) 题号:413

/*------------------------------------------------ 【程序设计】

-------------------------------------------------- 题目:编写函数 fun 将一个数组中的值按 逆序存放, 并在 main()函数中输出。 例如,原来存顺序为8,6,5,4,1。要 求改为:

1,4,5,6,8。

-------------------------------------------------- 注意:部分源程序给出如下。请勿改动主函数 main 和其它函数中的任何内容,仅在函 数 fun 的花括号中填入所编写的若干语句。

------------------------------------------------*/ #include \#define N 5 main()

{int a[N]={8,6,5,4,1},i; for(i=0;i

printf(\} int fun(int arr[],int n) {

/**********Program**********/

/********** End **********/ } yzj() {

FILE *IN,*OUT; int n; int i[10]; int o;

IN=fopen(\{printf(\}

OUT=fopen(\if(OUT==NULL) {printf(\}

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

{ fscanf(IN,\}

fun(i,10);

for(n=0;n<10;n++) { fprintf(OUT,\}

fclose(IN); fclose(OUT); }

答案:---------------------- int i,t;

for(i=0;i

arr[i]=arr[n-1-i]; arr[n-1-i]=t; }

一、判断 共10题 (共计10分)

第1题 (1.0分) 题号:5 若有定义和语句:int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0; for(i=0;i<3;i++) sum+=a[i][2-i]; 则 sum=21. 答案:Y

第2题 (1.0分) 题号:1468

在 C 语言中,整型数据在内存中占2个字 节.

答案:N

第3题 (1.0分) 题号:8

在 Turbo C 中,整型数据在内存中占2个字节。答案:N

第4题 (1.0分) 题号:23 若 a=3,b=2,c=1 则关系表达式 \的值为\真\。 答案:Y

第5题 (1.0分) 题号:1243

C 语言是一种结构化程序设计语言. 答案:Y

第6题 (1.0分) 题号:17 x*=y+8 等价于 x=x*(y+8)。 答案:Y

第7题 (1.0分) 题号:1476

在进行赋值转换时,变量的类型被自动转 换为赋值号右边的表达式值的类型. 答案:N

第8题 (1.0分) 题号:1499

用 printf 函数输出一个字符串时,格式字符为%s,输出项可以是此字符串或存放此字符串的数组的数组名. 答案:Y

第9题 (1.0分) 题号:1501

以数组名作函数参数时,实参数组与形参数组都不必定义长度,因此实参与形参的结合方式是地址结合,与数组长度无关. 答案:N

第10题 (1.0分) 题号:1495

以数组名作函数参数时,数据传递的方向是\双向的\因此我们可以说,在此情况下, 函数带回的返回值可能不止一个.

二、单项选择 共30题 (共计30分)第1题 (1.0分) 题号:3196

有如下程序段 int a=14,b=15,x;char c=′A′; x=(a&&b)&&(c<′B′); 执行该程序段后,x 的值为()

A:ture B:false C:0 D:1

答案:D

第2题 (1.0分) 题号:650 若有说明: int a[][4]={0,0};则下面不正确的叙述是()。 A:数组 a 的每个元素都可得到初值0 B:二维数组 a 的第一维大小为1 C:因为二维数组 a 中第二维大小的值除经初值个数的商为1,故数组 a 的行数为1

D:有元素 a[0][0]和 a[0][1]可得到初值0,其 余元素均得不到初值0

答案:D

第3题 (1.0分) 题号:2747 以下运算符中,优先级 高的运算符是(). A:?: B:++ C:&& D:,

答案:B 第4题 (1.0分) 题号:2900 以下不符合 C 语言语法的赋值语句是(). A:a=1,b=2 B:++j; C:a=b=5;

D:y=(a=3,6*5);

答案:A 第5题 (1.0分) 题号:502

下列表达式中,可作为 C 合法表达式的是 ()。

A:[3,2,1,0] B:(3,2,1,0) C:3=2=1=0 D:3/2/1/0

答案:B 第6题 (1.0分) 题号:2392

C 语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符() A:必须为字母

B:必须为下划线

C:必须为字母或下划线

D:可以是字母,数字和下划线中任一字符

答案:C

第7题 (1.0分) 题号:2378 能正确表示逻辑关系:\≥10或a≤0\的C语 言表达式是() A:a>=10 or a<=0 B:a>=0|a<=10 C:a>=10 &&a<=0 D:a>=10 a<=0

答案:D

第8题 (1.0分) 题号:3032 若有 double *p,x[10];int i=5;使指针变量 p 指向元素 x[5]的语句为(). A:p=&x[i]; B:p=x; C:p=x[i]; D:p=&(x+i)

答案:A 第9题 (1.0分) 题号:3107

判断 char 型变量 cl 是否为小写字母的正确表达式是(). A:a'<=cl<='z'

B:(cl>=a)&&(cl<=z) C:('a'>=cl)||('z'<=cl) D:(cl>='a')&&(cl<='z')

答案:D

第10题 (1.0分) 题号:3162 以下叙述中不正确的是(). A:预处理命令行都必须以#号开始 B:在程序中凡是以#号开始的语句行都是预处理命令行 C:C 程序在执行过程中对预处理命令行进行处理 D:以下是正确的宏定义 #define IBM_PC

答案:C

第11题 (1.0分) 题号:2993 下列程序段的输出结果为(). int a=7,b=9,t; t=a*=a>b?a:b; printf(\B:9 C:63 D:49

答案:C

第12题 (1.0分) 题号:488 C 语言中的文件的存储方式有()。 A:只能顺序存取

B:只能随机存取(或直接存取) C:可以顺序存取,也可随机存取 D:只能从文件的开头进行存取

答案:C

第13题 (1.0分) 题号:2752

下列字符序列中,不可用作 C 语言标识符的是(). A:b70 B:#ab

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

答案:B 第29题 (1.0分) 题号:2943 关于 return 语句,下列正确的说法是(). A:在主函数和其他函数中均可出现 B:必须在每个函数中出现 C:可以在同一个函数中出现多次 D:只能在除主函数之外的函数中出现一次 答案:C 第30题 (1.0分) 题号:210 在位运算中,操作数每右移一位,其结果相当于()。 A:操作数乘以2 B:操作数除以2 C:操作数乘以16 D:操作数除以16 答案:B 三、程序填空 共2题 (共计24分)第1题 (12.0分) 题号:599 /*在屏幕上输出整数1到20。*/ main() { int i; i=

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com