首页 理论教育 C语言程序设计教程:填空题与运行结果

C语言程序设计教程:填空题与运行结果

时间:2023-10-27 理论教育 版权反馈
【摘要】:A.16B.10C.8D.6有以下程序:程序运行后的输出结果是()。A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOPD.AEIM2.填空题以下程序段的运行结果为()。A.7B.3C.10D.11以下程序段给数组元素输入数据:则下划线处应填入的是()。A.1+pB.*(p+3)C.*(p+1)+3D.*有如下定义:则不能正确表示a数组元素的是()。

C语言程序设计教程:填空题与运行结果

一、练习题

1.选择题

(1)下语句中,正确的字符赋值操作是()。

A.char s[5]={"hello"} B.char s[5]={'h','e','l','l','o'};

C.char*s="hello" D.char*s;scanf("%s",s);

(2)有如下程序段,叙述正确的是()。

A.s指向一个字符串常量,不能修改其中的字符

B.sizeof(s)和sizeof(p)相等

C.s和p完全相同

D.*p==s[0]成立

(3)定义char s[10];则下面表达式中不表示s[1]的地址的是()。

A.s++ B.s+1 C.&s[1] D.&s[0]+1

(4)有如下说明:

则数值不为9的表达式是()。

A.*p+8 B.*(p+8)C.&a[9]-p D.p+8

(5)有以下程序:

程序运行后的输出结果是()。

A.16 B.10 C.8 D.6

(6)有以下程序:

程序运行后的输出结果是()。

A.10 B.11 C.14 D.15

(7)有以下程序:

下列叙述中正确的是()。

A.在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

B.由于p数组中没有字符串结束符,长度不能确定;但q数组中字符串长度为3

C.由于q数组中没有字符串结束符,长度不能确定;但p数组中字符串长度为3

D.由于p和q数组中都没有字符串结束符,故长度都不能确定

(8)有以下程序:

执行后的输出结果是()。

A.10 B.9 C.7 D.8

(9)以下程序的输出结果为()。

A.ABCDEFGHIJKL B.ABCD

C.ABCDEFGHIJKLMNOP D.AEIM

2.填空题

(1)以下程序段的运行结果为()。

(2)以下函数sstrcat()的功能是实现字符串的连接,即将t所指字符串复制到s所指字符串的尾部。例如:s所指字符串为abcd,t所指字符串为efgh,函数调用后s所指字符串为abcdefgh。请填空。

(3)以下程序判断一个字符串是否为回文,回文即顺读和倒读一样的字符串,如level。请填空。

(4)函数f1,f2,f3,f4分别用于计算两整形数x和y的和、差、积、商。函数execute()是完成这些计算的通用函数。请填空。

(5)请解释函数liw_strncpy()的功能:①

3.程序改错题

(1)下列给定程序中,函数inverse()的作用是:反转由s指向的字符串。请改正程序中的错误,使它能得到正确结果。

(2)下列给定程序中,函数fun()的功能是:在字符串str中找出ASCⅡ码值最小的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。请改正程序中的错误,使它能得到正确结果。

4.编程题

(1)利用指针编写程序,求字符串的长度(不用strlen函数)。

(2)编写函数,求包含n个元素的整数数组的最大值、最小值及平均值。已知函数原型声明如下:

(3)编写函数,接受整数数组输入,动态分配内存,复制该数组,返回该内存首地址。

(4)编写函数,以指针为参数,从N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。

(5)编写函数接受一已排序的整数数组和一整数值,将该值插入到正确的位置。请思考:如何利用此函数设计一个选择排序函数。

(6)编写函数,接受一个字符串和一个字符,如果此字符出现在字符串中,就将串中的该字符删除,要求删除该字符后,后续的字符向前移,以填充该空位。

二、测试题

1.选择题

(1)有如下程序段:

其中0≤i≤9,则对a数组元素的引用不正确的是()。

A.a[p-a] B.*(&a[i]) C.p[i] D.*(*(a+i))

(2)有如下程序段:

执行后,a的值为()。

