2024.7.2作业1

笔记

1.vi编辑器

1.1进行编辑

touch test.c

vi test.c

或者

vi test.c  如果有test.c就进入进行编辑,如果没有test.c就创建test.c然后进行编辑

1.2

文件的操作

        cat test.c 查看test.c文件的内容

        head test.c 查看test.c文件内容中的前十行

        head -n test.c 查看test.c文件内容中的前n行

        tail test.c 查看test.c文件内容中的后十行

        tail -n test.c 查看test.c文件内容中的后n行

2.vscode编辑器

使用指令:code 文件夹名称

3.gcc编辑器

3.1简写

gcc test.c 进行编译,此时会生成一个a.out文件

./a.out 执行a.out文件

若想指定生成的文件名可执行

gcc test.c -o test(想指定的名称)

./test 执行test文件

3.2完整流程

1.预处理

        gcc -E test.c -o test.i

2.编译

        gcc -S test.i -o test.s

3.汇编

        gcc -c test.s -o test.o

4.链接

        gcc test.o -o test

4.计算机的储存单位

最小单位 bit 位

1B=8bit

1KB=1024B

1MB=1024KB

1GB=1024MB

1TB=1024GB

5.计算机数据表示形式

5.1数值型

二进制0 1 八进制0-8 十进制0-9 十六进制0-9 A-F

进制转换

二转十:如1011为1*2^3+0*2^2+1*2^1+1*2^0=11

十转二:如60为32+16+8+4,111100

二转八:三个为一组,如101101为55

八转二:如052为101010

二转十六:四个为一组,如101101100为16C

十六转二:如5A为1011010

5.2非数值型

使用ASCII码

在Ubuntu中使用输入man man查看ASCII码表

如'A'     65

    'a'     92

    '\0'    0

printf("%d\n",'2'); //50
printf("%d\n",'2' - 48); //2
printf("%d\n",'A' + 32); //a
printf("%d\n",'A' + ' '); //a
printf("%c\n",'50'); //'2'
printf("%c\n",'062'); //'2'
printf("%c\n",'\102'); //'B'

6.词法符号

6.1运算符

算术运算符 逻辑运算符 位运算符 关系运算符 三目运算符 赋值运算符

6.1.1 算术运算符

+ - * / % ++ --

/:整数相除结果为保留整数部分

如7/3=2

int a=7/2;
printf(%d\n",a);//3

若想有小数部分有两种办法
1.
float a=7.0/2
printf(%.1f\n",a);//3.5
2.
float a=(float)7/2
printf(%.1f\n",a);//3.5

%:求余数

如7%2=1 

注:只能用于整数运算

++

i++或++i,都表示i=i+1但在赋值中有所区别

int a=6;
int b=++a;
printf("%d %d\n",a,b);//7 7


int a=6;
int b=a++;
printf("%d %d\n",a,b);//7 6


int a=6;
printf("%d\n",++a);//7
printf("%d\n",a);//7


int a=6;
printf("%d\n",a++);//6
printf("%d\n",a);//7

6.2关键字

存储类型:auto static extern register

数据类型:int char float short long double signed unsigned

构造数据类型:struct enum union

分支:if else switch case default for do while go to break continue

其他:void const sizeof volatile return typedef

6.3标识符

在给变量、数组、函数等命名时, 遵循标识符的命名规则:

1)由字母、数字、下划线(_)组成

2)开头不能是数字

3)不能和关键字重名

4)见名知意

题目

1

#include <stdio.h>
int main(int argc, char *argv[])
   {
   		int a = 10;
   		int b = a--;				
  		int c = a + b + 2;		
   		int d = (b--) + (++c); 
   		printf("%d\n",d);
   } 
[单选题] *
A. d = 31
B. d = 32
C. d = 33
D. d = 34

选择D选项32。首先进入main函数,a初始化为10,然后b=a--,此时由于‘--’在a后面,所以这个时候的先把a=10的值给b,然后a=a-1,a为9。然后进行c=a+b+2这句代码,c就等于9+10+2为21。最后进行d=(b--)+(++c)代码,由于‘--’在b后面,所以在这一句代码里b还是10,而‘++’在c的前面,所以在这一句代码中,c已经完成c=c+1的任务,此时的c为22。所以d=10+22=32。

2

以下代码运行后输出的结果是____
#include <stdio.h>
int main()
{
    int k = 011;
    printf("%d\n",k++);
    return 0;
}

结果是9,首先k=011,前面有个0,说明k是一个八进制的数,011化成十进制就是1*8^1+1*8^0=9,所以k是9。最后输出时,由于是k++,‘++’在后面,所以此时输出的还是原来的k为9。若在此printf下再打一个printf("%d\n",k),此时输出就是10。

3

在C语言中,要求运算符必须是整形的运算符是()。
A./    B.++    C.!=    D.%

选D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值