intn=10 ,a[n];这种写法为什么不对是变量!不能作为下标使用!因为在编译的时候,数组需要一个指定的大小。n必须是常数,在编译的时候编译器并不知道n到底是多少,运行时候才知道,所以编译不通过。在C语言中,一个字母字符占一个字节。所以表面上看是占了1个字节。然而C语言中规定,字符串结束后必须跟一个结束字符'\0',因此总共应该是占了2个字节依次类推“abc”就是占4个字节例子:c语言中"\\sfds"的字节数是多少?为什么?6个(前提是一个字符占一个字节)\\是1个,第一个是转义字符,故两个作为一个“\”sfds是4个另外双引号的字符串,默认有个”\0“作为结尾,虽然没有写出来所以一共占1+4+1=6个字节若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是_0_a[2][1]得到的初值是_6。{1,2}对应第0行1是0行0列[0][0],2是0行1列[0][1]{0}对应第1行0是1行0列[1][0]{4,6,8,10}对应第2行,4是2行0列[2][0],6是2行1列[2][1],8是2行2列[2][2],10是2行3列[2][3]<<2表示a左移两位,数值上相当于a的十进制数乘以4,在把他的值赋给ba<<n数值上相当于a的十进制数乘以2的n次方a>>:隐式类型转换,低级向高级转换Inta;floatb;doubleca+b+c先将变量a和变量b都转换为double,然后计算,得到结果double强制类型转换:(double)a将a转换为double型(int)(x+y)将x+y的值转换为整型(int)a+y将x转换为整型,。,b;a=10%3,b=5;printf(“%%%d,%%%d”,a,b);a=%1,b=%5注意:%%输出%:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年,1999年不是闰年);世纪年:能被400整除的为世纪闰年。(如2000年是闰年,1900年不是闰年);,b,c;a=b=c=1;++a||++b&&++c;求a,b,c的值?在c语言中,&&的优先级比||高,所以当这两个一起出现的时候,是先算&&再算||,当然,||||的前半部分为真的时候,就不执行后半部,:a=b=c=1;于是a,b,c的值都是1,++a||++b&&++c;中,&&的优先级高,所以先算++b&&++c,再跟++a做||++a是||++a的值此时是2,a的值就是2,++b&&++,=2b=1c=1,而不是a,b,=10,y=20,z=30;if(x>y)z=x;x=y;y=zprintf(“%d%d%d”,x,y,z);20,30,30注意if后没括号只能控制一条语句即z=x不执行,=1,b=2,c=3,d=4,e=5;k=a>b?c:d>e?d:e;求k的数值时多少?(x=10;x>3;x--){if(x%3)x--;--x;--x;printf("%d",x);}A)63B)74C)62D)73序号是for循环的第几次:nowx=10if(x%3)x--;//此句if条件10%3=1,执行完x--后,x=9--x;--x;//此行执行完x=7printf("%d",x); //输出7nowx=6if(x%3)x--;//此句if条件6%3=0,不执行x--语句,x=6--x;--x;//此行执行完x=4printf("%d",x); //输出4nowx==:1)程序结构是三种:顺序结构、选择结构(分支结构)、循环结构。2)读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。3))bit是位是指为0或者1。byte是指字节,一个字节=、对C语言的基础认识1、C语言编写的程序称为源程序,又称为编译单位。2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。3、一个C语言程序有且只有一个main函数,是程序
c语言基础知识复习 来自淘豆网m.daumloan.com转载请标明出处.