您的位置:首页 > 编程语言 > C语言/C++

初识c语言

2021-04-16 23:32 926 查看
                                             第四节
                                    
若想打印单个字符在屏幕上显示,例如字符‘a’
#include<stdio.h>
int main()
{
printf("%c\n", 'a');      ----->字符要用单引号引起来
return  0;
}
那想单打印一个单引号,可以用单引号引起一个单引号吗? 如(‘ ’’)  结果是NO;
这个时候要记起转义字符的意义,在要打印的符号前加反斜杠      printf("%s\n",'\'');
同理要打印双引号:printf("%s\n",'\"'); 
c语句中如何实现循环:使用while语句。
(while语句的使用:while后面加括号,括号内放判断条件)
例:
#include<stdio.h>
int main()
{
int line = 0;
printf("加入机构\n");
while (line < 20000)
       {
printf("敲一行代码\n");
line++;
}
printf("好offer\n");
if (line > 20000)
printf("敲一行代码%d\n", line);
return 0;
}

函数分为1、库函数  2、自定义函数

#include<stdio.h>
int Add(int x, int y)          ----->Add是函数名,Add后括号内的数叫参数
{                                    int是函数的返回类型,大花括号内的叫
                                     函数题。
int z = x + y;             
return z;
}
int main()
{
int num1 = 10;
int num2 = 20;
int sum = 0;
int a = 100;
int b = 200;
sum = Add(num1, num2);
sum = Add(a, b);
sum = Add(2, 3);
printf("sum=%d\n", sum);
return 0;
}   

数组:一组相同类型元素的集合叫数组
可以用下标的方式访问数组
数组的定义;
int arr[10];       //存放十个整数数字的数组
char ch[20];       //定义二十个字符数组
float arr2[5]      //定义单精度浮点数的数组
示例:

#include<stdio.h>
int main()
{
int arr[10] ={1,2,3,4,5};       ----->语法规定括号之间存放的数字要用逗号隔开
printf("%d\n", arr[4]);         ----->arr[下标]
return 0;
}  
语法规定;数组的下标默认从0往后依次递进,
若数组有N个元素,最大的下标应是N-1
//arr: 1 2 3 4 5 6 7 8 9 10
//下标:0 1 2 3 4 5 6 7 8 9    
如果想把数组的内容全部打印出来,可以用while循环来实现
例:
#include<stdio.h>
int main()
{
int arr[10] ={1,2,3,4,5,6,7,8,9,10};
int i = 0;
  	while(i<10)
{
printf("%d ", arr[i]);
i++;
}
return 0;
}
要计算数组的大小用sizeof  单位是字节
#include<stdio.h>
int main()
{
int a = 10;
int arr[10] = {0};            ----->10个整型元素的数组,int是四个字节,
printf("%d\n", sizeof(arr));        数组里有十个数。4*10=40;
return 0;
}
计算数组的元素个数: 数组总大小/每个元素的大小=个数;
示例:
#include<stdio.h>
int main()
{
int arr[10] = {0};
int sz = 0;
printf("%d\n", sizeof(arr));
sz = sizeof(arr) / sizeof(arr[0]);
printf("sz=%d\n", sz);
return 0;
}
要求两个数较大值的两种方式
1、直接写入main函数内
#include<stdio.h>
int main()
{
int num1 = 10;
int num2 = 20;
if (num1 > num2)             ----->if(条件)如果条件为真,执行这里
printf("较大值是%d\n", num1);
else                         ----->else(否则)执行这里
printf("较大值是%d\n", num2);

return 0;
}
2、用函数的方式解决
#include<stdio.h>
int Max(int x,int y)
{
if (x > y)
return x;
else
return y;
}
int main()
{

int num1 = 10;
int num2 = 20;
int max = 0;
max = Max(num1, num2);
printf("max=%d\n", max);
return 0;
}

算数操作符:
假设变量 A 的值为 10,变量 B 的值为 20   
+    把两个操作数相加                    A + B 将得到 30    
-    从第一个操作数中减去第二个操作数    A - B 将得到 -10 
*    把两个操作数相乘                    A * B 将得到 200            
/    分子除以分母                        B / A 将得到 2      
%    取模运算符,整除后的余数            B % A 将得到 0   
++    自增运算符,整数值增加 1           A++ 将得到 11      
--    自减运算符,整数值减少 1           A-- 将得到 9   
 
移位操作符:》   《           ----->(移动的其实是二进制位)
示例:
#include<stdio.h>
int main()
{
int a = 1;           ----->整型1 占4个字节=32bit位
int b = a << 1;      ----->移动过程中左边丢弃,右边补0;
printf("%d\n", b);
return 0;
}                              
当对a进行左移或右移操作时,a本身不变,除非移完后又赋值给a

位操作符:  &               ^               |
         (按位与)    (按位异或)     (按位或)
c语言中0为假,非0为真。
按位与一个为假则为假,按位与1和0结果为0
示例:
 #include<stdio.h>
int main()
{
int a = 3;
int b = 5;
int c = a & b;
printf("%d\n", c);              //结果为1
return 0;
}        
按位或:只要对应的二进制序列有1就为真
示例:
#include<stdio.h>
int main()
{
int a = 3;
int b = 5;
int c = a|b;
printf("%d\n", c);              //结果为7
return 0;
}
按位异或;对应的二进制序列相同则为0
         对应的二进制序列相异则为1
示例;
#include<stdio.h>
int main()
{
int a = 3;
int b = 5;
int c = a^b;
printf("%d\n", c);              //结果为6
return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: