0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語(yǔ)言_語(yǔ)句與位運(yùn)算基本練習(xí)

DS小龍哥-嵌入式技術(shù) ? 來(lái)源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2022-08-14 09:46 ? 次閱讀

總結(jié)C語(yǔ)言語(yǔ)句的幾個(gè)基本練習(xí)題,計(jì)算素?cái)?shù)、排序、求偶數(shù)和、可逆素?cái)?shù)、水仙花數(shù)、交換大小寫(xiě)、交換變量的值、位運(yùn)算、語(yǔ)法特性等知識(shí)點(diǎn)。

1. 輸出100~200之間所有可逆素?cái)?shù)

1.輸出100~200之間所有可逆素?cái)?shù)(除了1和本身能夠整除)。----練習(xí)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個(gè)數(shù),按從大到小的順序輸出

2.輸入任意3個(gè)數(shù),按從大到小的順序輸出--->練習(xí)if語(yǔ)句,了解排序原理
示例:
#include 
int main(int argc, char * argv[])
{
	int a=500,b=200,c=600,tmp;
   
   if(a)>

3. 編程計(jì)算: 123+345….99100101的值

3.編程計(jì)算: 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以內(nèi)的偶數(shù)之和。

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

5. 打印所有的水仙花數(shù)

5.打印所有的水仙花數(shù)。水仙花數(shù)是3位數(shù)---個(gè)位+十位+百位立方和等于它本身
例如: 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; //計(jì)算立方和
	   if(sum==i)
	   {
			printf("%d ",i);
		}
   }
	return 0;
}

6. 轉(zhuǎn)換大小寫(xiě)

位作業(yè):------處理數(shù)據(jù)都得使用二進(jìn)制
1.轉(zhuǎn)換大小寫(xiě) (位運(yùn)算完成大小寫(xiě)轉(zhuǎn)換)
示例:
#include 
int main(int argc, char * argv[])
{
   char c;
   printf("輸入一個(gè)字符:");
   scanf("%c",&c);
   c=c^0x20; //0b00100000  0x123
   printf("%c\n",c);
	return 0;
}

7. 使用位運(yùn)算交換兩個(gè)變量的值

2.使用位運(yùn)算交換兩個(gè)變量的值。(規(guī)定: 只有兩個(gè)變量)
示例:   (可以做加密算法)
#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. 完成位運(yùn)算的綜合運(yùn)用

3.完成位運(yùn)算的綜合運(yùn)用。
(1)定義一個(gè)int類(lèi)型的變量。 
(2)在int類(lèi)型類(lèi)型變量里存放4個(gè)字母(A B C D)。
(3)存放之后在將字母取出來(lái)打印出來(lái)。
(4) 在不影響其他數(shù)據(jù)的情況下將B改為K或者其他數(shù)據(jù)

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

   /*1. 存放數(shù)據(jù)*/	
   data='A'<<24; 
   data|='B'<<16;
   data|='C'<<8;
   data|='D'<<0;
   
	/*2. 取出數(shù)據(jù)*/
   printf("%c\n",data>>24);
   printf("%c\n",(data>>16)&0xFF);
   printf("%c\n",(data>>8)&0xFF);
   printf("%c\n",(data>>0)&0xFF);
   
   /*3. 修改數(shù)據(jù)的值*/
   data&=~(0xFF<<16); //清除數(shù)據(jù)
   data|='K'<<16;     //賦值 
  
   /*4. 取出數(shù)據(jù)*/
   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. 顯示中文

  通過(guò)*號(hào)打印出自己的名字。
1.顏色轉(zhuǎn)換的例子:  RGB888  RGB565  RGB66…. 
   int data=12345; //RGB888的顏色
   要求將data轉(zhuǎn)為RGB565    -去掉高位
2.實(shí)際的運(yùn)用

short  c1=1234; //R占11~15位  G占2~7位
short  c2=4567; //B占 11~15位
要求:  將以上RGB分量提取出來(lái),存在另一個(gè)變量(16位的變量)中—RGB565  。

unsigned int data_1;   //整型   4個(gè)字節(jié)
	unsigned short data_2; //短整型 2個(gè)字節(jié)
   unsigned long data_3;  //長(zhǎng)整型 4個(gè)字節(jié)
   unsigned long long data_3;  //雙長(zhǎng)整型  8個(gè)字節(jié)

10. C語(yǔ)言的特性:

C語(yǔ)言的特性:
(1) C語(yǔ)言程序順序控制語(yǔ)法---執(zhí)行順序是從上到下。
(2) C語(yǔ)言程序基本組成:  函數(shù)組成---->專(zhuān)用的工具包。
(3) C語(yǔ)言語(yǔ)法: 變量、常量、函數(shù)、語(yǔ)句、關(guān)鍵字
(4) C語(yǔ)言技術(shù)關(guān)鍵: 數(shù)據(jù)結(jié)構(gòu)、算法
C語(yǔ)言的基本框架:
#include   //頭文件--->引用
int main(int argc, char *argv[])  //主函數(shù)…..入口
{
	printf("hello!\n"); 
	return 0;
}
學(xué)習(xí)開(kāi)始:  輸入(scanf)和輸出(printf)

11. C語(yǔ)言規(guī)則約定

C語(yǔ)言編程約定
(1)每條語(yǔ)句分號(hào);結(jié)束;  int data;
(2), 逗號(hào)  分隔符號(hào)。比如: int a,b,c,d;
(3)程序里不能出現(xiàn)中文符號(hào)。(,   ,)
(4)基本邏輯程序都是在函數(shù)內(nèi)部編寫(xiě){  }之間。

int main(int argc, char *argv[])
{
   …………………
   …………………
}
(5) 編寫(xiě)每條語(yǔ)句,或者變量,每換一次行都需要對(duì)齊。(距離左邊距4個(gè)空格---一個(gè)TAB鍵的距離)
(6) 編寫(xiě)代碼時(shí),括號(hào)要連打
基本單位
1個(gè)字節(jié)------8位------------->計(jì)算機(jī)存儲(chǔ)只能是二進(jìn)制----------->
1kb-------------1024字節(jié)
1mb------------1024kb
?數(shù)據(jù)類(lèi)型----決定每一個(gè)空間的大小。
int : 整型(0,12,45565,56565), 占4字節(jié)
char :字符類(lèi)型(‘A’,’6’,’7’,’D’) ,占1字節(jié)
float: 單精度浮點(diǎn)類(lèi)型(12.454678), 占4字節(jié)
double:雙精度浮點(diǎn)類(lèi)型,占8字節(jié)
long  :長(zhǎng)整型 , 占4字節(jié)
long long :雙長(zhǎng)整型 ,占8字節(jié)
怎么計(jì)算?
#include 
int main(int argc, char *argv[])
{
	printf("int=%d 字節(jié)\n",sizeof(int));
    printf("char=%d 字節(jié)\n",sizeof(char));
    printf("float=%d 字節(jié)\n",sizeof(float));
    printf("double=%d 字節(jié)\n",sizeof(double));
	return 0;
}

變量語(yǔ)法:  <數(shù)據(jù)類(lèi)型>  變量的名稱;
                Int           data;   
  變量名字命名規(guī)則:
(1)數(shù)字不能開(kāi)頭
(2)A~Z  a~z  0~9  _
格式化打印

printf(“格式1,格式2…..\n”,變量1,變量2……….);
格式化輸入
scanf(“格式1,格式2……”,&變量1,&變量2………….);
格式:
   %d 整型
   %c  字符類(lèi)型
   %f  符點(diǎn)類(lèi)型
	%s 字符串類(lèi)型
   %o  8進(jìn)制
%x  16進(jìn)制
%p  打印地址
?無(wú)符號(hào)聲明:  unsigned      只能針對(duì)整型和字符類(lèi)型有效  
示例:  unsigned char data2=255;
測(cè)試變量的數(shù)據(jù)存放范圍:
#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;
}

基本運(yùn)算符
   +  -  *  \  
%表示取余運(yùn)算符  8%4=0  
=表示賦值運(yùn)算符

