C语言初学者必看
- 格式:doc
- 大小:23.50 KB
- 文档页数:3
c语言知识点大纲以下是C语言的知识点大纲,适用于初学者和中级水平的学习者:基础概念1.数据类型:整型、浮点型、字符型等2.变量和常量:声明、定义、初始化3.运算符:算术、关系、逻辑、赋值等4.控制流:条件语句(if-else)、循环语句(for、while、do-while)5.函数:声明、定义、调用、参数传递、递归6.数组:声明、初始化、访问、多维数组、数组与指针关系7.指针:地址、指针变量、指针运算、指针和数组、指针和函数8.字符串:字符数组、字符串处理函数、字符串常用操作9.结构体:定义、访问结构成员、结构体数组、结构体指针高级概念10.内存管理:动态内存分配((malloc、calloc、realloc、free)、内存泄漏和内存错误11.文件操作:文件读写、文件指针、文件操作函数12.预处理器:宏定义、条件编译、头文件13.位运算:位操作、位掩码、位运算符14.函数指针:指向函数的指针、回调函数高级主题15.数据结构:链表、栈、队列、树、图等16.算法:排序算法((冒泡排序、快速排序等)、搜索算法((线性搜索、二分搜索等)17.指针与内存:内存布局、内存对齐、指针算术18.多线程编程:线程、同步与互斥、线程安全性19.网络编程:Socket编程、TCP/IP、HTTP协议20.C标准库函数:常用函数库((stdio.h、stdlib.h、string.h(等)实践和应用21.项目开发:使用C语言构建小型项目或工具22.调试和优化:学习调试技巧、代码优化技巧以上列举的知识点可以帮助你建立起对C语言的基础认识并逐渐深入。
实践是掌握编程语言的关键,因此建议在学习过程中不断地练习并尝试编写各种类型的程序,以加深对C语言的理解和掌握。
C语言从入门到精通所需的7本书作者:王霸羔子1.C primer plusC primer plus作为一本被人推崇备至的c入门经典,C primer plus绝非浪得虚名。
应该算得上C教材里最好的入门书了。
在知识广度上,很少有书能匹及。
它能为你系统学习c提供一个良好的平台。
作者对c 的见解精辟。
在娓娓叙述的同时,作者辅以大量程序以分析。
它让我对C有了更加系统的全新认识。
决非国人所写的那些公理化的教条说教,我觉得作者把自己的心血全部吐露。
书很厚,近700页,却不没有让我觉得任何的烦琐。
甚至是兴趣盎然。
我把上面所有的课后题目都做了。
最为重要的是,看完这本书后,我再也不觉得c很高深枯燥无味了。
如果你问我,你最大收获是什么。
我会告诉你,兴趣!2.The C programming language拿到这本薄薄的书,很多人开始怀疑,C语言是这么几百页能讲清楚的么。
看完这本书,我想答案已经很明了,却真的让人感到震憾。
什么是好书?无法删减的书才是真正的好书。
K&R的书一如C语言的设计理念:简单而高效里面的习题建议都认真做一遍,而且是在linux下用vi来做,用makefile来编译,用shell脚本来进行测试,本来第八章的题就是和linux 相关的计算机的大学生们不应只会在WINDOWS下用VC来编程,而都应该在linux环境下进行程序设计,因为linux本身就是为开发者准备的操作系统。
3. C和指针这本书最大的特点就是和指针结合在一起进行讲解,通过一些经典的C例题对所学的知识进行巩固,对指针的基础和深入的探讨,有助于初学者更好的理解C语言,还有明白C 的存储机制。
我之前买了《C语言详解》和《C Primer Plus》结合这本书一起学习,可以说是完美的,希望每个热爱C语言的人能够拥有这本书。
我在这里推荐给所有想学好C语言的朋友!4.C专家编程感觉这本书的特色:1.全书如一部优美的故事,但听作者娓娓道来.2.语言风趣活泼,除了c语言,还教会了我们很多做人做事的道理.3.作为Sun公司的工程师,内功极深,不迷信任何权威,还经常调侃下 ANSI C委员会,ISO组织和GNU的作品(如GCC).4.把c讲解到了一个很高的层次,深入剖析了其他书上没有提到过的好东西.5. C缺陷与陷阱很好的书,不是初级读物,但也不过于艰深,而且厚度刚刚好,让人在热情高涨阶段读完,不致于到了一半时间就气馁。
计算机基础知识c语言C语言是一种广泛应用于计算机科学和编程领域的编程语言。
它被设计用于编写操作系统、嵌入式系统以及其他需要高性能计算的应用程序。
以下是一些关于C 语言基础知识的要点:1. 语法结构:C语言的语法结构主要由函数、变量、控制结构(如分支语句和循环语句)以及数据类型组成。
了解这些基本的语法元素对于编写有效的C程序非常重要。
2. 变量和数据类型:C语言提供了不同的数据类型,如整型、浮点型、字符型等。
在使用变量之前,需要先声明其数据类型,并为其分配内存空间。
此外,C语言还提供了一些基本的运算符,如加、减、乘、除等。
3. 控制结构:C语言支持多种控制结构,如条件语句(如if-else语句)和循环语句(如for循环和while循环)。
通过使用这些控制结构,可以根据程序的需求进行不同的判断和重复执行。
4. 函数:函数是C语言中的基本构建块之一。
函数可以接收参数和返回值,并通过将复杂的任务分解为较小的模块来提高代码的可读性和维护性。
5. 数组和指针:C语言支持数组和指针,这些数据结构对于处理大量数据或访问内存中的特定位置非常有用。
了解如何使用数组和指针可以提高程序的效率和灵活性。
6. 文件IO操作:C语言提供了使用文件进行输入和输出操作的函数。
这些函数允许你读取和写入文件,以及在程序中进行文件的操作。
7. 内存管理:C语言要求手动进行内存管理,包括动态内存分配和释放。
了解如何正确地分配和释放内存是编写高效和可靠程序的关键。
总结起来,了解C语言的基础知识对于理解计算机编程的基本概念和原理非常重要。
掌握这些基本知识将为你进一步学习和使用C语言打下坚实的基础。
学习C语言必看的最经典书籍学习C语言必看的最经典书籍学习C语言必看的最经典书籍篇11.《C程序设计语言》这本书由C语言之父合著编写。
它提供了对C语言的更好见解。
比方在C语言中的控制流、运算符、数据构造和函数构造等方面,这本书都有自己的解释。
书中所有概念都有适宜的例子,以助读者理解。
假如你想要学习一种更好的编程范式,代码重用或是注释的重要性。
那么,这本书最合适你。
书后的系列练习很有挑战性,可以让你通过每一个练习有所进步。
这本书并不好读。
但是,这是必读的一本书。
我建议,你在读完一本简单的教程之后,再阅读这本书。
书中有很多章节需要很长的时间,才能深化理解和掌握。
2、《C语言程序设计:现代方法》这本书以一种独特的方法解读了C语言。
C语言已经经历了一些变化,这本书高效介绍了这些变化。
书中的程序都是用纯C代码编写,使得程序有很好的可移植性。
这本书鼓励读者独立考虑,并且鼓励你找到更有效的解决问题的方法。
对C语言感兴趣的学生,这是一本很好的课堂教材。
3.《Absolute Beginner’s Guide To C》第二版,作者Greg Perry【更新】:这本书也有中文版《写给大家看的C语言书》,感谢刘江在评论中补充。
PS:亚马逊等几大电商网站都无货中。
书如其名,这本书是特别为没有编程经历的程序员编写的。
这本书从根本的I/O命令,比方printf、scanf讲起。
在此根底上,也进一步讲解了数据构造、内存中的堆构造、循环和自定义函数。
这本书以明晰的讲解形式,帮助读者更简单地理解C语言。
同时,书中也简单介绍了C语言中用到的根本语法和标识符。
4.《C Primer plus》第5版这是目前市场上,最合适自学的C语言书籍。
你可以在书中找到所有C语言编程概念的详细解释。
这本书为每一个单独的概念提供了简短的例子,帮助读者更好理解。
比方,指针这一章节就表达了这个特点。
指针章节是本书编写最出色的章节之一。
指针用来标识内存中的详细位置并且存放相应内存地址。
//1.成绩判断#include <stdio.h>int main(){//成绩int score;printf("请输入你的成绩:\n");scanf("%d", &score);//判断if(score >=0 && score < 60){printf("不及格\n");}else if(60 <= score && score < 80){printf("中等\n");}else if(80 <= score && score < 100){printf("优秀\n");}else{printf("输入错误!\n");}}//2.计算1到100的和#include <stdio.h>int main(){int sum = 0;//存结果变量int i;for(i=1;i <= 100;i++){sum = sum + i;}printf("sum=%d\n", sum);}//3.最大公约数#include <stdio.h>//求m,n的最大公约数int main(){int m, n;int i, k;printf("请输入两个数:");scanf("%d %d", &m, &n);//三元运算符找较小的那个k = m < n ? m : n;//从较小的那个数倒着往前找for(i=k; i>=1; i--){//这是公约数if((m % i == 0) && (n % i ==0)){printf("最大公约数是%d\n", i);break;//跳出for循环}}}//4.最小公倍数#include <stdio.h>//求m,n的最小公倍数int main(){int m, n;int max, min;//m,n中较大,较小的那个int k;//max, 2*max, 3*max, .....printf("请输入两个数:");scanf("%d %d", &m, &n);//也可以交换m,n,保证m小n大max = m > n ? m : n;min = m < n ? m : n;k = max;//从max开始while(k % min != 0){k += max;//每次倍增}printf("最小公倍数是%d\n", k); }//5.金字塔#include <stdio.h>//金字塔int main(){int i;//外层int j;//内层for(i=1;i<=10;i++){//当前是在第i行//先补空格10-i个for(j=1;j<=10-i;j++){printf(" ");}//再打2i-1个*for(j=1;j<=2*i-1;j++){printf("*");}printf("\n");}}//6.九九乘法表#include <stdio.h>//打印九九乘法表int main(){int i,j;for(i=1;i<=9;i++)//外层一定是9行{for(j=1; j<=i; j++)//内层第几行走几遍{printf("%d*%d=%d ", i, j, i*j);}printf("\n");}}//7.百钱买百鸡#include <stdio.h>/**百钱买百鸡,类似1,2,5凑100银币问题*/int main2(){int i,j;//公鸡,母鸡个数for(i=0; i<=20; i++)//公鸡{for(j=0; j<=33; j++)//母鸡{if( (15*i + 9*j + (100-i-j)) == 300){printf("公鸡%d,母鸡%d,小鸡%d\n", i, j, 100-i-j);}}}}//1,2,5凑100银币问题int main3(){int count = 0;//情况数int i,j;//5分个数,2分个数for(i=0; i<=20; i++)//5分个数{for(j=0; j<=50; j++)//2分个数{if( ( 5*i + 2*j ) <= 100 ){count++;printf("%d: 5分%d个,2分%d 个,1分%d个\n", count, i, j, 100-5*i-2*j);}}}}//8.一维数组的最大值、最小值、平均值#include <stdio.h>#define N 10//宏定义常量int main(){int i;//下标索引int max, min;double sum = 0;//累加和int a[N] = {58, 58, 96, 100, 25, 55, 66, 88, 99, 77};max = a[0];//假设第一个最大min = a[0];//假设第一个最小for(i=1; i<N; i++){if(a[i] > max)//比最大值还大max = a[i];//你才是最大if(a[i] < min)//比最小值还小min = a[i];//你才是最小sum += a[i];}printf("max=%d, min=%d\n", max, min);printf("average = %.2lf\n", sum/N);}//9.二维数组的最大值、最小值、平均值#include <stdio.h>int main(){int i; //第几行int j; //第几列int a[3][4] = { {1,2,3,4}, {5,-6,7,8}, {9,19,39,0}};int max = a[0][0];//假设你最大int min = a[0][0];//假设你最小double average;//平均值double sum = 0; //总和for(i=0; i<3; i++)//必定3行{for(j=0; j<4; j++)//必定4列{printf("%5d ", a[i][j]);sum += a[i][j];if(a[i][j] > max)max = a[i][j];if(a[i][j] < min)min = a[i][j];}printf("\n");}average = sum / (3*4);printf("max=%d, min=%d, avg=%.2lf\n", max, min, average);}//10.二维数组转置#include <stdio.h>//二维数组转置:行变列,列变行int main(){int i; //第几行int j; //第几列int a[3][4] = { {1,2,3,4}, {5,-6,7,8}, {9,19,39,0}};int b[4][3];for(i=0; i<3; i++){for(j=0; j<4; j++){printf("%5d", a[i][j]);}printf("\n");}//矩阵转置for(i=0; i<3; i++){for(j=0; j<4; j++){b[j][i] = a[i][j];}}for(i=0; i<4; i++){for(j=0; j<3; j++){printf("%5d", b[i][j]);}printf("\n");}}//11.冒泡排序#include <stdio.h>#define N 10//宏定义常量int main(){int i;//下标索引int j;int tmp;//临时交换用int a[N] = {58, 58, 96, 100, 25, 55, 66, 88, 99, 77};//外层循环一定是N-1for(i=0; i<N-1; i++){//两两交换,大的往后走for(j=0; j<N-i-1; j++){//交换if(a[j] > a[j+1]){tmp = a[j];a[j] = a[j+1];a[j+1] = tmp;}}}for(i=0; i<N; i++){printf("%d ", a[i]);;}printf("\n");}//12.结构冒泡排序#include <stdio.h>//结构定义,用户自定义类型typedef struct student{char sno[20];//学号char name[20];//姓名int age;//年龄char gender;//性别char tel[20];//电话};int main(){int i;int j;double sum = 0;struct student tmp;//两两交换临时用;//结构数组struct student team[5];for(i=0; i<5; i++){printf("请输入第%d个队员的信息:\n", i+1);scanf("%s %s %d %c %s", team[i].sno, team[i].name, &team[i].age, &team[i].gender, team[i].tel);}//按年龄冒泡排序for(i=0; i<5; i++){for(j=0; j<5-i-1; j++){//两两交换if(team[j].age > team[j+1].age){tmp = team[j];team[j] = team[j+1];team[j+1] = tmp;}}}//取值printf("%-12s %-10s %-5s %-5s %-15s\n", "学号", "姓名", "年龄", "性别", "电话");for(i=0; i<5; i++){printf("%-12s %-10s %-5d %-5c %-15s\n", team[i].sno, team[i].name, team[i].age, team[i].gender, team[i].tel);}}//13.结构数组找年龄最大值#include <stdio.h>//结构定义,用户自定义类型typedef struct student{char sno[20];//学号char name[20];//姓名int age;//年龄char gender;//性别char tel[20];//电话};int main(){int i;struct student tmp;//找最大临时用//结构数组struct student team[5];for(i=0; i<5; i++){printf("请输入第%d个队员的信息:\n", i+1);scanf("%s %s %d %c %s", team[i].sno, team[i].name, &team[i].age, &team[i].gender, team[i].tel);}//取值printf("%-12s %-10s %-5s %-5s %-15s\n ", "学号", "姓名", "年龄", "性别", "电话");for(i=0; i<5; i++){printf("%-12s %-10s %-5d %-5c %-15s\ n", team[i].sno, team[i].name, team[i].age, team[i].gender, team[i].tel);}//找学号最大的那一个tmp = team[0];for(i=1; i<5; i++){if(strcmp(team[i].sno,tmp.sno) >0 ){tmp = team[i];}}printf("学号最大的队员如下:\n");printf("%-12s %-10s %-5d %-5c %-15s\ n", tmp.sno, , tmp.age, tmp.gender, tmp.tel);}//14.文件读写#include <stdio.h>#include <stdlib.h>//结构定义,用户自定义类型typedef struct student{char sno[20];//学号char name[20];//姓名int age;//年龄char gender;//性别char tel[20];//电话};//文件读写int main(){struct student * s, * p1;//个数未知FILE * fp;int i, n = 0;char buf[1024];//fgets缓冲区//打开文件fp = fopen("e:\\test.txt", "r");while(fgets(buf, 1024, fp) != NULL)n++;fclose(fp);//指向一个可以存储n个student结构的内存空间s = (struct student *)malloc(sizeof(struct student) * n);p1 = s;//不要动头位置s的值//打开文件fp = fopen("e:\\test.txt", "r");for(i=0; i<n; i++){//从文件中读入一行fscanf(fp, "%s %s %d %c %s", p1->sno, p1->name, &p1->age, &p1->gender, p1->tel);p1++;}fclose(fp);p1 = s;for(i=0; i<3; i++){printf("%s %s %d %c %s\n", p1->sno, p1->name, p1->age, p1->gender, p1->tel);}free(s);}//15.输入三角形三边长计算周长和面积#include<stdio.h>#include<math.h>int main(){double area,perimeter,s,a,b,c;printf("请输入三边长a b c:");scanf("%lf%lf%lf",&a,&b,&c);if((a+b>c) && (a+c>b) && (b+c>a)){s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));perimeter=a+b+c;printf("area=%.2f,perimeter=%.2f\ n",area,perimeter);}else{printf("三边长无法构成三角形。
c语言初学必背代码为了帮助C语言初学者顺利入门,我将为大家列出一些C语言初学必背的代码片段。
这些代码片段涵盖了C语言的基础知识和常用功能,可以作为初学者学习和练习的参考。
下面是一些常见的C语言代码片段:1. 输出语句:```#include <stdio.h>int main() {printf("Hello, world!\n");return 0;}```这段代码用于输出"Hello, world!"。
`printf`函数是C语言中用于输出的函数。
2. 输入语句:```#include <stdio.h>int main() {int num;printf("请输入一个整数: ");scanf("%d", &num);printf("你输入的整数是:%d\n", num);return 0;}```这段代码用于获取用户输入的整数,并输出用户输入的整数。
3. 条件语句:```#include <stdio.h>int main() {int num;printf("请输入一个整数: ");scanf("%d", &num);if (num >= 0) {printf("你输入的是非负数。
\n");} else {printf("你输入的是负数。
\n");}return 0;}```这段代码用于判断用户输入的整数是正数还是负数,并输出相应的结果。
4. 循环语句:```#include <stdio.h>int main() {int i;for (i = 1; i <= 10; i++) {printf("%d ", i);}printf("\n");return 0;}```这段代码用于输出1到10的整数。
C语言基础必须掌握的知识点C语言是一种通用的高级计算机编程语言,是学习其他编程语言的基础。
掌握C语言基础知识对于提升编程水平和解决实际问题非常重要。
本文将介绍C语言基础必须掌握的知识点。
1.基本语法:了解C语言的基本语法,包括标识符、关键字、注释、数据类型、变量、常量、运算符、表达式、语句、循环和条件语句等。
2.数据类型:掌握C语言中的基本数据类型,包括整型、浮点型、字符型和指针等。
了解它们的存储大小和范围,以及它们之间的转换。
3. 输入输出:了解C语言中的输入输出函数,包括scanf和printf 等。
掌握格式化输入输出的用法,以及如何进行输入和输出的格式控制。
4.数组:了解数组的概念和用法,包括一维数组和多维数组。
掌握数组的声明、初始化、访问和遍历等操作,以及数组和指针之间的关系。
5. 字符串:了解C语言中的字符串类型和常用的字符串处理函数,包括strlen、strcpy、strcat和strcmp等。
掌握字符串的输入和输出方法,以及字符串的常见操作。
6.函数:了解函数的概念和用法,包括函数的声明、定义、调用和返回值等。
掌握函数的参数传递方式,包括值传递和引用传递。
了解递归函数的原理和应用。
7.结构体:了解结构体的概念和用法,包括结构体的定义、访问和操作等。
掌握结构体数组和指针的使用,以及结构体和函数之间的关系。
8.文件操作:了解C语言中的文件操作函数,包括文件的打开、关闭、读取和写入等。
掌握文本文件和二进制文件的读写方法,以及文件指针的使用。
9. 动态内存管理:了解动态内存分配的原理和方法,包括malloc、calloc和realloc等函数的使用。
掌握内存的申请、释放和管理,防止内存泄漏和内存溢出。
10.指针:掌握指针的概念和用法,包括指针的声明、初始化、访问和操作等。
了解指针和数组、指针和函数之间的关系,以及指针的高级应用,如指向指针的指针和指针的运算。
11. 预处理器:了解C语言中的预处理器指令和宏定义,包括#include、#define和#ifdef等。
比较好的c语言书籍在学习C语言的过程中,选择一本好的教材是至关重要的。
一本好的C语言书籍应该能够帮助读者快速入门,并且能够详细地介绍C 语言的各个方面。
下面,我将为大家推荐几本比较好的C语言书籍。
1.《C Primer Plus》这本书是由Stephen Prata撰写的,是一本非常经典的C语言教材。
它适合初学者使用,内容全面、深入浅出,有助于读者快速掌握C 语言的基础知识和编程技巧。
此外,书中还包含了大量的实例和练习题,可以帮助读者巩固所学内容。
2.《C Programming Language》这本书是由Brian W. Kernighan和Dennis M. Ritchie合著的,被誉为C语言的圣经。
它是C语言的权威指南,对于想要深入了解C 语言的读者来说是必读的。
书中详细介绍了C语言的各个方面,包括语法、数据类型、控制结构、指针等内容,对于提升C语言编程能力非常有帮助。
3.《C Programming Absolute Beginner's Guide》这本书由Greg Perry和Dean Miller合著,适合零基础的初学者使用。
它以简明易懂的方式介绍了C语言的基础知识和编程技巧,没有过多的数学公式或计算公式,非常适合初学者入门。
此外,书中还包含了许多实例和练习题,帮助读者巩固所学内容。
4.《C Programming for the Absolute Beginner》这本书由Michael Vine撰写,也是一本面向初学者的C语言教材。
它以简单易懂的语言介绍了C语言的基础知识和编程技巧,并包含了大量的实例和练习题,帮助读者通过实践来学习。
此外,书中还提供了一些小项目,让读者能够将所学知识应用到实际项目中。
以上是我为大家推荐的几本比较好的C语言书籍。
无论你是初学者还是有一定基础的读者,这些书籍都可以帮助你快速掌握C语言的编程技巧。
希望大家能够选择适合自己的教材,努力学习,提升编程能力。
语c入门手册C语言入门手册是一本为初学者设计的指南,旨在帮助读者快速掌握C语言的基础知识和编程技巧。
下面将详细介绍C语言入门手册的内容。
第一部分:基础知识1. C语言概述:介绍C语言的起源、特点和应用领域。
2. 开发环境搭建:指导读者安装C语言开发环境,包括编译器和集成开发环境(IDE)。
3. 程序结构:介绍C语言程序的基本结构,包括头文件引用、函数声明和主函数等。
4. 数据类型:详细解释C语言中的基本数据类型,如整型、字符型、浮点型等,并介绍变量的声明和赋值。
5. 运算符和表达式:介绍C语言中的各种运算符和表达式的用法,包括算术运算符、关系运算符和逻辑运算符等。
第二部分:控制语句1. 条件语句:详细介绍C语言中的条件语句,包括if语句、switch语句和三元运算符等。
2. 循环语句:介绍C语言中的循环语句,包括for循环、while循环和do-while循环等。
3. 跳转语句:解释C语言中的跳转语句,如break语句、continue语句和goto语句等。
第三部分:数组和指针1. 数组:详细介绍C语言中的数组概念和用法,包括一维数组、多维数组和字符数组等。
2. 字符串:解释C语言中的字符串操作,包括字符串的输入输出、比较和连接等。
3. 指针:详细介绍C语言中的指针概念和用法,包括指针的声明、指针运算和指针与数组的关系等。
第四部分:函数和文件操作1. 函数:介绍C语言中函数的定义和调用,包括函数的参数传递、返回值和递归等。
2. 文件操作:解释C语言中的文件读写操作,包括文件的打开、读取和写入等。
第五部分:高级主题1. 结构体和联合体:详细介绍C语言中的结构体和联合体,包括定义、访问和操作等。
2. 动态内存分配:解释C语言中的动态内存分配,包括malloc函数和free函数的使用。
3. 预处理指令:介绍C语言中的预处理指令,包括宏定义、条件编译和文件包含等。
第六部分:实例项目在入门手册的最后,会提供一些实例项目供读者练习,帮助巩固所学的知识,并提供参考答案供读者参考。
c语言初学必背代码C 语言初学必背代码C 语言作为一门基础的编程语言,对于初学者来说,掌握一些关键的代码片段是非常有帮助的。
这些代码不仅能够帮助你理解 C 语言的基本语法和概念,还能为你后续的学习打下坚实的基础。
接下来,让我们一起看看 C 语言初学必背的代码。
一、输出“Hello World”这可能是学习任何编程语言的第一步,它简单却具有象征意义。
```cinclude <stdioh>int main(){printf("Hello World\n");return 0;}```在这个代码中,`include <stdioh>`是预处理指令,用于包含标准输入输出头文件。
`main`函数是 C 语言程序的入口点。
`printf`函数用于输出指定的内容,`\n`是换行符。
二、变量的定义和使用```cinclude <stdioh>int main(){int num = 10; //定义一个整型变量并初始化float price = 125; //定义一个浮点型变量并初始化char letter ='A';//定义一个字符型变量并初始化printf("num =%d\n", num);printf("price =%f\n", price);printf("letter =%c\n", letter);return 0;}```在上述代码中,我们定义了整型、浮点型和字符型的变量,并使用`printf`函数输出它们的值。
其中,`%d`用于输出整型,`%f`用于输出浮点型,`%c`用于输出字符型。
三、算术运算```cint main(){int a = 5, b = 3;int sum = a + b;int difference = a b;int product = a b;int quotient = a / b;printf("sum =%d\n", sum);printf("difference =%d\n", difference);printf("product =%d\n", product);printf("quotient =%d\n", quotient);return 0;}```这里展示了 C 语言中的基本算术运算:加法、减法、乘法和除法。
一、分号,大括号
分号。
分号是表达式结束的标志,一般表达式后面都要有。
写“;”的时候一定要注意:是否要结束前面的语句。
注意:if,switch,for,while语句,数据类型定义,函数定义。
if(a>b) /*if语句,没有分号*/
{...}
while(i+=10,i!=100); /*while语句循环体为空,依靠逗号语句实现循环*/
struct a /*结构体数据定义,没有分号*/
{...}b; /*结构体变量,要有分号*/
int sum(...) /*函数定义,没有分号*/
{....}
大括号。
大括号是一个语句段的标志。
写大括号时最好一次写一对,然后把光标移到大括号里写。
避免遗漏。
二、运算符号
“=”与“==”
“=”用于赋值,注意“=”左边必须是变量,右边可以是常量也可以是变量。
“==”用于判断两个量的大小,左右两边可以是常量也可以是变量(尽量把常量写在左边,这样“==”误写成“=”时编译器就会报错)。
运算表达式有它本身的值。
“=”语句值为“=”右边的量的大小;“==”语句值为判断结果,无外乎两种,0(表示“==”两边不等)1(“==”两边相等)。
(i=1)==(3==4); /*i值为1,整个表达式值为0*/
“,”
逗号语句是从左到右计算,整个逗号语句的值为最后一个语句的值
i=(j=2,j+8,j++); /*先计算j=2,值为2,j+8不是运算表达式,跳过,计算j++得到整个括号内的值3*/
“/”
“/”两边都是整型变量的时候结果也是整型,而且结果遵循向0靠拢的原则。
运算符的优先级及结合方向
不多说了,表格一定要背牢。
三、变量
命名
不要吝惜,能说明白性质尽量在变量的名字上说明。
避免老是使用一个字母,或者难以理解的变量名。
对于较长的变量命名可以使用宏定义、类型定义。
#deine UP 0x4800 /*键码的宏定义*/
typedef struct
{....}MEM; /*结构体变量的类型定义*/
类型
注意变量的使用范围。
当不确定变量的范围的时候尽量选用值域宽的类型。
双目运算符两边的变量一般类型要一致。
不一致的时候需要使用类型转换。
上回说的是一些小问题,真正编东西,学东西还有许多要注意的地方。
由于本人也是刚学不久,水平有限,说错的地方望大家原谅。
谢谢!
一、多看代码
在有一定基础以后一定要多看别人的代码。
注意代码中的算法和数据结构。
毕竟学C之后的关口就是算法和数据结构。
提到数据结构,指针是其中重要的一环,绝大多数的数据结构是建立在指针之上的,如链表、队列、树、图等等,所以只有学好指针才能真正学好C。
别的方面也要关注一下,诸如变量的命名、库函数的用法等等。
有些库函数是经常用到的。
对于这些函数的用法就要牢牢记住。
二、要自己动手
编程序是个实干的活,光说不练不行。
刚开始学的时候可以多练习书上的习题。
对于自己不明白的地方,自己编个小程序实验一下是最好的方法,能给自己留下深刻的印象。
自己动手的过程中要不断纠正自己不好的编程习惯和认识错误。
有一定的基础以后可以尝试编一点小游戏,文曲星之类的电子词典上小游戏很多,照着编作为练习。
基础很扎实的时候,可以编一些关于数据结构方面的东西,诸如最经典的学生管理系统。
之后.....学汇编、硬件知识。
三、选择一个好的编译器
本人前段时间就遭受了一个编译器的折磨。
这个编译器带了个自运行程序,自动修改IE主页。
叫什么名字就不说了。
言归正传,英文版Turbo C v2.0没话说,最经典的C编译器(下载地址:
/soft/2151.html ),其次推荐一个win-tc 1.91,支持windows下的编译器。
(下载地址: /soft/17869.html )
四、关于养成良好的编程习惯
基本上每本C教材上都要提到。
作为新手这条一定要时时遵守。
记的一位网友发过评论:高手写一堆乱七八糟的代码就是艺术,新手写一堆乱七八糟的代码就是垃圾。
就象古代贤人写错字叫通假字,小学生写错字叫错别字,一个道理。
具体方面:
1、在比较复杂的代码后面要有注释。
如果光溜溜一堆代码,别人就不可能看懂你的代码,而且也不利于查找错误。
除非你一直编东西给自己看。
能在代码里说明白的就一定要在代码里体现。
比如变量名、函数名,在命名的时候尽量说明是干什么用的。
2、注意语句的嵌套不能过长,一般来说,一段代码里Tab要少于8个。
简单说就是语句最多8个嵌套。
对于新手来说,这个标准还要下降。
有一个好习惯是,把主函数尽量写简短。
经常看到别人的代码是主函数只有几行,几个函数调用,而定义全在主函数外部。
这样一是减少了主函数内部的嵌套,二是比较精简,容易读懂。
3、注意语句的选择。
并不是分支语句就用if循环就用while、for。
在适当的情况下switch和do while 语句也是要用的。
在某些时候,switch语句比if语句更加精练明了,而do while比while少一个循环。