0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言_语句与位运算基本练习

DS小龙哥-嵌入式技术 来源:DS小龙哥-嵌入式技术 作者:DS小龙哥-嵌入式技 2022-08-14 09:46 次阅读

总结C语言语句的几个基本练习题,计算素数、排序、求偶数和、可逆素数、水仙花数、交换大小写、交换变量的值、位运算、语法特性等知识点。

1. 输出100~200之间所有可逆素数

1.输出100~200之间所有可逆素数(除了1和本身能够整除)。----练习for的控制
比如: 3  7   13   11
示例:
#include 
int main(int argc, char * argv[])
{
	int i,j,k;
   int a,b,c;
   int data;
   for(i=100;i<200;i++) //范围
   {
		for(j=2;j;j++)>

2. 输入任意3个数,按从大到小的顺序输出

2.输入任意3个数,按从大到小的顺序输出--->练习if语句,了解排序原理
示例:
#include 
int main(int argc, char * argv[])
{
	int a=500,b=200,c=600,tmp;
   
   if(a)>

3. 编程计算: 123+345….99100101的值

3.编程计算: 1*2*3+3*4*5….99*100*101的值
示例:
#include 
int main(int argc, char * argv[])
{
	//1*2*3+3*4*5….99*100*101
   int i;
   int sum=0;
   for(i=1;i<=99;i+=2)
   {
		sum+=i*(i+1)*(i+2);
   }
   printf("sum=%d\n",sum);
	return 0;
}

4. 输出0~100以内的偶数之和。

4.输出0~100以内的偶数之和。
示例:
#include 
int main(int argc, char * argv[])
{
   int i;
   int sum=0;
	for(i=0;i<=100;i++)
   {
		if(i%2==0) //判断偶数
	   {
	     sum+=i;
	   }
   }
   printf("sum=%d\n",sum);
	return 0;
}

5. 打印所有的水仙花数

5.打印所有的水仙花数。水仙花数是3位数---个位+十位+百位立方和等于它本身
例如: 123=1*1*1+2*2*2+3*3*3
  示例:
#include 
int main(int argc, char * argv[])
{
   int i;
   int sum=0;
   int a,b,c;
	for(i=100;i<=999;i++)
   {
		a=i/100;
	   b=i%100/10;
	   c=i%10/1;
	   sum=a*a*a+b*b*b+c*c*c; //计算立方和
	   if(sum==i)
	   {
			printf("%d ",i);
		}
   }
	return 0;
}

6. 转换大小写

位作业:------处理数据都得使用二进制
1.转换大小写 (位运算完成大小写转换)
示例:
#include 
int main(int argc, char * argv[])
{
   char c;
   printf("输入一个字符:");
   scanf("%c",&c);
   c=c^0x20; //0b00100000  0x123
   printf("%c\n",c);
	return 0;
}

7. 使用位运算交换两个变量的值

2.使用位运算交换两个变量的值。(规定: 只有两个变量)
示例:   (可以做加密算法)
#include 
int main(int argc, char * argv[])
{
	/*
		01000001  原文   ^
		01100001  密码
		--------
		00100000  密文
	  
		01100001  密码
		--------------
		01000001  原文   
   */
   int a=65,b=97;
   a=a^b;
   b=a^b;
a=a^b;
   printf("%d,%d\n",a,b);
	return 0;
}

8. 完成位运算的综合运用

3.完成位运算的综合运用。
(1)定义一个int类型的变量。 
(2)在int类型类型变量里存放4个字母(A B C D)。
(3)存放之后在将字母取出来打印出来。
(4) 在不影响其他数据的情况下将B改为K或者其他数据

#include 
int main(int argc, char * argv[])
{
	unsigned int data=344545;

   /*1. 存放数据*/	
   data='A'<<24; 
   data|='B'<<16;
   data|='C'<<8;
   data|='D'<<0;
   
	/*2. 取出数据*/
   printf("%c\n",data>>24);
   printf("%c\n",(data>>16)&0xFF);
   printf("%c\n",(data>>8)&0xFF);
   printf("%c\n",(data>>0)&0xFF);
   
   /*3. 修改数据的值*/
   data&=~(0xFF<<16); //清除数据
   data|='K'<<16;     //赋值 
  
   /*4. 取出数据*/
   printf("%c\n",data>>24);
   printf("%c\n",(data>>16)&0xFF);
   printf("%c\n",(data>>8)&0xFF);
   printf("%c\n",(data>>0)&0xFF);
   
	return 0;
}

9. 显示中文

  通过*号打印出自己的名字。
1.颜色转换的例子:  RGB888  RGB565  RGB66…. 
   int data=12345; //RGB888的颜色
   要求将data转为RGB565    -去掉高位
2.实际的运用

short  c1=1234; //R占11~15位  G占2~7位
short  c2=4567; //B占 11~15位
要求:  将以上RGB分量提取出来,存在另一个变量(16位的变量)中—RGB565  。

unsigned int data_1;   //整型   4个字节
	unsigned short data_2; //短整型 2个字节
   unsigned long data_3;  //长整型 4个字节
   unsigned long long data_3;  //双长整型  8个字节

10. C语言的特性:

C语言的特性:
(1) C语言程序顺序控制语法---执行顺序是从上到下。
(2) C语言程序基本组成:  函数组成---->专用的工具包。
(3) C语言语法: 变量、常量、函数、语句、关键字
(4) C语言技术关键: 数据结构、算法
C语言的基本框架:
#include   //头文件--->引用
int main(int argc, char *argv[])  //主函数…..入口
{
	printf("hello!\n"); 
	return 0;
}
学习开始:  输入(scanf)和输出(printf)

11. C语言规则约定

C语言编程约定
(1)每条语句分号;结束;  int data;
(2), 逗号  分隔符号。比如: int a,b,c,d;
(3)程序里不能出现中文符号。(,   ,)
(4)基本逻辑程序都是在函数内部编写{  }之间。

int main(int argc, char *argv[])
{
   …………………
   …………………
}
(5) 编写每条语句,或者变量,每换一次行都需要对齐。(距离左边距4个空格---一个TAB键的距离)
(6) 编写代码时,括号要连打
基本单位
1个字节------8位------------->计算机存储只能是二进制----------->
1kb-------------1024字节
1mb------------1024kb
数据类型----决定每一个空间的大小。
int : 整型(0,12,45565,56565), 占4字节
char :字符类型(‘A’,’6’,’7’,’D’) ,占1字节
float: 单精度浮点类型(12.454678), 占4字节
double:双精度浮点类型,占8字节
long  :长整型 , 占4字节
long long :双长整型 ,占8字节
怎么计算?
#include 
int main(int argc, char *argv[])
{
	printf("int=%d 字节\n",sizeof(int));
    printf("char=%d 字节\n",sizeof(char));
    printf("float=%d 字节\n",sizeof(float));
    printf("double=%d 字节\n",sizeof(double));
	return 0;
}

变量语法:  <数据类型>  变量的名称;
                Int           data;   
  变量名字命名规则:
(1)数字不能开头
(2)A~Z  a~z  0~9  _
格式化打印

printf(“格式1,格式2…..\n”,变量1,变量2……….);
格式化输入
scanf(“格式1,格式2……”,&变量1,&变量2………….);
格式:
   %d 整型
   %c  字符类型
   %f  符点类型
	%s 字符串类型
   %o  8进制
%x  16进制
%p  打印地址
无符号声明:  unsigned      只能针对整型和字符类型有效  
示例:  unsigned char data2=255;
测试变量的数据存放范围:
#include 
int main(int argc, char *argv[])
{
	char data1=128; //范围+127 ~ -128
	unsigned char data2=256; //范围 +0 ~ +255
	printf("datat1=%d\n",data1);
	printf("datat2=%d\n",data2);
	return 0;
}

基本运算符
   +  -  *  \  
%表示取余运算符  8%4=0  
=表示赋值运算符

结合运算符:
+=  -=  *=   \=

比如: a=a+b;  -------->a+=b;

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7552

    浏览量

    131965
  • 位运算
    +关注

    关注

    0

    文章

    16

    浏览量

    8389
收藏 人收藏

    评论

    相关推荐

    C语言基础知识(5)--循环语句

    C语言基础知识(5)--循环语句
    的头像 发表于 06-15 10:18 1579次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>基础知识(5)--循环<b class='flag-5'>语句</b>

    C语言基础(7)--运算

    程序中的所有数在计算机内存中都是以二进制的形式储存的。运算就是直接对整数在内存中的二进制进行操作。C语言
    的头像 发表于 06-29 11:25 1735次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>基础(7)--<b class='flag-5'>位</b><b class='flag-5'>运算</b>

    C语言中if语句、if-else语句和switch语句详解

    C语言中,有三种条件判断结构:if语句、if-else语句和switch语句
    发表于 08-18 16:36 2508次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>中if<b class='flag-5'>语句</b>、if-else<b class='flag-5'>语句</b>和switch<b class='flag-5'>语句</b>详解

    VHDL并行语句(生成语句)使用练习

    实验七、VHDL并行语句(生成语句)使用练习一  实验目的1掌握VHDL语言的基本描述语句的使用方法。2掌握VHDL
    发表于 03-13 19:25 2545次阅读
    VHDL并行<b class='flag-5'>语句</b>(生成<b class='flag-5'>语句</b>)使用<b class='flag-5'>练习</b>

    C语言入门教程-if语句和while循环

    if语句和while循环 C语言中,if语句和while循环都会用到布尔表达式。下面是一个使用if语句的简单例子: #include
    发表于 07-29 10:48 8402次阅读

    单片机C语言教程-基础语句

    单片机C语言教程-基础语句   C语言入门之基础语句  从程序流程的角度来看,程序可以分为三种
    发表于 03-27 17:15 3098次阅读

    C/C++语言运算详解

    运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制的问题。C语言提供了6个
    发表于 12-14 16:36 4472次阅读

    C语言入门C语言语句的更换技巧

    C语言中有很多条语句, 在我们以后接触到的程序中无非只有5条语句,而像do while和switch这样的语句并不常用,就只剩下if、for
    发表于 04-28 14:57 123次下载

    C语言教程之整数加减法练习

    C语言教程之整数加减法练习,很好的C语言资料,快来学习吧。
    发表于 04-22 17:45 0次下载

    C语言32个关键字九种控制语句34种运算

    C语言32个关键字九种控制语句34种运算C语言32个关键字九种控制
    发表于 05-06 11:47 6次下载

    C语言运算+实例讲解

    C语言运算有6种: &, | , ^(亦或), (右移)。 注意:参与运算的元素必须是in
    的头像 发表于 03-22 16:00 8432次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b><b class='flag-5'>位</b><b class='flag-5'>运算</b>+实例讲解

    简单实用——C语言入门程序练习

    C语言入门程序练习,简单实用
    发表于 04-04 10:14 31次下载

    C语言总结_语句运算

    当前文章复盘C语言的: 运算运算符、基本运算符、数据类型、变量、for
    的头像 发表于 08-14 09:39 815次阅读

    C语言-语句(if,for,while.....)

    这篇文章作为C语言基础知识点,介绍C语言常用的几个语句的用法、规则、使用案例。
    的头像 发表于 08-14 10:00 1511次阅读

    C语言for语句介绍

    除了可以用while语句和do...while语句实现循环外,C语言还提供for语句实现循环,而且for
    的头像 发表于 03-09 11:14 949次阅读