




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上数组的引用:#include<stdio.h>void main (int argc,char *argv )int x5 = 2,3,1,4,6 ;int i;for (i = 0; i < 5; i+)printf("%dn", 2 * xi);一维数组的遍历:#include<stdio.h>void main(int argc, char *argv)int x5 = 1,2,3,4,5 ;int i = 0;for (i = 0; i < 5; i+)printf("x%d:%dn"
2、, i, xi);一维数组的最值:#include<stdio.h>int main(int argc, char* argv)int x5 = 1,2,3,4,5 ;int nMax = x0;int i = 0;for (i = 1; i < 5; i+)if (xi > nMax)nMax = xi;printf("max:%dn", nMax);return 0;一维数组排序:#include<stdio.h>void main(int argc, char * argv)int arr5 = 9, 8, 3, 5, 2 ;int
3、 temp = 0;int i, j;printf("冒泡排序前: n");for (i = 0; i < 5; i+)printf("%d ", arri);printf(" n");for (i = 0; i < 5-1; i+)for (j = 0; j < 5 - 1 - i; j+)if (arrj > arrj + 1) temp = arrj;arrj = arrj + 1;arrj + 1 = temp; printf("冒泡排序后: n"); for (i = 0; i &
4、lt; 5; i+) printf("%d ", arri); printf("n");二维数组的遍历#include<stdio.h>void main()/声明并初始化数组int array34 = 1,2,3,4,5,6,7,8,9,10,11,12 ;for (int i = 0; i < 3; i+)/循环遍历行for (int j = 0; j < 4; j+)/循环遍历列printf("%d%d: %d ", i, j, arrayij);printf("n");/每一行的末尾
5、添加换行符二维数组应用#include <stdio.h>void main(int argc, char * argv)int StuScore53 = /张同学88,70,90,/王同学80,80,60,/李同学89,60,85,/赵同学80,75,78,/周同学70,80,80,;int m = 0, n = 0;int nStuTotalScore;int nMathTotalScore = 0;int nChineseTotalScore = 0;int nEnglishTotalScore = 0;printf("个人总成绩:n");for (m =
6、 0; m < 5; m+)nStuTotalScore = 0;for (n = 0; n < 3; n+)nStuTotalScore += StuScoremn;switch (n)case 0:nMathTotalScore += StuScorem0;break;case 1:nChineseTotalScore += StuScorem1;break;case 2:nEnglishTotalScore += StuScorem2;switch (m)case 0:printf("张同学:%dn", nStuTotalScore);break;case
7、 1:printf("王同学:%dn", nStuTotalScore);break;case 2:printf("李同学:%dn", nStuTotalScore);break;case 3:printf("赵同学:%dn", nStuTotalScore);break;case 4:printf("周同学:%dn", nStuTotalScore);break;printf("小组数学总分:%d 小组数学平均分:%.2fn",nMathTotalScore, (double)nMathTot
8、alScore / 5);printf("小组语文总分:%d 小组语文平均分:%.2fn",nChineseTotalScore, (double)nChineseTotalScore / 5);printf("小组英语总分:%d 小组英语平均分:%.2fn",nEnglishTotalScore, (double)nEnglishTotalScore / 5);无参函数#include <stdio.h>void func()printf("这是我的第一个函数!n");void main()func();有参函数调用无参
9、函数#include <stdio.h>void func(int x, int y)int sum = x + y;printf("x+y=%dn", sum);void main()func(3, 5);函数调用及返回过程#include<stdio.h>int func(int x, int y)return x + y;void main()int sum = func(3, 5);printf("x+y=%dn", sum);Printf函数#include<stdio.h>void main()printf
10、("%c %c", 'H', 'n');printf("%s", "Hellow,world!n");printf("%d %d %d n",1, 2, 3);printf("%f %f %f n",2.1, 2.2);Scanf 函数#include<stdio.h>void main()char str256; /字符数组保存得到的字符串scanf("%s", str);printf("%sn", str);
11、嵌套函数#include<stdio.h>int max2(int a, int b) /用于比较两个整数大小的函数if (a > b)return a;elsereturn b;int max4(int a, int b, int c, int d) /用于比较四个整数大小的函数int res;res = max2(a, b);res = max2(res, c);res = max2(res, d);return res;void main()int a = 5, b = 7, c = 9, d = 22, max;printf("请输入四个整数: 5 7 9
12、22 n");/scanf("%d %d %d %d", a=5, b=7, c=9, d=22);max = max4(a, b, c, d);printf("max=%d n", max);递归调用#include<stdio.h>/下面的函数使用递归实现,求1n的和int getsum(int n)if (n = 1)return 1; /满足条件,递归结束int temp = getsum(n - 1); /在函数体中调用自身return temp + n;void main()int sum = getsum(4);/调用
13、递归函数,获得14的和printf("sum=%dn", sum); /打印结果外部函数建立源文件first.cint add(int x, int y)return x + y;建立源文件second.c#include<stdio.h>extern int add(int x, int y);void main()printf("%dn", add(1, 2);/注:extern 可以省略内部函数用法建立first.c#include<stdio.h>void show()printf("%sn", &qu
14、ot;first.c");建立second.c#include<stdio.h>static void show()printf("%sn", "second.c");void main()show();全局变量#include<stdio.h>int x = 123;void show()printf("show()函数中,x的值为:%dn", x);void main()show();printf("main()函数中,x的值为:%dn",x);当局部变量与全局变量重名时,全局
15、变量会被屏蔽#include<stdio.h>int x = 789;void main()int x =123;printf("x的值为:%dn",x);变量的作用域#include<stdio.h>int x = 10;void show()int x = 20;printf("show()函数中,x的值为:%dn", x);void main()int x = 30;printf("main()函数中,x的值为%dn", x);show();If 语句 #include<stdio.h>voi
16、d main()/定义变量xint x = 5;/如果x的值小于10则执行if大括号中的代码if (x < 10)x+;printf("x=%dn", x);If.else语句#include<stdio.h>void main()int num = 19;if (num % 2 = 0)/判断条件成立,num被2整除printf("num是一个偶数n");elseprintf("num是一个奇数n");If.else if.else语句#include<stdio.h>void main()int gr
17、ade = 75;/定义学生成绩if (grade >= 80)/满足条件grsde >= 80printf("该成绩的等级为优n");else if (grade >= 70)/不满足条件grade >=80,但满足条件grade>=70printf("该成绩等级为良n");else if (grade >= 60)/不满足条件 grade >=70,但满足条件grade >=60printf("该成绩等级为中n");else/不满足条件 grade >=60printf(&qu
18、ot;该成绩的等级为差n");三元运算符#include<stdio.h>void main()int x = 0;int y = 1;int max;max = x > y ? x : y;printf("max = %dn");Switch 语句#include<stdio.h>void main()int week = 5;switch (week)case 1:printf("星期一n");break;case 2:printf("星期二n");break;case 3:printf(&
19、quot;星期三n");break;case 4:printf("星期四n");break;case 5:printf("星期五n");break;case 6:printf("星期六n");break;case 7:printf("星期日n");break;default:printf("输入的数字不正确.n");break;在使用switch语句过程中,如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次即可#include<stdio.h>void m
20、ain()int week = 2;switch (week)case 1:case 2:case 3:case 4:case 5:/当week满足值1、2、3、4、5中任意一个时,处理方式相同printf("今天是工作日n");break;case 6:case 7: /当week满足值6、7中任意一个时,处理方式相同printf("今天是休息日n");break;While 循环语句#include<stdio.h>void main()int x = 1;while (x <= 4)printf("x = %dn&quo
21、t;, x);/条件成立,打印x的值x+; /x进行自增Do-while 循环语句#include<stdio.h>void main()int x = 1; /定义变量x,初始值为1doprintf("x=%dn", x);/条件成立,打印x的值x+; /x进行自增 while (x <= 4); /循环条件For 循环#include<stdio.h>void main()int x = 1; /定义变量x,初始值为1doprintf("x=%dn", x);/条件成立,打印x的值x+; /x进行自增 while (x
22、<= 4); /循环条件Break 语句#include<stdio.h>void main()int x = 1; /定义变量x,初始值为1while (x <= 4) /循环条件printf("x=%dn", x);if (x = 3)break;x+; /x进行自增 Goto语句#include<stdio.h>int main() int i, j; /定义两个循环变量for (i = 1; i <= 9; i+) /外层循环for (j = 1; j <= i; j+) /内层循环if (i >4) /判断i的
23、值是否大于4goto end; /跳至标志位end的语句printf("*"); /输出*printf("n"); /换行end: return 0;Continue 语句#include<stdio.h>void main()int sum = 0; /定义变量sum,用于记住和for (int i = 1; i <= 100; i+)if (i % 2 = 0) /如果i是一个偶数,执行if语句中的代码continue; /结束本次循环sum += i; /实现sum和i的累加printf("sum = %dn"
24、, sum);无符号整数类型#include<stdio.h>void main()int a = 12345;long b = -23456, sum1;unsigned int c = 32800, sum2;sum1 = b - a;sum2 = c - b;printf("sum1=%1d,sum2=%un", sum1, sum2);Float 和double之间的数据转换#include<stdio.h>void main()float a;a = 3.;printf("a=%.9fn", a);字符型变量#inclu
25、de<stdio.h>void main()char ch1 = 'A'char ch2 = 65;printf("%cn", ch1);printf("%cn", ch2);#include<stdio.h>void main()转义符的用法char ch1 = 'A'char ch2 = 'n'char ch3 = 'B'char ch4 = ''printf("%c", ch1);printf("%c",
26、ch2);printf("%c", ch3);printf("%c", ch4);printf("%c", ch2);枚举类型变量#include<stdio.h>enum month JAN=1,FEB=2,MAR=3,APR=4,MAY=5,JUN=6, JUL=7,AUG=8,SEP=9,OCT=10,NOV=11,DEC=12;void main()enum month lastmonth, thismonth, nextmonth;lastmonth = APR;thismonth = MAY;nextmonth
27、 = JUN;printf("%d %d %d n", lastmonth, thismonth, nextmonth); 在枚举中规定,如果不给标识符指定具体值,会默认该标识符的值等于前一标识符的值加一。因此可以快速定义#include<stdio.h>/定义一组常量enum Constants c1, c2, c3 = 4, c4, c5 = 3, c6, c7, c8 = '0', c9 ;void main()printf("c9=%dn", c9);Sizeof 运算符#include <stdio.h>
28、void main()/通过类型名称计算各基本数据类型所占内存大小printf("char: %dn", sizeof(char);printf("short: %dn", sizeof(short);printf("long: %dn", sizeof(long);printf("float: %dn", sizeof(float);printf("double: %dn", sizeof(double);printf("unsigned char: %dn", sizeo
29、f(unsigned char);printf("unsigned short: %dn", sizeof(unsigned short);printf("unsigned int: %dn", sizeof(unsigned int);printf("unsigned long: %dn", sizeof(unsigned long);/通过变量名称计算变量所属数据类型占用内存大小int val_int = 100;double val_double = .0;printf("val_int: %dn", siz
30、eof(val_int);printf("val_double: %dn", sizeof(val_double);指针的取址和取值运算符#include<stdio.h>void main()int num = 100; /int类型变量numprintf("num=%dn", num); /输出变量值printf("#&num = %pn", &num); /输出变量的内存地址printf("*&num = %dn", *&num); /通过num地址读取num中的数
31、据指针表达式的自增自减运算#include<stdio.h>void main()int arr5 = 1,2,3,4,5 ;int *p1 = &arr0;int *p2 = &arr3;printf("p1的值为: %dn", *p1);printf("+p1的值为: %dn", *(+p1);printf("p2的值为: %dn", *p2);printf("-p2的值为: %dn", *(-p2);同类指针相减运算#include<stdio.h>void main(
32、)int arr5 = 1,2,3,4,5 ;int *p1 = &arr0;int *p2 = &arr3;printf("p1的值为: %dn", p1);printf("p2的值为: %dn", p2);printf("p1-p2的值为: %dn", p2-p1);指针变量的使用#include<stdio.h>void main(int argc,char* argv)int nNum = 0x;int * pNum; /定义一个指针变量pNum = &nNum; /为指针变量赋值print
33、f("nNum Val:%xn", nNum);printf("nNum Addr:%pn", &nNum);printf("pNum Val:%pn", pNum);printf("*pNum :%xn", *pNum);指针变量作为函数的参数(作用是将一个变量的地址传送到另一个函数中)#include<stdio.h>void main(int argc,char* argv)int nNum = 0x;int * pNum; /定义一个指针变量pNum = &nNum; /为指针变
34、量赋值printf("nNum Val:%xn", nNum);printf("nNum Addr:%pn", &nNum);printf("pNum Val:%pn", pNum);printf("*pNum :%xn", *pNum);指向一维数组元素的指针#include<stdlib.h>#include<stdio.h>void main(int argc, char* argv)int X10 = 1,2,3,4,5,6,7,8,9,10 ;int i = 0;int n
35、Len = 10;printf("数组X修改前:n");for (i = 0; i < 10; i+)printf("%d ", Xi);/用指针pTemp 指向数组Xint * pTemp = X;/通过指针pTemp访问数组中的元素,并修改元素的值for (i = 0; i < nLen; i+)pTempi = pTempi * 2;printf("n数组X修改之后:n");/通过指针移动来遍历输出X数组中的元素for (i = 0; i < 10; i+)printf("%d ", *pT
36、emp);pTemp+;printf("n");指向二维数组元素的指针#include<stdlib.h>#include<stdio.h>void main()int X25 = 1,2,3,4,5 , 6,7,8,9,10 ;/定义数组指针用于指向二维数组int(*pXElement)5 = X;int m = 0;int n = 0;printf("二维数组元素如下: n");for (m = 0; m < 2; m+)printf("第%d行的元素如下: n", m + 1);for (n = 0
37、; n < 5; n+)/通过数组指针来访问为数组中的元素printf(" %d", pXElementmn);printf("n"); 指针数组的概念#include<stdio.h>/输出指针数组中元素的值int print(int *arr, int n)if (!arr)return 0;int i = 0;for (i = 0; i<n; i+)printf("%dn", *arri);return 1;void main(int argc, char * argv)int a, b, c, d, e
38、;a = 1;b = 2;c = 3;d = 4;e = 5;int *Arr = &a, &b, &c, &d, &e ;/定义一个int类型的指针数组print(Arr, 5);/调出print()函数指针数组作为main()函数的形参#include<stdlib.h>#include<stdio.h>int main(int argc, char * argv)int i = 0;printf("程序的参数列表如下:n");for (i = 0; i < argc ; i+)printf(&quo
39、t;%s ", argvi);return 0;二级指针#include<stdlib.h>#include<stdio.h>void main(int argc, char * argv)int m = 10;int * pM = &m; /指针pM存放的是变量m的地址int * ppM = &pM; /二级指针ppM存放的是指针pM的地址printf("m = %dn", m);printf("*pM = %dn", *pM);printf("*pM = %dn", *ppM);M
40、alloc()函数和free()函数#include<stdio.h>void main()int u, v; /定义二维数组的长和宽printf("第一维为:");scanf("%d", &u);printf("第二维为:");scanf("%d", &v);int* array = (int*)malloc(sizeof(int*)* u); /先创建第一维for (int i = 0; i < u; i+)/在内层循环中动态创建第二维arrayi = (int*)malloc
41、(sizeof(int)*v);for(int j = 0; j<v; j+)arrayij = 0; /给数组元素复制printf("%d ", arrayij);字符数组#include<stdio.h>void main()/声明一个字符数组并初始化char char_array5 = 'h', 'e', 'l', 'l', 'o' ;int i;/通过sizeof关键字得到数组长度,并遍历打印其内容。for (i = 0; i < sizeof(char_arra
42、y); +i)printf("%c", char_arrayi);printf("n");输出字符串中的字符#include<stdio.h>void main()char char_array6 = ("hello");/声明一个长度为6的字符数组并初始化为helloint i;/通过sizeof关键字得到数组长度for (i = 0; i < sizeof(char_array); +i)/通过printf输出char_array中的字符串printf("char_array的第%dn", i
43、, char_arrayi);获取用户输入字符的长度#define _CRT_SECURE_NO_WARNINGS /关闭安全检查#include<stdio.h>#include<string.h>void main()char str1024; /声明一个足够大的字符型数组保存将要被输入的字符串printf("请输入待测量的字符串:");scanf("%s", str); /接受用户输入字符串printf("您输入的字符串长度为 %d。n", strlen(str);空字符0的使用#include<s
44、tdio.h>void main()char char_array = 'h', 'e', 'l', 'l', 'o', '0', 'w', 'o', 'r', 'l', 'd' ;printf "%sn", char_array ;忘记在字符数组的末尾添加空字符0,程序也会出现一些奇怪的现象#include<stdio.h>void main()char char_array =
45、'h', 'e', 'l', 'l', 'o' ;printf "%sn", char_array ;使用指针修改字符串中的字符#include<stdio.h>int main()char char_array = "hello world!"char *ptr;printf("修改前的字符串如下:%sn", char_array);ptr = char_array; /将一个字符型指针指向字符型数组char_array的首地址/开始修改字符
46、串while (*ptr != '0') /检测是否到串未尾if (*ptr = ' ')*ptr = '!'ptr+;printf("修改后的字符串如下:%s n", char_array);return 0;Gets()函数#pragma warning(disable:4996)#include<stdio.h>void main()char phoneNumber12;printf("请输入手机号码:");gets(phoneNumber);printf("您的手机号码是: %
47、sn", phoneNumber);Puts()#pragma warning(disable:4996)#include<stdio.h>void main()char buf12;puts("请输入一个字符串:");gets(buf);puts("您输入的是: n");puts(buf);字符串比较#pragma warning(disable:4996)#include<stdio.h>#include<string.h>void main()char username100; /定义存放用户名的字符数
48、组char password100; /定义存放密码的字符数组printf("登录n");printf("请输入用户名: ");gets(username); /获取用户输入的用户名printf("请输入密码: ");gets(password); /获取用户输入的密码/比较输入的用户名和密码是否正确if (!strcmp(password, "ILoveC") && (!strcmp(username, "user")printf("用户 %s 登录成功!n"
49、;, username);elseprintf("登陆失败,请检查用户名或密码是否正确输入。n");Strncmp()函数#include<string.h>#include<stdio.h>void main()char* str1 = "abcdef"char* str2 = "abcdeg"/判断字符串str1和str2中的前5个字符是否相同if (!strncmp(str1, str2, 5)printf("str1和str2的前5个字符相同");elseprintf("s
50、tr1和str2的前5个字符不同");Strchr()函数#include<stdio.h>#include<string.h>int getcount(char* str, char c)/存储找到的字符个数int count = 0;/存储当前字符指针在字符串中的位置char* ptr = str;/获取第一次出现字符变量c值的指针位置while (ptr = strchr(ptr, c) != NULL)+ptr;+count;return count;void main() char str6 = "abaca"char c = &
51、#39;a'int num = getcount(str, c);printf("字符%c在字符串中出现了%d次。n", c, num);Strstr()函数#pragma warning(disable:4996)#include<stdio.h>#include<string.h>void main()char str10240; /声明字符串数组,用于保存段落char word10240; /声明字符串数组,用于保存要查找的字符串char* ptr;printf("请输入要扫描的段落:");gets(str);pri
52、ntf("请输入要查找的单词:");gets(word);ptr = strstr(str, word); /搜索是否包含指定的字符串if (ptr = NULL)printf("段落中不包含单词 %s。n", word);else/得到检测出的字符串后20个字符if (strlen(ptr) >= 20)ptr20 = 0;printf("单词出现在 %s附近。n", ptr);Strcat()函数#pragma warning(disable:4996)#include<stdio.h>#include<s
53、tring.h>void main()/区号char areaNumber5;/电话号码char phoneNumber12;int input;/分机号char extraNumber5;/用来存储连接后的结果,需要初始化为0!char buffer25 = 0 ;printf("请输入区号:");gets(areaNumber);printf("请输入电话号码:");gets(phoneNumber);printf("有分机号吗?(y/n)");input = getchar();/由于getchar()只读入一个字符,因此
54、需要调用fflush来清除输入缓冲区的换行符fflush(stdin);if (input = 'y')printf("请输入分机号:");gets(extraNumber);strcat(buffer, areaNumber);strcat(buffer, "-");strcat(buffer, phoneNumber);strcat(buffer, "-");strcat(buffer, extraNumber);elsestrcat(buffer, areaNumber);strcat(buffer, "-");strc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小区盗窃防范方案(3篇)
- 医疗耗材购置管理制度
- 化学物品卸货管理制度
- 消防泳池改造方案(3篇)
- 夜间火灾处置方案(3篇)
- 寺庙招标重建方案(3篇)
- 小型工厂管理方案(3篇)
- 定制销售体系方案(3篇)
- 安装路灯预算方案(3篇)
- 保安车辆配备方案(3篇)
- 新车出厂质检报告
- 成人预防接种
- 2024年4月自考05844国际商务英语试题及答案
- 工程机械租赁服务方案及保障措施
- 第20课+社会主义国家的发展与变化高一下学期统编版(2019)必修中外历史纲要下
- 生物化学(天津中医药大学)智慧树知到期末考试答案章节答案2024年天津中医药大学
- 人教版六年级语文下册期末摸底考试及答案
- 中国大学mooc《分子生物学实验(北京师范大学) 》章节测试答案
- 110KV变电站继电保护设计毕业设计论文
- 化验室6S管理培训
- 《烽火岁月中的版画》参考课件
评论
0/150
提交评论