結(jié)合運(yùn)算符:
+=  -=  *=   \=

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

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136824
  • 位運(yùn)算
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    8423
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語(yǔ)言基礎(chǔ)知識(shí)(5)--循環(huán)語(yǔ)句

    C語(yǔ)言基礎(chǔ)知識(shí)(5)--循環(huán)語(yǔ)句
    的頭像 發(fā)表于 06-15 10:18 ?2305次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>基礎(chǔ)知識(shí)(5)--循環(huán)<b class='flag-5'>語(yǔ)句</b>

    C語(yǔ)言基礎(chǔ)(7)--運(yùn)算

    程序中的所有數(shù)在計(jì)算機(jī)內(nèi)存中都是以二進(jìn)制的形式儲(chǔ)存的。運(yùn)算就是直接對(duì)整數(shù)在內(nèi)存中的二進(jìn)制進(jìn)行操作。C語(yǔ)言
    的頭像 發(fā)表于 06-29 11:25 ?3082次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>基礎(chǔ)(7)--<b class='flag-5'>位</b><b class='flag-5'>運(yùn)算</b>

    C語(yǔ)言中if語(yǔ)句、if-else語(yǔ)句和switch語(yǔ)句詳解

    C語(yǔ)言中,有三種條件判斷結(jié)構(gòu):if語(yǔ)句、if-else語(yǔ)句和switch語(yǔ)句
    發(fā)表于 08-18 16:36 ?1.2w次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>中if<b class='flag-5'>語(yǔ)句</b>、if-else<b class='flag-5'>語(yǔ)句</b>和switch<b class='flag-5'>語(yǔ)句</b>詳解

    VHDL并行語(yǔ)句(生成語(yǔ)句)使用練習(xí)

    實(shí)驗(yàn)七、VHDL并行語(yǔ)句(生成語(yǔ)句)使用練習(xí)一? 實(shí)驗(yàn)?zāi)康?掌握VHDL語(yǔ)言的基本描述語(yǔ)句的使用方法。2掌握VHDL
    發(fā)表于 03-13 19:25 ?2669次閱讀
    VHDL并行<b class='flag-5'>語(yǔ)句</b>(生成<b class='flag-5'>語(yǔ)句</b>)使用<b class='flag-5'>練習(xí)</b>

    C語(yǔ)言入門(mén)教程-if語(yǔ)句和while循環(huán)

    if語(yǔ)句和while循環(huán) C語(yǔ)言中,if語(yǔ)句和while循環(huán)都會(huì)用到布爾表達(dá)式。下面是一個(gè)使用if語(yǔ)句的簡(jiǎn)單例子: #include
    發(fā)表于 07-29 10:48 ?8554次閱讀

    單片機(jī)C語(yǔ)言教程-基礎(chǔ)語(yǔ)句

    單片機(jī)C語(yǔ)言教程-基礎(chǔ)語(yǔ)句   C語(yǔ)言入門(mén)之基礎(chǔ)語(yǔ)句  從程序流程的角度來(lái)看,程序可以分為三種
    發(fā)表于 03-27 17:15 ?3150次閱讀

    C/C++語(yǔ)言運(yùn)算詳解

    運(yùn)算是指按二進(jìn)制進(jìn)行的運(yùn)算。在系統(tǒng)軟件中,常常需要處理二進(jìn)制的問(wèn)題。C語(yǔ)言提供了6個(gè)
    發(fā)表于 12-14 16:36 ?4603次閱讀

    C語(yǔ)言入門(mén)C語(yǔ)言語(yǔ)句的更換技巧

    C語(yǔ)言中有很多條語(yǔ)句, 在我們以后接觸到的程序中無(wú)非只有5條語(yǔ)句,而像do while和switch這樣的語(yǔ)句并不常用,就只剩下if、for
    發(fā)表于 04-28 14:57 ?123次下載

    C語(yǔ)言教程之整數(shù)加減法練習(xí)

    C語(yǔ)言教程之整數(shù)加減法練習(xí),很好的C語(yǔ)言資料,快來(lái)學(xué)習(xí)吧。
    發(fā)表于 04-22 17:45 ?0次下載

    C語(yǔ)言32個(gè)關(guān)鍵字九種控制語(yǔ)句34種運(yùn)算

    C語(yǔ)言32個(gè)關(guān)鍵字九種控制語(yǔ)句34種運(yùn)算C語(yǔ)言32個(gè)關(guān)鍵字九種控制
    發(fā)表于 05-06 11:47 ?6次下載

    C語(yǔ)言運(yùn)算+實(shí)例講解

    C語(yǔ)言運(yùn)算有6種: &, | , ^(亦或), (右移)。 注意:參與運(yùn)算的元素必須是in
    的頭像 發(fā)表于 03-22 16:00 ?8611次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>位</b><b class='flag-5'>運(yùn)算</b>+實(shí)例講解

    簡(jiǎn)單實(shí)用——C語(yǔ)言入門(mén)程序練習(xí)

    C語(yǔ)言入門(mén)程序練習(xí),簡(jiǎn)單實(shí)用
    發(fā)表于 04-04 10:14 ?31次下載

    C語(yǔ)言總結(jié)_語(yǔ)句運(yùn)算

    當(dāng)前文章復(fù)盤(pán)C語(yǔ)言的: 運(yùn)算運(yùn)算符、基本運(yùn)算符、數(shù)據(jù)類(lèi)型、變量、for
    的頭像 發(fā)表于 08-14 09:39 ?1012次閱讀

    C語(yǔ)言-語(yǔ)句(if,for,while.....)

    這篇文章作為C語(yǔ)言基礎(chǔ)知識(shí)點(diǎn),介紹C語(yǔ)言常用的幾個(gè)語(yǔ)句的用法、規(guī)則、使用案例。
    的頭像 發(fā)表于 08-14 10:00 ?1797次閱讀

    C語(yǔ)言for語(yǔ)句介紹

    除了可以用while語(yǔ)句和do...while語(yǔ)句實(shí)現(xiàn)循環(huán)外,C語(yǔ)言還提供for語(yǔ)句實(shí)現(xiàn)循環(huán),而且for
    的頭像 發(fā)表于 03-09 11:14 ?1367次閱讀