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

《C语言程序设计》

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

j++; } s[i+j]='\\0'; printf(\,s); }

(A) abcdabcdefg (B)abcdefg (C)abcd (D)abcdefgabcd 29.有如下程序 main()

{ char ch[2][5]={\,\ int i, j, s=0;

for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++)

for(j=0;p[i][j]>'\\0';j+=2) s=10*s+p[i][j]-'0'; printf(\,s); }

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

(A)69825 (B)63825 (C)6385 (D)693825 30.若已建立如下图所示的单向链表结构

在该链表中,指针p,s分别指向图中所示结点,则不能将s所指的结点插入到链表末尾仍构成单向链表的语句组是( ) 。

(A) p=p->next;s->next=p;p->next=s; (B) p=p->next;s->next=p->next;p->next=s; (C) s->next=NULL;p=p->next;p->next=s (D) p=(*p).next;(*s).next=(*p).next; (*p).next =s; 31.请选择正确的运行结果填入( ) 中。 include int x,y; num() {

int a=15,b=10; int x,y; y=a-b; y=a+b; return; } main()

{ int a=7,b=5; x=a+b; y=a-b;

num(); printf(\,%d\\n\,x,y); }

(A) 12,2 (B) 5,25 (C)2,12 (D)不确定 32.以下程序的输出结果是( ) 。

#define M(x,y,z) x*y+z main()

{ int a=1,b=2,c=3;

printf(\,M(a+b,b+c,c+a)); } (A)19 (B)17 (C)15 (D)12 第二卷

说明:(1)第二卷含两大题,均属填空题,每题各有5个空栏,在阅读和理解原题程序的基础上,在空栏处填入适当的字符、语句,以构成一个正确的C语言程序。 (2)每空栏填对得3分,两大题共10个空栏,全对得30分。 试题一:

有一函数,实参传来一个字符串,统计此字符串中字母、数字、空各和其他字符的个数,在主函数中输入字符串以及输出上述的结果。

int letter,digit,space,others; /*是全局变量*/ main()

{int count(char _____(1)_____); char text[80];

printf(\:\\n\; ____(2)___; printf(\:\; puts(text); letter=O; digit=O; space=O; others=O; _____(3)_____;

printf(\:%d,digit:%d,space:%d,other:%d\\n\, space,others); }

int count(char str[]) {int i;

for(i=O;str[i]!='\\0';i++)

if((____(4)____>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')) letter++; else if(str[i]>='0'&&str[i]<='9') digit++; else if(str[i]==' ') space++; else

____(5)____; } 试题二:

把下列程序补充完整,实现两个字符串的比较,即自己写个strcmp函数,函数原型 为:int strcmp(char *p1,char *p2)

设p1指向字符串s1,p2指向字符串s2。要求:当s1=s2时,返回值为0。当sl<>s2时,返回它们两者的第一个不同的字符的ASCII码差值(如“BOY”与“BAD”,第二个字母不同,“O”与“A”之差为79-65=14);如果s1>s2,则输出正值;如果sl

char ___(6)____,str2[20],*p1,*p2; printf(\:\\n\; scanf(\;

scanf(\,___(7)______); p1=&strl[0]; p2=_____(8)_____; m=strcmp(p1,p2); printf(\ }

strcmp(char ___(9)_____,char *p2) /*两个字符串比较的函数*/ { int i;

____(10)______; while(*(pl+i)==*(p2+i))

if(*(p1+i++)=='\\0') return(0);

return(*(pl+i)-*(p2+i)); /*不等时返回结果为第一个不等字符ASCII码的差值*/ } 参考答案 第一卷

第一部分:基础知识

1.A 2.B 3.B 4.A 5.C 6.A 7.B 8.D 9.B 10.D

11.A 12.C 13.A 14.A 15.D 16.C 17.D 18.C 19.A 20.B 第二部分:简单程序

21.D 22.C 23.B 24.D 25.D 26.B 27.A 28.D 29.C 30.A 31.A 32.D 第二卷 试题一:

1、str[] 2、gets(text)或scanf(“%s”,text) 3、count(text) 4、str[i] 5、others++

试题二:6、str1[20] 7、str2 8、&str2[0] 9、*p1 10、i=0

C语言程序设计》( 卷)考核班级

学生数 印数 考核方式 闭卷 考核时间 120 分钟

(本试卷包括第一卷和第二卷,答卷时间总共120分钟)

第一卷 本卷共70分,其中第1~26题每题2分,第27~32题每题3分。 第一部分:基础知识

1、 一个C语言程序是从______开始执行的。

A、程序中的第一个语句 B、包含文件(头文件)的第一个函数 C、名为main的函数 D、程序中的第一个函数

2、 语句while(!E) { ??}中的条件!E等价于_____ A、E==0 B、E!=1 C、E!=0 D、~E 3、 若有以下类型说明语句: char w; int x; float y; double z;

则表达式w*x+z-y的结果为_____类型。 A、float B、double C、int D、char

4、 一个函数返回值的类型是由____决定的

A、return语句中的表达式类型; B、定义函数时所指定的函数类型 C、调用该函数的函数的类型 D、调用函数时临时类型

5、 设x、y、z和k都是int型变量,则执行下列表达式后,变量x的值为_____. x=(y=4,z=16,k=32);

A、4 B、16 C、32 D、52 6、 有以下程序: main( )

{ int i=10,j=1;

printf(“%d,%d\\n”,i--,++j); }

执行后输出的结果是________

A、9,2 B、10,2 C、9,1 D、10,1

7、 以下指针s的指字符串的长度为_______ char *s=”\\t\\?Name \\\\Address\\n”; A、19 B、15 C、18 D、-12

8、 设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是____ A、3 B、0 C、9 D、-12

9、 对于下面的for循环语句,可以断定它____。 for(x=0,y=0;(y!=123)&&(x<4);x++) printf(“--------“);

A、是无限循环(死循环) B、循环次数不定 C、共执行4次循环 D、共执行3次循环

10、 设有以下语句,则_______不是对a数组元素的正确引用,其中

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