ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:1.99MB ,
资源ID:28496506      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28496506.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言练习题目.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言练习题目.docx

1、c语言练习题目(1)ASCLL码字符ASCLL码094857AZ6590az97122(2)数值类型和字符类型之间的彼此转换当一个浮点数转换为一个字符类型的时候,浮点数先转换为int类型,然后再转换为char类型。char c=65.25;coutc;当一个char类型转换为1个数值类型时候,字符的ASCLL码被转换到指定的数值变量中。int i=A;cout,b为假;18为真;as;couts;(3)访问字符串中某个字符。for(i=0;in;i+)coutai;(3)加法运算它的作用是将两个字符串联接到一路。例如:s1=”aaa”+”bbb”;cout,=,!=,=)ababc为真;abc

2、abs为真;122为真;说明:比较方式:逐位比较,第一个和第一个比较,相同继续比较下一个,不同,返回结果!知识点3:一维数组的大体操作下面的实例利用了上面的函数:#include #include using namespace std; int main () char str111 = Hello; char str211 = World; char str311; int len ; / 复制 str1 到 str3 strcpy( str3, str1); cout strcpy( str3, str1) : str3 endl; / 连接 str1 和 str2 strcat( st

3、r1, str2); cout strcat( str1, str2): str1 endl; / 连接后,str1 的总长度 len = strlen(str1); cout strlen(str1) : len endl; return 0;运行结果:strcpy( str3, str1) : Hellostrcat( str1, str2): HelloWorldstrlen(str1) : 10做题的常见操作:国王有一个魔镜,能够把任何接触镜面的东西变成原先的两倍只是,因为是镜子嘛,增加的那部份是反的。 比如一条项链,咱们用AB来表示,不同的字母表示不同颜色的珍珠。若是把B端接触镜面的

4、话,魔镜会把这条项链变成ABBA。若是再用一端接触的话,那么会变成ABBAABBA(假定国王只用项链的某一端接触魔镜)。 给定最终的项链,请编写程序输出国王没利用魔镜之前,最初的项链可能的最小长度。样例输入:AABBBBAAAABBBBAA样例输出:4#include #includeint main() char s105; scanf(%s,s); int l=strlen(s); while(l!=1) int ok=1; for(int i=0;il/2;i+) if(si!=sl-1-i) ok=0; break; if(ok) l=l/2; if(!ok) break; print

5、f(%d,l);字符串1. 概念用双引号引发来的确实是字符串a string/ C语言编译器会将两个并列的字符串自动拼接成一个字符串a stringanother a string/ 折行符是代码换行连接的标记(一行不够写)a looooooooooong string常见ASCII编码:A = 65 a = 97 0 = 48 0 = 0inta10;/表示在栈中分派了40Bytes的内存空间,空间的首地址是achara10;/表示在栈中分派了10Bytes的内存空间,空间的首地址是a如何表示和保留字符串: C语言中没有字符串类型,用一片内存空间保留一串字符,约定用整数0(或字符0)来表示一

6、个字符串的终止。 利用字符串时只需要记录字符串的开始位置。C语言中的字符串用字符数组表示:chara6=h,e,l,l,o,0;/特殊的字符数组(字符串)chara6=hello;/简化版写法(这种写法0省略)char*a =hello;/概念一个字符串的另一种写法2. 初始化charstr =hello;/常用charstr = h,e,l,l,o,0;/部分初始化,部分初始化中,没有被初始化的元素默认是0 (0对应的ASCII 0)charstr8 = h,e,l,l,o;/ hello000charstr5 = h,e,l,l,o;/该方式不是字符串,而是字符数组,因为没有0charst

