c语言初级练习

上传人:第*** 文档编号:34235434 上传时间:2018-02-22 格式:DOC 页数:20 大小:92KB
返回 下载 相关 举报
c语言初级练习_第1页
第1页 / 共20页
c语言初级练习_第2页
第2页 / 共20页
c语言初级练习_第3页
第3页 / 共20页
c语言初级练习_第4页
第4页 / 共20页
c语言初级练习_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《c语言初级练习》由会员分享,可在线阅读,更多相关《c语言初级练习(20页珍藏版)》请在金锄头文库上搜索。

1、1.1 简述 C 语言编程机制C 语言的编程机制大致分为:先由源文件.c 文件编译成为.obj 文件,然后.obj 文件再与C 语言中各种库函数以及链接库(.dll 文件)链接起来,生成.exe 文件,即可执行文件1.2 简述 C 程序设计步骤1定义程序目标2程序设计3编写代码4编译5运行程序6测试和调试程序7维护和修改程序2.1编程计算表达式“a=3*4,a*5,a+5 ”的值#includeint main()int i,a;i=(a=3*4,a*5,a+5);printf(%dn,i);return 0;2.2编程计算表达式“i=3, -i+”的值并输出“i”的值。#includeint

2、 main()int i,k;i=3;k=(i=3, -i+)printf(%dn,k);return 0;2.3编程计算“1+2+3+n”的值(n的值可从键盘输入)。#includeint main()int n,i,sum;printf(请输入整数:n);while(scanf(%d,&n)if(n=1)printf(1n);elsefor(i=1;iint main()int a,b,c,max;printf(请输入三个数字);scanf(%d%d%dn,if(ab)max=a;elsemax=b;printf(最大值是:%dn,cmax?c:max);return 0;3.2输入学习成

3、绩:学习成绩=90分的用A表示,60-89分之间的用B表示, 60分以下的用C表示#includeint main()int score;printf(请输入成绩:);scanf(%d,if(score=90) printf(A);if(score=60&scoreint main()int i,j,k;for(i=1;iint main()int year;printf(请输入年份:n);scanf(%d,if(year%100)int fib(int n)if(n=1|n=2)return 1;elsereturn fib(n-1)+fib(n-2);int main()int i;for

