当前位置:文档之家› C语言二级考前一个月复习概况

C语言二级考前一个月复习概况

整数的三种表示形式表示形式 组成 开头部分 十进制 D,或不加表示0-9 以1-9开头 八进制 O 0-7 以0开头 十六进制H0-9,A-F以0x 开头int a[100],*p; 等价语句 p=a; P=&a[0]; 等价语句p=a+1;P=&a[1];文本文件二进制文件使用方式含义 使用方式含义 r打开文本文件进行只读rb打开二进制文件进行只读w建立新的文本文件进行只写wb建立二进制文件进行只写a打开文本文件进行追加ab打开二进制文件进行追加/写R+打开文本文件进行读/写Rb+打开二进制文件进行读/写W+建立新的文本文件进行读/写Wb+建立二进制文件进行读/写A+打开文本文件进行读/写/追加Ab+打开二进制文件进行读/写/追加指针是以地址作为其值的变量,数组名的值是一个特殊的固定地址,可以作为常量指针。

类型 名称 类型名 数据长度 整型整型 Int 32位 短整型 Short int 16位 长整型Long int 32位 字符型 字符型 Char 8位 实型(浮点型)单精度浮点型 float 32位 双精度浮点型double64位函数 数据类型 格式 printf float %f double %e scanf float %f %edouble%lf %le字符串的输入和输出输入Scanf() 该函数遇到空格或回车输入结束 Gets()该函数遇到回车符输入结束 输出 Printf() 输出时遇到’\0’输出结束Puts()输出时遇到’\0’输出结束运算符 优先级 结合方式优先级:高->低逻辑运算符 !右->左 算术运算符++ -- + - * 右->左 * / % + -左->右 关系运算符 <= < >= > == !=左->右 逻辑运算符 && || 左-> 右 条件表达式 ?:右->左 赋值运算符*= /= %= += - = =右->左C 语言中的转义字符 \n 换行符 \t 水平制表符 \b 退格符 \\ 单斜杠 \’ 单引号 \”双引号组合框、列表框都没有Selected 属性。

‘int (*p)() p 是一个函数指针,该指针指向整数数据。

逗号运算符 , 左->右ASCII 码集符号 十进制 位运算符‘a 97 与 & A 65 或 | 0 48 异或 ^ 9 57 取反 ~ 左移 <<右移>>‘fseek 的调用形式:(fp,offset,from)‘fp:文件指针 ‘offset:移动偏移量 ‘from:起始量打开文件:fopen(“文件名”,文件打开的方式)关闭文件:fclose(文件指针)‘fgetc(fp):将fp所指的磁盘文件读入一个字符到ch。

‘fputc(ch,fp):将字符ch写入fp所指的磁盘文件。

字符串的输入函数:scanf/gets()字符串的输出函数:printf/puts()字符型数据的输入:scanf/getchar()字符型数据的输出:printf/putchar()整型数据的输出格式控制说明:十进制(%d),八进制(%o),十六进制(%x)。

\n(换行符),\t(转义字符,横向跳向另一制表位置)赋值语句左边必须是变量,不能是表达式。

取余运算符结果的正负由被除数决定。

‘fread(buffer,size,count,fp);‘buffer:一个指针,表示存放输入数据的首地址,‘size:数据块的字节数‘count:要读写的数据块数‘fp:文件指针‘fwrite(buffer,size,count,fp);‘buffer:存放输出数据的首地址‘size:数据块的字节数‘count:要读写的数据块数‘fp:文件指针‘fread(fa,4,5,fp)的意义:fp所指的文件中,每次读入4个字节(一个实数)送入实数组fa中,连续读了5次,即读5个实数到fa中。

全局变量的作用范围是从定义开始到程序所在文件的结束,它对作用范围内的所有函数都起作用。

一般把全局变量定义在程序的最前面,即第一个函数的前面。

局部变量:定义在函数内部的变量,有效作用范围在所在函数的内部。

‘fseek:C语言用来控制指针移动的函数。

‘for循环格式:for(表达式1;表达式2;表达式3)‘for语句中的break是结束循环,退出for语句。

