C语言试题及答案(5)

2019-04-22 08:52

printf (\[i]); printf (\\n \); }

解析:本题题干信息是能整除且不是偶数的所有整数之和。循环语句中i从1开始且每次增2,所以i始终是奇数,*n=j;语句是记录能够符合题意的各个整数的各数。 #include #include

int fun(int *s, int t, int *k) { int i; *k=0; 【15】 if(s[*k] return【16】; } main() {

int a[10]={ 876,675,896,101,301,401,980,431,451,777},k; clrscr(); fun(a, 10, &k);

printf(\\n \[k]); }

解析:本题中直接使用指针变量k,但在使用时要注意对k的指针运算,此外,一开始应认*k的值为数组中的某一下标值,即*k=0。

(12)mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。

int mystrlen(char *str) { int i;

for(i=0;【17】!= ′\0′;i++); return(i); }

解析: str是指针变量,它指向字符型数据,在循环过程中,可以用 *(str+i)来访问字符串中的第i个元素,判断是否是结束标志,如果不是,i=i+1,继续取下一个元素进行判断,直到 *(str+i)的值为′\0′为止,也可以用下标的方式引用字符,如*(str+i)相当于str[i]。 (13)以下程序的输出结果为【18】。 #define JFT(x)x*x main() { int a, k=3; a=++JFT(k+1); printf(\); }

解析:宏替换的原则是按原样替换,本题中遇到形参x则以实参k+1替换,其他字符不变。所以JFT(k+1)经替换后为k+1*k+1,所以a=++k+1*k+1,若k+1,若k的值为3,则经过运算为a=4+1*4+1=9。

(14)以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针,请将定义补充完整。 struct node { int info; 【19】link; };

解析: 本题中的结构类型名为struct node,所以空白处应填:struct node *。即定义一个指向自身的结构体指针。 (15)设有以下结构体类型: struct st

{ char name[8]; int num; float s[4]; }student[50];

并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘文件fp中,请将以下fwrite语句补充完整: fwrite(student,【20】,1,fp);

解析: fwrite函数的一般调用形式为:fwrite(buffer,size,count,fp),其中:

buffer:是一个指针变量,是要输出数据的起始地址 size:要写的字节数

count:要进行写多少个size字节的数据项 fp:文件型指针

选择题 01-05 D C C D B 06-10 A A C B A 11-15 A C B B A

16-20 D D B C B 21-25 D D A C A 26-30 A C B C C 31-35 C 36-40 B 41-45 B 46-50 A

D B C D A B B B D C A D D D C B


C语言试题及答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:党课社会实践活动报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: