第一范文网 - 专业文章范例文档资料分享平台

C语言试题及答案

来源:用户分享 时间:2025/5/21 6:45:44 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

4. 程序改错

(1) 以下程序是显示[200,300]所有能被 7 整除的数,每行显示 5 个数,此程序有 5处错。 main() {

int i,n=0; /*n用来记录每行已打印数的个数*/ while(i<300) //while((i <= 300)&&(i >= 200)) { //i++;

if(i%7==0) //if(i%7!=0) break; //continue; printf(\ n=n+1;

if(n=5)/*满5个换行*/ //if(n == 5) {

printf(\ n=0; } } }

(2) 以下程序是求 1!+2!+3!+4!+5!+6!+7!的值,其中有 3 处错误。

main() {

int i,s,t=0; //long s = 0,t = 1; //int i; for(i=1;i<=7;i++) {

s=0; //去掉该语句 t=t*i; s=s+t; }

printf(\“sum=%ld”,s); }

第6章 函数习题 1. 单项选择题

(1)C 语言总是从 A 函数开始执行。

A. main B. 处于最前的 C.处于最后的 D. 随机选一个 (2)函数在定义时,省略函数类型说明符,则该函数值的类型为 A 。 A. int B. float C. long D. double (2)以下 B 函数,真正地没有返回值。

A. int a(){int a=2;return (a);} B. void b(){printf(\C. int a(){int a=2;return a;} D. 以上都是 (3)在 C 语言中,有关函数的说法,以下正确的是 C 。

A. 函数可嵌套定义,也可嵌套调用 B. 函数可嵌套定义,但不可嵌套调用

9

C. 函数不可嵌套定义,但可嵌套调用 D. 函数不可嵌套定义,也不可嵌套调用 (4)以下函数调用语句中,含有实参的个数为 B 。 fun((2,3),(4,5+6,7));

A. 1 B. 2 C. 5 D. 6 (5)函数调用可以在 D 。

A. 函数表达式中 B. 函数语句中 C. 函数参数中 D. 以上都是 (6)被调函数返回给主调函数的值称为 C 。

A. 形参 B. 实参 C. 返回值 D. 参数 (7) D ,可以不进行函数类型说明。

A. 被调函数的返回值是整型或字符型时 B. 被调函数的定义在主调函数定义之前时 C. 在所有函数定义前,已在函数外预先说明了被调函数类型 D. 以上都是 (8)被调函数通过 D 语句,将值返回给主调函数。 A. if B. for C. while D. return (9)被调函数调用结束后,返回到 B 。 A.主调函数中该被调函数调用语句处 B.主函数中该被调函数调用语句处

C.主调函数中该被调函数调用语句的前一语句 D.主调函数中该被调函数调用语句的后一语句

(10)以下对 C语言函数的有关描述中,正确的是 A 。

A. 在 C 中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B. C函数既可以嵌套定义又可递归调用 C. 函数必须有返回值,否则不能使用函数

D. C程序中有调用关系的所有函数必须放在同一个源程序文件中 (11)C 语言中函数的隐含存储类型是 A 。

A. auto B. static C. extern D. 无存储类型

(12)能把函数处理结果的两个数据返回给主调函数,在下面的方法中不正确的是 A 。 A. return 这两个数 B. 形参用两个元素的数组 C. 形参用两个这种数据类型的指针 D. 用两个全局变量

2. 填空题

(1) 变量的作用域主要取决于变量 定义的位子 ,变量的生存期既取决于变量 存储类型 ,又取决于变量 存储方式 。 (2) 说明变量时,若省略存储类型符,系统默认其为 整形 存储类别,该存储类别的类型符为: int 。 (3) 静态型局部变量的作用域是 静态局部变量定义的复合语句或函数体内 ,生存期是 整个程序运行期内 。

(4) 函数中的形参和调用时的实参都是数组名时,传递方式为 地址传递 ,都是变量时,传递方式为 值传递 。

(5) 函数的形式参数的作用域为 整个函数体内 ,全局的外部变量和函数体内定义的局部变量重名时, 函数体内定义的局部 变量优先。

(6) 若自定义函数要求返回一个值,则应在该函数体中有一条 return 语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符 void 。

(7) 若函数的形式参数是指针类型,则实参可以是 数组名 、 地址 或 指针变量 。 (8) 函数的参数为 char *类型时,形参与实参结合的传递方式为 地址传递 。 (9) 函数的实参为常量时,形参与实参结合的传递方式为 值传递 。 (10) 对数组按值从大到小的顺序排序后输出,请填空。 #include

10

void main() {

float a[7]={2,6,3,8,3,12,9}; int i ;

void sort(float*,int); sort(a,7) ;

for(i=0;i<7;i++) printf(\ printf(\}

void sort( float *p, int n ) {

int i,j,k; float t; for(i=0;i

k=i;

for(j=i+1;j

if( p[k]

{ t=*(p+i); *(p+i)=*(p+k); *(p+k)=t; } } }

(11) 下列函数在 n 个元素的一维数组中,找出最大值、最小值并传送到调用函数,请填空。 #include

void find(float *p, float *max, float *min, int n) {

int k; float t;

*max=*p; *min = *p; for(k=1;k

t=*(p+k);

if( t>*max ) *max=t; if(t<*min) *min=t; } }

3. 写出下列程序运行结果: (1) if(a>b) main() f=1; { else if(a==b) int i=1,p; f=0; p=fun(i,i+1); else printf(\ f=-1; } return f; int fun(int a,int b) } { int f; 输出:-1

11

(2)键盘输入 abcdef

#include void fun( ) {

(4)

#include int c , a=4 ;

func(int a , int b)

{ c=a*b ; a=b-1 ; b++ ; return (a+b+1) ; } char c ;

void main( ) if((c=getchar( ))!='\\n') {

fun( ) ; int b=2 , p=0 ; c=1 ; putchar(c); p=func(b , a) ;

}

printf(\void main( ) }

{ fun( ); } 输出:4,2,8,9 输出:fedcba (5)

(3)

unsigned fun6(unsigned num) #include {

#define C 5 unsigned k=1;

int x=1,y=C; do { k*=num; num/=10; } void main( ) while(num); {

return k; int x;

}

x=y++; printf(\void main( ) if(x>4)

{

{ int x ; x=++y; printf(\ unsigned n=26;

x+=y--;

printf(\ printf(\}

}

输出:12

输出:5 6

7 7 12 6 第7章 数组习题

1. 单项选择题

(1) int a[4]={5,3,8,9};其中 a[3]的值为( D )。 A. 5 B. 3 C. 8 D. 9

(2) 以下 4 个字符串函数中,( A )所在的头文件与其他 3 个不同。 A. gets B. strcpy C. strlen D. strcmp (3) 以下 4 个数组定义中,( D )是错误的。

A. int a[7]; B. #define N 5 long b[N]; C. char c[5]; D. int n,d[n]; (4) 对字符数组进行初始化,( B )形式是错误。

A. char c1[ ]={'1', '2', '3'}; B. char c2[ ]=123; C. char c3[ ]={ '1', '2', '3', '\\0'}; D. char c4[ ]=\(5) 在数组中,数组名表示( A )。

A. 数组第 1 个元素的首地址 B.数组第 2 个元素的首地址 C. 数组所有元素的首地址 D.数组最后 1 个元素的首地址

12

搜索更多关于: C语言试题及答案 的文档
C语言试题及答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0t6lt9izet5gf8x599lw_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top