A.11 B.12 C.10 D.编译出错

(3)以下程序的输出结果是()。

A.7 B.3 C.10 D.11

(4)以下程序段给数组元素输入数据:

则下划线处应填入的是()。

A.a+(i++) B.a+i C.&a[i+1] D.&a[++i]

(5)以下程序段的输出结果是()。

A.1 B.2 C.3 D.4

(6)以下程序段的输出结果是()。

A.99 B.字符‘c’ C.字符‘c’的地址 D.0

(7)以下程序段的输出结果是()。

A.Morning B.Afternoon C.Evening D.Night

(8)以下程序段的输出结果是()。

A.2 4 B.2 2 C.4 4 D.4 6

(9)有如下定义:(www.xing528.com)

则能正确引用c数组元素的是()。

A.1+p B.*(p+3)C.*(p+1)+3 D.*(*p+2)

(10)有如下定义:

则不能正确表示a数组元素的是()。

A.*(*(ptr+3)+2)B.(*(p+1))[1]

C.p[0][0] D.ptr[2][2]

(11)已知函数fun的调用语句:

则正确的函数声明为()。

A.void fun(int m,int a[ ]); B.void fun(int n,int a[15]);

C.void fun(int,int*); D.void fun(int,int);

(12)若有下面的程序段:

则下列叙述正确的是()。

A.s和p完全相同

B.数组s中的内容和指针变量p中的内容相等

C.s数组长度和p所指向的字符串长度相等

D.*p与s[0]相等

(13)有以下函数定义:

函数的返回值是()。

A.无确切的值 B.形参p自身的地址

C.形参中存放的地址值 D.一个临时存储单元地址

(14)若要从键盘读入含有空格的字符串,应使用的函数是()。

A.getc()B.gets()C.getchar()D.scanf()

(15)若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是()。

A.a, point, *&a B.&*a, &a, *point

C.*&point, *point, &a D.&a, &*point, point

(16)以下函数的输出结果是()。

A.计算str1和str2所指字符串的长度差

B.将str2所指字符串复制到str1所指的字符串中

C.比较字符串str1和字符串str2的大小

D.将str2所指字符串连接到str1所指的字符串后

(17)不合法的main函数参数的表示形式是()。

A.main(int a, char *c[ ]) B.main(int argc, char **argv)

C.main(int argc,char*argv) D.main(int argc,char*argv[ ])

(18)以下函数的功能是()。

A.求字符串的长度

B.比较两个字符串的大小

C.将字符串str1复制到字符串str2中

D.将字符串str1连接到字符串str2后

(19)以下选项中正确的语句是()。

A.char s[ ];s="book" B.char *s;s={"book"};

C.char s[10];s="book" D.char *s;s="book";

(20)以下定义:

叙述正确的是()。

A.ptr是指向一维数组的指针变量

B.ptr是指向int类型数据的指针变量

C.ptr是指向函数的指针,该函数返回一个int类型的数据

D.ptr是一个函数名,该函数返回值类型为int

(21)有如下程序:

该程序的输出结果是()。

A.1 B.-1 C.0 D.NULL无定义

(22)若有以下定义和语句:

则以下选项中错误的是()。

A.*q = 0 B.w = p C.*p = a D.*p = *w

(23)有如下程序:

程序运行时的输出结果为()。

A.a,B,a,B B.A,b,A,b C.B,a,B,a D.b,B,A,b

(24)设有定义:char p[]={‘1’,‘2’,‘3’},*q=p; ,以下不能计算出一个char型数据所占字节数的表达式是()。

A.sizeof(p)B.sizeof(char)

C.sizeof(*q)D.sizeof(p[0])

(25)有如下程序:

程序运行时的输出结果为()。

A.2 B.3 C.4 D.5

2.阅读程序写出运行结果

(1)下列程序的运行结果为()。

(2)下列程序的运行结果为()。

(3)下列程序的运行结果为()。

(4)下列程序的运行结果为()。

(5)下列程序的运行结果为()。

3.以下程序的功能是将已知字符串s2拷贝到s1中。请填空。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