生产实习日报(1)

姓名:曹佳鑫   日期:6月20 号

今日学习任务:VS软件安装  C语言基础学习。

今日任务完成情况:按照老师要求编程,都可以实现结果,代码行120行左右。

今日开发中遇到的问题汇总:基础知识掌握的很不牢靠,代码书写不规范。

今日未解决的问题:int *p=(int*)&a; 取地址形式不太理解,指针知识也欠缺

今日开发收获:见上课知识点

自我评价:

上课知识点

1.基本数据类型的范围 (掌握)

如:char,-128~127.

有符号无符号等区别 

\0 转义字符 ,对应的ASCII码为0

strlen:字符串的长度,遇到\0或者数字0就结束了

#include<stdio.h>
void main()
{
char a[1000];
int i;
for(i=0;i<1000;i++)
{
a[i]=-1-i;
}
printf("%d\n,strlen(a)");
return 0;

}

这个实际输出为255,因为遇到0之后就结束了

2.混合运算:11111111 11111111 11111111 11111111 int

                                                                    11111111 char

int型转换为char型是没意义的,char转换为int高位补0;

例题:unsigned int i=10;int j=-20;i+j=

明确转换关系,有符号转换为无符号

-20  10000000 00000000 00000000 00010100 

        11111111 11111111 11111111 11101000

3.常量与变量

const,volatile修饰变量的时候有什么意思

const:只读变量

#include<stdio.h>
void main()
{
const int a=1;//修饰一个只读变量
//a++;
int *p=(int*)&a;//由于const存在,所以通过取地址访问
*p=3;
printf("%d\n",a);//  \n刷新缓冲区,使a输出到屏幕上
getchar();
return 0;

}

4.算数运算符

/ 取整  % 取余  >>右移   &与运算

#include <stdio.h>//输入一个四位数,顺序取反,如1234,输出4321
void main()
{
int num1,num2;
int i, j, k, p, q;
scanf("%d",&num1);//键盘输入数据,scanf中变量必须使用地址
if(num1 < 10000 && num1 > 999)
{
i=num1%10;//个位
j=(num1/10)%10;//十位 (/ 取整,% 取余)
k=(num1/100)%10;//百位
q=(num1/1000)%10;//千位
num2=i*1000+j*100+k*10+q;
printf("%d\n",num2);
getchar();
return 0;
}

}

#include <stdio.h>//一个字符里面有几个1,如a里面有几个1  a 01100001
void main()
{
int num1 = 0;
char n;
scanf("%c",&n); //键盘输入一个字符
while (n)
{
if(n&1 == 1)  //&运算,1&1==1,1&0==0
{
num1++;
}
n >>= 1;//右移
}
        printf("字符里有1的个数为:%d\n",num1);
while (1);
}

5.a++  ++a

int a = 4;

a+=a++; printf("%d\n",a);   结果:9  原因:a++=4;a=5;原式:a=a+a++=5+4=9;

int a = 4;

a+=++a; printf("%d\n",a);   结果:10  原因:++a=5;a=5;原式:a=a+(++a)=5+5=  10;

6.循环

#include<stdio.h>//for循环
void main()
{
int i;
for(i = 0,printf("1:%d\n",i);i<5,printf("2:%d\n",i);i++,printf("3:%d\n",i))
{
printf("4:%d\n",i); 
}

}

这个程序运行结果:无限死循环 原因:i<5,printf("2:%d\n",i); 判断语句不可以用逗号隔开,纠正:i<5;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值