‘for语句中的continue是结束这次循环,进行下一次循环(for循环的表达式3)经典程序:1:位运算符#include<stdio.h>int main(void){char a=2,b=4,c;c=a^(b>>2);printf("%d",c);return 0;}2:字符串的比较#include<stdio.h>#include<string.h> int main(void){char *s1="mbDuG"; char *s2="mbDuG";int t;t=strcmp(s1,s2); printf("%d",t); return 0;}3:递归函数#include<stdio.h>int fun(int x);int main(void){printf("%d",fun(7)); return 0;}int fun(int x){int p;if(x==0||x==1)return(3);p=x-fun(x-2);return p;}4:按位取反#include<stdio.h>int main(void){int s,t;s=0x11;t=~0x11;printf("%d\n",s);printf("%x\n",t);return 0;}5:字符串的比较输出#include<stdio.h>int main(void){static char a[]="Language",b[]="programe"; char *p1,*p2;int k;p1=a,p2=b;for(k=0;k<=8;k++)if(*(p1+k)==*(p2+k))printf("%c",*(p1+k)); return 0;}6:指针的交换输出#include<stdio.h>int swap(char *x,char *y) {char *t;t=x;x=y;y=t;return 0;}int main(void){char *s1="abc",*s2="123"; swap(s1,s2);printf("%s,%s\n",s1,s2);return 0;}7:符号的含义#include<stdio.h>int main(void){printf("a\bre\'hi\'\\\bou\n"); return 0;}8:负数的补码输出#include<stdio.h>int main(void){char x=0xFFFF;printf("%d\n",x--);return 0;}8:逗号运算符#include<stdio.h>int main(void){int a;printf("%d\n",(a=2*3,a*5,a+7)); return 0;}9:字符型数据的变换#include<stdio.h>int main(void){char a='A';int b;int B;B=((34&&56)&&(a<'b'));printf("%d\n\n\n",B);printf("%d\n",a);return 0;}10:指针和数组之间的转换#include<stdio.h>int main(void){int a[2][3]={{1,2,3},{4,5,6}}; int (*p)[3],i;p=a;for(i=0;i<3;i++){if(i<2)p[1][i]=p[1][i]-1;elsep[1][i]=1;}printf("%d\n",a[0][1]+a[1][1]+a[1][2]); return 0;}11:’for循环语句%if(j%3)%#include<stdio.h>int main(void){int j;for(j=10;j>3;j--){if(j%3!=0)j--;--j;--j;printf("%2d",j);}return 0;}12:指针和数组*p++;*(p++)*(p+i)*(p)++#include<stdio.h>int main(void){int x[6]={2,4,6,8,5,7}; int *p=x;int i;for(i=0;i<6;i++)printf("%2d",*p++); return 0;}13:字符型数据的变换#include<stdio.h>int main(void)char a='1',b='2';printf("%c,",b++);printf("%d\n",b-a);return 0;}14:数组和指针的交换输出#include<stdio.h>void fun(int *a,int i,int j) {int t;if(i<j){t=a[i];a[i]=a[j];a[j]=t;i++;j--;fun(a,i,j);}}int main(void)int x[]={2,6,1,8};int i;fun(x,0,3);for(i=0;i<4;i++)printf("%2d",x[i]);printf("\n");return 0;}15:if else 匹配#include<stdio.h>int main(void){int a=2,b=-1,c=2;if(a<0) %进入if语句的大前提,满足则进行下条语句,否则直接输出% if(b<0)c=0;elsec++;printf("%d\n",c);return 0;}16:do while循环#include<stdio.h>int main(void){int a=1,b=10;do{b-=a;a++;}while(b--<0); 如果while循环中b--<0成立进行循环,否则退出循环printf("%d",b);return 0;}17:不确定的for循环#include<stdio.h>int f(int a){return a%2;}int main(void){int s[8]={1,3,5,2,4,6};for(i=0;f(s[8]);i++)d+=s[i];printf("%d\n",d);return 0;}18:字符串与指针#include<stdio.h>int main(void){char str[][10]={"china","beijing"};char *p;p=str;printf("%s\n",*(p+10));return 0;}19:sizeof strlen的区别#include<stdio.h>#include<string.h>int main(void){char a[]={'a','b','c','d','e','f','\0'};i=sizeof(a);j=strlen(a);printf("%d,%d",i,j);return 0;}20:sizeof(长度,含字符串结束符)strlen(有效字符个数)#include<stdio.h>#include<string.h>int main(void){char s[10]="1234567\0\0";int m,t;t=strlen(s);m=sizeof(s);printf("%d\n",t);printf("%d\n",m);return 0;}21:p的值是x的地址#include<stdio.h>int main(void){int *p,x=0;p=&x;printf("%d\n",p);return 0;}22:*p的值是x的值。

相关主题