今天分享的内容如下:
1.sizeof字节运算符。
利用sizeof 可以计算目标数组包含的字节数
了解各种整型和字符型在占用的字节数。
整型是以补码的形式存储的,了解原码、反码、补码;
为什么用补码存储?(减法可以当做加法运算,0的表示唯一)
2.if语句,if语句的嵌套。
括号{}的作用:整合语句段和具有限定域的作用
3.关系表达式、逻辑表达式(!、&&、||),?:
4. gcc 编译器,编译C文件
objdump -d 反编译成为汇编语言
5.switch语句,switch语句的嵌套。在下面的例子中我们会介绍。
Switch的表达式只能为:整型变量、字符型变量、枚举变量。Case后面的标号只能是:常量或常量表达式。
6.goto语句:goto语句和它的标号只能在同一个函数中,注意在编程中尽量不用goto语句
编程题例子:
一、利用switch语句判断输入成绩的等级:
#include<stdio.h>
int main(void)
{
int num;
printf("please input the score:");
scanf("%d",&num);
while(num<0||num>100)
{
printf("The wrong score!\n");
printf("please input the score:");
scanf("%d",&num);
}
num=num/10;
switch(num)
{
case 6:
printf("get D\n");
break;
case 7:
printf("get C\n");
break;
case 8:
printf("get B\n");
break;
case 9:
case 10:
printf("get A\n");
break;
default:
printf("get E\n");
break;
}
return 0;
}
二、Switch的嵌套:打印前三名的语数外成绩
int main()
{
int i,j;
printf("please input 名次\n");
scanf("%d",&i);
if(i>3||i<=0)
{
printf("error\n");
return 0;
}
printf("please intput numer 1 2 3 \n");
printf("1 语文 ,2 数学,3 英语\n");
scanf("%d",&j);
if(j>3||j<=0)
{
printf("error\n");
return 0;
}
switch(i)
{case 1:
switch(j)
{
case 1:
printf(" 第一名语文成绩是\n");
break;
case 2:
printf(" 第一名数学成绩是\n");
break;
case 3:
printf(" 第一名 英语成绩是\n");
break;
}
break;
case 2:
switch(j)
{
case 1:
printf(" 第二名语文成绩是\n");
break;
case 2:
printf(" 第二名数学成绩是\n");
break;
case 3:
printf(" 第二名 英语成绩是\n");
break;
}
break;
case 3:
switch(j)
{
case 1:
printf(" 第三名语文成绩是\n");
break;
case 2:
printf(" 第三名数学成绩是\n");
break;
case 3:
printf(" 第三名 英语成绩是\n");
break;
}
break;
defafult:
printf("input error");
}
return 0;
}
三、熟悉while、for循环完成猴子吃桃的计算。
猴子吃桃子,每天吃一半还多一个,到第10天还剩一个,问总共多少个桃子。
int main(int argc,char* argv[])
{
int tatal=1,n=9,i;
for( i = 1; i<10;i++)
{
tatal=2*(tatal+1);
}
printf("tatal is %d !\n",tatal);
//while循环实现
tatal = 1 ;
while(n--)
{
tatal =2*(tatal+1);
}
printf("tatal is %d !\n",tatal);
return 0;
}
1.sizeof字节运算符。
利用sizeof 可以计算目标数组包含的字节数
了解各种整型和字符型在占用的字节数。
整型是以补码的形式存储的,了解原码、反码、补码;
为什么用补码存储?(减法可以当做加法运算,0的表示唯一)
2.if语句,if语句的嵌套。
括号{}的作用:整合语句段和具有限定域的作用
3.关系表达式、逻辑表达式(!、&&、||),?:
4. gcc 编译器,编译C文件
objdump -d 反编译成为汇编语言
5.switch语句,switch语句的嵌套。在下面的例子中我们会介绍。
Switch的表达式只能为:整型变量、字符型变量、枚举变量。Case后面的标号只能是:常量或常量表达式。
6.goto语句:goto语句和它的标号只能在同一个函数中,注意在编程中尽量不用goto语句
编程题例子:
一、利用switch语句判断输入成绩的等级:
#include<stdio.h>
int main(void)
{
int num;
printf("please input the score:");
scanf("%d",&num);
while(num<0||num>100)
{
printf("The wrong score!\n");
printf("please input the score:");
scanf("%d",&num);
}
num=num/10;
switch(num)
{
case 6:
printf("get D\n");
break;
case 7:
printf("get C\n");
break;
case 8:
printf("get B\n");
break;
case 9:
case 10:
printf("get A\n");
break;
default:
printf("get E\n");
break;
}
return 0;
}
二、Switch的嵌套:打印前三名的语数外成绩
int main()
{
int i,j;
printf("please input 名次\n");
scanf("%d",&i);
if(i>3||i<=0)
{
printf("error\n");
return 0;
}
printf("please intput numer 1 2 3 \n");
printf("1 语文 ,2 数学,3 英语\n");
scanf("%d",&j);
if(j>3||j<=0)
{
printf("error\n");
return 0;
}
switch(i)
{case 1:
switch(j)
{
case 1:
printf(" 第一名语文成绩是\n");
break;
case 2:
printf(" 第一名数学成绩是\n");
break;
case 3:
printf(" 第一名 英语成绩是\n");
break;
}
break;
case 2:
switch(j)
{
case 1:
printf(" 第二名语文成绩是\n");
break;
case 2:
printf(" 第二名数学成绩是\n");
break;
case 3:
printf(" 第二名 英语成绩是\n");
break;
}
break;
case 3:
switch(j)
{
case 1:
printf(" 第三名语文成绩是\n");
break;
case 2:
printf(" 第三名数学成绩是\n");
break;
case 3:
printf(" 第三名 英语成绩是\n");
break;
}
break;
defafult:
printf("input error");
}
return 0;
}
三、熟悉while、for循环完成猴子吃桃的计算。
猴子吃桃子,每天吃一半还多一个,到第10天还剩一个,问总共多少个桃子。
int main(int argc,char* argv[])
{
int tatal=1,n=9,i;
for( i = 1; i<10;i++)
{
tatal=2*(tatal+1);
}
printf("tatal is %d !\n",tatal);
//while循环实现
tatal = 1 ;
while(n--)
{
tatal =2*(tatal+1);
}
printf("tatal is %d !\n",tatal);
return 0;
}