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

01C语言习题C类

说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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);

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