C类 填空题 17题,程序编写题20题
填空题
1. 若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是. int b,c; float a;
scanf(\,%d,c=%d\,&a,&b,&c);
5.0,4,c=3
2. 在C语言中,一个short型数据在内存中占2个字节,则short型数据的取值范围为-32768~+32767。
3. 若s是int型变量,且s=6,则下面表达式的值为 1 。
s%2+(s+1)%2 4. 若a是int型变量,则下面表达式的值为 46 。 (a=4*5,a*2),a+6
5. 若x和a均是int型变量,则计算表达式(1)后的x值为 12 ,计算表达
式(2)后的x 值为 4 。 (1) x=(a=4,6*2)
(2) x=a=4,6*2 6. 若a是int型变量,则计算下面表达式后a的值为 2 。 a=25/3%3
7. 若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值
为 10 ,n的值 6 。 x+=n++ 8. 若有定义:char c=‘\\010’;则变量c中包含的字符个数为 1 。 9. 若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为 1 (x+y)%2+(int)a/(int)b
10. 已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=
‘a’+‘8’-‘3’的值为 102 。
12. 若有以下定义,则计算表达式y+=y-=m*=y后的y值是 -16 。 int m=5,y=2;
13.若有定义:int a[]={2,4,6,8,10,12},*p=a;则*(p+1)的值是__4____. *(a+5)的值是___12______.
14.若有以下定义:int a[2][3]={2,4,6,8,10,12};则a[1][0]的值是_8____. *(*(a+1)+0))的值是___8_____.
15、以下函数creatlist用来建立一个带头节点的单链表,链表的结构如下图所示,新的结点总是插入在链表的末尾。链表的头指针作为函数值返回,链表最后一个节点的next域放入NULL,作为链表结束标志。data为字符型数据域,next为指针域。读入时字符以#表示输入结束(#不存入链表)。请填空。
struct node { char data;
struct node * next; }; .
_____a___ creatlist( )
{ struct node * h,* s,* r; char ch;
h=(struct node *)malloc(sizeof(struct node)); r=h;
ch=getchar( );
{ s=(struct node *)malloc(sizeof(struct node)); s->data=____b____; r->next=s; r=s; ch=getchar( ); } r->next=____c_____; return h; } 答案:
(a) struct node * (b) ch (c) NULL
16.以下程序的功能是:通过指针操作,找出三个整数中的最小值并输出。 请填空。
#include \ main()
{int *a,*b,*c,num,x,y,z; a=&x;b=&y;c=&z;
printf(\输入3个整数:\ scanf(\ printf(\ num=*a;
if(*a>*b)___(1)___; if(num>*c)__(2)____;
printf(\输出最小整数:%d\\n\ } 答案: (1)num=*b; (2)num=*c;
17.下面程序段的运行结果是 char s[80],*sp=\ sp=strcpy(s,sp); s[0]='h';
puts(sp); 答案:hELLO!
程序编写题
1.请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得 调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串\则
函数把它转换为整数值 -1234。 long fun ( const char *p) ;
2.请编写函数fun, 函数的功能是:统计一行字符串中单词的个数,作为函数值返
回。一行字符串在主函数中输入, 规定所有单词由小写字母组成,单词之间由若干
个空格隔开, 一行的开始没有空格。 int fun( const char *s);
3.请编写函数fun,函数的功能是: 移动字符串中的内容,移动的规则如下: 把第
1到第m个字符, 平移到字符串的最后, 把第m+1到最后的字符移到字符串的前部。
例如, 字符串中原有的内容为: ABCDEFGHIJK, m的值为3, 则移动后, 字符串中的内容应该是: DEFGHIJKABC。 void fun(const char *w, int m);
4.函数fun的功能是将不带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:-1, 10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:-1, 2、4、6、8、10。
void sort_list(List* head) //head中的数据不需要排序
5.函数fun的功能是:判定形参a所指的N×N(规定N为奇数)的矩 阵是否是\幻方\,若是,函数返回值为1; 不是,函数返回值为0。\幻方\的判定
条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。 例如,以下3×3的矩阵就是一个\幻方\: 4 9 2 3 5 7 8 1 6 #define N 3
int fun(int (*a)[N])
6.根据整型形参m,计算如下公式的值。 1 1 1
t = 1 - ----- - ----- - ?? - ----- 2 3 m
例如,若主函数中输入5,则应输出 -0.283333。 double fun( int m ) ;
7.请编写一个函数,函数的功能是删除字符串中的所有空格。
例如, 主函数中输入\则输出为 \。 void print_mystr(char* str);
8编写函数的功能是将带头结点的单向链表逆置。即若原链表中从 头至尾结点数据域依次为:-1,2、4、6、8、10,逆置后,从头至尾结点数据域依次为: -1,10、8、6、4、2。 (head的数据不用改变) void reverse_list(List* head);
相关推荐: