收藏 分享(赏)

C语言程序实例.doc

上传人:HR专家 文档编号:6874421 上传时间:2019-04-25 格式:DOC 页数:34 大小:410KB
下载 相关 举报
C语言程序实例.doc_第1页
第1页 / 共34页
C语言程序实例.doc_第2页
第2页 / 共34页
C语言程序实例.doc_第3页
第3页 / 共34页
C语言程序实例.doc_第4页
第4页 / 共34页
C语言程序实例.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、数组的引用:#includevoid main (int argc,char *argv )int x5 = 2,3,1,4,6 ;int i;for (i = 0; i void main(int argc, char *argv)int x5 = 1,2,3,4,5 ;int i = 0;for (i = 0; i int main(int argc, char* argv)int x5 = 1,2,3,4,5 ;int nMax = x0;int i = 0;for (i = 1; i nMax)nMax = xi;printf(“max:%dn“, nMax);return 0;一维数

2、组排序:#includevoid main(int argc, char * argv)int arr5 = 9, 8, 3, 5, 2 ;int temp = 0;int i, j;printf(“冒泡排序前: n“);for (i = 0; i arrj + 1)temp = arrj;arrj = arrj + 1;arrj + 1 = temp;printf(“冒泡排序后: n“);for (i = 0; i void main()/声明并初始化数组int array34 = 1,2,3,4,5,6,7,8,9,10,11,12 ;for (int i = 0; i void main

3、(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 = 0; m void func()printf(“这是我的第一个函数!n“);void main()func

4、();有参函数调用无参函数#include void func(int x, int y)int sum = x + y;printf(“x+y=%dn“, sum);void main()func(3, 5);函数调用及返回过程#includeint func(int x, int y)return x + y;void main()int sum = func(3, 5);printf(“x+y=%dn“, sum);Printf函数#includevoid main()printf(“%c %c“, H, n);printf(“%s“, “Hellow,world!n“);printf(

5、“%d %d %d n“,1, 2, 3);printf(“%f %f %f n“,2.1, 2.2);Scanf 函数#includevoid main()char str256; /字符数组保存得到的字符串scanf(“%s“, str);printf(“%sn“, str);嵌套函数#includeint 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

6、= 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 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/下面的函数使用递归实现,求 1n的和int getsum(int n)if (n = 1)return 1; /满足条件,递归结束int temp

7、= getsum(n - 1); /在函数体中调用自身return temp + n;void main()int sum = getsum(4);/调用递归函数,获得 14的和printf(“sum=%dn“, sum); /打印结果外部函数建立源文件 first.cint add(int x, int y)return x + y;建立源文件 second.c#includeextern int add(int x, int y);void main()printf(“%dn“, add(1, 2);/注:extern 可以省略内部函数用法建立 first.c#includevoid sh

8、ow()printf(“%sn“, “first.c“);建立 second.c#includestatic void show()printf(“%sn“, “second.c“);void main()show();全局变量#includeint x = 123;void show()printf(“show()函数中,x 的值为:%dn“, x);void main()show();printf(“main()函数中,x 的值为:%dn“,x);当局部变量与全局变量重名时,全局变量会被屏蔽#includeint x = 789;void main()int x =123;printf(“

9、x的值为:%dn“,x);变量的作用域#includeint x = 10;void show()int x = 20;printf(“show()函数中,x 的值为:%dn“, x);void main()int x = 30;printf(“main()函数中,x 的值为%dn“, x);show();If 语句#includevoid main()/定义变量 xint x = 5;/如果 x的值小于 10则执行 if大括号中的代码if (x void main()int num = 19;if (num % 2 = 0)/判断条件成立,num 被 2整除printf(“num是一个偶数n

10、“);elseprintf(“num是一个奇数n“);If.else if.else语句#includevoid main()int grade = 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 =60pri

