C语言程序设计第2次作业

发布 2023-05-18 15:43:28 阅读 9989

学习中心学号姓名:

注意:作业完成后在规定时间内提交,提交时在“文件名称”和“注释”处也要写清楚“学习中心,学号,姓名,入学时间”,以便登记你的作业成绩。

一、 单项选择题。

1.若有以下定义: int a=p=a;

则值为5的表达式是。

a)p+=5, *p+1) b)p+=1, *p c)p+=4, *pd)p+=1, +p

2.下面函数调用语句含有实参的个数为。

fun( (a, b, c, d ),m, n ),f, g )

a)1 b)3 c)4 d)2

3.函数形式正确的是。

a) double myfun( int x, int yb) int myfun( int x, y)

m=x+y; return mint m; }

c) int myfun( int x, int yd) int myfun( int x, int y)

int x, y; double mint m; m=x+y; return m; }

m=x+y; return m; }

4.不正确的字符串赋值或赋初值方式是。

a)char *str; str=”stringb)char str[7]=

c) char str[10]; str=”string

d)char str=string”; str2=12345678”; strcpy(str2, str1);

5.以下程序的输出结果是。

#include <>

main()

char str=ssswlia", c;

int k;

for (k=2; (c=str[k])!0'; k++)

putchar('*

a)ssw* b)sw* c)sw*a d)sw

6.以下程序的输出结果是。

#include <>

int w=3;

fun( int k)

if ( k==0) return w;

return ( fun(k -1 )*k);

main()

int w=10;

printf("%d", fun(5)*w);

)360 b)3600 c)1080 d)1200

7. 以下程序的输出结果是。

#include <>

int w=3;

f( int a)

int b=0; static int c=3;

b++;c++;

return ( a+b+c);

main()

int a=2, i;

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

printf("%d ",f(a));

a)7 7 7 b)7 10 13 c)7 9 11 d)7 8 9

8.以下程序的输出结果是。

#include <>

main()

int a=p;

p=a; *p+3)+=2;

printf("%d, %d ",p, *p+3));

a)0, 5 b)1, 5 c)0, 6 d)1, 6

9.以下程序的输出结果是。

#include <>

#define pt 5.5

#define s(x) pt*x*x

main()

int a=1, b=2;

printf("%4.1f ",s(a+b));

a)49.5 b)9.5 c)12.5 d)33.5

10.下面程序段的输出结果是。

#include <>

#define letter 1

main()

char str[20]="language", c;

int i=0;

while ((c=str[i])!0')

a)language b)language c)language d)language

11.若有说明:char *s=则表达式 *s[1]>*s[3]比较的是。

a)字符f和字符p b)字符串basic和字符串j**a

c)字符b和字符j d)字符串fortran和字符串pascal

12.如下程序的输出结果是。

#include <>

main()

char a[20]="chinese" ;char *p=a;

for (;p}

a)chinese b)ciee c)chine d)cie

13. 若有定义: int a[2][3];则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为。

a)*(a+i)+j) b)(a+i)[j] c)*(a+i+j) d)*(a+i)+j

14. 若有以下定义和语句,则对a数组元素的正确引用为。

int a[2][3],(p)[3];

p=a;a)(p+1)[0] b)*(p+2)+1) c)*(p[1]+1) d)p[1]+2

15.若以下main函数经过编译、连接后得到的可执行文件名为若希望在系统的命令状态下输入某一命令行后得到的输出是chian tianjin,则命令行的内容应是。

a)chian tianjin b)echo chian tianjin

c)echod)echo

chian tianjinchina

tianjin

16.以下对结构体变量stu中成员age的非法引用是。

struct student

int age; int num; }stu, *p;

p=&stu;

a) b) c)p->age d)(*p).age

17.已知学生记录描述为:

struct date

int year;

int month;

int day;

struct student

struct student s;

设变量s中的“生日”应该是“2023年11月11日”,下列对“生日”的正确赋值方式是。

a)year=1984; b)

month=

day=c) d)

18.若有以下定义的语句:

union data

int i;

char c;

float f;

a;int n;

则以下语句正确的是。

a) b)a= c)printf(“%d”,a) d)n=a

19. 表达式aa)~,20.若执行fopen函数时发生错误,则函数的返回值为。

a)地址值 b)0 c)1 d)eof

二、 填空题(本大题共11小题,每空2分,共30分)

arr[20]; 则arr[i]的地址可表示为。

2.函数swap(int x, int y)可完成对x和y值的交换。在运行调用函数中的如下语句后,a[0]和a[1]的值分别为 (1) ,原因是 (2) 。

a[0]=1; a[1]=2; swap(a[0],a[1]);

3.若有定义 int a [3][4]=,则初始化后a[1][2]得到的初值是 (1) ,a[2][1]得到的初值是 (2) 。

4.函数delete_string( char s[ ]char c)将字符串s中所出现的与变量c相同的字符删除,请填空。

delete_string(char *s, char ch) /定义外部函delete_string*/

int i,j;

for (i=j=0;*(s+i)!=0';i++)

if (*s+i)!=ch

*(s+j)='0';

5.下面程序段将输出 computer,请填空。

int i, j=0;

《C语言程序设计》第3次作业讲评

c 语言程序设计 第三次作业讲评。说明 本次作业对应教材第。六 七章的内容。讲评 本章主要考核大家对指针的概念的理解,要求掌握指针变量的定义和初始化 指针的各种操作 一维数组元素的下标访问方式与指针访问方式及其之间的转换 引用的概念以及动态空间管理等内容。内容相对前面章节比较难,希望通过作业讲评能够...

C高级语言程序设计 第2章

第2章习题解答。2.1判断题。对的有1,3,4,5,11,15,16,17,23,24,25.2.2单选题。cabdc acdab cdcaa 2.3填空题。1.浮点型字符型布尔型。2.自动存储类寄存器存储类外部存储类。3.双精度长双精度。4.单目三目。5.三目类型髙。2.4程序结果。1.d 3 2...

C语言程序设计作业

程序设计报告。课程名称 c语言程序设计 题目名称。学生学院 管理学院 专业班级 市场营销1 班 学号。学生姓名。指导教师。2010年 06 月20日。第一题。流程图 算法说明 数据输入部分就不用说了,就是简单的使用了for循环结构。对于sort函数部分,最主要的是数据排序部分。此排序法使用了冒泡排序...