7、r = h,e,l,l,o;/同上,是字符数组 ;/包含一个空格;/空字符串,什么东西都没有字符串的赋值:给 char* 类型的字符串赋值,能够直接利用 = 号给 char 类型的字符串赋值,需要利用 strcpy 函数字符串的特点:需要明白的一点确实是字符串以0结尾, 没有0就不是字符串只若是用双引号括起来的都是字符串字符串的本质确实是数组(字符数组)charstr =hello;str1 =y;printf(%s, str);/hyllo注意:字符串变量和一般的字符数组有必然的区别C语言规定,字符串必须以0结尾(作为字符串的结束符号),所以字符串变量的元素个数比字符数组的元素个数多一个0(

8、0)chara5 = h,e,l,l,o;/普通的字符数组(不是字符串,因为没有0)chara8 = h,e,l,l,o;/部分初始化(未初始化的部分都为0),以0结尾(是字符串)chara6 = h,e,l,l,o,0;/以0结尾(是字符串)chara6 = h,e,l,l,o,0;/以0结尾(是字符串)注意:0=48;/abc0d双引号里是字符0不是数值00 = 0;3. 输出%s的原理, 从传入的地址开始逐个掏出, 直到碰到0位置 如何输出字符串:利用printf的%s占位符来输出利用puts函数来输出(自动换行,原样输出)charstr =how are you;printf(%sn,

9、 str);/how are youputs(str);/how are you4. 输入利用scanf函数接收字符串利用gets函数接收字符串利用fgets函数接收字符串(推荐经常使用!)/*给字符数组赋值的三种方式*/#include#includevoid mystrcpy(char *str1,const char *str2) /*str2对*str1逐个字符进行赋值 /*str2直到把0赋值给*str1时,*str1的结果就是0,循环就结束! while (*str1+ = *str2+);int main() char str10 =abc;/1.使用循环给字符数组赋值 for

10、(int i =0; i 10; i+) stri =ABCi;/等价于*(ABC+i),ABC返回的是A的地址(即首地址) printf(str = %sn, str);/str = ABC/2.使用标准库函数给字符数组赋值 strcpy(str,XYZ); printf(str = %sn, str);/str = XYZ/3.使用自定义函数给字符数组赋值 mystrcpy(str,OKOK); printf(str = %sn, str);/str = OKOK return0;5. 库函数计算字符串的长度(strlen):(计算字符串中有多少个字符,注意不包括0)strlen的原理:从

11、传入的地址开始逐个掏出字符串,每掏出一个就让计数器+1.直到碰到0为止。字符串拼接(strcat)原理:第一遍历第一个字符串,直到碰到0为止,然后掏出第二个字符串中的字符,从0的位置开始添加,添加完毕以后再在最后添加一个0字符串拷贝(strcpy)strcpy函数会将源的数据拷贝到目标中,而且会覆盖掉目标中原有的数据,目标的容积必需能够寄存拷贝的数据,若是容积不够会报错。字符串比较(strcmp)原理:掏出字符串中的每一个字符进行逐个比较,若是发觉不相等就可不能继续往下比较#include#include#include/* strcpy字符串赋值函数*/void test1() charst

12、r6=0;/表示在栈中分配了6个字节的内存空间,空间的首地址是str(数组名) strcpy(str,abc);/给字符数组赋值,str10 = abc; strncpy(str,AABBCC,sizeof(str)-2);/只赋值前4个字符(AABB);str6 = AABB;/* strcat给一个字符串追加内容*/void test2() char str8 =abc; strcat(str,def);/str8 = abcdef; strncat(str,kkkkkk,3);/只追加前3个字符; str8 = abckkk;/* strcmp比较字符串内容的大小*/void test3

13、() char *str1 =abcd.c; char *str2 =abcf.m; strcmp(str1, str2);/返回值为: -2 (表示str1 str2;/比较地址大小(str1和str2都是地址)/* memset内存清理函数(清空) */void test4() char str8 =abcd; memset(str,0,sizeof(str);/清理内存空间(开始位置,清零,空间大小/长度); strcpy(str,ABCD);/清空后重新赋值 printf(str = %sn, str);int main() test4(); return0;/strcmp函数实际应用

14、(判断字符串是否相等),验证登录密码!#include#includeint main() char pwd20 = 0; do printf(请输入密码:); scanf(%s, pwd); while (strcmp(pwd,abc123); printf(密码正确,登录成功!n); return0;指针变量本身在栈中,指针变量能够指向任何地址。(指针和指针指向的空间是两个空间)指针修改值的两种情形:1)修改指针本身的值(也确实是改变指针的指向) ;2)修改指针所指向的空间的值字符串数组1. 概念字符串数组:一个数组中的所有的元素都是字符串。若是想存储一堆字符串那么能够利用字符串数组,说白了字符串数组确实是二维数组字符串数组两种表示: 第一种:char str46 = aaa, bbb, ccc;/char类型的二维数组 第二种:char *str4 = aaa, bbb, ccc;/char*类型的一维数组2. 应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1