4、(i=0;iint main()int i,s,k;int sym=0;int num10=2,4,1,6,8,3,5,9,7,0;printf(请输入一个整数:n);scanf(%d,for(i=0;iint main()int i,j;int num1010;for(i=0;iint main()int a45;int i,j;printf(请逐个输入每个学生的成绩:);for(i=0;i#include#includeint unstr()char str50;int i;printf(请输入一串字符串n);scanf(%s,str);for(i=strlen(str);i=0;-i)p

5、rintf(%c,stri);return 0;4.7狐狸找兔子:围绕着山顶有10个圆形排列的洞,狐狸要吃兔子,兔子说:“可以,但必须先找到我,我就藏身于这十个洞中的某个洞。你从号洞找,下次隔个洞(即3号洞)找,第三次隔个洞(即6号洞)找,再隔3个 以后在这个圆圈中如此类推,次数不限。”但狐狸从早到晚进进出出了1000次,仍没有找到兔子。问兔子究竟藏在哪个洞里?#include#include#includeint rabfox()int num10=1,1,1,1,1,1,1,1,1,1;int i,n=0;for(i=0;iint fib();int main()int n;printf(

6、请输入一个整数:n);scanf(%d,printf(%dn,fib(n);return 0;int fib(int n)if(n=1)return 1;if(n=2)return 2;elsereturn fib(n-1)+fib(n-2);6.3已知一行字母字符,根据需要设置条件编译,使之能将字母全改为大写输出,或全改为小写字母输出。/转小写int updown()char str=ABCdefghIJKLMN;int i;for(i=0;i=65&stri=97&strimax)max=numi;printf(%dn,max);return 0;7.5编写名为strdup 的函数,此函数

7、使用动态存储分配来产生字符串的副本。 该函数原型为:char* strdup(char* string);(例如 p= strdup(str);该函数给和str相同的字符串分配空间,然后把字符串str的内容复制到该空间,形成新字符串,然后返回指向新字符串的指针,如果空间分配失败则返回空指针)#include#include#includechar *strdup(char *src)/两个参数的 strdup 函数:第二个参数是 int sizechar *dest;dest=malloc(*src);/dest=(char *)malloc(size);if(dest=NULL)return

8、 NULL;elsestrcpy(dest,src);return dest;int forstrdup()char *str=you are my a little apple!;char *newstr;newstr=strdup(str);/strlen 遇到空格就会结束,只能用 sizeof,sizeof 的长度不加0;/两个参数的 strdup 函数:第二个参数是 sizeof(*str)+1printf(%sn,newstr);return 0;int main()forstrdup();return 0;8.1用结构体变量记录学生信息:学号、姓名、性别、住址。初始化一学生的信息,

9、并打印之。#include#include#includestruct studentint id;char name10;char sex;char add10;jinyu=12031701,王二,M,哈尔滨;int just()printf(学号:%dn 姓名:%sn 性别:%cn 地址:%sn,jinyu.id,jinyu.name,jinyu.sex,jinyu.add);return 0;int main()just();8.2对候选人得票的统计程序。设有3个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票结果。(假设有10个选民)。struct personchar n

10、ame20;in count;leader3=“Li”,0, “Zhang”,0, “Fun”,0 ;#include#include#includestruct personchar name6;int count;leader3=li,0,zhang,0,fun,0;int vote()char num106;int i;printf(请 10 个人输入各自要投票的人名:n);for(i=0;i#include#includeint fetch()char str20;int k,i;printf(请输入一个大于 9 位的无符号数n);scanf(%s,str);k=strlen(str)

11、;printf(%dn,k);for(i=k-4;i=(k-9);i-)printf(%c,stri);return 0;int main()fetch();return 0;9.2判断一个无符号整数是否为2的整幂数。例如:128是,368不是#include#include#include#includeint mishu()int n,sign;printf(请输入一个无符型整数:n);while(scanf(%d,&n)sign=0;if(n0)if(n=1)printf(此数是 2 的整数次幂n);elsewhile(n%2=0)n=n/2;if(n=1)sign=1;break;if

12、(sign)printf(此数是 2 的整数次幂n);elseprintf(此数不是 2 的整数次幂n);elseprintf(输入数据非法,请重新输入!n);return 0;int main()mishu();改进版:int main( void ) unsigned int i=0;scanf (%d, if( 0 = (i&(i-1) )printf(是!n);elseprintf(不是!n);return 0;10.1二进制文件和文本文件有什么区别?计算机能识别的都是二进制代码,不论是文本文件还是音频视频类的多媒体文件都需要转换成二进制文件,计算机才能识别,这就需要有个转换过程:高级

13、语言汇编语言机器语言,计算机只能识别的语言-机器语言。二进制文件和文本文件的区别在于,二进制文件全都是 0 和 1 组成的,而文本文件是由字母、数字、符号等10.2程序看是运行时,系统自动打开哪 3 个标准文件?程序看是运行时,系统自动打开 3 个标准文件:标准输入,标准输出,标准出错输出10.3解析 MP3 信息#include#include#includestruct p3char tag3;char sname30;char signer30;char audio30;char year4;char other28;char one;char two;char three;mymp3;

14、int music()int i=0;FILE *fp;fp = fopen(D:画心.mp3,rb);/歌曲路径if(fp!=NULL)fseek(fp,-128,2);fread(/注意:这里 fread 的第一个参数是一个地址,即结构体的地址printf(标签:%sn 歌曲名:%sn 歌手名:%sn 专辑名:%sn 年份:%sn 备份:%sn,mymp3.tag,mymp3.sname,mymp3.signer,mymp3.audio,mymp3.year,mymp3.other);elseprintf(打开失败);fclose(fp);return 0;/判断一个十进制数中的二进制的形式中的 1 的个数#include#include#includeint number()int n,count=0;printf(请输入一个十进制的整数:n);scanf(%d,while(n!=1)if(n%2=1)count+;n=n/2;elsen=n/2;printf(输入的这个数的二进制含有 1 的个数是:%dn,count+1);count=0;return 0;/循环右移字符串 n 位#include/循环右移动态数字 n 位#include#includeint tur()int n,len,i,j;char num

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号