《C语言程序设计(第3版)——何钦铭》

作者:何钦铭 颜晖  出版社:中国电力出版社

题目 题型
下列语句定义x为指向int类型变量a的指针,其中哪一个是正确的()。 单选
以下选项中,对基本类型相同的指针变量不能进行运算的运算符是()。 单选
若有以下说明,且0<=i<10,则对数组元素的错误引用是()。 int a[] = {0,1,2,3,4,5,6,7,8,9}, *p = a,i; 单选
下列程序的输出结果是()。 int main(void) {    int a[10] = {0,1,2,3,4,5,6,7,8,9}, *p = a+3;    printf(“%d”, *++p); 单选
下列程序的输出结果是()。 void f(int *p) { *p = 5; } int main(void) { int a, *p;    a = 10 单选
下列函数在一维数组a中将x插入到下标为i(i>=0)的元素前。如果i>=元素的个数,则x插入到末尾。原有的元素个数存放在指针n所指向的变量中,插入后元素个数加1。请填空。 void insert(double a[ ], int *n 填空
下列程序先消除输入字符串的前后空格,再判断是否是“回文” 即字符串正读和倒读都是一样),若是则输出YES,否则输出NO。请填空。 #include <stdio.h> #include <string.h> 填空
下列程序在数组中同时查找最大元素和最小元素的下标,分别存放在main( )函数的max和min变量中。请填空。 void find(int *, int, int *, int *); int main(void) 填空
写出下列程序的执行结果[$##$] #include <stdio.h> int main(void) {    int a[10], b[10], *pa, *pb, i;    填空
拆分实数的整数与小数部分:要求自定义一个函数void splitfloat (float x,int * intpart,float * fracpart),其中x是被拆分的实数,* intpart和* fracpart分别是将实数x拆分出来的整数部分 问答
在数组中查找指定元素:输入一个正整数n (1<n≤10),然后输入n个整数存入数组a中,再输入一个整数x,在数组a中查找x,若找到则输出相应的下标,否则显示“Not found”。要求定义和调用函数search (int list[ ],int 问答
循环后移:有n个整数,使前面各数顺序向后移m个位置,移出的数再从开头移入。编写一个函数实现以上功能,在主函数中输入n个整数并输出调整后的n个数。试编写相应程序。 问答
报数:有n个人围成一圈,按顺序从1到n编好号。从第一个人开始报数,报到m (m<n)的人退出圈子,下一个人从1开始报数,报到m的人退出圈子。如此下去,直到留下最后一个人。输入整数n和m,并按退出顺序输出退出圈子的人的编号。试编写相应程序。 问答
删除字符:输入一个字符串,再输入一个字符ch,将字符串中所有的ch字符删除后输出该字符串。要求定义和调用函数delchar (s,c),该函数将字符串s中出现的所有c字符删除。试编写相应程序。 问答
字符串排序:输入5个字符串,按由小到大的顺序输出。试编写相应程序。 问答
判断回文:判断输入的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX"和“xyzzyx"都是回文。试编写相应程序。 问答
分类统计字符个数:输入一行文字,统计其中的大写字母、小写字母、空格、数字以及其他字符各有多少。试编写相应程序。 问答
(选做)输出学生成绩(动态分配):输入学生人数后输入每个学生的成绩,最后输出学生的平均成绩、最高成绩和最低成绩。要求使用动态内存分配来实现。试编写相应程序。 问答