11、ntf(“该成绩的等级为差n“);三元运算符#includevoid main()int x = 0;int y = 1;int max;max = x y ? x : y;printf(“max = %dn“);Switch 语句#includevoid main()int week = 5;switch (week)case 1:printf(“星期一n“);break;case 2:printf(“星期二n“);break;case 3:printf(“星期三n“);break;case 4:printf(“星期四n“);break;case 5:printf(“星期五n“);break

12、;case 6:printf(“星期六n“);break;case 7:printf(“星期日n“);break;default:printf(“输入的数字不正确.n“);break;在使用 switch语句过程中,如果多个 case条件后面的执行语句是一样的,则该执行语句只需书写一次即可#includevoid main()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:/当

13、week满足值 6、7 中任意一个时,处理方式相同printf(“今天是休息日n“);break;While 循环语句#includevoid main()int x = 1;while (x void main()int x = 1; /定义变量 x,初始值为 1doprintf(“x=%dn“, x);/条件成立,打印 x的值x+; /x进行自增 while (x void main()int x = 1; /定义变量 x,初始值为 1doprintf(“x=%dn“, x);/条件成立,打印 x的值x+; /x进行自增 while (x void main()int x = 1; /定义

14、变量 x,初始值为 1while (x int main()int i, j; /定义两个循环变量for (i = 1; i 4) /判断 i的值是否大于 4goto end; /跳至标志位 end的语句printf(“*“); /输出*printf(“n“); /换行end: return 0;Continue 语句#includevoid main()int sum = 0; /定义变量 sum,用于记住和for (int i = 1; i void main()int a = 12345;long b = -23456, sum1;unsigned int c = 32800, sum2

15、;sum1 = b - a;sum2 = c - b;printf(“sum1=%1d,sum2=%un“, sum1, sum2);Float 和 double之间的数据转换#includevoid main()float a;a = 3.141592612;printf(“a=%.9fn“, a);字符型变量#includevoid main()char ch1 = A;char ch2 = 65;printf(“%cn“, ch1);printf(“%cn“, ch2);#includevoid main()转义符的用法char ch1 = A;char ch2 = n;char ch3

16、 = B;char ch4 = ;printf(“%c“, ch1);printf(“%c“, ch2);printf(“%c“, ch3);printf(“%c“, ch4);printf(“%c“, ch2);枚举类型变量#includeenum 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;nextmon

17、th = JUN;printf(“%d %d %d n“, lastmonth, thismonth, nextmonth);在枚举中规定,如果不给标识符指定具体值,会默认该标识符的值等于前一标识符的值加一。因此可以快速定义#include/定义一组常量enum Constants c1, c2, c3 = 4, c4, c5 = 3, c6, c7, c8 = 0, c9 ;void main()printf(“c9=%dn“, c9);Sizeof 运算符#include void main()/通过类型名称计算各基本数据类型所占内存大小printf(“char: %dn“, sizeof

18、(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“, sizeof(unsigned char);printf(“unsigned short: %dn“, sizeof(unsigned short);printf(“unsigned int: %dn“, sizeof(unsigned int);

19、printf(“unsigned long: %dn“, sizeof(unsigned long);/通过变量名称计算变量所属数据类型占用内存大小int val_int = 100;double val_double = 100000.0;printf(“val_int: %dn“, sizeof(val_int);printf(“val_double: %dn“, sizeof(val_double);指针的取址和取值运算符#includevoid main()int num = 100; /int类型变量 numprintf(“num=%dn“, num); /输出变量值printf(“

20、# /输出变量的内存地址printf(“* /通过 num地址读取 num中的数据指针表达式的自增自减运算#includevoid main()int arr5 = 1,2,3,4,5 ;int *p1 = int *p2 = printf(“p1的值为: %dn“, *p1);printf(“+p1的值为: %dn“, *(+p1);printf(“p2的值为: %dn“, *p2);printf(“-p2的值为: %dn“, *(-p2);同类指针相减运算#includevoid main()int arr5 = 1,2,3,4,5 ;int *p1 = int *p2 = printf(

21、“p1的值为: %dn“, p1);printf(“p2的值为: %dn“, p2);printf(“p1-p2的值为: %dn“, p2-p1);指针变量的使用#includevoid main(int argc,char* argv)int nNum = 0x12345678;int * pNum; /定义一个指针变量pNum = /为指针变量赋值printf(“nNum Val:%xn“, nNum);printf(“nNum Addr:%pn“, printf(“pNum Val:%pn“, pNum);printf(“*pNum :%xn“, *pNum);指针变量作为函数的参数(作

22、用是将一个变量的地址传送到另一个函数中)#includevoid main(int argc,char* argv)int nNum = 0x12345678;int * pNum; /定义一个指针变量pNum = /为指针变量赋值printf(“nNum Val:%xn“, nNum);printf(“nNum Addr:%pn“, printf(“pNum Val:%pn“, pNum);printf(“*pNum :%xn“, *pNum);指向一维数组元素的指针#include#includevoid main(int argc, char* argv)int X10 = 1,2,3,

23、4,5,6,7,8,9,10 ;int i = 0;int nLen = 10;printf(“数组 X修改前:n“);for (i = 0; i #includevoid 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 /输出指针数组中元素的值int print(int *arr, int n)if (!arr)return 0;int i = 0;for (i = 0; i#i

24、ncludeint main(int argc, char * argv)int i = 0;printf(“程序的参数列表如下:n“ );for (i = 0; i #includevoid main(int argc, char * argv)int m = 10;int * pM = /指针 pM 存放的是变量 m 的地址int * ppM = /二级指针 ppM 存放的是指针 pM 的地址printf(“m = %dn“, m);printf(“*pM = %dn“, *pM);printf(“*pM = %dn“, *ppM);Malloc()函数和 free()函数#include

25、void main()int u, v; /定义二维数组的长和宽printf(“第一维为:“);scanf(“%d“, printf(“第二维为:“);scanf(“%d“, int* array = (int*)malloc(sizeof(int*)* u); /先创建第一维for (int i = 0; i void main()/声明一个字符数组并初始化char char_array5 = h, e, l, l, o ;int i;/通过 sizeof 关键字得到数组长度,并遍历打印其内容。for (i = 0; i void main()char char_array6 = (“hel

26、lo“);/声明一个长度为 6 的字符数组并初始化为 helloint i;/通过 sizeof 关键字得到数组长度for (i = 0; i #includevoid main()char str1024; /声明一个足够大的字符型数组保存将要被输入的字符串printf(“请输入待测量的字符串:“);scanf(“%s“, str); /接受用户输入字符串printf(“您输入的字符串长度为 %d。n“, strlen(str);空字符0的使用#includevoid main()char char_array = h, e, l, l, o, 0, w, o, r, l, d ;print

27、f “%sn“, char_array ;忘记在字符数组的末尾添加空字符0 ,程序也会出现一些奇怪的现象#includevoid main()char char_array = h, e, l, l, o ;printf “%sn“, char_array ;使用指针修改字符串中的字符#includeint main()char char_array = “hello world!“;char *ptr;printf(“修改前的字符串如下:%sn“, char_array);ptr = char_array; /将一个字符型指针指向字符型数组char_array的首地址/开始修改字符串whil

28、e (*ptr != 0) /检测是否到串未尾if (*ptr = )*ptr = !;ptr+;printf(“修改后的字符串如下:%s n“, char_array);return 0;Gets()函数#pragma warning(disable:4996)#includevoid main()char phoneNumber12;printf(“请输入手机号码:“);gets(phoneNumber);printf(“您的手机号码是: %sn“, phoneNumber);Puts()#pragma warning(disable:4996)#includevoid main()cha

29、r buf12;puts(“请输入一个字符串:“);gets(buf);puts(“您输入的是: n“);puts(buf);字符串比较#pragma warning(disable:4996)#include#includevoid main()char username100; /定义存放用户名的字符数组char password100; /定义存放密码的字符数组printf(“登录n“);printf(“请输入用户名: “);gets(username); /获取用户输入的用户名printf(“请输入密码: “);gets(password); /获取用户输入的密码/比较输入的用户名和密

30、码是否正确if (!strcmp(password, “ILoveC“) elseprintf(“登陆失败,请检查用户名或密码是否正确输入。n“);Strncmp()函数#include#includevoid main()char* str1 = “abcdef“;char* str2 = “abcdeg“;/判断字符串 str1和 str2中的前 5个字符是否相同if (!strncmp(str1, str2, 5)printf(“str1和 str2的前 5个字符相同“);elseprintf(“str1和 str2的前 5个字符不同“);Strchr()函数#include#inclu

31、deint 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 = a;int num = getcount(str, c);printf(“字符%c 在字符串中出现了%d 次。n“, c, num);Strstr()函数#pragma warn

32、ing(disable:4996)#include#includevoid main()char str10240; /声明字符串数组,用于保存段落char word10240; /声明字符串数组,用于保存要查找的字符串char* ptr;printf(“请输入要扫描的段落:“);gets(str);printf(“请输入要查找的单词:“);gets(word);ptr = strstr(str, word); /搜索是否包含指定的字符串if (ptr = NULL)printf(“段落中不包含单词 %s。n“, word);else/得到检测出的字符串后 20个字符if (strlen(pt

33、r) = 20)ptr20 = 0;printf(“单词出现在 %s 附近。n“, ptr);Strcat()函数#pragma warning(disable:4996)#include#includevoid main()/区号char areaNumber5;/电话号码char phoneNumber12;int input;/分机号char extraNumber5;/用来存储连接后的结果,需要初始化为 0!char buffer25 = 0 ;printf(“请输入区号:“);gets(areaNumber);printf(“请输入电话号码:“);gets(phoneNumber);

34、printf(“有分机号吗?(y/n)“);input = getchar();/由于 getchar()只读入一个字符,因此需要调用 fflush来清除输入缓冲区的换行符fflush(stdin);if (input = y)printf(“请输入分机号:“);gets(extraNumber);strcat(buffer, areaNumber);strcat(buffer, “-“);strcat(buffer, phoneNumber);strcat(buffer, “-“);strcat(buffer, extraNumber);elsestrcat(buffer, areaNumb

35、er);strcat(buffer, “-“);strcat(buffer, phoneNumber);printf(“您的电话号码是 %s。n“,buffer);Strncat()函数#pragma warning(disable:4996)#include#includevoid main()char buf130; /声明字符串数组,用于保存字符串 buf1.char buf230; /声明字符串数组,用于保存字符串 buf2.printf(“请输入第一个字符串:“);gets(buf1);printf(“请输入第二个字符串:“);gets(buf2);/使用 strncat()函数来对

36、字符串进行拼接strncat(buf1, buf2, sizeof(buf1)-1 - strlen(buf1);printf(“连接后的字符串是 %s。n“, buf1);Atoi()函数#pragma warning(disable:4996)#include#includevoid main()char buf20;int result;printf(“请输入待转换的十进制数:“);gets(buf);result = atoi(buf);printf(“转换结果是 %d. n“, result);使用函数 itoa()将整数转换字符串#pragma warning(disable:49

37、96)#include#includevoid main()char buf20;/用于保存八进制的转换结果char number_820;/用于保存十进制的转换结果char number_1020;/用于保存十六进制的转换结果char number_1620;int val;printf(“请输入待转化的数:“);gets(buf);val = atoi(buf); /将输入的字符串表示的数字转换为整型/使用提哦啊()函数进行转换itoa(val, number_8, 8);itoa(val, number_10, 10);itoa(val, number_16, 16);printf(“八进制下为 %sn“, number_8);printf(“十进制下为 %sn“, number_10);printf(“十六进制下为 %sn“, number_16);不带参数的宏定义#include#define pI 3.141592void main()printf(“%fn“, pI);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报